LSTM網(wǎng)絡(luò)層詳解及其應(yīng)用實(shí)例

上一節(jié)我們介紹了RNN網(wǎng)絡(luò)層的記憶性原理,同時(shí)使用了keras框架聽過的SimpleRNN網(wǎng)絡(luò)層到實(shí)際運(yùn)用中狡忙。然而使用的效果并不理想荐糜,主要是因?yàn)閟impleRNN無法應(yīng)對過長單詞串的輸入局服,在理論上,當(dāng)它接收第t個(gè)輸入時(shí)袍嬉,它應(yīng)該能把前面好幾個(gè)單詞的處理信息記錄下來,但實(shí)際上它無法把前面已經(jīng)處理過的單詞信息保留到第t個(gè)單詞輸入的時(shí)刻。

出現(xiàn)這種現(xiàn)象的原因叫"Vanishing gradian problem"伺通,我們以前說要更新某個(gè)鏈路權(quán)重中箍土,需要對它求偏導(dǎo)數(shù),但在某種情況下罐监,我們求得的偏導(dǎo)數(shù)可能接近于0吴藻,這樣一來鏈路權(quán)重就得不到有效更新,因?yàn)楫?dāng)權(quán)重加上一個(gè)很接近于0的偏導(dǎo)數(shù)時(shí)弓柱,它不會產(chǎn)生顯著的變化沟堡。這種現(xiàn)象也會出現(xiàn)在feed forward網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)有很多層時(shí)矢空,我們會把誤差進(jìn)行回傳航罗,但層次過多時(shí),回傳的誤差會不斷的被“沖淡”屁药,直到某個(gè)神經(jīng)元接收到回傳的誤差是粥血,該誤差的值幾乎與0差不多大小,這樣求出的偏導(dǎo)數(shù)也接近與0酿箭,因此鏈路權(quán)重就得不到有效的更新复亏。

這種現(xiàn)象被人工置頂?shù)娜淮笈ochreiter,Schmidhuber,Bengio深入研究后缭嫡,他們提出一種新型網(wǎng)絡(luò)層叫LSTM和GRU以便接近偏導(dǎo)數(shù)接近于0使得鏈路權(quán)重得不到有效更新的問題缔御。LSTM的全稱是Long Short term memory,也就是長短程記憶,它其實(shí)是我們上節(jié)使用的simpleRNN變種妇蛀,設(shè)想當(dāng)單詞一個(gè)個(gè)輸入網(wǎng)絡(luò)時(shí)耕突,旁邊還有一條傳送帶把相關(guān)信息也輸入網(wǎng)絡(luò),如下圖:

屏幕快照 2018-09-07 下午6.10.13.png

這里我們多增加一個(gè)變量C來記錄每一個(gè)單詞被網(wǎng)絡(luò)處理后遺留下來的信息讥耗,網(wǎng)絡(luò)的激活函數(shù)還是不變有勾,但是我們要增加多幾個(gè)變量來計(jì)算變量C:
i_t = activation(dot(state_t, Ui) + dot(input_t, wi) + bi)
f_t =activation(dot(state_t, Uf) + dot(input_t, wf) + bf)
k_t=activation(dot(state_t, Uk) + dot(input_t, wk) + bk)
那么C的更新方式為:
C = i_t * k_t + Cf_t
初看起來,邏輯很難理解古程,為何我們要增加這些不知所云的步驟呢蔼卡,它蘊(yùn)含著較為復(fù)雜的設(shè)計(jì)原理和數(shù)學(xué)原理,簡單來說C
f_t目的是增加一些噪音挣磨,讓網(wǎng)絡(luò)適當(dāng)?shù)摹巴洝币郧坝?jì)算留下了的信息雇逞,i_t*k_t是讓網(wǎng)絡(luò)增強(qiáng)最近幾次計(jì)算所遺留下來的信息 ,這里我們不深究茁裙,只要囫圇吞棗塘砸,知道新增加的變量C是用來幫助網(wǎng)絡(luò)增強(qiáng)對以前信息處理的記憶,并指導(dǎo)該變量如何更新就好晤锥,接下來我們看看LSTM網(wǎng)絡(luò)的具體應(yīng)用實(shí)例:

from keras.layers import LSTM

model = Sequential()
model.add(Embedding(max_features, 32))
model.add(LSTM(32))
model.add(Dense(1, activation='sigmoid'))

model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['acc'])
history = model.fit(input_train, y_train, epochs=10, batch_size=128, validation_split=0.2)

我們繼續(xù)使用上一節(jié)的數(shù)據(jù)作為網(wǎng)絡(luò)輸入掉蔬,上面代碼運(yùn)行后廊宪,我們再將它的訓(xùn)練結(jié)果繪制出來,結(jié)果如下:

屏幕快照 2018-09-11 下午4.26.15.png

上一節(jié)我們使用SimpleRNN網(wǎng)絡(luò)層時(shí)女轿,網(wǎng)絡(luò)對校驗(yàn)數(shù)據(jù)的判斷準(zhǔn)確率為85%左右箭启,這里我們使用LSTM網(wǎng)絡(luò)層,網(wǎng)絡(luò)對校驗(yàn)數(shù)據(jù)的準(zhǔn)確率可以提升到89%蛉迹,這是因?yàn)長STM比SimpleRNN對網(wǎng)絡(luò)以期出來過的數(shù)據(jù)有更好的“記憶”功能傅寡,更能將以前處理過的單詞與現(xiàn)在處理的單詞關(guān)聯(lián)起來。

更詳細(xì)的講解和代碼調(diào)試演示過程北救,請點(diǎn)擊鏈接

更多技術(shù)信息荐操,包括操作系統(tǒng),編譯器珍策,面試算法托启,機(jī)器學(xué)習(xí),人工智能膛壹,請關(guān)照我的公眾號:


這里寫圖片描述
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末驾中,一起剝皮案震驚了整個(gè)濱河市唉堪,隨后出現(xiàn)的幾起案子模聋,更是在濱河造成了極大的恐慌,老刑警劉巖唠亚,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件链方,死亡現(xiàn)場離奇詭異,居然都是意外死亡灶搜,警方通過查閱死者的電腦和手機(jī)祟蚀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來割卖,“玉大人前酿,你說我怎么就攤上這事∨羲荩” “怎么了罢维?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長丙挽。 經(jīng)常有香客問我肺孵,道長,這世上最難降的妖魔是什么颜阐? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任平窘,我火速辦了婚禮,結(jié)果婚禮上凳怨,老公的妹妹穿的比我還像新娘瑰艘。我一直安慰自己是鬼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布紫新。 她就那樣靜靜地躺著屑咳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弊琴。 梳的紋絲不亂的頭發(fā)上兆龙,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機(jī)與錄音敲董,去河邊找鬼紫皇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腋寨,可吹牛的內(nèi)容都是我干的聪铺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼萄窜,長吁一口氣:“原來是場噩夢啊……” “哼铃剔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起查刻,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤键兜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后穗泵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體普气,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年佃延,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了现诀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡履肃,死狀恐怖仔沿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情尺棋,我是刑警寧澤封锉,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站陡鹃,受9級特大地震影響烘浦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜萍鲸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一闷叉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脊阴,春花似錦握侧、人聲如沸蚯瞧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽埋合。三九已至,卻和暖如春萄传,著一層夾襖步出監(jiān)牢的瞬間甚颂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工秀菱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留振诬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓衍菱,卻偏偏與公主長得像赶么,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子脊串,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容