什么是遞歸神經網絡


  無論即將到來的是大數據時代還是人工智能時代,亦或是傳統行業使用人工智能在雲上處理大數據的時代,作為一個有理想有追求的程序員,不懂深度學習這個超熱的技術,會不會感覺馬上就out了?現在救命稻草來了,中國知名黑客教父,東方聯盟創始人郭盛華曾在新浪微博作了以下技術分析:

  遞歸神經網絡是深度學習的主要部分之一,允許神經網絡處理文本,音頻和視頻等數據序列。它們可以用來將序列煮成高層次的理解,對序列進行注釋,甚至可以從頭開始生成新的序列!

  基本的RNN設計在更長的序列中掙扎,但是一個特殊的變種-“長期短期記憶”網絡甚至可以與這些工作。已經發現這樣的模型非常強大,在包括翻譯,語音識別和圖像字幕在內的許多任務中取得了顯着的結果。結果,在過去的幾年中,遞歸神經網絡已經變得非常普遍。

  當發生這種情況時,我們看到越來越多的嘗試用新屬性來增加RNN。四個方向特別令人興奮:

  可以調用函數,在運行時編譯程序。

  單獨來說,這些技術都是RNN的有力擴展,但真正令人驚訝的是它們可以結合在一起,似乎只是更廣闊空間中的點。此外,他們都依靠相同的基本技巧,即所謂的關注工作。

  我們的猜測是,這些“增強的RNN”將在未來幾年延伸深度學習的能力方面發揮重要作用。

  神經圖靈機

  神經圖靈機將RNN與外部存儲器組合在一起。由於矢量是神經網絡的自然語言,所以記憶是一組矢量:

  但是閱讀和寫作如何工作?挑戰在於我們想讓它們變得可區分。特別是,我們希望使它們與我們讀取或寫入的位置有區別,以便我們可以了解在哪里讀取和寫入。這很棘手,因為內存地址似乎基本上是離散的。NTM采取了一個非常聰明的解決方案:每一步,他們都在不同程度上閱讀和書寫。

  作為一個例子,讓我們專注於閱讀。RNN輸出一個“關注分布”,而不是指定一個位置,它描述了我們如何分散我們關心不同內存位置的數量。如此,讀取操作的結果是加權和。

  同樣,我們也會不同程度地寫作。再次,關注分布描述了我們在每個位置寫了多少。我們通過將內存中的位置的新值作為舊內存內容和寫入值的凸面組合來實現這一點,兩者之間的位置由注意權重決定。

  但NTM如何決定在記憶中的哪個位置集中注意力?他們實際上使用了兩種不同方法的組合:基於內容的注意力和基於位置的注意力。基於內容的注意力使NTM能夠搜索他們的記憶並專注於他們所尋找的地點,而基於位置的注意則允許記憶中的相對移動,從而使NTM能夠循環。

​  這種讀寫能力允許NTM執行許多簡單的算法,而這些算法以前超越了神經網絡。例如,他們可以學習在內存中存儲一個長序列,然后遍歷它,重復重復它。當他們這樣做時,我們可以看他們閱讀和寫作的地方,以更好地理解他們在做什么:

  他們還可以學習模仿查詢表,甚至學會對數字進行排序(盡管它們有點欺騙)!另一方面,他們仍然不能做許多基本的事情,比如加號或乘數。

  自NTM原始文件以來,已有許多激動人心的論文探索類似的方向。神經GPU克服了NTM無法增加和增加數字的能力。Zaremba&Sutskever使用強化學習來訓練NTM,而不是原始使用的可區分讀/寫。神經隨機存取機器基於指針工作。一些論文探討了可區分的數據結構,如堆棧和隊列。和內存網絡是另一種攻擊類似問題的方法。

  在某些客觀意義上,這些模型可以執行的許多任務(如學習如何添加數字)在客觀上並不那么困難。傳統的計划綜合社區會在午餐時間吃它們。但是神經網絡有許多其他的功能,像神經圖靈機這樣的模型似乎已經打破了他們的能力的一個非常深刻的限制。

  這些模型有許多開源實現。NeuralTuringMachine的開源實現包括TaehoonKim's(TensorFlow),ShawnTan's(Theano),Fumin's(Go),KaiShengTai's(火炬)和Snip's(Lasagne)。神經GPU出版物的代碼是開源的,並放入TensorFlowModels庫。MemoryNetworks的開源實現包括Facebook(Torch/Matlab),YerevaNN(Theano)和TaehoonKim(TensorFlow)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM