吳婷婷 許曉東 吳云龍
(江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院 鎮(zhèn)江 212013)
隨著信息爆炸引發(fā)“大數(shù)據(jù)”時代的到來,海量的文本信息也隨之而來,如何從這些浩瀚的文本信息中提取出有價值的文本信息并分類,以及如何提高這些文本信息分類的準(zhǔn)確性已成為目前的研究熱點(diǎn)和難點(diǎn)。
傳統(tǒng)文本分類模型聚焦在特征提取和選擇[1]上,常用方法有TF-IDF、詞頻、互信息等。也有學(xué)者認(rèn)為利用文本的語義信息可以更好地進(jìn)行文本分類,于是使用語義詞典來提取特征并分類[2]。近年來,深度學(xué)習(xí)(Deep Learning,DL)逐漸發(fā)展,深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network)尤其是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[3~4]作為近幾年來圖像處理和語音識別中的研究熱點(diǎn)[5],在自然語言處理(Natural Language Processing,NLP)的各個任務(wù)中也都取得了顯著效果[6]。因此,學(xué)者們的研究重心轉(zhuǎn)移到了基于深度神經(jīng)網(wǎng)絡(luò)的分類模型上[7]。
深度神經(jīng)網(wǎng)絡(luò)文本分類模型[8~9]的性能優(yōu)越,CNN模型的研究工作受到了學(xué)者的高度重視。隨著研究的不斷深入,學(xué)者們發(fā)現(xiàn)CNN模型中存在一些問題,例如,CNN模型本身比較復(fù)雜,建模過程存在一定難度;由于某些激活函數(shù)具有特殊的性質(zhì),導(dǎo)致了CNN模型在訓(xùn)練過程中容易出現(xiàn)梯度消失[10]、神經(jīng)元死亡[11]、均值偏移[12]、收斂速度慢、稀疏表達(dá)能力弱等問題[13]。
為了解決上述問題,本文分析研究了幾種常用激活函數(shù)的特性,并綜合ReLU、PReLU、Softplus三種激活函數(shù)的優(yōu)缺點(diǎn),提出了一種新型激活函數(shù)SPReLU。最后,建立基于CNN的文本分類模型,在MR數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),對比這幾種激活函數(shù)對文本分類模型的準(zhǔn)確率和損失函數(shù)的影響。
激活函數(shù)是深度神經(jīng)網(wǎng)絡(luò)的一個重要特征,它為神經(jīng)網(wǎng)絡(luò)提供了非線性建模能力,使網(wǎng)絡(luò)能夠更好地模擬數(shù)據(jù)特征,從而解決較為復(fù)雜的問題;同時,在反向傳播過程中,通過激活函數(shù)的誤差梯度來調(diào)整權(quán)重和偏置。神經(jīng)網(wǎng)絡(luò)中單個神經(jīng)元的工作機(jī)制[15]如圖1所示。計(jì)算公式為
圖1 單個神經(jīng)元的工作機(jī)制
其中,f為激活函數(shù),w為權(quán)重,b為偏置。
Sigmoid[14]激活函數(shù)是一種光滑連續(xù)并且單調(diào)遞增的S型函數(shù),其數(shù)學(xué)形式為
Sigmoid函數(shù)具有以下特性:首先,函數(shù)的值域?yàn)?到1,其輸出范圍有限,輸出結(jié)果更加穩(wěn)定,可以用作模型的輸出層;其次,該函數(shù)的數(shù)學(xué)表達(dá)式簡單,求導(dǎo)更加容易。然而,由于Sigmoid函數(shù)具有軟飽和性,在定義域內(nèi)處處可導(dǎo),當(dāng)x軸無限趨向于正無窮或負(fù)無窮時,函數(shù)的斜率幾乎為0,這種特性造成了梯度的消失;由于該函數(shù)是非零均值,影響了梯度的下降,導(dǎo)致了CNN模型在訓(xùn)練時不收斂。
Sigmoid函數(shù)圖像如圖2所示。
圖2 Sigmoid函數(shù)圖像
Tanh[16]激活函數(shù)是對Sigmoid函數(shù)非零均值缺點(diǎn)的改進(jìn),輸出結(jié)果以0為中心,使得模型的收斂更加快速。其數(shù)學(xué)形式為
Tanh激活函數(shù)雖然對Sigmoid進(jìn)行了一定的改進(jìn),提高了其收斂速度,但是卻沒有改變Sigmoid函數(shù)中由于軟飽和性而造成的梯度消失問題。
Tanh函數(shù)圖像如圖3所示。
圖3 Tanh函數(shù)圖像
ReLU[17]激活函數(shù)是目前最受學(xué)者們歡迎的一種修正型激活函數(shù),它有效地緩解了“S”型激活函數(shù)梯度消失的問題,然而卻依然存在均值偏移的缺點(diǎn)。其數(shù)學(xué)形式為
當(dāng)x≥0時,ReLU函數(shù)的輸出結(jié)果與輸入相同,其斜率始終為1,有效地解決了梯度消失的問題;當(dāng)x<0時,函數(shù)硬包和[18],輸出結(jié)果強(qiáng)制變?yōu)?,梯度也始終為0,一定程度上給CNN模型帶來了稀疏特性,緩解了過擬合問題;然而,正是由于這種特性,也導(dǎo)致了神經(jīng)元死亡現(xiàn)象的出現(xiàn),使得計(jì)算的結(jié)果不收斂,權(quán)重?zé)o法更新。
ReLU函數(shù)圖像如圖4所示。
圖4 ReLU函數(shù)圖像
PReLU[19]激活函數(shù)是對ReLU函數(shù)的改進(jìn),它對負(fù)半軸進(jìn)行修正,有效緩解了神經(jīng)元壞死問題。其數(shù)學(xué)形式為
在大于0部分,輸出保持與輸入相同;小于0部分,其輸出結(jié)果隨參數(shù)a的變化而變化。然而,由于其的線性修正特性,使得模型在表達(dá)能力上有所欠缺。
PReLU函數(shù)圖像如圖5所示。
圖5 PReLU函數(shù)圖像
Softplus[20]激活函數(shù)的數(shù)學(xué)形式為
Softplus激活函數(shù)與Sigmoid和Tanh函數(shù)相比,能夠快速收斂;其次,該函數(shù)圖像光滑,符合生物神經(jīng)元特征,可以更好地模擬神經(jīng)元工作特性。然而,與ReLU和PReLU相比,該函數(shù)欠缺稀疏表達(dá)能力。
Softplus函數(shù)圖像如圖6所示。
圖6 Softplus函數(shù)圖像
綜合ReLU、PReLU和Softplus的特性,本文提出了一種新的激活函數(shù)SPReLu,其數(shù)學(xué)形式為
其中,a為隨機(jī)參數(shù),根據(jù)模型實(shí)時訓(xùn)練發(fā)生變化,最終收斂為適宜的常數(shù)。
該函數(shù)具有以下特性,當(dāng)x≥0時,保留了Re-LU的線性特點(diǎn),輸出結(jié)果與輸入數(shù)據(jù)保持不變;當(dāng)x<0時,將Softplus函數(shù)的曲線下移ln2個單位,取負(fù)半軸曲線并乘上參數(shù)a。
SPReLU函數(shù)的圖像如圖7所示。
圖7 SPReLU激活函數(shù)圖像
其中,參數(shù)a有效地控制了函數(shù)的飽和范圍,它可以通過反向傳播進(jìn)行訓(xùn)練,并與其他層同時進(jìn)行優(yōu)化。某一層ai的梯度為
更新ai時采用動量法:
其中,μ是動量系數(shù),α是學(xué)習(xí)率。
改進(jìn)后的SPReLU函數(shù),同時繼承了ReLU、PReLU和Softplus函數(shù)的優(yōu)點(diǎn),主要包含以下幾個方面。
1)正半軸繼承了ReLU函數(shù),保留了ReLU函數(shù)快速收斂的特點(diǎn),解決了梯度消失的問題。
2)負(fù)半軸繼承了Softplus的光滑的特性,非線性修正了負(fù)半軸數(shù)據(jù),增強(qiáng)了CNN模型對樣本數(shù)據(jù)的表達(dá)能力;一些負(fù)軸的值得以保存,較好地解決了ReLU函數(shù)神經(jīng)元死亡的問題;負(fù)半軸增加了參數(shù)a,用參數(shù)激活函數(shù)代替無參數(shù)激活函數(shù),有效地控制了函數(shù)的飽和范圍。
3)最后,與PReLU函數(shù)相比,SPReLU函數(shù)增加了指數(shù)函數(shù),增強(qiáng)了模型的抗噪聲能力。
任何改進(jìn)都不可能做到完全沒有缺陷,改進(jìn)后的SPReLU函數(shù)也存在一些不足:
1)相比ReLU函數(shù),SPReLU函數(shù)稀疏表達(dá)能力在一定程度上降低了。
2)負(fù)半軸的指數(shù)函數(shù)雖然增強(qiáng)了抗噪聲能力,但是,與ReLU和PReLU函數(shù)相比,增加了模型計(jì)算的復(fù)雜度。
在實(shí)驗(yàn)中,采用64位的Windows 8操作系統(tǒng),基于TensorFlow 1.11.0框架,在PyCharm上進(jìn)行編碼和調(diào)試,最后在TensorBoard中展示結(jié)果。
為了驗(yàn)證采用SPReLU激活函數(shù)的卷積神經(jīng)網(wǎng)絡(luò)模型在文本分類中的效果,本文在MR數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。MR數(shù)據(jù)集是Rotten Tomatoes的Movie Review數(shù)據(jù),文件大小為20k,包含10662個句子,一半正面評論一半負(fù)面評論,本文使用其中90%的句子進(jìn)行模型訓(xùn)練,并使用10%的句子模型驗(yàn)證。實(shí)驗(yàn)重復(fù)進(jìn)行三次,最終取三次實(shí)驗(yàn)結(jié)果的平均值作為分析對比的數(shù)據(jù)。
本實(shí)驗(yàn)分別使用Sigmoid、Tanh、Softplus、Re-LU、PReLU和SRPeLU幾種激活函數(shù)進(jìn)行訓(xùn)練和驗(yàn)證,對比分析各個激活函數(shù)對CNN模型分類的準(zhǔn)確率和損失函數(shù)的影響。
實(shí)驗(yàn)結(jié)果的準(zhǔn)確率曲線和損失函數(shù)曲線分別如圖8和圖9所示。
圖8 準(zhǔn)確率曲線圖
圖9 損失函數(shù)曲線圖
幾種激活函數(shù)最大準(zhǔn)確率和最低誤差結(jié)果如表1所示。
表1 最大準(zhǔn)確率和最低誤差結(jié)果
從圖8和圖9和表1可以看出,隨著Step的不斷增加,幾種激活函數(shù)的準(zhǔn)確率逐漸增大,損失函數(shù)逐漸減小,最后趨于平緩,準(zhǔn)確率基本保持在0.70~0.75之間,損失函數(shù)在0.6~0.55之間。由于Sigmoid和Tanh函數(shù)本身的飽和特性,導(dǎo)致?lián)p失的特征較多,使得這兩種函數(shù)在準(zhǔn)確率和損失函數(shù)上都不如其他幾種激活函數(shù);Softplus、ReLU和PRe-LU三種激活函數(shù)的準(zhǔn)確率和損失函數(shù)都相差不多;而改進(jìn)后的SPReLU激活函數(shù)在實(shí)驗(yàn)中的準(zhǔn)確率最高為0.751407,損失函數(shù)結(jié)果最低為0.559。
在實(shí)驗(yàn)過程中,Sigmoid和Tanh函數(shù)收斂最慢,前500步左右,PReLU函數(shù)的收斂速度相對較快,500步之后,SRPeLU函數(shù)的收斂速度逐漸提高,說明負(fù)半軸增加的指數(shù)函數(shù),提高了模型的抗噪聲能力,使得收斂速度加快,最終使得SRPeLU函數(shù)收斂最快。因此,相較于常用激活函數(shù),改進(jìn)后的SRPeLU激活函數(shù)結(jié)合了幾種常用函數(shù)的優(yōu)點(diǎn),在文本分類中取得了較好的結(jié)果。
本文針對卷積神經(jīng)網(wǎng)絡(luò)出現(xiàn)的梯度消失、均值偏移、稀疏表達(dá)能力差等問題,分析常用激活函數(shù)特性,并結(jié)合ReLU、PReLU、Softplus三種激活函數(shù)的特性,構(gòu)造了一種新型分段函數(shù)SPReLU作為激活函數(shù),該函數(shù)有效地緩解了梯度消失和神經(jīng)元死亡等問題,收斂速度快,抗噪聲能力強(qiáng),對樣本數(shù)據(jù)的表達(dá)能力更好。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的SPRe-LU函數(shù)在性能上優(yōu)于其他函數(shù),對文本分類模型的準(zhǔn)確性有一定的提高。下一步研究工作將對數(shù)據(jù)集的大小、收斂速度與準(zhǔn)確率之間的關(guān)聯(lián)性進(jìn)行研究,在不同的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證其關(guān)聯(lián)性。