国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進的粒子群優(yōu)化神經(jīng)網(wǎng)絡粗糙度預測模型*

2021-03-01 00:39史柏迪莊曙東
組合機床與自動化加工技術 2021年2期
關鍵詞:高斯分布神經(jīng)網(wǎng)絡誤差

史柏迪,莊曙東,韓 祺

(1.河海大學機械工程學院,江蘇 常州 213022;2.梅特勒-托利多國際貿(mào)易(常州)有限公司,江蘇 常州 213022;3.南京航空航天大學江蘇省精密儀器重點實驗室,南京 21009)

0 引言

金屬零件加工后表面粗糙度直接決定零部件的配合性質(zhì)、耐磨性、疲勞強度、接觸剛度、使用壽命及各類力學性能,為必須被約束的重要參數(shù)。當前機械加工日益趨向超高精密化[1],傳基于統(tǒng)計學原理的多元線性[2]、以及非線性[3]回歸預測模型以及無法滿足實際加工需求。

當前機器學習與深度學習的浪潮之下為表面粗糙度預測提供了新的方案。國內(nèi)外已經(jīng)有了諸多研究,在機器學習算法中支持向量機(SVM)[4],決策樹[5]、K近鄰[6]等在預測以及分類任務中均有廣泛使用。但近年來深度學習算法在圖像識別、特征工程、數(shù)據(jù)分析等領域相對機器學習算法均有更好的精度表現(xiàn)。且隨著近年來國內(nèi)外學者的進一研究,目前其可讀性、表達能力、優(yōu)化等問題有了較大改善[7-9]。但經(jīng)網(wǎng)絡初始化、梯度消失等“黑盒”問題依舊存在,在工程運用中直接影響神經(jīng)網(wǎng)絡模型的預測精度?;诖藛栴}本文提出一種在初始化以及算法優(yōu)化器兩方面進行改進的神經(jīng)網(wǎng)絡。

神經(jīng)網(wǎng)絡初始化目前一般最為簡單的方法為對各層神經(jīng)元節(jié)點填充服從均值為0方差為1的高斯分布隨機數(shù)。其次便是使用群體智能算法對神經(jīng)網(wǎng)絡參數(shù)進行預先篩選。目前常見有PSO-BP[10]、GA-BP[11],但其本質(zhì)為建立多個隨機正態(tài)分布神經(jīng)網(wǎng)絡在此基礎上對其參數(shù)按照特定算法進行更新,最終篩選出最佳個體。本模型使用Xavier[12]初始化來提高初始群體,減少模型陷入局部最小無法優(yōu)化的概率。其次算法優(yōu)化器為另一決定預測精度的方面,目前大多神經(jīng)網(wǎng)絡工具箱使用隨機梯度下降(SGD)更新模型參數(shù),但近年來優(yōu)化器有著較大的突破[13-14]。本模型使用Ada Mod[15]優(yōu)化器,經(jīng)測試相對SGD與Adam優(yōu)化器可有效提高模型收斂速度及預測精度。

1 建模條件

1.1 特征的選取

機械加工過程中表面粗糙度(Ra)受到材料特性、切削參數(shù)、機床特性、刀具選擇等諸多因素的影響。本模型所使用的樣本材料為U71Mn高錳鋼因力學性能良好,具有較好的抗沖擊與耐磨性能[16],為中國鐵軌的主要原材料。但當切削參數(shù)配置不合理時容易導致材料表面馬氏體粗大,力學性能急速下降。為提高數(shù)據(jù)樣本精確度,綜合考慮實際加工情況以及材料特性,選擇加工條件為三菱公司的M-V5CN組合機床,刀具為4齒平底立銑刀,刀具直徑20 mm如圖1所示。選取主軸轉(zhuǎn)速n(r/min)、每齒進給量f(mm/z)、銑削深度ap(mm)、銑削寬度ae(mm)為輸入特征。

圖1 4齒硬質(zhì)平底銑刀

輸出特征為Ra(μm)由光電輪廓儀任選加工后表面三處均勻表面取均值獲得,最終獲取100組數(shù)據(jù)樣本,表1為部分樣本數(shù)據(jù)。

表1 部分樣本數(shù)據(jù)

1.2 數(shù)據(jù)集的處理

為使模型模型具有良好的泛化性避免過擬合現(xiàn)象,對數(shù)據(jù)集按照圖2進行劃分。

圖2 5折交叉驗證

此外從表1易知輸入特征n較其他特征而言數(shù)值量較大為減少其對梯度傳播的影響將4個輸入特征按照公式(1)進行歸一化處理:

(1)

式中,numnor為歸一化后的數(shù)據(jù),下標min與max為該輸入特征的最小與最大值。i為該樣本序號1≤i≤100。

2 神經(jīng)網(wǎng)絡初始化

2.1 高斯分布初始化

在隱藏層層數(shù)為n的BP網(wǎng)絡中如果使用高斯分布初始化易得其前向傳播通項公式(2):

(2)

式中,n為隱藏層總數(shù),i為當前隱藏層序號。m為在第i層情況下神經(jīng)元的數(shù)目,j為在第i層的第j個神經(jīng)元。w為i層第j個神經(jīng)元的權(quán)值(w),b為偏置(b)。PRelu為激活函數(shù)。

從式(2)中可知雖然其權(quán)值與閾值的分布均滿足正態(tài)分布,可在一定程度里緩解激活值異常的情況,但是當網(wǎng)絡隱藏層增加時激活值彌散情況依舊無法避免。經(jīng)式(1)處理后所有輸入值均分布在[0,1]取隱藏層數(shù)目依次為1、10、50,神經(jīng)元數(shù)目固定為100,可得激活值變動如圖3所示。

圖3 高斯初始化輸出激活值

由圖3可知激活值伴隨著層數(shù)的增加逐步平緩趨向0。根據(jù)統(tǒng)計學原理易知數(shù)據(jù)方差越大其包含的信息量越大。僅對各層神經(jīng)網(wǎng)絡權(quán)值與閾值基于隨機高斯分布式(2)初始化,在模型后續(xù)訓練會帶來的梯度飽和現(xiàn)象,易對模型精度造成影響。

2.2 Xavier初始化

Xavier初始化創(chuàng)始者Glorot發(fā)現(xiàn)在一個m層的多層神經(jīng)網(wǎng)絡中初始化若僅使權(quán)值與閾值服從高斯分布,在輸出時無法保留輸入數(shù)據(jù)的方差特性。一個良好的網(wǎng)絡初始化因使數(shù)據(jù)激活輸出值服從高斯分布且保證輸入時的方差特性保持不變即滿足如下條件:

(3)

式中,Cost為代價函數(shù)因采用BP結(jié)構(gòu)即為均方誤差;h為隱藏層;z為實際激活輸出值;i,j為任意兩個神經(jīng)網(wǎng)絡的索引。

對于任何一個d層神經(jīng)網(wǎng)絡如果所有層規(guī)格一致且采用相同的初始化方法可得式(4)分布規(guī)律。

(4)

式中,W為權(quán)值的向量矩陣。

以上即為Glorot條件認為初始化不應僅從w與b著手,而應使各層的輸出激活值和狀態(tài)梯度的方差在傳播過程中的方差保持一致。

結(jié)合式(2)~式(4)可知若各隱藏層神經(jīng)元數(shù)目為k,為滿足Glorot條件第i層權(quán)值矩陣,需滿足式(5)分布規(guī)律。

(5)

式中,m為隱藏層層數(shù);i,j滿足1≤i≤m;1≤j≤k;當神經(jīng)網(wǎng)絡采用式(5)初始化時可得值如圖4所示。

圖4 Xavier初始化輸出激活值

由圖4可知,隨著神經(jīng)層數(shù)量增加其各神經(jīng)網(wǎng)絡激活值的方差特性得到了最大程度的保留,有效解決了高斯初始化帶來的梯度飽和問題。

3 基于Xavier的PSO算法

3.1 PSO初始化算法流程

PSO算法源于對鳥類捕食行為的模擬,每個粒子僅擁有速度與位置兩個屬性。在迭代中通過將個體極值與群體共享,所有粒子根據(jù)最優(yōu)的個體極值決定下一輪的速度與位置。上述思想在BP神經(jīng)網(wǎng)絡中的運用可描述為在T次迭代之中,由n個粒子組成特征數(shù)量為D的大小為[n×D]種群矩陣X且其初始化符合神經(jīng)網(wǎng)絡規(guī)格為M的Xavier原則式(5),粒子速度V為長度為D的向量。Pi為長度為n的向量對個體極值進行記錄。Pg為群體極值。屬性X與V按照式(6)進行迭代更新。

(6)

