如何看待谷歌deeplearning團隊新開發的DNC(可微分神經計算機)?

北京時間10月13日消息,谷歌AI部門最近取得重大突破,他們向會思考的電腦邁進一部,谷歌開發了一套機器學習演算法,它將「神經網路」計算系統與傳統計算機存儲器結合在一起。DeepMind是谷歌位於倫敦的AI部門。最近,DeepMind科學家開發了「DNC」(differentiable neural computer,可微分神經計算機),即使沒有先驗知識,比如在倫敦地鐵站點之間規劃最佳路線,或者搞清家譜關係,DNC也可以解決小型問題。

谷歌AI取得突破性進展 向可思考電腦邁進一

http://www.cnbeta.com/articles/547745.htm


謝邀。

這篇文章模型複雜,手工設計太多(比如說組合各種不同的Attention模型,手工「動態」分配內存而不是學習得到),實驗相對簡單,沒有在大規模數據集上測試性能,總的來說不及前兩篇Nature。「革命性突破」言過其實。當然宣傳還是一貫地好。

技術上來說,我覺得它是隱含地學到了搜索的啟發式函數(heuristic function),並且成功地應用於一些需要小規模搜索的任務當中。至於通用化,可能還需要再走很長的路。我們研究所(Facebook AI Research)也有做相似框架並且有很好結果的,比如MemNet。

我最近新開的英文博客上介紹了一些細節,大家有興趣可以翻牆去看。

http://yuandongtian.blogspot.com/2016/10/notes-on-deepminds-3rd-nature-paper.html


等待了一天,居然沒有人來回答這個問題。我來說說自己的看法。

首先,這篇論文的第一作者Alex Graves是 RNN 之父 Jürgen Schmidhuber 的學生。Jürgen Schmidhuber 在1997年和他的學生(另外一位)一起提出了LSTM(Long Short Term Memory),通過加入一個「可微分」的存儲結構的方式,解決了RNN在處理長的時間序列的時候的梯度消失的問題(通俗說就是不能記住很早以前的事情)。可微分意味著可以通過梯度下降等方法進行訓練。Alex Graves作為他的學生,繼承了LSTM的思想,就是通過在神經網路中加入「可微分」的存儲結構,既解決了記憶的問題,又保留了神經網路的可訓練特性。並且這次的論文目標更進了一步,是朝著「通用智能」的目標邁進的一步,野心非常大。

現在形勢已經明顯,通用智能的關鍵是神經網路結構以及規模。規模背後是計算能力,這個隨著時間的推移都容易解決,瓶頸在於神經網路結構。DNC作為以通用智能為目標的神經網路結構的一種嘗試,有可能意義重大。LSTM在提出之後十多年,才獲得廣泛應用。可微分神經計算機(DNC)的重大意義可能也需要很長時間才能顯現,不過考慮到現在人工智慧,特別是深度學習的火熱程度,研究的力量投入巨大,今非昔比,也有可能很快會形成一個突破方向。對這方面的進展保持密切關注。

參考資料

1. Jürgen Schmidhuber和他的學生1997年的LSTM論文:http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf

2. 【Nature 重磅】谷歌 DeepMind 發布可微分神經計算機 DNC,深度學習推理能力或大幅提升

3. DNC論文原文:http://nature.com/articles/doi:10.1038/nature20101

4. Jürgen Schmidhuber關於通用智能的演講:Jürgen Schmidhuber


這兩天組裡對這個問題有一個系統的討論,我就討論結果談談自己的看法。

我們的觀點是:可微神經網路(DNC)是對Deep Learning泛化能力不強,可解釋性不強的一次很有益的嘗試與改進.

如果說DL在未來會面臨極大的瓶頸,以下三點必定是首當其衝要接受挑戰的:

  • 樣本量不足
  • 泛化能力不足
  • 可解釋性不夠

