一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

 四地閑夫 2020-06-19

目錄

  • 一、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN1. RNN標(biāo)準(zhǔn)結(jié)構(gòu)2. RNN系列結(jié)構(gòu)
  • 二、長短期記憶網(wǎng)絡(luò)LSTM
  • 三、GRU
  • 四、RNN/LSTM/GRU的變體結(jié)構(gòu)1. 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)2. 深層循環(huán)神經(jīng)網(wǎng)絡(luò)3. Seq2Seq架構(gòu):非?;馃?/li>
  • 五、注意力機(jī)制1. Seq2Seq + Attention機(jī)制介紹2. 層次注意力機(jī)制Hierarchical Attention3. 自注意力機(jī)制Self-Attention:只有一個Seq4. Fairseq:基于卷積神經(jīng)網(wǎng)絡(luò)的Seq2Seq + Attention機(jī)制5. Transformer:使用self-attention代替原有的RNN及CNN6. Memory-based Attention7. Soft/Hard Attention8. Global/Local Attention
  • 六、應(yīng)用1. 自然語言處理2. 圖像處理3. 智能推薦4. 其他

【說在前面】本人博客新手一枚,象牙塔的老白,職業(yè)場的小白。以下內(nèi)容僅為個人見解,歡迎批評指正,不喜勿噴![認(rèn)真看圖][認(rèn)真看圖]

【補充說明】深度學(xué)習(xí)中的序列模型已經(jīng)廣泛應(yīng)用于自然語言處理(例如機(jī)器翻譯等)、語音識別、序列生成、序列分析等眾多領(lǐng)域!

【再說一句】本文主要介紹深度學(xué)習(xí)中序列模型的演變路徑,和往常一樣,不會詳細(xì)介紹各算法的具體實現(xiàn),望理解!

一、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN

1. RNN標(biāo)準(zhǔn)結(jié)構(gòu)

傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的前一個輸入和后一個輸入是完全沒有關(guān)系的,不能處理序列信息(即前一個輸入和后一個輸入是有關(guān)系的)。

循環(huán)神經(jīng)網(wǎng)絡(luò)RNN解決了以上問題,整體結(jié)構(gòu)如圖所示:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

2. RNN系列結(jié)構(gòu)

多對一:例如情感分析,需要多個時間步長的輸入,但是只需要單個輸出(即實現(xiàn)分類)。整體結(jié)構(gòu)如圖所示:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

一對多:例如音樂生成,只需要單個輸入(即輸入類別),但是需要輸出整個序列。整體結(jié)構(gòu)如圖所示:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記
深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

多對多:例如實時分類,輸入序列與輸出序列的長度是一樣的。整體結(jié)構(gòu)如圖所示:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

多對多:例如機(jī)器翻譯,輸入序列與輸出序列的長度是不一樣的。整體結(jié)構(gòu)如圖所示:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

二、長短期記憶網(wǎng)絡(luò)LSTM

LSTM是RNN的一種變體,RNN由于梯度消失只有短期記憶,而LSTM網(wǎng)絡(luò)通過精妙的門控制,一定程度上緩解了梯度消失的問題。

在標(biāo)準(zhǔn)RNN中,神經(jīng)網(wǎng)絡(luò)模塊只有一個非常簡單的結(jié)構(gòu),例如一個tanh層。整體結(jié)構(gòu)如圖所示:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

而LSTM得神經(jīng)網(wǎng)絡(luò)模塊具有不同的結(jié)構(gòu),LSTM包含遺忘門、輸入門和輸出門,增加了非線性的相互作用。整體結(jié)構(gòu)如圖所示:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

三、GRU

GRU是LSTM的一種變體,也是為了解決梯度消失(即長期記憶問題)而提出來的。相較于LSTM,GRU的網(wǎng)絡(luò)結(jié)構(gòu)更加簡單,且效果很好。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

四、RNN/LSTM/GRU的變體結(jié)構(gòu)

1. 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)

例如命名實體識別:判斷句子中Teddy是否是人名,如果只從前面幾個詞是無法得知Teddy是否是人名,如果能有后面的信息就很好判斷了。

雙向循環(huán)神經(jīng)網(wǎng)絡(luò)中的網(wǎng)絡(luò)單元可以是RNN、LSTM和GRU,均適用這種變體結(jié)構(gòu)。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

2. 深層循環(huán)神經(jīng)網(wǎng)絡(luò)

顧名思義,就是多個循環(huán)神經(jīng)網(wǎng)絡(luò)的堆疊,循環(huán)神經(jīng)網(wǎng)絡(luò)可以采用RNN、LSTM和GRU,均適用這種變體結(jié)構(gòu)。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

3. Seq2Seq架構(gòu):非常火熱

又叫Encoder-Decoder模型,適用于輸入與輸出個數(shù)不一樣相等的情況(即多對多的循環(huán)神經(jīng)網(wǎng)絡(luò),適用于機(jī)器翻譯等場景)。