式中,ω為為慣性權(quán)重在后續(xù)進行討論;d為當前維度1≤d≤D;i為當前粒子1≤i≤n;k為當前迭代次數(shù)1≤k≤T;c1,c2為加速因子取[0,1]常數(shù);r1,r2為[0,1]的隨機數(shù)通過添加擾動來阻止模型陷入局部最小值;為避免盲目搜索設置將速度約束在[-Vmax,Vmax];位置約束在[-Xmin,Xmax]。

在式(5)、式(6)的基礎上可以給出該模型的PSO初始化模塊算法流程如圖5所示。

圖5 基于Xavier的PSO初始化

圖5即為算法流程,且在PSO中其超參數(shù)相對于基因遺傳算法(GA)更易調(diào)節(jié)且,對于數(shù)據(jù)無需進行二進制編碼重組具有極強的算法可移植性,以及較低的算法復雜度因此在PID控制、模糊邏輯控制以及神經(jīng)網(wǎng)絡初始化中有著廣泛的運用。

3.2 慣性系數(shù)更新算法的選取

在PSO算法中慣性系數(shù)直接決定模型繼承上一輪速度的能力,直接決定模型的收斂性以及全局搜索能力。傳統(tǒng)常系數(shù)法雖可降低模型的算法時間復雜度但隨著迭代的進行在經(jīng)驗區(qū)間[0,4,0.9]內(nèi)選取任一常數(shù)在深層網(wǎng)絡初始化中顯然欠佳。Shi Y首先提出線性遞減慣性系數(shù)法見式(7)。在此基礎上還有如下常見策略式(8)~式(10)。

ω(k)=ωstart(ωstart-ωend)(T-k)/T

(7)

(8)

(9)

(10)

式(7)~式(10)中,各項參數(shù)在3.1節(jié)中均已說明。大量工程實踐證明ω在開始時取0.9最終取0.4可使算法在中期有最佳的搜索能力在迭代終止前也可有效收斂。

設置粒子群數(shù)量(n)為100,最大迭代次數(shù)(T)為100。神經(jīng)網(wǎng)絡采取5層隱藏層可得神經(jīng)網(wǎng)絡結(jié)構(gòu)圖如圖6所示。在圖6結(jié)構(gòu)之中計算可得神經(jīng)網(wǎng)絡有4×(100+1)+100×(100+1)×4+(100+1)項參數(shù)需要被初試化,即系數(shù)矩陣W為[101×405]。

圖6 神經(jīng)網(wǎng)絡結(jié)構(gòu)

本測試環(huán)境為pytorch使用cuda進行GPU并行運算。主機配置,CPU:i7 9750H,GPU:GTX1660TI,ROM:16G設置粒子群數(shù)量(n)為100,最大迭代次數(shù)(T)為100。按照式(7)~式(10)以及常系數(shù)0.6設置慣性系數(shù)ω得到表2。

表2 ω對模型影響

式(7)~式(10)實際耗時致均屬于一個量級。固定系數(shù)法最終模型誤差較線性遞減法差距較大故不采用。在線性遞減法中考慮最終均方誤差直接決定初試訓練精度故采用式(8)進行慣性系數(shù)更新。

4 Adam與Ada Mod優(yōu)化器模型

4.1 Adam算法優(yōu)化器

Adam算法為Kingma與Ba在2015年提出。并且經(jīng)過大量工程證明在非凸函數(shù)優(yōu)化以及非線性問題中相對SGD有著更為優(yōu)秀的表現(xiàn)。目前在深度學習以及自然語言處理中有著廣泛的運用。

傳統(tǒng)隨機梯度下降(SGD)算法選用一個固定的學習速率對所有w、b按照一個維度進行更新。雖實際工程表現(xiàn)較好,但尚缺乏可解讀性。ADam算法在SGD算法的基礎上引入誤差梯度的一階與二階指數(shù)加權(quán)矩陣以此為依據(jù)在迭代中根據(jù)模型的實際訓練情況對各神經(jīng)網(wǎng)絡節(jié)點的w、b采取合適的η步長,w的修正可表達為式(8):

(8)

式中,β慣性系數(shù);m、v為一階與二階動量項;g為均方誤差。η初始學習率。τ正則化常數(shù)量默認為108作用為限制修正量。t為當前次數(shù)。采用Adam算法優(yōu)化器進行模型訓練可以得到如圖7訓練結(jié)果。

隨著迭代的進行,采用Adam算法基于式(8)對神經(jīng)模型進行參數(shù)更新可有效降低訓練集誤差,對樣本特征進行有效學習,最終在固定105迭代次數(shù)下累計訓練集誤差為0.375綜合考慮測試集樣本數(shù)量,訓練效果良好。使用測試集樣本對模型進行泛化性測試如圖8所示。

