丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給奕欣
發(fā)送

2

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

本文作者: 奕欣 2017-01-14 09:46
導(dǎo)語:AI科技評論保證這是相對通俗易懂的一篇入門介紹了,看不懂的話歡迎關(guān)注「AI 科技評論」私聊。

雷鋒網(wǎng)按:這篇文章發(fā)布已久,但非常經(jīng)典,出自 Google Brain 科學(xué)家 Christopher Olah 的博客,小編保證這是相對通俗易懂的一篇入門介紹了,看不懂的話歡迎關(guān)注「AI 科技評論」私聊。

如果你對深度學(xué)習(xí)稍有些研究的話,相信你一定聽說過 LSTM,雷鋒網(wǎng)此前也編譯過 LSTM 之父 Jürgen Schmidhuber 的訪談文章,他與 Sepp Hochreiter 在 1997 年發(fā)表的一篇論文中提出了 LSTM 的概念。

LSTM 能夠提升神經(jīng)網(wǎng)絡(luò)接受輸入信息及訓(xùn)練數(shù)據(jù)的記憶機(jī)制,讓輸出結(jié)果得到大幅度的提升。雖然因為當(dāng)時的硬件限制不那么廣為人知,但近年來包括谷歌在內(nèi)的一系列公司都開始在深度學(xué)習(xí)中采用 LSTM。

那么 LSTM 到底是什么呢?雷鋒網(wǎng)今天介紹的這篇文章出自 Google Brain 科學(xué)家 Christopher Olah 的博客,雷鋒網(wǎng)在原文的基礎(chǔ)上加入了一些自己的理解,盡量保證這是最簡單的入門介紹了,看不懂的話歡迎關(guān)注「AI 科技評論」私聊。

首先,了解一下 RNN 吧

在開始 LSTM 的入門前,別急,讓我們先了解一下 RNN。如果你有一定的基礎(chǔ),雷鋒網(wǎng)建議你直接跳過這一部分。

首先,人們在思考問題的時候,并不會從零開始,而是會憑借自己以往的一些經(jīng)驗與記憶做出判斷。最簡單的例子,就是你現(xiàn)在正在閱讀的過程中,你不會孤立地理解所讀的每一個詞,而會結(jié)合前面所看到的詞來理解意義。也就是說,你的思考具備連續(xù)性。

傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)可做不到這一點,而且這儼然是它的一個短板。舉個例子,你想要對一部電影里的每個鏡頭進(jìn)行分類,判斷熒幕上都在演些什么。但是,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)可能只能孤立地看待每一幀,而無法把上一個鏡頭串聯(lián)起下一秒發(fā)生的事情。

RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))就是為解決這個問題而生的,顧名思義,也就是能夠讓信息在網(wǎng)絡(luò)中再次循環(huán)的網(wǎng)絡(luò)。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

含有「環(huán)」(loop)的循環(huán)神經(jīng)網(wǎng)絡(luò)

上圖是 RNN 的一部分,A 的輸入是 xt , 輸出為值 ht. 這個循環(huán)能夠讓信息從神經(jīng)網(wǎng)絡(luò)中的一步傳遞到下一步。

這些環(huán)看起來讓 RNN 變得有些難理解。但是,如果你再想一下,其實它與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)類似,只不過是把同一個網(wǎng)絡(luò)多次復(fù)制,并將信息傳遞到下一個網(wǎng)絡(luò)。如果將這個循環(huán)拆開,就能比較容易地理解了:

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

一個展開的 RNN

