萬 全,吳 霖,余正濤
(昆明理工大學(xué) 信息工程與自動化學(xué)院,昆明 650500)(昆明理工大學(xué) 云南省人工智能重點(diǎn)實(shí)驗(yàn)室,昆明 650500)
語言建模是自然語言處理領(lǐng)域的一項(xiàng)基本任務(wù).從20世紀(jì)70年代的統(tǒng)計(jì)語言模型N-gram到現(xiàn)在廣泛使用的神經(jīng)網(wǎng)絡(luò)語言模型,這些優(yōu)秀的模型結(jié)構(gòu)都是通過人工設(shè)計(jì)得到的.最近提出的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索(NAS)引起了大量研究者的關(guān)注,NAS的目的是不在人工干預(yù)的情況下,讓機(jī)器在給定的數(shù)據(jù)集上自動的搜索出性能優(yōu)異的網(wǎng)絡(luò)結(jié)構(gòu),從而將傳統(tǒng)手工設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)的過程變?yōu)樽詣?NAS的出現(xiàn)大大減少了研究人員在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)上所花的時(shí)間.Baker等人早期提出的基于強(qiáng)化學(xué)習(xí)的MetaQNN[1]方法,在一個龐大的搜索空間內(nèi)實(shí)現(xiàn)了網(wǎng)絡(luò)結(jié)構(gòu)的自動搜索.接下來是進(jìn)化算法[2,3]在NAS中的應(yīng)用,通過對初始的簡單網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行操作的增加或改變來自動搜索性能優(yōu)異的網(wǎng)絡(luò)結(jié)構(gòu).這兩類方法存在一個共同的問題,搜索過程中需要對所有采樣到的網(wǎng)絡(luò)結(jié)構(gòu)性能進(jìn)行評估,不僅需要花費(fèi)大量的時(shí)間,同時(shí)還需要強(qiáng)大的硬件支持,實(shí)驗(yàn)過程基本無法復(fù)現(xiàn).
現(xiàn)在最流行的NAS方法是Liu等人于2019年提出的可微神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索DARTS[4],相對于較早的在離散空間進(jìn)行結(jié)構(gòu)搜索的強(qiáng)化學(xué)習(xí)[1,5-7]和進(jìn)化算法[2,3]等方法,基于梯度優(yōu)化的DARTS方法構(gòu)造了一個連續(xù)的搜索空間,在搜索速度和實(shí)驗(yàn)硬件要求上都更有優(yōu)勢,普通研究人員更容易復(fù)現(xiàn),因此成為了目前大多數(shù)NAS研究者的基礎(chǔ)方法.DARTS方法在搜索空間的構(gòu)造上和Pham等人提出的ENAS[7]方法類似.在語言模型任務(wù)上,網(wǎng)絡(luò)結(jié)構(gòu)的類型為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),DARTS的目的是搜索出組成循環(huán)神經(jīng)網(wǎng)絡(luò)單元(cell)的內(nèi)部結(jié)構(gòu)(如圖1所示).單元內(nèi)部定義為包含若干節(jié)點(diǎn)的有向無環(huán)圖,在每兩個節(jié)點(diǎn)之間放置所有可采取的操作并為所有操作隨機(jī)分配權(quán)重,經(jīng)過訓(xùn)練后利用softmax決策選擇節(jié)點(diǎn)與節(jié)點(diǎn)之間最佳的操作得到優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu).DARTS在NAS研究上取得了一定的成功,但搜索過程中包含了人工處理的過程,因此不能完全符合NAS不靠人工干預(yù)讓機(jī)器自動設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)的要求.
圖1 DARTS方法定義的網(wǎng)絡(luò)結(jié)構(gòu)框架圖(左)和單元內(nèi)部結(jié)構(gòu)圖(右)
針對該問題,本文提出一種全自動單元搜索空間.首先,移除搜索階段包含的人工處理過程實(shí)現(xiàn)單元搜索全自動化.然后,在單元內(nèi)部額外增加元素相加(add)和元素相乘(elem_mult)操作,抵消移除人工處理過程后導(dǎo)致的模型規(guī)模變小和復(fù)雜度降低的問題.最后,DARTS限制softmax決策每次只選擇權(quán)重最高的一個操作且softmax作用于每兩個節(jié)點(diǎn)之間,而增加的add和elem_mult需要選擇兩個輸入進(jìn)行操作.因此,將前序所有節(jié)點(diǎn)每兩個為一組作為輸入,然后進(jìn)行add和elem_mult操作,得到一個輸出并作為后序節(jié)點(diǎn)的輸入,同時(shí)改變softmax決策為對單個節(jié)點(diǎn)的所有輸入統(tǒng)一進(jìn)行softmax.
本文在語言模型任務(wù)上對提出的方法進(jìn)行了驗(yàn)證,數(shù)據(jù)集選用的是目前訓(xùn)練語言模型時(shí)使用最廣泛的Penn Treebank(PTB)數(shù)據(jù)集.本文通過設(shè)定不同的節(jié)點(diǎn)數(shù)量,以及不同組合的操作,探討與語言模型任務(wù)最匹配的搜索空間.實(shí)驗(yàn)表明,在節(jié)點(diǎn)數(shù)量為11,移除人工處理并同時(shí)增加add和elem_mult操作時(shí)表現(xiàn)最好,搜索到的網(wǎng)絡(luò)結(jié)構(gòu)在PTB測試集上取得了56.2的測試?yán)Щ蠖?為了驗(yàn)證本文方法搜索到的結(jié)構(gòu)的可遷移性,將PTB數(shù)據(jù)集上搜索到的最優(yōu)結(jié)構(gòu)遷移到Wikitext-2(WT2)數(shù)據(jù)集進(jìn)行訓(xùn)練,在測試集取得了70.1的測試?yán)Щ蠖?
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索作為一種新的自動機(jī)器學(xué)習(xí)技術(shù)已經(jīng)被應(yīng)用于計(jì)算機(jī)視覺和自然語言處理領(lǐng)域.初期的方法都是基于強(qiáng)化學(xué)習(xí)[1,5-7]對問題建模,隨后進(jìn)化算法[2,3]也在結(jié)構(gòu)搜索研究中取得了重大進(jìn)展,最近,基于梯度優(yōu)化方法的DARTS[4]成功應(yīng)用于圖像識別和語言建模任務(wù)上,對比強(qiáng)化學(xué)習(xí)和進(jìn)化算法,基于梯度的方法有著更低的硬件要求和更高的搜索效率,這也使之成為了目前廣泛使用的結(jié)構(gòu)搜索方法.
DARTS盡管有著優(yōu)秀的性能,但大多數(shù)人驗(yàn)證了其性能崩潰的問題,并指出其崩潰的原因是因?yàn)檫^多的skip connection.為了解決該問題,Chen等人提出PDARTS[9]對搜索空間進(jìn)行了限制,通過設(shè)置dropout rate對skip connection進(jìn)行裁剪,并人為限制skip connection的數(shù)量.Zela等人[10]設(shè)計(jì)多個搜索空間,并證明了skip connection是導(dǎo)致DARTS崩潰的主要原因,為了增強(qiáng)搜索過程的穩(wěn)定性,他們提出對模型的驗(yàn)證損失進(jìn)行監(jiān)督,但這增加了額外的計(jì)算量.Chu等人[11]提出放寬搜索空間,避免排他性競爭,通過使用sigmoid函數(shù)模仿編碼從而使每個操作具有獨(dú)立的體系結(jié)構(gòu)權(quán)重.Zhang等人[12]則是通過在訓(xùn)練過程中加入無偏且方差較小的噪聲來解決skip conncetion問題.這些改進(jìn)的DARTS方法在計(jì)算機(jī)視覺領(lǐng)域取得了較大的成功,甚至在個別任務(wù)上達(dá)到了state-of-the-art的結(jié)果.
與計(jì)算機(jī)視覺領(lǐng)域不同,結(jié)構(gòu)搜索在自然語言處理領(lǐng)域的研究相對較少,Transformer模型[13]依然處于王者地位.由于自然語言處理領(lǐng)域的模型往往更加復(fù)雜,規(guī)模也更大,已有的結(jié)構(gòu)搜索方法不足以從零開始設(shè)計(jì)出如此復(fù)雜且龐大的網(wǎng)絡(luò)結(jié)構(gòu),在機(jī)器翻譯這類頂層任務(wù)上,都是以一個種子模型為基礎(chǔ)展開搜索優(yōu)化,在語言模型等底層任務(wù)上則可以進(jìn)行完整的搜索.Le等人將進(jìn)化算法用于機(jī)器翻譯任務(wù),他們首次將結(jié)構(gòu)搜索用于前饋模型,以Transformer為種子網(wǎng)絡(luò),成功搜索出了表現(xiàn)更好的Evolved Transformer網(wǎng)絡(luò)[14].Wang等人提出了坐標(biāo)式結(jié)構(gòu)搜索方法[15],在Transformer的基礎(chǔ)上,通過增加LSTM或其他層達(dá)到了優(yōu)于原模型的效果.微軟團(tuán)隊(duì)在2019年國際機(jī)器翻譯大賽[16]上,將自己提出的基于梯度優(yōu)化NAO[17]方法用于Transformer模型,它將模型結(jié)構(gòu)編碼并嵌入到一個連續(xù)的向量空間,然后通過梯度優(yōu)化發(fā)現(xiàn)并解碼出性能更好的結(jié)構(gòu).
3.1節(jié)對比了全自動的單元框架和DARTS原始單元框架,本文方法通過移除單元搜索過程中包含的人工處理過程,實(shí)現(xiàn)單元搜索過程全自動化,其目的是為了更加符合結(jié)構(gòu)搜索無需人工干預(yù),讓機(jī)器自動設(shè)計(jì)網(wǎng)絡(luò)的要求.人工處理過程主要是對兩個輸入進(jìn)行一些固定的操作得到一個輸出,然后將這個輸出作為搜索單元的輸入.移除人工處理過程后會有兩個影響,一是導(dǎo)致網(wǎng)絡(luò)規(guī)模的減小,二是導(dǎo)致網(wǎng)絡(luò)復(fù)雜度下降,針對這兩個問題,在3.2節(jié)中通過增加節(jié)點(diǎn)數(shù)量并引入add和elem_mult操作來抵消移除人工處理過程帶來的影響.由于額外增加的操作每次需要兩個輸入,且兩個輸入為任意兩個前序節(jié)點(diǎn)的輸出,而DARTS限制softmax每次只選擇一個權(quán)重最大的操作,且softmax的作用域?yàn)槊績蓚€節(jié)點(diǎn)之間,這樣的限制會與額外增加的操作產(chǎn)生沖突,因此在3.3節(jié)中對softmax決策進(jìn)行了修改,取消了算法的限制.
在進(jìn)行結(jié)構(gòu)搜索之前,需要先定義一個合理的搜索空間,從而最大化結(jié)構(gòu)搜索的性能,得到優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu).在DARTS中,其定義了一個半自動的搜索單元,如圖2上所示,輸入為序列當(dāng)前時(shí)刻的輸入x_t和上一時(shí)刻的隱狀態(tài)h_(t-1),經(jīng)過特定的人工處理將兩個輸入合并為一個作為單元的輸入,然后進(jìn)行單元結(jié)構(gòu)的搜索過程,整個流程為:輸入-人工處理-結(jié)構(gòu)搜索-輸出.這樣的處理方式顯然并不滿足結(jié)構(gòu)搜索自動化的要求.因此本文提出了全自動化的單元搜索框架,如圖2下所示,通過移除原始搜索框架中的特定人工處理過程,從而實(shí)現(xiàn)全自動化的單元結(jié)構(gòu)搜索.輸入方面與半自動框架一樣,都是序列當(dāng)前時(shí)刻的輸入x_t和上一時(shí)刻的隱狀態(tài)h_(t-1),但是不再對輸入進(jìn)行人工處理,而是直接傳入搜索單元進(jìn)行結(jié)構(gòu)搜索,最后得到輸出,整個流程為:輸入-結(jié)構(gòu)搜索-輸出.
圖2 DARTS定義的半自動單元搜索框架(上)和本文方法定義的全自動單元搜索框架(下)
將上一節(jié)DARTS人工處理過程的網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D可視化表示,如圖3左所示,圖3右為DARTS搜索到的單元結(jié)構(gòu)拓?fù)鋱D.通過對比發(fā)現(xiàn),人工處理過程的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度明顯高于搜索到的單元結(jié)構(gòu)的復(fù)雜度.因此,當(dāng)移除人工處理過程后,一方面會使網(wǎng)絡(luò)結(jié)構(gòu)趨于簡單化,另一方面,網(wǎng)絡(luò)規(guī)模也會減小.為了抵消移除人工處理過程帶來的影響,本文增加了單元內(nèi)節(jié)點(diǎn)的數(shù)量并引入add和elem_mult操作(add操作表示將兩個單元的輸出相加,elem_mult操作表示將兩個節(jié)點(diǎn)的輸出相乘).單元內(nèi)每個節(jié)點(diǎn)代表一層網(wǎng)絡(luò),增加節(jié)點(diǎn)數(shù)量就是增加網(wǎng)絡(luò)的層數(shù),從而避免網(wǎng)絡(luò)規(guī)模的減小.相比tanh等激活函數(shù),add和elem_mult操作最大的不同在于每個操作需要兩個輸入,這樣就能使得保持網(wǎng)絡(luò)結(jié)構(gòu)保持一定的復(fù)雜度.
圖3 DARTS人工處理過程網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D(左)和搜索到的單元網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D(右)
在3.2節(jié)中,add和elem_mult操作被引入用來維持網(wǎng)絡(luò)結(jié)構(gòu)的規(guī)模和復(fù)雜度,但是DARTS算法中的softmax會與這兩種操作產(chǎn)生沖突.DARTS定義softmax決策在每兩個節(jié)點(diǎn)之間進(jìn)行,如圖4左所示,節(jié)點(diǎn)3會分別對節(jié)點(diǎn)1和節(jié)點(diǎn)2的所有輸出進(jìn)行softmax,而add和elem_mult這兩種操作每次都需要選擇兩個節(jié)點(diǎn),因此本文修改了softmax決策的使用,將每兩個節(jié)點(diǎn)之間的局部softmax擴(kuò)展為單個節(jié)點(diǎn)的全局softmax,如圖4右所示,首先將1節(jié)點(diǎn)和2節(jié)點(diǎn)進(jìn)行add或elem_mult操作,然后與節(jié)點(diǎn)的其他操作一起進(jìn)行softmax再傳入3號節(jié)點(diǎn),這樣就消除了softmax的局限性.
圖4 DARTS算法的softmax決策(左)和本文方法的softmax決策(右)
在移除人工處理過程、增加操作種類和節(jié)點(diǎn)數(shù)量以及修改softmax決策后,就可以對搜索空間進(jìn)行完整的定義.網(wǎng)絡(luò)結(jié)構(gòu)的搜索類型依然是以單原為基礎(chǔ),通過搜索優(yōu)秀的循環(huán)神經(jīng)單元以構(gòu)成循環(huán)神經(jīng)語言模型.單元的輸入為當(dāng)前序列的輸入 x_t和上一時(shí)刻的隱狀態(tài)h_t-1,輸出為所有沒有輸出的中間節(jié)點(diǎn)的和取平均值.單元內(nèi)節(jié)點(diǎn)的數(shù)量由8個增加到11個以保持網(wǎng)絡(luò)規(guī)模大小,節(jié)點(diǎn)間可采取的操作由4個增加至6個,分別是tanh,relu,sigmoid,identity,add和elem_mult.
搜索算法方面采用DARTS方法作為指導(dǎo)策略.因?yàn)閺?qiáng)化學(xué)習(xí)和進(jìn)化算法都需要足夠大的GPU群才能進(jìn)行搜索,而DARTS在硬件方面的要求比前兩種方法要低得多,搜索速度上也更加高效,所以DARTS方法成為了首要選擇.Darts方法的搜索流程主要有4步:1)構(gòu)造一個包含若干接點(diǎn)的有向無環(huán)圖,大號節(jié)點(diǎn)的輸入為所有小號節(jié)點(diǎn)的輸出加權(quán)取平均值;2)在每兩個節(jié)點(diǎn)之間放置所有可以采取的操作,從而將離散的網(wǎng)絡(luò)結(jié)構(gòu)變得連續(xù);3)結(jié)構(gòu)權(quán)重α與網(wǎng)絡(luò)權(quán)重w的聯(lián)合優(yōu)化過程,找到最大的權(quán)重α所對應(yīng)的操作;4)根據(jù)學(xué)習(xí)到的結(jié)構(gòu)權(quán)重α固定網(wǎng)絡(luò)結(jié)構(gòu),初始化所有網(wǎng)絡(luò)權(quán)重w,進(jìn)行最后的訓(xùn)練.設(shè)一組有序節(jié)點(diǎn)node(1),node(1),…,node(n),o(i,j)(i nodej=∑i (1) (2) 本文的主實(shí)驗(yàn)為單元結(jié)構(gòu)的搜索實(shí)驗(yàn),在PTB數(shù)據(jù)集上進(jìn)行,方法性能在語言模型任務(wù)上進(jìn)行評估.搜索實(shí)驗(yàn)包含搜索階段和評估階段,搜索階段通過多次實(shí)驗(yàn)選擇在驗(yàn)證集上困惑度最低的結(jié)構(gòu)為待選結(jié)構(gòu),評估階段對搜索階段得到的待選結(jié)構(gòu)結(jié)構(gòu)在訓(xùn)練集上重新訓(xùn)練,經(jīng)過一段時(shí)間后選擇驗(yàn)證集最低的結(jié)構(gòu)為最優(yōu)結(jié)構(gòu),最后進(jìn)行模型的完整訓(xùn)練,并在測試集評估其性能.接下來在WT2數(shù)據(jù)集上對本文方法搜索到的模型結(jié)構(gòu)的可遷移性進(jìn)行驗(yàn)證.最后進(jìn)行消融實(shí)驗(yàn)分析模型的性能與規(guī)模和復(fù)雜度之間的關(guān)系. 由于結(jié)構(gòu)搜索技術(shù)對結(jié)構(gòu)的初始化比較敏感,因此在PTB數(shù)據(jù)集上對搜索階段重復(fù)5次,以降低其敏感度.模型結(jié)構(gòu)為單層循環(huán)神經(jīng)網(wǎng)絡(luò),詞嵌入層和隱藏層均包含300個神經(jīng)元,batch_size大小設(shè)為256.循環(huán)單元的輸入有兩個,分別為序列當(dāng)前時(shí)刻的輸入x_t和上一時(shí)刻的隱藏狀態(tài)h_(t-1).搜索單元的輸出沒有延續(xù)DARTS中的設(shè)置,而是和ENAS中的輸出設(shè)定一樣,為中間所有沒有輸出節(jié)點(diǎn)的值相加然后取平均值.搜索單元內(nèi)部設(shè)置了11個節(jié)點(diǎn),節(jié)點(diǎn)之間可采取的操作包含tanh,relu,sigmoid這3種激活函數(shù),identity線性變換,以及add和elem_mult兩種基本操作.優(yōu)化階段首先使用隨機(jī)梯度下降(SGD)算法對網(wǎng)絡(luò)權(quán)重w進(jìn)行優(yōu)化,學(xué)習(xí)率大小為20,權(quán)重衰減為5e-7,然后使用Adam算法對結(jié)構(gòu)權(quán)重α進(jìn)行優(yōu)化,初始學(xué)習(xí)率大小設(shè)置為3e-3,權(quán)重衰減為1e-3.以不同的初始結(jié)構(gòu)分別進(jìn)行50個epoch的搜索,得到5個待選結(jié)構(gòu). 評估階段對搜索階段得到的5個待選結(jié)構(gòu)進(jìn)行短暫評估,選出最優(yōu)結(jié)構(gòu).模型的詞嵌入層和隱藏層包含的神經(jīng)元數(shù)量由搜索階段的300個增加到850個,batch_size大小為64,權(quán)重w的優(yōu)化方法使用平均隨機(jī)梯度下降(ASGD)算法,初始學(xué)習(xí)率為大小為20,權(quán)重衰減大小為8e-7.將5個待選單元結(jié)構(gòu)的網(wǎng)絡(luò)權(quán)重w隨機(jī)初始化,然后在訓(xùn)練集上訓(xùn)練300個epoch,此時(shí)在驗(yàn)證集上困惑度最低的單元結(jié)構(gòu)就是最優(yōu)結(jié)構(gòu),圖5顯示了5個待選結(jié)構(gòu)分別訓(xùn)練300個epoch時(shí)的困惑度大小,最低的困惑度為62.98,最優(yōu)單元結(jié)構(gòu)如圖6所示.接下來,選擇最優(yōu)單元結(jié)構(gòu)構(gòu)成循環(huán)神經(jīng)網(wǎng)絡(luò),再次初始化模型權(quán)重w,在訓(xùn)練集上充分訓(xùn)練直到其收斂,結(jié)果如表1所示. 圖5 5個待選結(jié)構(gòu)在PTB數(shù)據(jù)集上訓(xùn)練300個epoch時(shí)驗(yàn)證集上的困惑度 圖6 本文方法搜索到的最優(yōu)單元結(jié)構(gòu)拓?fù)鋱D 表1 PTB數(shù)據(jù)集實(shí)驗(yàn)數(shù)據(jù)表 將4.2節(jié)中得到的最優(yōu)單元結(jié)構(gòu)直接遷移到WT2數(shù)據(jù)集驗(yàn)證模型結(jié)構(gòu)的可遷移性.嵌入層和隱藏層的神經(jīng)元數(shù)量均設(shè)置為700,權(quán)重衰減為5e-7.進(jìn)行充分訓(xùn)練直到收斂,并在測試集上進(jìn)行評估.表2為遷移到WT2數(shù)據(jù)集上的結(jié)果. 表2 PTB數(shù)據(jù)集實(shí)驗(yàn)數(shù)據(jù)表 為了探討節(jié)點(diǎn)數(shù)量和增加操作對網(wǎng)絡(luò)結(jié)構(gòu)性能的影響,本文做了如下消融實(shí)驗(yàn):1)移除所有人工處理過程后進(jìn)行實(shí)驗(yàn),評估最低復(fù)雜度和最小規(guī)模下的網(wǎng)絡(luò)結(jié)構(gòu)性能;2)增加add和elem_mult操作,在節(jié)點(diǎn)數(shù)量為8和11時(shí)分別進(jìn)行實(shí)驗(yàn),研究網(wǎng)絡(luò)規(guī)模對結(jié)構(gòu)性能的影響;3)固定節(jié)點(diǎn)數(shù)量為11個,在不增加add和elem_mult操作、僅增加add操作、僅增加elem_mult操作和同時(shí)增加兩種操作4種情況下進(jìn)行實(shí)驗(yàn),探索網(wǎng)絡(luò)復(fù)雜度對結(jié)構(gòu)性能的影響.所有的實(shí)驗(yàn)僅在PTB數(shù)據(jù)集上進(jìn)行,實(shí)驗(yàn)結(jié)果如表3所示. 表3 消融實(shí)驗(yàn)數(shù)據(jù)表 本文共進(jìn)行了4個實(shí)驗(yàn).首先,在搜索階段,結(jié)構(gòu)搜索對初始化結(jié)構(gòu)的敏感,因此對搜索階段的實(shí)驗(yàn)進(jìn)行了5次,得到待選結(jié)構(gòu),然后通過訓(xùn)練集上的重新訓(xùn)練,得到最優(yōu)的單元結(jié)構(gòu).接下來,在PTB數(shù)據(jù)集上驗(yàn)證本文提出的全自動單元結(jié)構(gòu)搜索方法的有效性,實(shí)驗(yàn)在測試集上取得了56.2的困惑度,與基線方法相比還是相差了0.5個點(diǎn).這種情況主要是由于增加節(jié)點(diǎn)數(shù)量和操作種類不足以抵消移除人工處理過程這一操作對網(wǎng)絡(luò)規(guī)模和復(fù)雜度的影響.通過對3.2節(jié)中人工處理過程拓?fù)鋱D的分析可以發(fā)現(xiàn),這一過程包含的網(wǎng)絡(luò)層數(shù)不止3層,但是由于實(shí)驗(yàn)GPU內(nèi)存的限制,最多只能在單元內(nèi)部額外增加3個節(jié)點(diǎn),也就是只增加了3層網(wǎng)絡(luò),因此在網(wǎng)絡(luò)規(guī)模上與基線模型還是存在差距,如果能在更大內(nèi)存的GPU上,增加更多的節(jié)點(diǎn)數(shù)量,搜索到性能更好的網(wǎng)絡(luò)結(jié)構(gòu)的概率會更大.盡管如此,本文方法在實(shí)現(xiàn)單元搜索過程全自動的情況下,依然發(fā)現(xiàn)了比較有競爭力的結(jié)構(gòu),證明了該方法的可行性.然后,在WT2數(shù)據(jù)集上進(jìn)行結(jié)構(gòu)遷移性實(shí)驗(yàn),與已有的結(jié)構(gòu)搜索方法相比,70.1的測試?yán)Щ蠖忍幱谕凰?,證明了本文提出方法的可遷移性.與手工設(shè)計(jì)的網(wǎng)絡(luò)存在差距主要是因?yàn)槭止ぞW(wǎng)絡(luò)是直接在WT2數(shù)據(jù)集上進(jìn)行設(shè)計(jì),而本文模型是從PTB數(shù)據(jù)集遷移得到的,模型結(jié)構(gòu)與任務(wù)的匹配度存在差距,但是大大節(jié)約了設(shè)計(jì)成本,且達(dá)到了一個比較有競爭力的結(jié)果.最后,通過消融實(shí)驗(yàn)研究網(wǎng)絡(luò)規(guī)模和網(wǎng)絡(luò)復(fù)雜度對模型結(jié)構(gòu)性能的影響.從表3可以發(fā)現(xiàn),當(dāng)移除所有人工處理過程,不增加節(jié)點(diǎn)數(shù)量,不增加可采取操作,此時(shí)網(wǎng)絡(luò)復(fù)雜度和規(guī)模均處于最初始狀態(tài),這樣的網(wǎng)絡(luò)結(jié)構(gòu)僅取得了62.3的測試?yán)Щ蠖?同時(shí)增加add和elem_mult操作使網(wǎng)絡(luò)保持一定的復(fù)雜度,這種情況下,模型性能提升明顯,取得了56.9的測試?yán)Щ蠖?擴(kuò)大網(wǎng)絡(luò)規(guī)模,增加單元內(nèi)節(jié)點(diǎn)數(shù)量至11個,在增加單個操作時(shí),網(wǎng)絡(luò)性能差距不大.通過對比實(shí)驗(yàn)可以發(fā)現(xiàn),無論是是網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度還是網(wǎng)絡(luò)結(jié)構(gòu)的規(guī)模對模型性能都有著較大的影響,因此,在實(shí)現(xiàn)單元搜索過程全自動的情況下,必須同時(shí)保持一定的網(wǎng)絡(luò)規(guī)模和復(fù)雜度,才能搜索到性能優(yōu)異的模型結(jié)構(gòu) 本文提出了全自動單元結(jié)構(gòu)搜索方法,并在語言模型任務(wù)上進(jìn)行了驗(yàn)證.該方法了實(shí)現(xiàn)結(jié)構(gòu)搜索過程的全自動化,并在PTB數(shù)據(jù)集上取得了56.2的測試?yán)Щ蠖?為了驗(yàn)證提出方法搜索到的結(jié)構(gòu)的可遷移性,將PTB數(shù)據(jù)集上搜索到的最優(yōu)結(jié)構(gòu)遷移到WT2數(shù)據(jù)集進(jìn)行訓(xùn)練,在測試集取得了70.1的困惑度.最后,為了研究模型與復(fù)雜度和規(guī)模之間的關(guān)系,本文對比了不同數(shù)量節(jié)點(diǎn)與操作之間的組合,實(shí)驗(yàn)表明,移除人工處理,增加節(jié)點(diǎn)并同時(shí)增加add和elem_mult操作時(shí)搜索到的網(wǎng)絡(luò)結(jié)性能最優(yōu),說明模型結(jié)構(gòu)需要保持一定的規(guī)模和復(fù)雜度才能搜索到性能優(yōu)異的網(wǎng)絡(luò)結(jié)構(gòu).4 實(shí)驗(yàn)與分析
4.1 搜索階段
4.2 評估階段
4.3 結(jié)構(gòu)遷移
4.4 消融實(shí)驗(yàn)
4.5 結(jié)果分析
5 總 結(jié)