杜柳青,李仁杰,李寶釧
(重慶理工大學 機械工程學院,重慶 400054)
數(shù)控機床熱誤差預測與補償是提高數(shù)控機床加工精度和可靠性的重要技術[1-2]。有效補償?shù)年P鍵是熱誤差準確建模,近年來,國內外學者對機床熱誤差預測模型的研究分為理論熱誤差模型與經(jīng)驗熱誤差模型[3-5]。理論熱誤差模型依靠對機床部件的物理機理進行實驗研究,進而進行物理建模[6]。Kim[7]、Yun[8]等利用質量集中法對機床絲杠系統(tǒng)建模,并與有限元模型進行對比。謝飛等[9]發(fā)現(xiàn)了機床偽滯后現(xiàn)象,建立了基于優(yōu)化最小二乘支持向量機的熱誤差偽滯后預測模型。譚峰等[10]利用二進制鯨魚優(yōu)化算法對最小二乘支持向量機的超參數(shù)進行優(yōu)化,其損失函數(shù)設計考慮最大化預測精度和最小化最優(yōu)溫度關鍵點,實驗結果表明熱誤差模型精度提高約62.8%,溫度測點從20個減至3個。上述研究在機床熱態(tài)性能方面均取得較好進展,但現(xiàn)有熱誤差模型受溫度測點的影響很大,模型的建立和精度依賴于機床溫度敏感點進行布局并優(yōu)化選取。
熱誤差具有時變、非線性和耦合的特點,工況不同,機床的溫度場分布模式和熱誤差均會發(fā)生變化。而溫度傳感器的優(yōu)化布置一直是熱誤差補償研究和實際應用中的一個瓶頸。魏弦等[11]利用模糊聚類與相關性分析對溫度測點進行優(yōu)化后,采用特征提取法得到預測模型的自變量,從而建立了自適應模糊聚類熱關鍵點優(yōu)化方法,消除了復共線性對模型精度與魯棒性的影響。張偉等[12]采用灰色關聯(lián)法計算溫度與熱誤差之間的相關系數(shù),并選取最優(yōu)溫度變量;再用模糊聚類對所選變量進行聚類,確定關鍵溫度點;最后,建立線性回歸模型,將機床熱誤差由41.3 μm減小到7.6 μm。凡志磊等[13]提出了一種基于偏相關分析的數(shù)控機床溫度測點優(yōu)化方法,實現(xiàn)了溫度測點的優(yōu)化,并提高了所建立的多元回歸熱誤差模型的精確性與魯棒性。Chen等[14]通過分別計算9個溫度傳感器與3個方向的位移傳感器之間的關系,利用判定系數(shù),確定進給量的5次多項式與6個溫度敏感點作為模型的輸入。以上溫度優(yōu)化研究均需面對一個難以克服的問題,即數(shù)控機床的溫度分布具有極強的耦合性并且存在熱彈性效應[15],數(shù)控機床的熱特性不可能達到絕對的穩(wěn)定狀態(tài),且隨著機床的工況不同,以及季節(jié)與氣候等影響因素的作用,機床的溫度敏感點是可能發(fā)生變化的[16]。使用傳統(tǒng)熱誤差建模方法對機床熱誤差進行預測就會產(chǎn)生較大的預測誤差,導致數(shù)控機床加工精度降低,滿足不了不同工況運行下的精度要求。
深度學習算法具有強大的數(shù)據(jù)處理與特征自學習能力。目前,針對深度學習的研究主要集中在圖像處理、字符識別、語義分割等方面,并取得了一些成果[17-19]。為避免溫度測點變化與敏感點人工選擇對機床精度的影響,提高機床熱誤差預測精度和魯棒性,提出一種基于注意力機制的溫度敏感點自動識別網(wǎng)絡,根據(jù)計算出的溫度測點與熱誤差關聯(lián)程度,賦予各溫度測點不同的權值;基于卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN),建立數(shù)控機床熱誤差深度學習預測模型;利用深度CNN的強大特征提取能力,自動提取機床溫度數(shù)據(jù)圖像的特征,準確建立溫度圖像與熱誤差的非線性映射關系,在實驗中獲得了較高的熱誤差預測精度。
作者建立了一種基于注意力機制與卷積神經(jīng)網(wǎng)絡的深度學習熱誤差模型,結構如圖1所示,主要包括數(shù)據(jù)轉換模塊、敏感點注意力網(wǎng)絡、深度CNN預測網(wǎng)絡等。該模型的輸入為圖像化的溫度數(shù)據(jù),將數(shù)控機床原始溫度數(shù)據(jù)轉化為溫度圖像,建立的數(shù)控機床溫度分布圖與深度卷積神經(jīng)網(wǎng)絡系統(tǒng)特性具有高度契合性,也即全部原始溫度數(shù)據(jù)直接作為深度學習網(wǎng)絡的輸入,完整保留了數(shù)控機床溫度特征。敏感點注意力網(wǎng)絡自動挖掘溫度敏感點,避免了溫度測點人工優(yōu)化,有利于提高效率。深度CNN預測網(wǎng)絡進行特征自動提取,從多維帶有耦合性的數(shù)據(jù)中自動提取出機床熱誤差的高層次特征,通過訓練自動找到合適的卷積核,避免了傳統(tǒng)熱誤差建模方法中需要人為優(yōu)化溫度敏感點而存在的種種弊端,從而提升模型的精度與魯棒性。
圖1 基于注意力機制的深度CNN熱誤差模型Fig. 1 Thermal error modeling of CNN based on attention mechanism
數(shù)控機床溫度場是在某一瞬間機床內各點溫度分布點的總稱,是時間與空間位置點分布函數(shù),其溫度分布屬于非穩(wěn)態(tài)溫度場。采用溫度場數(shù)據(jù)轉換為溫度圖像點的方式保留了機床溫度場的完整信息;同時,利用深度學習建模方法也避免了溫度測點之間的非線性與耦合問題。轉化思路基于圖像的數(shù)值屬性,即圖像由0~256數(shù)值組成,轉換原理如圖2所示。
圖2 溫度場轉換示意圖Fig. 2 Schematic diagram of temperature field conversion
將同一時刻溫度測點數(shù)據(jù)轉換為溫度矩陣,即組成同一時刻具有機床完整溫度信息的溫度圖像。
構建的深度學習熱誤差模型一共有12層,除輸入層和輸出層以外,還含有10個隱藏層,分別為4個卷積層、3個池化層、1個全連接層和2個回歸層,具體網(wǎng)絡結構如圖3所示,結構參數(shù)如表1所示。
表1 CNN具體結構Tab. 1 CNN structure
圖3 深度CNN預測網(wǎng)絡Fig. 3 Deep learning prediction net
卷積層與池化層交替連接。卷積層實現(xiàn)特征自動提取,其映射公式為:
式中:x為熱誤差模型的層次特征圖;k為提取溫度抽象特征而構造的卷積核;M為溫度特征學習的感受野;b為層次特征圖的偏置;l為熱誤差模型的卷積層序號;j為當前層特征圖序號;i為前一層特征圖序號;*為卷積運算;f(·)為激活函數(shù),采用ReLU型激活函數(shù),其計算速度與收斂速度快于Sigmoid和tanh,同時能消除負信號的干擾,解決了梯度消失的問題,表達式為:
池化層盡可能保留較多原始特征信息,同時降低特征維度,減少運算量,并且具有平移不變性的特點。池化層的映射公式為:
式中,down(·)為池化函數(shù), β為權重,b為池化層偏置。
全連接層的功能是將多維的特征圖展成單一維度的向量,向下傳遞進入全連接層網(wǎng)絡,傳遞式為:
式中,b為全連接層偏置,w為權值。
回歸層用于將卷積神經(jīng)網(wǎng)絡輸出的傳統(tǒng)分類模式變成回歸預測模式,計算熱誤差預測值,計算式為:
式中,h為回歸層的偏置,s為權值,h(·)為線性變換函數(shù)。
注意力機制(attention mechanism,AM)[20]能從較大的信息集里面挑選出有用信息。設計一種溫度敏感點注意力網(wǎng)絡,自動挖掘溫度測點與機床熱誤差間的關聯(lián)關系,根據(jù)關聯(lián)程度,對溫度測點賦予不同的重要性,以提高機床熱誤差預測的效率和準確性。溫度敏感點注意力網(wǎng)絡如圖4所示。
圖4 敏感點注意力網(wǎng)絡Fig. 4 Sensitive attention network
注意力網(wǎng)絡采用softmax函數(shù)實現(xiàn)注意力評分操作,softmax將上一層網(wǎng)絡輸出的相關性系數(shù)轉化為權值,即狀態(tài)信號權重矩陣a,得到各溫度測點對機床熱誤差的重要程度。
然后,對輸入的溫度數(shù)據(jù)對應加權,對不同測點數(shù)據(jù)采取不同的權重,加權后的溫度數(shù)據(jù)再作為深度CNN預測網(wǎng)絡的輸入。
深度CNN熱誤差模型網(wǎng)絡結構較復雜,導致模型在訓練過程中提取數(shù)據(jù)特征時,可能相應對隨機噪聲特征進行了提取,從而導致模型的過擬合。因此,在模型中引入Dropout[21]正則化方法防止模型過擬合,以一定概率隨機放棄一些被激活的神經(jīng)元,讓模型不會太依賴某些局部的特征,使網(wǎng)絡具有稀疏特性,模型更健壯,泛化能力更強。
傳統(tǒng)網(wǎng)絡訓練采用隨機梯度下降法(stochastic gradient descent,SGD)求解局部最優(yōu)值,由于方向選擇的問題,其得到的結果不一定是全局最優(yōu)。因此,在深度CNN熱誤差模型的構建中引入Adam(adaptive momentum,Adam)[22]自適應動量的隨機優(yōu)化方法,通過控制超參數(shù)和調整學習率改善模型的訓練過程。
溫度圖像數(shù)據(jù)直接輸入網(wǎng)絡的第一層,即輸入層;經(jīng)過中間各隱層,逐層變換,逐層映射,直到輸出層。
前向傳播過程包含數(shù)據(jù)前向傳播與Dropout正則化過程,設置熱誤差深度學習網(wǎng)絡的丟棄率p(一般為0.3~0.6),生成一個0~1之間均勻分布的隨機數(shù)組U1,U1中小于p的被置0,大于p的被置1。
設置神經(jīng)元H1=U1,U1中置0位對應的神經(jīng)元被放棄,即隨機選擇神經(jīng)層中的一些單元,并將其臨時隱藏。
使用Dropout正則化后神經(jīng)元的連接方式變化如圖5所示。
圖5 Dropout正則化Fig. 5 Dropout regularization
Adam基于訓練數(shù)據(jù)迭代更新熱誤差深度學習網(wǎng)絡參數(shù),熱誤差模型參數(shù)的更新不受梯度的伸縮變換影響,計算效率高,對內存需求少。該算法從梯度均值及梯度平方2個角度進行更新,步長自適應地調節(jié),而不是直接取決于前梯度值。
在G460L高速線軌刀塔式數(shù)控車床上進行了驗證應用。采用PT100溫度傳感器采集機床溫度信息,采用ML33-B-V2-3型電渦流位移傳感器測量主軸徑向與軸向熱誤差,并分別經(jīng)過SBWZ-2460溫度變送器、前置器,以及USB-3120數(shù)據(jù)采集卡將測得模擬信號轉變?yōu)閿?shù)字信號,輸出到數(shù)據(jù)采集軟件進行處理。部分傳感器布置如圖6所示。
圖6 部分傳感器布置Fig. 6 Partial sensors arrangement
溫度傳感器在機床各部件的布置如表2所示。
表2 溫度傳感器布置Tab. 2 Arrangement of temperature sensors
機床工況發(fā)生變化,以及不同季節(jié)條件下,實際的機床溫度場將發(fā)生不確定的變化。因此,在不同季節(jié)、不同時間、不同工況下,采集G460L機床熱誤差與溫度數(shù)據(jù),如表3所示。噪聲問題在空載時更為突出,空載曲線最富有意義[23-24],因此,設定機床主軸為空轉模式,機床主軸以1 500和3 000 r/min 2種轉速模擬實際加工的空載轉速;為了提高模型的泛化性,也設置了6 000 r/min的高轉速空載。數(shù)據(jù)采集系統(tǒng)的取樣間隔為30 s,為了降低高采樣頻率帶來的誤差影響,對測量數(shù)據(jù)進行移動均值濾波處理。
表3 G460L溫度數(shù)據(jù)采集Tab. 3 Acquisition of G460L’s temperature data
隨機選取K8與K11這2組熱誤差和溫升的數(shù)據(jù)進行對比,如圖7所示。從圖7可以看出:在開始測量的前100 min內,機床X方向上熱誤差內小于機床Z方向熱誤差。隨著測試時間的增加,X向熱誤差逐漸增大并超過Z向熱誤差;X向熱誤差值總體上呈現(xiàn)指數(shù)形式增長,在測量時長達到150 min左右時,機床達到了準熱特性平衡狀態(tài),熱誤差值變化較小。隨著測量時間的增加,機床溫度也在不斷地增加。部分測點溫度變化趨勢十分相近,且呈現(xiàn)出一定的耦合性與相關性;在不同轉速下,同一溫度測點的溫度值變化也可能發(fā)生較大變化,這與環(huán)境溫度及車間的空氣流通有一定的關系。
圖7 熱誤差比較、溫升比較Fig. 7 Comparison of temperature rise and thermal error
因此,機床的溫度變化呈現(xiàn)出較大耦合性與不確定性,這對熱誤差模型的建立產(chǎn)生了極大影響,使模型的魯棒性及預測精度在一定程度上受到影響。相關研究指出,溫度敏感點在不同工況下會發(fā)生變化,故根據(jù)現(xiàn)有熱誤差模型選擇溫度敏感點作為模型的輸入,在機床工況發(fā)生變化時會產(chǎn)生模型預測精度下降和泛化性降低等問題。
為了減少長時間測量過程中其他因素對數(shù)據(jù)的影響,采用增量形式記錄數(shù)據(jù);同時,也對數(shù)據(jù)進行歸一化處理,減小因數(shù)據(jù)維度差距過大所帶來的影響。將訓練數(shù)據(jù)集的順序進行隨機打亂,避免每次訓練都以相同的數(shù)據(jù)集順序傳入網(wǎng)絡模型中。這種措施可以在一定程度上緩解過度擬合。
在模型訓練過程中,采用了水平或垂直翻轉圖像、隨機角度旋轉圖像、比例縮放圖像、隨機剪裁圖像、位移圖像、添加高斯噪聲、顏色增強等“數(shù)據(jù)增強”方法提高熱誤差模型的準確性與泛化性。對卷積神經(jīng)網(wǎng)絡在每個圖像的多個不同副本上進行訓練,有利于針對同一對象的變化進行泛化,從而提高模型的泛化能力與魯棒性。
采用平均絕對誤差(mean absolute error,MAE)、均方差(mean squared error,MSE)和修正決定系數(shù)R2adj對模型的性能進行量化評定,彌補R2隨樣本量增加而增大的缺陷。決定系數(shù)R2越接近1,模型預測效果越好,精度越高。模型訓練后的決定系數(shù)R2值最大的同時,MAE與MSE越小,模型預測誤差越小。f(value)為數(shù)據(jù)的相對變化值,上述指標的計算公式如下:
數(shù)據(jù)增強后的溫度圖像大小對模型精度會產(chǎn)生的影響如圖8所示。從圖8中可以看出,選擇將圖像增強為12×12大小時,模型訓練后的輸入模型訓練后得到的模型各項指標均為最優(yōu)。故采用12×12輸入圖像大小作為模型輸入尺寸時能獲得最高的預測精度。
圖8 數(shù)據(jù)增強圖像尺寸對模型精度的影響Fig. 8 Influence of image size on model accuracy in data enhancement
帶注意力機制CNN模型的建立基于Tensor-Flow框架,集成開發(fā)環(huán)境為Pycharm以及GTX 1050 Ti顯卡。表4為模型訓練參數(shù)的設置,在模型的全連接層到輸出層之間再設置2個回歸層,用于將傳統(tǒng)的卷積神經(jīng)網(wǎng)絡輸出的分類模式變成回歸預測模式。2個回歸層都使用Dropout正則化優(yōu)化方法,分別設置Dropout值為0.4和0.3。模型的輸出層激活函數(shù)選擇回歸預測模型中常用的Sigmoid激活函數(shù),以得到具有連續(xù)性的熱誤差預測值。
表4 CNN熱誤差模型參數(shù)設置Tab. 4 Parameters setting of CNN thermal error model
選擇最大值池化函數(shù)減少估計值方差。卷積層與池化層之間的激活函數(shù)為ReLU激活函數(shù),卷積核的初始化采用正態(tài)分布的隨機數(shù),結合Adam優(yōu)化算法對卷積核進行優(yōu)化,模型訓練結果如圖9所示?;谏疃染矸e神經(jīng)網(wǎng)絡的熱誤差模型設置有4個卷積層,深度不斷加深。卷積層的卷積核大小通常優(yōu)先選擇3×3或更小的卷積核,在每個卷積核后進行非線性化,使得在具有相同感受野大小的同時,可以節(jié)省參數(shù),減少過擬合。而且由于網(wǎng)絡更深,非線性更強,效果往往更好[25-28]。
圖9 CNN模型訓練集和測試集的損失函數(shù)曲線Fig. 9 Loss function value curves of CNN model training set and test set
選用應用改進優(yōu)化的BP神經(jīng)網(wǎng)絡熱誤差模型[29]、MLR熱誤差模型和非改進CNN熱誤差模型用于驗證本文AM?CNN熱誤差模型的預測效果,并進行對比。將不同工況、不同季節(jié)的數(shù)據(jù)合并作為訓練數(shù)據(jù),對不同轉速下測試集進行預測[30]。
根據(jù)前述方法進行數(shù)據(jù)預處理及降噪后,一共得到23組數(shù)據(jù),其中17組作為訓練集合,選擇不同典型環(huán)境溫度下的6組數(shù)據(jù)進行熱誤差預測驗證。根據(jù)前述建模方法與優(yōu)化方法,建立熱誤差預測模型,6組數(shù)據(jù)均有較高的預測準確性,其中,轉速條件分別為1 500、3 000、6 000 r/min的K8、K13、K23組預測效果如圖10所示(熱誤差觀測值為X向數(shù)據(jù))。
圖10 不同混合轉速下預測模型預測結果對比Fig. 10 Comparison of prediction results of different prediction models under mixed speed
MLR模型、BP模型均采用灰色關聯(lián)度與聚類分析方法篩選出4個溫度敏感點作為模型的輸入,CNN與本文AM?CNN模型則采用溫度場轉化方法,將溫度圖像作為模型的輸入。BP模型的網(wǎng)絡超參數(shù)采用遺傳算法對其進行優(yōu)化,優(yōu)化后其網(wǎng)絡結構為4-9-3-1。從圖10可以看出,基于注意力機制的CNN熱誤差模型具有較好的預測精度與準確性,對于混合轉速下的數(shù)控機床熱誤差做出預測的同時也表現(xiàn)出了良好的泛化性,能夠在不同的條件下對機床熱誤差做出準確的預測。
AM-CNN模型采用的注意力網(wǎng)絡能自動對機床溫度場敏感特征進行識別,進行一次建模即能取得和其他模型針對性建模的預測效果。注意力機制對溫度敏感點特征重構如圖11所示,在不同的時間,機床溫度特征重要性發(fā)生了變化,注意力機制很好地抓住了這個變化并分配不同的重要性權重,與傳統(tǒng)CNN方法比較,本文模型的預測精度更好,具有更高的魯棒性。
圖11 注意力機制對溫度敏感點特征重構Fig. 11 Reconstruction of temperature sensitive point features by attention mechanism
圖12為BP方法、CNN方法、MLR方法、本文基于注意力機制的CNN方法3種數(shù)據(jù)殘差對比。由圖12可以看出,與CNN模型、BP和MLR模型相對比,本文AMCNN模型的殘差值波動最小,預測表現(xiàn)更加穩(wěn)定。幅度的上升。由公式(14)、(15)可得:以K8數(shù)據(jù)集轉速為基準,AM-CNN模型的泛化性指標Rrpm為0.134 7與0.076 0,BP模型的泛化性指標為0.185 2與0.167 1,CNN模型的泛化性指標為0.137 4與0.073 3,MLR模型的泛化性指標Rrpm為0.098 9與0.282 4。
圖12 模型殘差對比Fig. 12 Comparison of model residuals
表5 K8數(shù)據(jù)集下各模型預測指標Tab. 5 Prediction indexes of each model in K8 data set
表6 K13數(shù)據(jù)集下各模型預測指標Tab. 6 Prediction index of each model in K13 data set
表7 K23數(shù)據(jù)集下各模型預測指標Tab. 7 Prediction index of each model in K23 data set
從各個模型的殘差對比(圖12)中也可以看出,AMCNN模型的殘差值波動范圍均為最小。MLR作為熱誤差經(jīng)驗模型中應用最廣泛的模型,在針對不同工況下進行的建模,其模型的預測指標與AM-CNN表現(xiàn)較為接近。但是,AM-CNN模型建模與訓練過程較為簡單,且不需要人為地對溫度敏感點進行數(shù)學分析與選擇,采用全部原始機床溫度場數(shù)據(jù),利用注意力機制對其進行識別,很好地利用數(shù)據(jù)驅動模型的特點,增加了模型的泛化性。
綜合上述分析,在變轉速狀況下,AM-CNN模型更能學習到機床熱特性動態(tài)變化的特征,綜合預測指標相較于BP、MLR和CNN模型更優(yōu),很好地體現(xiàn)出了基于深度卷積神經(jīng)網(wǎng)絡熱誤差模型對機床溫度場信息的特征提取能力。
溫度敏感點隨著季節(jié)、工況、氣候變化而變化,從而影響機床熱誤差補償?shù)聂敯粜院脱a償精度?;谧⒁饬C制和卷積神經(jīng)網(wǎng)絡探索建立了無溫度敏感點預選的熱誤差預測模型,并在G460L型高速線軌刀塔式數(shù)控車床上進行了驗證應用,提高效率的同時取得了良好的預測精度與魯棒性,可在機床熱誤差建模與補償中應用推廣。
1)本文熱誤差模型預測準確,且泛化性好,得益于深度卷積神經(jīng)網(wǎng)絡高層次特征提取能力。該模型可以學習溫度與熱誤差之間的高層次映射關系,提高了模型的適用性。與BP模型、MLR和CNN模型相比較,AM-CNN模型具有更好的泛化性與預測準確性。
2)基于注意力機制的敏感點自動識別網(wǎng)絡解決了溫度測點人為選取對熱誤差模型的精度與魯棒性的影響。模型的建立所采用的溫度傳感器數(shù)量為16個,無需對敏感點進行預選擇,在保留盡可能多的溫度特征信息的同時也能抑制各溫度點的共線性弊端,解決不同工況、季節(jié)與氣候等因素導致的溫度敏感點變化對模型精度的影響,與傳統(tǒng)線性模型和機器學習模型相比,優(yōu)勢明顯。