像鏈條一樣的網(wǎng)絡(luò)實際上也體現(xiàn)出 RNN 的一個特點:它與序列或列表有著緊密的聯(lián)系,而它們是處理此類數(shù)據(jù)的重要架構(gòu)(簡直就是量身定制的一樣?。?。

而更重要的是,它們確實得以順利應(yīng)用。在過去的幾年時間中,RNN 被成功應(yīng)用于解決各種問題:語音識別、語言建模、機(jī)器翻譯、為圖像起標(biāo)題等……而且它的應(yīng)用領(lǐng)域還在不斷擴(kuò)展。它到底有多牛?我就不在這里贅述了。

這些成功的關(guān)鍵在于它們使用了 LSTM。LSTM 是 RNN 的一種特殊形式,而它的普適性比起傳統(tǒng)的 RNN 要好得多。幾乎所有激動人心的發(fā)現(xiàn)都是在 LSTM 上實現(xiàn)的,而這也是雷鋒網(wǎng)在接下來的篇幅中所要討論的內(nèi)容。

世界上最遙遠(yuǎn)的距離

RNN 的一大魅力在于它能夠?qū)⒋饲暗男畔⒔Y(jié)合到當(dāng)前的任務(wù)中,比如像我們剛才提及的電影例子一樣,利用此前的幀信息理解當(dāng)前的內(nèi)容。如果 RNN 能實現(xiàn)這一點,那誠然非常有效。但事實是否如愿?不一定。

有時,我們只需要利用近期信息來處理當(dāng)前任務(wù)。比如在一個語言模型中,如果我們嘗試根據(jù)幾個單詞來預(yù)測下一個單詞,像我們要猜出「the clouds are in the _____」,但是因為句義已經(jīng)非常明顯,我們不需要更多的上下文。在這種情況下,相關(guān)信息所隔的距離并不遠(yuǎn),因此 RNN 能夠?qū)W會使用此前的信息。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

但是,就像我們做完型填空時,可能需要整合全文來填某一個句子,比如「I grew up in France….(雷鋒網(wǎng)此處省略一萬字)I speak fluent _____ .」。如果網(wǎng)絡(luò)只知道鄰近的幾個單詞,可能它會知道此處需要填寫一門語言,但至于應(yīng)該填什么,就需要找到更遠(yuǎn)前的信息,直到 找到 France 才行。這種需要尋找相距很遠(yuǎn)信息的情況,實際上非常常見。

而糟糕的是,距離增加時,RNN 能將相關(guān)信息串聯(lián)起來的能力也就越弱。正如雷鋒網(wǎng)云,世界上最遙遠(yuǎn)的距離不是生與死,而是明明在同一個段落里,卻找不到相關(guān)聯(lián)的詞語。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

理論上,RNN 是能夠處理這種「遙遠(yuǎn)」的問題的。我們能夠人為地挑選出一些參數(shù),解決依賴問題中較為簡單的任務(wù)。不過在實踐中,RNN 并不能自主地處理這些任務(wù)。這個問題 Hochreiter (1991) [German] 與 Bengio, et al. (1994) 已經(jīng)進(jìn)行過探討并找到了相關(guān)方法。

幸運的是,LSTM 不存在這個問題。

LSTM 網(wǎng)絡(luò)

長短期記憶網(wǎng)絡(luò)——通常也被簡稱為 LSTMs——是一種特殊類型的 RNN,能夠?qū)W習(xí)長期的依賴關(guān)系。這個網(wǎng)絡(luò)就像雷鋒網(wǎng)所說的,由 Sepp Hochreiter 和 Jürgen Schmidhuber 在 1997 年提出,并加以完善與普及,LSTM 在各類任務(wù)上表現(xiàn)良好,因此也被廣泛使用。

LSTM 就是為了解決長期依賴問題而生,也就是說,對信息的長期記憶是它們的自發(fā)行為,而不是刻意去學(xué)習(xí)的。

所有的 RNN 都具備重復(fù)性的鏈條形式,而在標(biāo)準(zhǔn)的 RNN 中,這個重復(fù)模式都有著一個簡單的結(jié)構(gòu),比如單層的 tanh 層。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

標(biāo)準(zhǔn) RNN 的重復(fù)模塊里都有一個單層網(wǎng)絡(luò)

LSTM 也有這種結(jié)構(gòu)化的鏈條,但重復(fù)性模塊有著不同的結(jié)構(gòu)。與 RNN 不同的是,LSTM 中有一個四層的網(wǎng)絡(luò),并以一種特殊的方式進(jìn)行交互。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

LSTM 網(wǎng)絡(luò)的重復(fù)模塊包含一個四層的交互網(wǎng)絡(luò)

