本發(fā)明涉及一種機器學習相關領域,特別涉及一種神經網絡模型的激活函數生成方法。
背景技術:
近年來,深度學習在計算機視覺領域取得了引人注目的成果,其中一個重要因素是激活函數的發(fā)展。在人工神經網絡中,神經元節(jié)點的激活函數定義了對神經元輸出的映射,簡單來說,神經元的輸出經過激活函數處理后再作為輸出。
神經網絡中激活函數的主要作用是提供網絡的非線性建模能力。假設一個示例神經網絡中僅包含線性卷積和全連接運算,那么該網絡僅能夠表達線性映射,即便增加網絡的深度也依舊還是線性映射,難以有效建模實際環(huán)境中非線性分布的數據。加入非線性激活函數之后,深度神經網絡才具備了分層的非線性映射學習能力。因此,激活函數是深度神經網絡中不可或缺的部分。
隨著深度學習的快速發(fā)展,激活函數的種類也逐漸豐富起來。目前機器學習領域應用廣泛的激活函數有sigmoid(s型生長曲線)函數、tanh(雙曲正切)函數、relu(修正線性單元)函數、prelu(參數化修正線性單元)函數、pelu(參數化指數型線性單元)函數、rrelu(隨機修正線性單元)函數等等。但是,這些基本的激活函數都存在不足,比如梯度消失、收斂速度較慢、均為凸函數等問題。另一方面這些激活函數也無法對不同的輸入做出相對應的激活,這是因為一旦激活函數預先定義或者學習完畢,在神經網絡模型測試階段激活函數就不會再改變。
技術實現要素:
本發(fā)明的目的在于克服現有技術的缺點與不足,提供一種神經網絡模型的激活函數生成方法,通過該方法生成的激活函數提高了神經網絡模型學習非線性變化的能力,并且使得神經網絡模型在測試階段能夠對不同的輸入作出不同響應,改進了神經網絡使用單一種類激活函數存在的不足。
本發(fā)明的目的通過下述技術方案實現:一種神經網絡模型的激活函數生成方法,步驟如下:
s1、選擇多個不同的基本激活函數;
s2、將步驟s1中選擇的多個不同的基本激活函數進行組合作為神經網絡模型的激活函數;
s3、神經網絡模型的激活函數隨著神經網絡模型的迭代進行更新。
優(yōu)選的,所述基本激活函數為sigmoid函數、tanh函數、relu函數、prelu函數、pelu函數或rrelu函數。
優(yōu)選的,所述步驟s1中選擇2~6個不同的基本激活函數。
優(yōu)選的,所述步驟s2中多個不同的基本激活函數通過以下方式進行組合得到神經網絡模型的激活函數f(x):
pn=1-(p1+p2+,…,+pn-1);
其中p1,p2,…,pn是各基本激活函數的組合系數,其預先設置的范圍為:0~1;
更進一步的,所述步驟s3中神經網絡模型的激活函數隨著神經網絡的迭代而進行更新的具體過程如下:
s31、首先通過反向傳播的算法對當前各基本激活函數i的組合系數pi′,i=1,2,…n-1進行參數更新,得到:
其中l(wèi)為神經網絡模型定義的損失函數;pi′當前各基本激活函數的組合系數,f′(x)為通過當前各基本激活函數的組合系數針對當前各基本激活函數組合得到的神經網絡的激活函數;p″i為更新后的各基本激活函數i的組合系數;其中f′(x)為:
p′n=1-(p′1+p′2+,…,+p′n-1);
s32根據上述更新后的各基本激活函數的組合系數p″i,i=1,2,…n-1得到神經網絡模型更新后的激活函數f″(x):
p″n=1-(p″1+p″2+,…,+p″n-1)。
優(yōu)選的,所述步驟s2中多個不同的基本激活函數通過以下方式進行組合得到神經網絡模型的激活函數f(x):
σn(wnx)=1-(σ1(w1x)+σ2(w2x)+,…,+σn-1(wn-1x));
其中σi(wix),i=1,2,…n代表輸入為wix的sigmoid函數,w1,w2,…,wn為各基本激活函數的組合系數,
更進一步的,所述步驟s3中神經網絡模型的激活函數隨著神經網絡的迭代而進行更新的具體過程如下:
s31、首先通過反向傳播的算法對當前各基本激活函數i的組合系數wi′,i=1,2,…n-1,進行參數更新,得到:
其中l(wèi)為神經網絡模型定義的損失函數;wi′當前各基本激活函數的組合系數,f′(x)為通過當前各基本激活函數的組合系數針對當前各基本激活函數組合得到的神經網絡的激活函數;w″i為更新后的各基本激活函數i的組合系數;其中f′(x)為:
σn(wn′x)=1-(σ1(w1′x)+σ2(w2′x)+,…,+σn-1(w′n-1x));
其中σi(wi′x),i=1,2,…n代表輸入為wi′x的sigmoid函數;
s32、根據上述更新后的各基本激活函數的組合系數w″i,i=1,2,…n-1得到神經網絡模型更新后的激活函數f"(x):
σn(w″nx)=1-(σ1(w″1x)+σ2(w″2x)+,…,+σn-1(w″n-1x));
其中σi(w″ix),i=1,2,…n代表輸入為w″ix的sigmoid函數。
本發(fā)明相對于現有技術具有如下的優(yōu)點及效果:
(1)本發(fā)明神經網絡模型的激活函數通過多個不同的基本激活函數組合而生成,通過本發(fā)明方法獲取到的激活函數改進了數據驅動的學習方式,提高了神經網絡模型學習非線性變化的能力,并且使得神經網絡模型在測試階段能夠對不同的輸入作出不同響應,改進了神經網絡使用單一種類激活函數存在的不足。另外本發(fā)明方法生成的神經網絡模型的激活函數還隨著神經網絡的迭代而進行更新,具有更加靈活的形式,使得神經網絡模型獲取到更好合適且學習非線性變化能力更強的激活函數。
(2)本發(fā)明方法在基本激活函數組合過程中,通過根據神經網絡模型不同的輸入賦予各基本激活函數對應不同的權重,相當于由神經網絡模型本身的輸入確定出神經網絡的最終激活函數,使得神經網絡模型在測試階段能夠針對各個輸入做出更加合適且準確的響應,進一步提到了神經網絡模型應用的準確性。
附圖說明
圖1是本發(fā)明方法流程圖。
圖2是本發(fā)明方法實施例1中基本激活函數組合方式結構圖。
圖3是本發(fā)明方法實施例2中基本激活函數組合方式結構圖。
具體實施方式
下面結合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。
實施例1
本實施例公開了一種神經網絡模型的激活函數生成方法,如圖1所示,步驟如下:
s1、選擇多個不同的基本激活函數;本步驟中一般選擇2~6個不同的基本激活函數;本實施例中基本激活函數可為sigmoid函數、tanh函數、relu函數、prelu函數、pelu函數或rrelu函數。本實施例中多個不同的基本激活函數為上述函數中的其中幾個。
s2、將步驟s1中選擇的多個不同的基本激活函數進行組合作為神經網絡模型的激活函數。其中本步驟中多個不同的基本激活函數通過以下方式進行組合得到神經網絡模型的激活函數f(x):
pn=1-(p1+,p2+,…,+pn-1);
其中p1,p2,…,pn是各基本激活函數的組合系數,其預先設置的范圍為:0~1;
s3、神經網絡模型的激活函數隨著神經網絡的迭代通過反向傳播的方式進行更新,具體更新過程如下:
s31、首先通過反向傳播的算法對當前各基本激活函數i的組合系數pi′,i=1,2,…n-1進行參數更新,得到:
其中l(wèi)為神經網絡模型定義的損失函數;pi′當前各基本激活函數的組合系數,f′(x)為通過當前各基本激活函數的組合系數針對當前各基本激活函數組合得到的神經網絡的激活函數;p″i為更新后的各基本激活函數i的組合系數;其中f′(x)為:
p′n=1-(p′1+p′2+,…,+p′n-1);
s31根據上述更新后的各基本激活函數的組合系數p″i,i=1,2,…n-1得到神經網絡模型更新后的激活函數f″(x):
p″n=1-(p″1+p″2+,…,+p″n-1)。
實施例2
本實施例公開了一種神經網絡模型的激活函數生成方法,步驟如下:
s1、選擇多個不同的基本激活函數;本步驟中一般選擇2~6個不同的基本激活函數;本實施例中基本激活函數可為sigmoid函數、tanh函數、relu函數、prelu函數、pelu函數或rrelu函數。
s2、將步驟s1中選擇的多個不同的基本激活函數進行組合作為神經網絡模型的激活函數。本步驟中多個不同的基本激活函數通過以下方式進行組合得到神經網絡模型的激活函數f(x):
σn(wnx)=1-(σ1(w1x)+σ2(w2x)+,…+σn-1(wn-1x));
其中σi(wix),i=1,2,…n代表輸入為wix的sigmoid函數,w1,w2,…,wn為各基本激活函數的組合系數,
s3、神經網絡模型的激活函數隨著神經網絡的迭代通過反向傳播的方式進行更新,具體更新過程如下:
s31、首先通過反向傳播的算法對當前各基本激活函數i的組合系數wi′,i=1,2,…n-1,進行參數更新,得到:
其中l(wèi)為神經網絡模型定義的損失函數;wi′當前各基本激活函數的組合系數,f′(x)為通過當前各基本激活函數的組合系數針對當前各基本激活函數組合得到的神經網絡的激活函數;w″i為更新后的各基本激活函數i的組合系數;其中f′(x)為:
σn(wn′x)=1-(σ1(w1′x)+σ2(w2′x)+,…,+σn-1(w′n-1x));
其中σi(wi′x),i=1,2,…n代表輸入為wi′x的sigmoid函數
s32、根據上述更新后的各基本激活函數的組合系數w″i,i=1,2,…n-1得到神經網絡模型更新后的激活函數f"(x):
σn(w″nx)=1-(σ1(w″1x)+σ2(w″2x)+,…,+σn-1(w″n-1x));
其中σi(w″ix),i=1,2,…n代表輸入為w″ix的sigmoid函數。
本實施例中上述步驟s2中的基本激活函數在組合過程中,根據神經網絡模型不同的輸入賦予各基本激活函數對應不同的權重,相當于由神經網絡模型本身的輸入確定出神經網絡的最終激活函數,使得神經網絡模型在測試階段能夠針對各個輸入做出更加合適且準確的響應,進一步提到了神經網絡模型應用的準確性。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內。