其中,Encoder編碼器和Decoder解碼器可以使用RNN、LSTM和GRU,均適用這種變體結(jié)構(gòu)。

同時,這種結(jié)構(gòu)也可以與雙向、深層的變體結(jié)構(gòu)同時使用,不沖突的。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記
深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

這里多提一句,例如給圖像添加描述這樣的應(yīng)用場景,圖中對應(yīng)的描述為“一只貓站在椅子上”,同樣可以采用Encoder-Decoder模型。

五、注意力機(jī)制

1. Seq2Seq + Attention機(jī)制介紹

需要注意到,LSTM、GRU、雙向變體結(jié)構(gòu)、深層變體結(jié)構(gòu)和Seq2Seq變體結(jié)構(gòu),只能說一定程度上緩解了梯度消失問題。

提出問題:在做機(jī)器翻譯時,專家學(xué)者們發(fā)現(xiàn),在Seq2Seq結(jié)構(gòu)中,Encoder把所有的輸入序列都編碼成一個統(tǒng)一的語義向量context,然后再由Decoder解碼。其中,context自然也就成了限制模型性能的瓶頸,當(dāng)要翻譯的句子較長時,一個 context 可能存不下那么多信息。同時,只使用編碼器的最后一個隱藏層狀態(tài),似乎不是很合理。

解決方案:因此,引入了Attention機(jī)制(將有限的認(rèn)知資源集中到最重要的地方)。在生成 Target 序列的每個詞時,用到的中間語義向量 context 是 Source 序列通過Encoder的隱藏層的加權(quán)和,而不是只用Encoder最后一個時刻的輸出作為context,這樣就能保證在解碼不同詞的時候,Source 序列對現(xiàn)在解碼詞的貢獻(xiàn)是不一樣的。例如,Decoder 在解碼'machine'時,'機(jī)'和'器'提供的權(quán)重要更大一些,同樣,在解碼'learning'時,'學(xué)'和'習(xí)'提供的權(quán)重相應(yīng)的會更大一些。

實現(xiàn)步驟:(1)衡量編碼中第 j 階段的隱含層狀態(tài)和解碼時第 i 階段的相關(guān)性(有很多種打分方式,這里不細(xì)講);(2)通過相關(guān)性的打分為編碼中的不同階段分配不同的權(quán)重;(3)解碼中第 i 階段輸入的語義向量context就來自于編碼中不同階段的隱含層狀態(tài)的加權(quán)和。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

補充說明一下,衡量相關(guān)性的打分方式主要包括以下幾種,具體不展開了:

2. 層次注意力機(jī)制Hierarchical Attention

能夠反映文檔的層次結(jié)構(gòu)。模型在單詞和句子級別分別設(shè)計了兩個注意力機(jī)制,這樣做能夠在構(gòu)建文檔表示時區(qū)別地對待這些內(nèi)容。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

3. 自注意力機(jī)制Self-Attention:只有一個Seq

是關(guān)聯(lián)單個序列中不同位置的注意力機(jī)制,從而計算序列的交互表示。已被證明在很多領(lǐng)域十分有效,例如機(jī)器閱讀、圖像描述生成等。

以機(jī)器閱讀為例,當(dāng)前單詞為紅色,藍(lán)色陰影的大小表示激活程度,自注意力機(jī)制使得能夠?qū)W習(xí)當(dāng)前單詞和句子前一部分詞之間的相關(guān)性:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

補充說明,以圖像描述生成為例,注意力權(quán)重的可視化清楚地表明了模型關(guān)注的圖像的哪些區(qū)域以便輸出某個單詞:

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

4. Fairseq:基于卷積神經(jīng)網(wǎng)絡(luò)的Seq2Seq + Attention機(jī)制

Facebook人工智能實驗室提出基于卷積神經(jīng)網(wǎng)絡(luò)的Seq2Seq架構(gòu),將RNN替換為帶有門控單元的CNN(相較于RNN,CNN工作不依賴于上一時間步的結(jié)果,所以可以做到最大程度的并行計算,提升訓(xùn)練速度),提升效果的同時大幅加快了模型訓(xùn)練速度。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

5. Transformer:使用self-attention代替原有的RNN及CNN

以上Attention model雖然解決了輸入seq僅有一個context vector的缺點,但仍存在一些問題:

  • context vector計算的是輸入seq、目標(biāo)seq間的關(guān)聯(lián),卻忽略了輸入seq中文字間的關(guān)聯(lián)、目標(biāo)seq中文字間的關(guān)聯(lián)性。
  • Attention model中使用的RNN無法平行化處理,導(dǎo)致訓(xùn)練時間長,使用的CNN實際上是透過大量的layer去解決局部信息的問題。

Google提出一種叫做”transformer”的模型,透過self-attention、multi-head的概念去解決上述缺點,完全舍棄了RNN、CNN的構(gòu)架。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