然而我們并不需要在意這些細(xì)節(jié)。接下來,請和雷鋒網(wǎng)一起對 LSTM 圖進(jìn)行一步步的梳理?,F(xiàn)在,讓我們一起熟悉下接下來會用到的一些符號。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

 在上面所示的圖中,

  • 黃塊表示神經(jīng)網(wǎng)絡(luò)層;

  • 粉圈代表按位操作(pointwise operations),如向量加法;

  • 每條線代表著一整個向量(vector),用來表示從一個節(jié)點的輸出到另一個節(jié)點的輸入;

  • 合并的線代表連接(concatenate); 

  • 分叉的線表示復(fù)制(copy)。

LSTMs 的核心

LSTMs 的核心所在是 cell 的狀態(tài)(cell state),也就是下圖這條向右的線。

Cell 的狀態(tài)就像是傳送帶,它的狀態(tài)會沿著整條鏈條傳送,而只有少數(shù)地方有一些線性交互。信息如果以這樣的方式傳遞,實際上會保持不變。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

LSTM 通過一種名為「門」(gate)的結(jié)構(gòu)控制 cell 的狀態(tài),并向其中刪減或增加信息。

雷鋒網(wǎng)注:你可以把門理解為一種控制信息通過的方式。門由一個 sigmoid 網(wǎng)絡(luò)層與一個按位乘操作構(gòu)成。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

Sigmoid 層的輸出值在 0 到 1 間,表示每個部分所通過的信息。0 表示「對所有信息關(guān)上大門」;1 表示「我家大門常打開」。

一個 LSTM 有三個這樣的門,控制 cell 的狀態(tài)。

解讀 LSTM:一個關(guān)于“遺忘”的故事

首先,LSTM 的第一步需要決定我們需要從 cell 中拋棄哪些信息。這個決定是從 sigmoid 中的「遺忘層」來實現(xiàn)的。它的輸入是 ht-1 和 xt,輸出為一個 0 到 1 之間的數(shù)。Ct?1 就是每個在 cell 中所有在 0 和 1 之間的數(shù)值,就像我們剛剛所說的,0 代表全拋棄,1 代表全保留。

再拿剛才預(yù)測單詞的語言模型來舉例,cell 的狀態(tài)可能會需要考慮主語的性別,這樣才能找到正確的代詞。因此如果我們設(shè)定,如果看到了一個新的主語,就「忘記」舊的主語所代表的性別。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

下一步,我們需要決定什么樣的信息應(yīng)該被存儲起來。這個過程主要分兩步。首先是 sigmoid 層(輸入門)決定我們需要更新哪些值;隨后,tanh 層生成了一個新的候選向量 C`,它能夠加入狀態(tài)中。

最后,我們將這兩個值結(jié)合起來,并更新 cell 的狀態(tài)。

在雷鋒網(wǎng)方才提及的這個例子中,我們需要將新主語的性別信息加入 cell 的狀態(tài)中,以替換要忘記的舊信息。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

接下來,我們就可以更新 cell 的狀態(tài)了。將舊狀態(tài)與 ft 相乘,忘記此前我們想要忘記的內(nèi)容,然后加上 C`。得到的結(jié)果便是新的候選值,依照我們決定的值進(jìn)行縮放。

在這個語言模型中,這個過程就實現(xiàn)了我們所設(shè)想的目標(biāo):遇到一個新主語時,就忘記舊語言的性別。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

最后,我們需要確定輸出的內(nèi)容。這個輸出內(nèi)容取決于我們的 cell 狀態(tài),但這是一個經(jīng)過過濾的版本。

  • 首先,我們會運行一個 sigmoid 層決定 cell 狀態(tài)輸出哪一部分。

  • 隨后,我們把 cell 狀態(tài)通過 tanh 函數(shù),將輸出值保持在-1 到 1 間。

  • 之后,我們再乘以 sigmoid 門的輸出值,就可以得到結(jié)果了。

對于語言模型的例子,當(dāng)它只看到一個主語時,就可能會輸出與動詞相關(guān)的信息。比如它會輸出主語是單數(shù)還是復(fù)數(shù)。這樣的話,如果后面真的出現(xiàn)了動詞,我們就可以確定它的形式了。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

LSTM 的各種「變體」

