劉禮文 俞弦
【摘 要】循環(huán)神經(jīng)網(wǎng)絡是一種具有記憶功能的神經(jīng)網(wǎng)絡,適合序列數(shù)據(jù)的建模。它在語音識別和自然語言處理等領域具有較強的應用。本文主要對循環(huán)神經(jīng)網(wǎng)絡的模型、訓練和應用領域做了初步的探索。
【關鍵詞】循環(huán)神經(jīng)網(wǎng)絡;訓練;應用
中圖分類號: TP391.1文獻標識碼: A文章編號: 2095-2457(2019)32-0054-002
DOI:10.19694/j.cnki.issn2095-2457.2019.32.022
循環(huán)神經(jīng)網(wǎng)絡-RNN(Recurrent Neuron Network)的主要用途是處理和預測序列數(shù)據(jù),是一種對序列數(shù)據(jù)建模的神經(jīng)網(wǎng)絡,即一個序列當前的輸出與前面的輸出也有關。從網(wǎng)絡結(jié)構(gòu)上,循環(huán)神經(jīng)網(wǎng)絡會記憶之前的信息,并利用之前的信息影響后面結(jié)點的輸出。
1 RNN模型
RNN模型如下圖所示,其中x是輸入,U是輸出層到隱含層的權(quán)重,s是隱含層值,W則是上個時刻隱含層作為這個時刻輸入的權(quán)重,V是隱含層到輸出層的權(quán)重,o是輸出。
圖1
將上圖展開,輸入x、隱層值s和輸出o都有了下標t,這個t表示時刻,t-1是上一時刻,t+1則是下一時刻。不同時刻輸入對應不同的輸出,而且上一時刻的隱含層會影響當前時刻的輸出。
2 RNN的正向計算
設輸出層的輸入為nett,則很容易可以得到輸出,
nett=Vst
ot=σ(nett)
其中σ是激活函數(shù),再設隱含層的輸入為h
ht=Uxt+Wst-1
st=σ(ht)
可以繼續(xù)往前一個時刻推,有
st=σ(Uxt+Wσ(Uxt-1+Wst-2))
而t-2時刻又可以用t-3時刻來表示,從這就可以看出循環(huán)神經(jīng)網(wǎng)絡具有記憶,可以往前看任意個輸入。
3 RNN的訓練
通過下面實現(xiàn)梯度下降訓練。
假設損失函數(shù)為E
在t時刻,根據(jù)誤差逆?zhèn)鞑?,?/p>
■=■■=E'(o■)σ'(net■)
首先,對V求導,每個時刻t的誤差與當前時刻的誤差相關,則
■=■■=■St
其次,對W求導,對于一個訓練樣本,所有時刻的誤差加起來才是這個樣本的誤差,某時刻t對W求偏導為,
■=■■■
其中,st=σ(Uxt+Wσ(Uxt-1+Wst-2))一直依賴上個時刻,某個樣本的總誤差是需要所有時刻加起來,不斷對某個時刻進行求偏導,誤差一直反向傳播到t為0時刻,則
■=∑■■■■■
其中■根據(jù)鏈式法則是會一直乘到k時刻,k可以是0、1、2…,那么上式可以表示成,■=∑■■■■■■
最后,對U求導,■=■■=■xt
4 RNN 的應用
4.1 情感分析
循環(huán)神經(jīng)網(wǎng)絡用于情感分析主要思路是利用情感分析數(shù)據(jù)集,通過原始語料的預處理,將詞轉(zhuǎn)化為計算機可以處理的向量,進行向量化的特征提取,利用循環(huán)神經(jīng)網(wǎng)絡將矩陣形式的輸入編碼為較低維度的一維向量,而保留大多數(shù)有用信息,經(jīng)過循環(huán)神經(jīng)網(wǎng)的訓練,構(gòu)建情感分析分類器,實現(xiàn)定性分類,得到可以預測的模型,進而實現(xiàn)情感的分析。比如輸入一個句子,輸出的對于這句話的情感的分析。傳統(tǒng)的情感分析法方法簡單易懂穩(wěn)定性也比較強,相較于傳統(tǒng)情感分析的方法,利用循環(huán)神經(jīng)網(wǎng)絡來進行情感分析,一方面能提高精度,另一方面評價更客觀,人為因素干擾更小。
4.2 提取關鍵詞
基于循環(huán)神經(jīng)網(wǎng)絡的關鍵詞提取方法相對于其他方法更加有效,其主要是利用循環(huán)神經(jīng)網(wǎng)絡具有自動學習的特征,將學習的特征納入模型構(gòu)建過程中,避免了人為設定特征的干擾。此外,利用循環(huán)神經(jīng)網(wǎng)絡,可以將處理對象的上下文信息都考慮在內(nèi),能更好地利用詞語的語義信息。利用循環(huán)神經(jīng)網(wǎng)絡進行關鍵詞提取還有有個特點,就是能存儲歷史信息,這樣更有助于預測關鍵詞的概率。
4.3 語音識別
語音識別的困難之處在于輸入語音信號序列中每個發(fā)音單元的起始位置和終止位置是未知的,即不知道輸出序列和輸入序列之間的對齊關系。循環(huán)神經(jīng)網(wǎng)絡具有可以接受不固定長度的序列數(shù)據(jù)作為輸入的優(yōu)勢,可實現(xiàn)輸出的長度小于輸入的長度,而且具有記憶功能。這樣以來,將輸入分割成小的向量,之后進行訓練,可以把重復出現(xiàn)的字去掉,獲得最后的結(jié)果
4.4 機器翻譯
機器翻譯就是從源語言到目標語言中找到一個最佳匹配的過程。傳統(tǒng)機器翻譯方法需要大量的人力和時間去構(gòu)造翻譯系統(tǒng),從對源語言的編碼,對目標語言的解碼,中間需要多個學習模型。利用循環(huán)神經(jīng)網(wǎng)絡,將要翻譯的內(nèi)容通過RNN編碼成一個固定維度的向量,并將結(jié)果作為輸入,再通過RNN進行解碼翻譯。這樣不僅可以提高翻譯質(zhì)量,還可以實現(xiàn)對語言只使用一個系統(tǒng),而不不要針對每種語言都構(gòu)造一種新的學習模型。
4.5 自編碼器
自編碼器的基本思想就是實現(xiàn)對原始數(shù)據(jù)進行特征提取,最終濃縮為更精煉、數(shù)量更少的特征,進而便于后續(xù)數(shù)據(jù)的處理。它是一種無監(jiān)督學習技術(shù),利用神經(jīng)網(wǎng)絡來開展表征學習。利用循環(huán)神經(jīng)網(wǎng)絡也可以構(gòu)建自編碼器,這些可以用來實現(xiàn)異常監(jiān)測、數(shù)據(jù)去燥、數(shù)據(jù)降維、圖像修復、信息檢索等功能。此外,利用自編碼的方法,還可以實現(xiàn)對文本中句子的語義進行提取。
【參考文獻】
[1]葛垚,陳瑞,童瑩,曹雪虹.基于循環(huán)神經(jīng)網(wǎng)絡的非特定目標追蹤方法研究[J].南京郵電大學學報(自然科學版),2019(04):103-110.
[2]唐美麗,胡瓊,馬廷淮.基于循環(huán)神經(jīng)網(wǎng)絡的語音識別研究[J].現(xiàn)代電子技術(shù),2019,42(14):152-156.
[3]楊麗,吳雨茜,王俊麗,劉義理.循環(huán)神經(jīng)網(wǎng)絡研究綜述[J].計算機應用,2018,38(S2):1-6+26.
[4]陳波.基于循環(huán)結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡文本分類方法[J].重慶郵電大學學報(自然科學版),2018,30(05):705-710.
[5]梁丕軍.基于循環(huán)神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡的中文情感分類研究[D].湖南大學,2017.
[6]曾誰飛,張笑燕,杜曉峰,陸天波.基于神經(jīng)網(wǎng)絡的文本表示模型新方法[J].通信學報,2017,38(04):86-98.