丁永新,李 濤,郭志威,張洪潮
(1.大連理工大學機械工程學院,遼寧大連 116081;2.大連理工大學重大裝備設計研究所,遼寧大連 116081;3.德克薩斯理工大學工業工程系,美國德州 TX76001)
近些年,機械制造業在迅速地發展,與此同時造成了非常嚴重的環境問題,如全球變暖、生態惡化、水體污染、水體富營養化等,嚴重阻礙了可持續發展的進程[1-2]。經研究表明,機電產品在制造和使用階段是影響全球環境生態的最重要因素之一,據統計,機電產品的生產制造過程產生污染物占到了全球污染物排放量的73%以上[3]。而生命周期評價(Life cycle assessment)是可以從產品的全生命周期角度量化潛在環境影響的方法,可以用來評價產品設計方案中表達的產品生命周期內經歷的環境影響,是一個有效的方案決策支持方法[4]。但是由于生命周期評價所需的清單數據繁多,并且追逐源頭所需的物力和精力巨大,因此進行生命周期周期評價的最難的問題就是清單數據中缺失數據的填充。
劉云等[5]利用對稱加權算法對數據分析中數據集缺失矩陣進行補全,通過正則化方法進行低秩矩陣的分解補全結合塊坐標下降和交替最小二乘法進行數據補全。楊亞洲等[6]基于k-means聚類方法的曲線按比例伸縮置換法提出了一種缺失數據的補全算法用于填充歷史電力負荷缺失的數據,與傳統的插值法和平均日負荷曲線補全法相比,預測的準確性提高了很多。劉琚等[7]提出了一種基于多向延遲嵌入的平滑張量補全算法分類框架用于補全BraTS腦膠質瘤影像數據,并于7種基線模型進行了比較,得到最后的準確率高達91.31%。
本文通過分析機電產品物料清單的數據類型,借助萊溫斯坦距離和神經網絡提出了一種清單數據智能補全方法,可用于LCA軟件在評價過程中自動補全缺失的數據。
生命周期評價可以對機電產品的全生命周期階段所造成得影響進行定量分析。經過很多年的發展己經在產品的生產制造中發揮作用[4]。其過程主要包括4個步驟:目的與范圍的確定、清單分析、影響評價和結果解釋。
(1)目的和范圍的確定
確定評價的LCA評價目的,根據評價的機電產品的特點和目的劃分評價范圍。
(2)清單分析
清單分析是最浪費時間和精力的階段,即對機電產品整個生命周期中的輸入輸出進行統計和量化,如果清單數據存在數據缺失則需要對評價范圍進行修改。
(3)影響評價
影響評價指根據清單分析的結果,對機電產品生命周期中潛在的環境影響進行量化、分析和評價。
(4)結果解釋
結果解釋是對機電產品進行分析后得到結論和建議的階段,在這一階段中對重要的輸入、輸出、評價方法進行不確定性檢查以及選擇性評價,并對結論和建議予以說明。
然而以上步驟的順利執行都依賴于清單數據的完整性和準確性,如果存在清單數據缺失,那么LCA分析的結果會存在一定準確性的問題。因此本文根據機電產品物料清單的特征,基于萊溫斯坦距離和神經網絡提出一種清單自動補全算法,可以實現案例的重復利用,減少清單數據收集的準備工作。
機電產品的物料清單指進行生命周期評價的數據清單,其中包括了機電產品的生命周期信息,比如:零件名稱、重量、產地、零件型號、材料、運輸距離、運輸方式、工藝、回收等信息。加上和這些信息相關的其他信息一共11項,如表1所示。
表1 影響相似度的11項參數信息
BP神經網絡是由科學家Rumelhart和McClelland提出的概念,是一種根據誤差反向傳播進行訓練的多層前饋網絡[8],主要思想是梯度下降,利用梯度搜索技術使得神經網絡的輸出期望值和輸出真實值的差值的均方差最小。
BP神經網絡結構包含一個輸入層、一個或多個隱含層和一個輸出層(如圖1所示),通過權值和閥值將相鄰層的神經元連接起來。其中隱含層所包含的神經元數量需要通過公式計算得到。
圖1 BP神經網絡三層結構圖
結合2.1節,一個零部件的信息一種由11種,但是因為每一種信息在相似度計算時所占的權重不同,所以并不能直接加和,同時因為BP神經網絡天生就可以用于計算輸入參數的權重信息,因此本文采用BP神經網絡來進行相似度結果的計算。
因為三層的神經網絡有較好的函數逼近的作用,并且網絡結構簡單,因此本文采用三層BP神經網絡結構,其計算相似度補全數據的流程如圖2所示。
圖2 清單數據補全流程
2.3.1 訓練樣本選擇
訓練樣本來自零件庫。每條樣本包含3大部分,當前零件的11項參數信息、比較對象的11項信息以及兩個零件是否一致,共計220條數據。
2.3.2 輸入參數處理
因為輸入的參數含有文本類型(如材料、運輸方式、工藝方式等),也有含有數字類型的數據(如運輸距離、回收百分比等),因此這11項參數并不能直接輸入神經網絡,需要先進行文本類數據處理,數值類數據處理。
(1)文本類數據相似度計算
文本數據相似度的計算,常用的計算文本相似度的方法包括歐氏距離、曼哈頓距離、閔科夫斯基距離、余弦夾角相似度以及切比雪夫距離等[9],但是大多都針對復雜文本,本文所使用的文本多是單個詞語不包含主謂賓等句子結構以及不需要進行分詞處理,因此本文計算文本的相似距離采用基于字符的編輯距離的一種萊文斯坦距離。
萊文斯坦距離即由一個字符串變成另一個字符所需的最少操作次數。允許的操作包括刪除字符、替換字符、插入字符[10]。在數學上,如式(1)所示,leva,b(i,j)是字符串a的前i個字符和字符串b的前j個字符之間的距離。
輸入層的參數可能受文本類數據長度的影響,編輯距離會大小不一,而變化幅度大的輸入值會增加權重和閾值的調節難度,因此需要將樣本數據歸一化到[0,1]之間。本文所采用的歸一化方法如式(2)所示。Xmin代表字符串A和B之間最少字符個數,Xmax代表字符串A和B之間最多字符個數,X′代表歸一化結果。
(2)數值型數據相似度計算
對于數值型數據,計算當前值和目標值之間的相對誤差,然后1減去相對誤差即為該參數的相似度[11],即式(3)所示,其中A代表當前值,B代表目標值,Dnum表示A和B之間的相似度。
2.3.3 激活函數、損失函數選擇
激活函數(Activation Function)是運行在人工神經網絡的神經元上的數學函數,它負責把輸入端映射到輸出端。本文的算法所采用的激活函數為Sigmoid函數[12],該函數是生物學中常見的S型函數,也稱邏輯斯諦回歸函數。如式(4)所示:
損失函數是用來評價算法模型的真實值和預測值之間的差異程度,損失函數選擇的越好,算法模型的性能也就越好。不同的模型采用的損失函數也不是固定不變的,根據實際應用場景,本文的損失函數選擇交叉熵損失函數,如式(5)所示:
2.3.4 輸入層、輸出層、隱含層數量
輸出層對應著輸入參數的個數,有幾個參數,輸入層的結點個數就設置幾個,根據對輸入樣本的分析,輸入層神經元的數量設置為11個,分別對應11項參數信息。
輸出層對應著預測的結果,因為該神經網絡預測的模型的結果只有兩個,一致和不一致,因此輸出層的神經元的數量設置為2個,分別對應一致和不一致兩個結果。
隱含層的設計是訓練神經網絡的最為重要的一環,隱含層最主要的就是用來確定神經元的數量。隱含層神經元數量太多會使神經的網絡學習時間變長,太少會使非線性網絡逼近的精度降低,與此同時也會使模型的容錯性誤差增大。一般通過式(6)來確定神經元的結點的數量,即:
式中:n為輸入層神經元數量;l為輸出層神經元數量;m為隱含層神經元數量;a通常取[1,10]之間的常數。
計算時,m的值可以用四舍五入法進行相應的調整。分別測試在達到98%的準確率條件下隱含層不同神經元數量的訓練次數和訓練時間,訓練結果如圖3所示。因此隱含層神經元數量確定為10個。
圖3 不同隱含層神經元數量達到闕值的迭代次數和時間
原始數據集即表3(測試數據和補全數據一致),手動刪掉一些信息(文本類數據填null,數值型數據填0),測試數據如表2所示。將表2的信息輸入神經網絡進行補全測試。
表2 缺少信息的清單數據
補全后的數據如表3所示,所有空缺數據均已補全,補全零部件的信息在備注里會提示*,沒有缺失數據備注就為空。和原始完整的數據進行對比,發現該相似度計算模型補全了所有相似信息并且正確率達100%。
本文通過分析機電產品的數據清單的特征,將缺失數據分為文本型數據和數值型數據,針對不同類型的數據分別采用不同的相似度就算方法,通過一個設計好的三層的BP神經網絡,將一個零部件的11項相似度信息輸入到神經網絡中,從而計算出與之最為相似的零部件,從而智能補全缺失數據。經過實驗驗證,本文所提出的缺失數據智能補全算法可以有效地利用已有的數據案例并填充缺失數據,極大地簡化了生命周期評價過程中清單數據的收集工作,加快了機電產品LCA分析的速度。