目前我所提及的 LSTM,只是最最基本的形式,并不是所有的 LSTM 長得都一樣一樣的。實際上,所有提及 LSTM 的論文都有著小小的改動,這些改進(jìn)雖然并不明顯,但值得在這里一提。

時尚時尚最時尚的 LSTM 變體就是 Gers & Schmidhuber (2000) 提出的「貓眼連接」(peephole connections)的神經(jīng)網(wǎng)絡(luò),也就是說,門連接層能夠接收到 cell 的狀態(tài)。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

上圖展示了全加上「貓眼」的效果,但實際上論文中并不會加這么多啦。

另一種變體就是采用一對門,分別叫遺忘門(forget)及輸入門(input)。與分開決定遺忘及輸入的內(nèi)容不同,現(xiàn)在的變體會將這兩個流程一同實現(xiàn)。我們只有在將要輸入新信息時才會遺忘,而也只會在忘記信息的同時才會有新的信息輸入。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

一個比較惹眼的變體為 GRU(Gated Recurrent),由 Cho, et al. (2014) 提出。他將遺忘門與輸入門結(jié)合在一起,名為「更新門」(update gate),并將 cell 狀態(tài)與隱藏層狀態(tài)合并在一起,此外還有一些小的改動。這個模型比起標(biāo)準(zhǔn) LSTM 模型簡單一些,因此也變得更加流行了。

當(dāng)然,這里所列舉的只是一管窺豹,還有很多其它的變體,比如 Yao, et al. (2015) 提出的 Depth Gated RNNs;或是另辟蹊徑處理長期依賴問題的 Clockwork RNNs,由 Koutnik, et al. (2014) 提出。

哪個是最好的呢?而這些變化是否真的意義深遠(yuǎn)?Greff, et al. (2015) 曾經(jīng)對比較流行的幾種變種做過對比,發(fā)現(xiàn)它們基本上都差不多;而 Jozefowicz, et al. (2015) 測試了超過一萬種 RNN 結(jié)構(gòu),發(fā)現(xiàn)有一些能夠在特定任務(wù)上超過 LSTMs。

結(jié)論

早些時候,我曾經(jīng)提及很多人用 RNN 取得重要進(jìn)步,而這些都是基于 LSTM 的網(wǎng)絡(luò)。它們的確在大多數(shù)任務(wù)上表現(xiàn)頗佳!

在前文中,雷鋒網(wǎng)小編貼出了好多公式呀,概念呀,算法呀,搞得 LSTM 好像有點嚇人。但是呢,我們希望一步步的解讀能讓 LSTM 于你而言,不再是一頭霧水的一個概念,讓它變得更加有人味一些。

LSTM 對于 RNN 來說是一個大的進(jìn)步。在有了 LSTMs 后,越來越多的任務(wù)都可用 RNN 來解決了。那么自然地,我們會想:是否還會有下一個 LSTM 式的飛躍呢?學(xué)界普遍的一個答案是,會的!下一步就是 attention 了。Attention 是什么?也就是說,從 RNN 的每一步中提取信息,并形成一個更大的信息集合。比如使用 RNN 產(chǎn)生能描述圖片的標(biāo)題時,它可能只選擇圖片的一部分進(jìn)行關(guān)注。實際上,Xu, et al. (2015) 就是這樣做的——這可能會成為你探索 attention 算法的一個切入口。目前采用 attention 的研究也已經(jīng)取得了不少進(jìn)展,可能已經(jīng)走到了飛躍的十字路口吧……

除了 attention,RNN 領(lǐng)域中還有其它的研究方向,比如 Kalchbrenner, et al. (2015) 的 Grid LSTMs 前景不錯,而生成模型中的 RNN 同樣也令人印象深刻:比如 Gregor, et al. (2015)、 Chung, et al. (2015) 或是 Bayer & Osendorfer (2015) 的論文。

過去幾年間,RNN 可謂是深度學(xué)習(xí)的寵兒,我也同樣相信接下來的數(shù)年也會是這樣。

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

谷歌大腦科學(xué)家親解 LSTM:一個關(guān)于“遺忘”與“記憶”的故事

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說