現階段,這三個問題的解決方案有很多重疊,其中在DL中加入記憶機制是同時提高泛化能力和可解釋性的一個方案。我一直很佩服DeepMind的地方在於,他在各個方面起到了一個開創性(挖坑)的作用,暫且不談它的宣傳能力,敢挖記憶這個大坑的人本來就少之又少。

一種是基於RNN,LSTM的門控結構,比如通過幾個RNN模塊複合的處理NLP問答的動態記憶網路DMN(Dynamic Memory Networks for Natural Language Processing)這些模型依然保有RNN的劣勢,沒有解決泛化能力弱的問題,可解釋性也沒有什麼提高,而且目前看來只能處理NLP。

其二就是基於外部記憶模塊的模型。這裡面有 @田淵棟 提到的 FB的MemNet([1410.3916] Memory Networks)和DeepMind的神經圖靈機NTM([1410.5401] Neural Turing Machines)和基於前者改進的可微神經計算機DNC。

增加外部記憶矩陣的一個好處是它把計算和存儲分離開來,傳統的神經網路,神經元間的權值信息既承擔著計算任務,又在一定程度上負擔著記憶的任務,這就導致上述的兩個問題:記憶會輕易被新的知識覆蓋導致多任務難以實行,泛化能力不強;記憶是隱含在權值中的隱式信息,對人類來講十分不直觀,解釋性弱。而外部矩陣的介入相當於使得計算和存儲分離開來,有點類似於現代計算機的CPU和Memory(內存),這也是為什麼它叫可微神經"計算機"。外部矩陣(External Memory Matrix)和運算控制模塊(Controller)的複雜交互能力決定了DNC比上一篇NTM有更強的問題表示能力。第二個好處是它可以顯式的表示數據結構,比如圖、樹等結構,對於結構明顯的問題,它的效果會很出色,比如倫敦地鐵和關係樹,可以做到多部連續推理也正是因為數據結構的合理表示。

第三種記憶機是面向連續學習的網路結構,依然是DeepMind的工作。2017年發表在Pnas上的彈性鞏固權重EWC([1612.00796] Overcoming catastrophic forgetting in neural networks)。這個工作是DeepMind上一篇連續學習網路PNN([1606.04671] Progressive Neural Networks)的後續,也為的是解決泛化問題,在相似任務的連續學習中取得了不錯的效果,有興趣的同學可以看一看。

DeepMind一直在做大多數研究者沒有做的事情。不論是大家不屑於做的事情還是沒有能力做的事情,AlphaGo, DNC, EWC還有最近和暴雪合作的SC2LE...私以為他們的研究都是非常有意義的(利益不相關)。

當然,這些模型離真正的「記憶」還差得老遠,DNC複雜冗餘,基於Attention的各種trick太多,而且是個電老虎(Energy Sink),非常有待進一步改進。EWC就更不用說了,只能解決類型相似的多任務問題,而且它還會出現記憶飽和,結構剛性化的情況。其實相比較而言,我覺得外部的記憶矩陣更接近於記憶機制的正確表達方法,因為這是實實在在的「結構」的改變,不再是在網路內部玩各種各樣的trick。這裡面還存在很多「元邏輯」,「先驗知識」的複雜Open Question,未來都需要納入DNC的考慮範圍內。


這個問題為毛沒人


現在缺乏一個對於Deep learning進行在一個數學上concrete的框架下進行建模的工作,應該可以使用一個模型來整合我們現在從不同角度出發對於這個系統特性的各種理解。個人認為必須採用直觀的幾何模型來完成,我正在做這個事情。


推薦閱讀:

C++里有哪些處理鍵盤和滑鼠消息的函數?如何使用?
給非計算機專業學生提供一份較為全面的書單以自學計算機專業知識,你有哪些好書值得推薦?
零基礎入行圖像演算法工程師需要學習哪些課程?
如何高質量得將紙質書轉換成PDF文檔?
我想問現在計算機培訓的那麼多,培訓3個月就出來造假3年工作經驗,讓我這種好好學習的氣不過,怎麼辦?

TAG:計算機技術 | 谷歌Google | 深度學習DeepLearning |