值得一提的是,Google后續(xù)提出了BERT模型,在11個任務(wù)中取得了最好的效果,是深度學(xué)習(xí)在nlp領(lǐng)域又一個里程碑式的工作。

6. Memory-based Attention

在 NLP 的一些任務(wù)上,比如問答匹配任務(wù),答案往往與問題間接相關(guān)。因此,基本的注意力技術(shù)就顯得很無力了,這時候就體現(xiàn)了Memory-based Attention的強大之處。例如可以通過迭代內(nèi)存更新(也稱為多跳)來模擬時間推理過程,以逐步引導(dǎo)注意到答案的正確位置。

7. Soft/Hard Attention

簡單說就是Soft Attention打分之后分配的權(quán)重取值在0到1之間,而Hard Attention取值為0或者1。

8. Global/Local Attention

這個也很好理解,就是采用全局或者局部的注意力機(jī)制。

深度學(xué)習(xí)中的序列模型演變及學(xué)習(xí)筆記

六、應(yīng)用

1. 自然語言處理

例如機(jī)器翻譯、問答系統(tǒng)、文本分類、情緒分析、命名實體識別、創(chuàng)作樂曲等。

2. 圖像處理

例如多媒體描述、局部圖像補全、通過低分辨率的圖像還原高分辨率圖像等。

3. 智能推薦

例如用于用戶行為分析,即將注意力權(quán)重分配給用戶的交互項目,以更有效地捕捉長期和短期的興趣。

4. 其他

本文參考大佬:https://github.com/yuquanle/Attention-Mechanisms-paper/blob/master/Attention-mechanisms-paper.md

如果你對智能推薦感興趣,歡迎先瀏覽我的另幾篇隨筆:智能推薦算法演變及學(xué)習(xí)筆記

如果您對數(shù)據(jù)挖掘感興趣,歡迎瀏覽我的另幾篇博客:數(shù)據(jù)挖掘比賽/項目全流程介紹

如果您對人工智能算法感興趣,歡迎瀏覽我的另一篇博客:人工智能新手入門學(xué)習(xí)路線和學(xué)習(xí)資源合集(含AI綜述/python/機(jī)器學(xué)習(xí)/深度學(xué)習(xí)/tensorflow)

如果你是計算機(jī)專業(yè)的應(yīng)屆畢業(yè)生,歡迎瀏覽我的另外一篇博客:如果你是一個計算機(jī)領(lǐng)域的應(yīng)屆生,你如何準(zhǔn)備求職面試?

如果你是計算機(jī)專業(yè)的本科生,歡迎瀏覽我的另外一篇博客:如果你是一個計算機(jī)領(lǐng)域的本科生,你可以選擇學(xué)習(xí)什么?

如果你是計算機(jī)專業(yè)的研究生,歡迎瀏覽我的另外一篇博客:如果你是一個計算機(jī)領(lǐng)域的研究生,你可以選擇學(xué)習(xí)什么?

如果你對金融科技感興趣,歡迎瀏覽我的另一篇博客:如果你想了解金融科技,不妨先了解金融科技有哪些可能?

之后博主將持續(xù)分享各大算法的學(xué)習(xí)思路和學(xué)習(xí)筆記:hello world: 我的博客寫作思路

作者:FinTecher

出處:https://www.cnblogs.com/zhengzhicong/

如果覺得這篇文章對你有幫助的話,記得在右下角點個“推薦”,歡迎持續(xù)關(guān)注哦,博主在此感謝!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    天海翼精品久久中文字幕| 亚洲一区精品二人人爽久久| 九九热最新视频免费观看| 日韩欧美一区二区久久婷婷| 五月综合激情婷婷丁香| 国产一区国产二区在线视频| 国产又大又猛又粗又长又爽| 国产在线一区中文字幕| 99久久精品久久免费| 国产午夜福利在线观看精品| 中文字幕高清免费日韩视频| 亚洲一区二区欧美在线| 欧美区一区二区在线观看| 91天堂免费在线观看| 亚洲一区二区三区福利视频| 免费在线观看欧美喷水黄片| 精品人妻一区二区四区| 高清一区二区三区四区五区| 国产a天堂一区二区专区| 人妻久久一区二区三区精品99| 精品一区二区三区不卡少妇av | 亚洲国产av一二三区| 久草精品视频精品视频精品| 亚洲国产精品久久精品成人| 精品老司机视频在线观看| 国产欧美性成人精品午夜| 黑鬼糟蹋少妇资源在线观看| 亚洲天堂久久精品成人| 国产一级内片内射免费看| 国产av一区二区三区久久不卡| 久久热麻豆国产精品视频| 中文字幕亚洲视频一区二区| 日本不卡在线视频你懂的| 中文日韩精品视频在线| 空之色水之色在线播放| 日韩人妻少妇一区二区| 免费久久一级欧美特大黄孕妇| 欧美一级内射一色桃子| 久久三级国外久久久三级| 国产成人av在线免播放观看av| 亚洲第一香蕉视频在线|