張 堯, 沈海斌
(浙江大學(xué) 超大規(guī)模集成電路設(shè)計(jì)研究所,浙江 杭州 310027)
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)是目前最流行的人工神經(jīng)網(wǎng)絡(luò)之一,具有處理歷史信息和建模歷史記憶的功能特點(diǎn),適用于處理時(shí)間、空間上有關(guān)聯(lián)的信息,如語(yǔ)音識(shí)別、實(shí)時(shí)翻譯以及計(jì)算機(jī)視覺(jué)等[1~3]。在標(biāo)準(zhǔn)的RNN結(jié)構(gòu)中,隨著序列數(shù)據(jù)的不斷輸入,覆蓋之前的序列數(shù)據(jù)信息,導(dǎo)致序列梯度消散問(wèn)題[4], Karpathy A等人采用了長(zhǎng)短時(shí)記憶(long short-term memory,LSTM)單元解決該問(wèn)題[5]。LSTM型RNN使得激活函數(shù)的數(shù)量增加,激活函數(shù)一般為S型函數(shù),如Sigmoid, Tanh等[6]。LSTM型RNN隱含層一般采用2層結(jié)構(gòu),單層網(wǎng)絡(luò)訓(xùn)練效果不佳,多層網(wǎng)絡(luò)訓(xùn)練難度較大。采用反向傳播算法進(jìn)行訓(xùn)練時(shí),S型函數(shù)容易進(jìn)入導(dǎo)數(shù)趨近于0的飽和區(qū)導(dǎo)致收斂速度慢。Glorot X等人采用了修正線(xiàn)性單元(rectified linear units,ReLU)訓(xùn)練具有稀疏特性的數(shù)據(jù),解決S型激活函數(shù)飽和區(qū)難以收斂的問(wèn)題[7]。ReLU是分段線(xiàn)性非飽和函數(shù),隨著x的增大,函數(shù)發(fā)散,訓(xùn)練時(shí)容易導(dǎo)致梯度爆炸,無(wú)法完成訓(xùn)練。
本文提出了擴(kuò)展激活函數(shù)非飽和區(qū)的方法解決了S型激活函數(shù)飽和區(qū)收斂速度慢和ReLU激活函數(shù)梯度爆炸的問(wèn)題,加快了LSTM型RNN的訓(xùn)練收斂速度。
前向傳播過(guò)程從t=1時(shí)刻依次經(jīng)過(guò)輸入層、隱含層和輸出層。
Input Gate
(1)
(2)
Forget Gate
(3)
(4)
Cell
(5)
(6)
式中wic,whc分別為輸入層、隱含層與Cell單元的連接權(quán)值。
Output Gate
(7)
(8)
Cell Output
(9)
Cell Output
(10)
式中G為隱含層輸入的個(gè)數(shù),包括LSTM單元之間的連接和不同門(mén)之間的連接。
Output Gate
(11)
State
(12)
Cell
(13)
Forget Gate
(14)
Input Gate
(15)
LSTM單元中的Input Gate,Output Gate和Forget Gate一般采用Sigmoid函數(shù)作為激活函數(shù),Net Input單元和Cell單元一般采用tanh函數(shù)作為激活函數(shù)[8,9]。Sigmoid函數(shù)和tanh函數(shù)具有類(lèi)似的函數(shù)特征,即非線(xiàn)性、飽和性
(16)
(17)
不同系數(shù)的Sigmoid和tanh函數(shù)及其導(dǎo)數(shù)圖像如圖1、圖2所示。Sigmoid函數(shù)和tanh函數(shù)的系數(shù)不同時(shí),函數(shù)的非線(xiàn)性、飽和性不同。系數(shù)變大時(shí),非飽和區(qū)變窄,非飽和區(qū)的導(dǎo)數(shù)變大;系數(shù)變小時(shí),非飽和區(qū)變寬導(dǎo)數(shù)變小。
圖1 k-Sigmoid函數(shù)及其導(dǎo)數(shù)
圖2 k-tanh函數(shù)及其導(dǎo)數(shù)
不同系數(shù)激活函數(shù)的LSTM型RNN訓(xùn)練過(guò)程中訓(xùn)練時(shí)間和訓(xùn)練誤差如圖3所示,k為激活函數(shù)的系數(shù)。實(shí)驗(yàn)結(jié)果表明:當(dāng)激活函數(shù)系數(shù)為1/8時(shí),訓(xùn)練速度最快。激活函數(shù)系數(shù)較大時(shí),非飽和區(qū)較窄;系數(shù)過(guò)小時(shí),非飽和區(qū)導(dǎo)數(shù)較小,因此,選擇激活函數(shù)系數(shù)為1/8。同等誤差水平下,RNN的訓(xùn)練時(shí)間減少了21 %(k=1的訓(xùn)練時(shí)間為26 129 s,k=0.125的訓(xùn)練時(shí)間為20 520 s)。
圖3 參數(shù)化激活函數(shù)的RNN訓(xùn)練過(guò)程
基于S型激活函數(shù)的性質(zhì),提出了參數(shù)化激活函數(shù)方法,有效地?cái)U(kuò)展了激活函數(shù)非飽和區(qū)范圍,通過(guò)實(shí)驗(yàn)證明了非飽和區(qū)擴(kuò)展的RNN算法優(yōu)化方法加快了訓(xùn)練的收斂速度。實(shí)驗(yàn)中,不同的初始化權(quán)值以及神經(jīng)元結(jié)點(diǎn)數(shù),對(duì)訓(xùn)練的誤差和速度影響不同,如何選擇最優(yōu)的LSTM型RNN的參數(shù)是今后的研究方向。
[1] Zen H.Acoustic modeling in statistical parametric speech synthesis-from HMM to LSTM-RNN[J].Middle East Policy,2008,15(1):125-132.
[2] Kim J,Kim J,Thu H L T,et al.Long short term memory recurrent neural network classifier for intrusion detection[C]∥2016 International Conference on Platform Technology and Service(PlatCon),IEEE,2016:1-5.
[3] 李幸超.基于循環(huán)神經(jīng)網(wǎng)絡(luò)的軌跡位置預(yù)測(cè)技術(shù)研究[D].杭州:浙江大學(xué),2016.
[4] Graves A.Neural networks[M].Berlin Heidelberg:Springer, 2012:15-35.
[5] Karpathy A,Johnson Justin,Li F F.Visualizing and understan-ding recurrent networks[C]∥International Conference on Learning Representations(ICLR),San Juan:2016.
[6] 李宏偉,吳慶祥.智能傳感器中神經(jīng)網(wǎng)絡(luò)激活函數(shù)的實(shí)現(xiàn)方案[J].傳感器與微系統(tǒng),2014,33(1):46-48.
[7] Glorot X,Bordes A,Bengio Y.Deep sparse rectifier neural networks[J].Journal of Machine Learning Research,2014,33(1):46-48.
[8] Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[J].Advances in Neural Information Processing Systems,2012,25(2):2012.
[9] Soleymani M,Asghari Esfeden S,Fu Y,et al.Analysis of EEG signals and facial expressions for continuous emotion detec-tion[J].IEEE Transactions on Affective Computing,2016,7(1):1.