最前沿:圖文結合詳解深度學習Memory & Attention
首發地址:https://yq.aliyun.com/articles/65356
本文由北郵@- 老師推薦,組織翻譯。
以下為譯文:
深度學習中的記憶和注意力前沿
Stephen Merity
當你有好的數據集時候,深度學習在圖像和文字分類方麵可以給出高的精度,這是由於大數據可以很好的訓練自己的分類器,而且幾乎沒有用到經驗知識。
對於低年級學生而言,也可以很容易獲得好的分類器,圖中顯示的是給TrashCam創建的一個定製視覺分類器[Trash,Recycle,Compost],精度能夠達到90%
圖中是顱內出血的檢測,該分類器是由MM大學的 Caiming Xiong,Kai Sheng Tai等人創建,能夠很好的識別顱內出血的情況
深度學習和ImageNet挑戰,在2012年的挑戰中,AlexNet網絡實現了16.4%的錯誤率,而最好的第二名網絡模型(non CNN)錯誤率為26.2%,領先第二名接近10%。
特別注意到,人的識別錯誤率為5.1%
取得這麼好的原因很大一部分歸功於硬件的發展,從圖可以看出,AlexNet
但也不要將深度學習應用到任何地方,在深度學習中,結構工程師是未來新的工程師;這是機器學習,不是魔法。
除了分類之外,可以進行圖片內容識別,常用的數據庫有VAQ
比如識別口味,上傳一張照片,然後分析該飲料是哪種口味。如圖所示,分析出來的口味有五種,
自動回答相關問題:圖片中有人嗎,回答是沒有;圖片是什麼時候拍攝,回答是白天;圖片中飲料類型,回答是smoothie等
自動識別:從圖中看出,Visual Gennome模型可以識別圖中的物體與活動並針對不同問題的回答,比如河流在哪裏,回答是在橋下;這座拱橋有幾個拱,回答是兩個等。
Facebook的 bAbl 數據集是將幾種問題回答任務放在一起,從該數據集中提取出來的片段如圖所示,可以根據句子回答相應的問題。
人類問答過程
想象下我給你一篇文章或一幅圖片,並要求你記住它,之後將其拿走並問你一些問題,及時你再聰明,你也將會獲得一個糟糕的分數。這是因為你不能在工作的記憶中存儲任何東西;沒有一個問題是針對你的關注點的,你關注在一些不重要的細節上是一種浪費
最佳情況:給你一個輸入數據,然後問你一個問題,你回答的時候允許盡可能多的掃視數據。
考慮信息瓶頸
你的模型是在哪裏被強製使用壓縮表示?更重要的是,使用後效果是不是很好?
神經網絡,壓縮,這些術語我們之前有沒有聽到過?
發誓沒有引出爭議或者是要求風險投資;數字資源的邊緣信息送入流水線服務中,中央數據存儲與神經網絡中的機器學習相互交換數據,後端提供相應的服務。
圖中是一個真實的世界,沒有人正在做CNN壓縮。
除了Magic Pony在做CNN壓縮外。MagicPony
兩幅圖片來自視頻流,左右圖像是相同的比特率,而右圖比左圖稍微清晰些。
現在是bird+Magic Pony,原因是Twitter收購了Magic Pony。這是鑒於Twitter在視頻直播方麵的巨大資金投入,以及處理這些視頻所需的海量儲存與計算設備投入
從壓縮的角度考慮神經網絡
比如文本向量,將“dog”轉化為100維向量;
轉化為100
Word2vec 把詞當做特征,那麼Word2vec就可以把特征映射到 K 維向量空間,可以為文本數據尋求更加深層次的特征表示。文本向量通過word2vec模型,可以識別句子中含“dog”的位置。
CBOW與skipgram是word2vec中的核心概率之一,兩個模型都是以Huffman樹作為基礎的。前者是給出句子,來猜測句子中空的內容;而skip-gram
文本N
在這裏壓縮是有意義的(通用化)
英國和澳大利亞的顏色是用color表示,而美國則是使用colour表示;
動詞、單複數等問題
通過它周圍的單詞意思,你可以知道這個單詞,
上麵兩幅圖均來自GloVe的示例圖片,GloVe與word2vec不同,但是基本概念相似,是一種無監督學習算法獲取向量表示的單詞
循環神經網絡(RNN)
RNNs
RNN、
RNN
如果你聽過GRU網絡或者LSTM,這兩種網絡較RNN而言設計得更加精密,但隻需要考慮RNN更新公式
神經元機器翻譯通過聯合學習以便進行調整和翻譯。從圖中可以看到,隨著句子長度的增加,剛開始時候BLEU
神經元機器翻譯
Quora是一個問答SNS網站,由Facebook前雇員查理·切沃(Charlie Cheever)和亞當·安捷羅(Adam D' Angelo)於2009年6月創辦。該網站需要用戶使用真實名字注冊,而不是一個網名(賬戶名);並且遊客不願意登陸或使用小型文本文件的話必須繞路才能使用該網址。
注意力與記憶
在每一時間步都會保存隱藏狀態(比如,讀了“I”、“think”、“...”);在之後查詢相關事情的時候,可以通過之前我們所關注的內容得到。當想到合適部分時,注意力允許我們概括感興趣的區域。
European Economic Area與zone economique europeenne意思等價
1. 針對QA模塊化和彈性的深度學習框架;
2. 能夠處理寬範圍的任務以及輸入格式的能力;
3. 甚至能夠針對一般的自然語言處理任務使用(比如非問答、感情、翻譯等);
相關的注意力/記憶工作
1. 序列到序列模型是由穀歌研究員Sutskever等人在2014年提出,該模型是將目標序列排列成源序列順序形式那樣;
2. 神經圖靈機模型是由Graves等人在2014年提出,該模型主要包含兩個基本組成部分:神經網絡控製器和記憶庫;
3 學習無限的轉換模型是由Grefenstette在2015年提出,該模型的性能優於深度RNN模型;
4. 結構記憶感知圖靈機模型是由WeiZhang在2015年提出,該模型提出了幾種不同結構的NTM內存,其中的兩種結構能夠導致更好的收斂;
5. 記憶網絡模型是由Weston等人在2015年提出,該模型能夠實現長期記憶,並且實現如何從長期記憶中讀取和寫入,此外還加入了推理功能;
6. 端到端的記憶網絡模型是由Sukhbaater等人在2015年提出,該模型讓記憶網絡端到端地進行訓練,不考慮任何中間過程。
針對動態記憶網絡的問答模型
1. 模塊化以及靈活的深度學習框架;
2. 有能力處理寬範圍的任務和輸入格式;
3. NLP
輸入模塊:該模塊根據輸入產生有序列表的事實,並且可以增加這些事實的數量或者維數,輸入融合層(雙向GRU)注入潛在信息並允許事實之間相互作用。
情景記憶模塊是由潛在多個通道的三部分組成,分別為注意力門的計算、注意力機製以及記憶更新;
軟注意力機製
給定注意力門限,現在想要從輸入事實中提取出上下文向量,如果門限值是通過softmax,上下文向量是輸入事實的權重總和;
問題:潛在的求和損失以及順序信息
計算注意力門限
每個事實接受一個大小為[0,1]之間的注意力門限值,該值是通過分析[事實、疑問以及情景記憶]得到,通過在注意力值上使用softmax強製性執行稀疏。
注意力GRU
GRU
結果
關注三個實驗,分別為文本、視覺以及注意力可視化;
動態記憶網絡概覽
該框架由Semantic memory模塊、Input模塊、Episode memory模塊、以及Answer模塊和question模塊組成,首先從Input模塊接受未加工的輸入,之後生成問題的表示,再將問題以及顯性基礎知識一起傳送給Episode memory模塊,該模塊會推理得到一個回答。
在上下文問答中的準確率(bAbI 10k數據集),可以從表格中看到,DMN+模型的平均錯誤率為2.8%,遠小於E2E模型的4.2%;任務失敗(錯誤率大於5%)次數為1,而E2E模型的次數為3。
視覺問題回答的精確度
如圖所示,可以根據圖片中的內容回答相關問題,比如圖中公交車的主要顏色,回答是藍色等。
當知道被問的問題時,我們能夠提取的隻是相關信息,這意味著我們不計算或存儲不必要的信息,更加有效並能幫助我們避免信息瓶頸。
指針網絡
如果你是在外國並且你正在點餐,你可以在菜單上看見你想要的,但是你不會發音,這種情況下指針網絡能夠幫助你解決詞匯問題。(大多數的模型僅限於預先建好的詞匯表)
挑戰:我們沒有詞匯去指向指針,需要重現準確的指針。
(a)藍色部分是RNN處理輸入序列,{(x1,y1), (x2,y2),(x3,y3),(x4,y4)},右麵紫色是輸出序列,表示解的序列順序{1,4,2,1};(b)
從圖中可以看到,Ptr-net比LSTM的預測巡回線長。
首先Embedding;之後對其編碼得到文本表示;word vector;answer
指針網絡避免存儲冗餘的數據,這是很重要的,因為在許多任務中,名字是一個占位符,文檔占位相當的長。
決定是否使用RNN或者指針網絡,這是取決於指針“存儲”包含的內容。
Pointer Sentinel-LSTM模型在語言建模上最先進的結果
Hierarchical Attentive Memory模型是基於二叉樹與記憶細胞。該模型的複雜度為O(log n),學會排序n個數字所需要的時間為O(nlogn)。
深度學習發展非常迅速,如果你停止不前或者左顧右盼的話,你可能會錯過它;
對於深度學習感興趣的話,我強烈推薦Kears模型,該模型是一個極度簡化、高度模塊化的神經網絡第三方庫。基於python+Theano
總結
1. 注意力以及記憶能夠避免信息瓶頸;
2. 在
3.
The Frontiers of Memory and Attention in Deep Learning
文章為簡譯,更為詳細的內容,請查看原文
最後更新:2017-07-12 22:07:47