圖7 Adam算法訓練誤差 圖8 Adam算法預測

由圖8可知模型在20個訓練集樣本之下累計絕對可控制在0.5 μm之下結(jié)合python工作臺可知誤差最大項為0.031 μm。綜上有理由相信Adam可有效作為表面粗糙度神經(jīng)網(wǎng)絡預測模型的優(yōu)化器。且相對SGD算法,Adam在神經(jīng)網(wǎng)絡參數(shù)更新過程中對步長的調(diào)整以及梯度修正量更加具有針對性,一般來說當參數(shù)設置合理時可以使模型更快收斂且具有更好的擬合精度。

4.2 Ada Mod算法優(yōu)化器

Ada Mod由北大孫栩課題組提出為Adam算法的一種改進,通過對參數(shù)的長期學習速率進行緩沖可使得模型在提高學習精度的基礎上更快收斂。在T次學習迭代中設初始化參數(shù)θ;步長α為長度為T的向量;動量β1,β2為一階與二階動量M、V對應的慣性系數(shù);設代價損失函數(shù)ψ,正則化常數(shù)τ,則可得圖9算法流程。

圖9 Ada Mod算法流程

替換表3中θ為w、b即可得到神經(jīng)網(wǎng)絡參數(shù)更新公式。對比章節(jié)4.1及式(8)可知Ada Mod在迭代中增加超參數(shù)β3對訓練中參數(shù)記憶長短進行了記錄,可有效避免Adam算法在自適應學習時初期即使有正則化系數(shù)τ進行限制依舊會導致學習率過大導致學習異常的現(xiàn)象。且具有RAdam算法的特征無需進行預熱開始訓練時便具有一定的算法穩(wěn)定性。選擇同樣的測試指標可得如圖10所示。

(a) Ada Mod算法訓練誤差 (b) Ada Mod算法預測圖10 Ada Mod算法

結(jié)合圖7、圖8、圖10,可以直觀發(fā)現(xiàn)Ada Mod優(yōu)化器無論在訓練集誤差還是測試集誤差上均相對Adam有著更好的表現(xiàn)。且最終測試集累計絕對誤差可以控制到0.02 μm,各項平均誤差為0.001 μm,誤差最大項為0.023 μm。有理由相信作為一種新的算法優(yōu)化器Ada Mod不僅可以在卷積神經(jīng)網(wǎng)絡、自然語言處理模型上對模型有效訓練,在表面粗糙度預測模型上也有著十分優(yōu)秀的表現(xiàn)。

5 總結(jié)

(1)基于Xavier的粒子群優(yōu)化算法進行神經(jīng)網(wǎng)絡初始化相對傳統(tǒng)傳統(tǒng)PSO-BP可以有效降低神經(jīng)網(wǎng)絡模型的初始均方誤差,獲得更好的初始化狀態(tài)。

(2)Ada Mod算法優(yōu)化器通過對Adam進行算法改進,在神經(jīng)網(wǎng)絡預測模型中可使模型參數(shù)更新更加有效,有效降低訓練集誤差,并提高模型預測能力。

猜你喜歡
高斯分布神經(jīng)網(wǎng)絡誤差
利用Box-Cox變換對移動通信中小區(qū)級業(yè)務流量分布的研究
角接觸球軸承接觸角誤差控制
2種非對稱廣義高斯分布模型的構(gòu)造
Beidou, le système de navigation par satellite compatible et interopérable
神經(jīng)網(wǎng)絡抑制無線通信干擾探究
壓力容器制造誤差探究
一種基于改進混合高斯模型的前景檢測
基于神經(jīng)網(wǎng)絡的拉矯機控制模型建立
九十億分之一的“生死”誤差
復數(shù)神經(jīng)網(wǎng)絡在基于WiFi的室內(nèi)LBS應用
陵川县| 商城县| 香格里拉县| 肃南| 若尔盖县| 蓬溪县| 宜阳县| 海晏县| 杭州市| 革吉县| 沁水县| 嘉定区| 邵东县| 工布江达县| 台前县| 南部县| 鄂温| 梁河县| 元氏县| 肥西县| 双城市| 寻甸| 和田县| 惠州市| 青岛市| 海林市| 延长县| 金溪县| 澳门| 太原市| 财经| 合山市| 徐水县| 三门峡市| 杭锦旗| 临清市| 巴南区| 若尔盖县| 仁怀市| 增城市| 漳浦县|