有記憶會推理的可微分神經計算機,DeepMind把代碼開源了

DeepMind公司去年10月份在《Nature》雜誌發表了一篇文章,名為“Hybrid computing using a neural network with dynamic external memory”,發佈了一項人工智能的最新成果,描述了一種結合神經網絡與計算機優點於一體的混合學習型神經網絡,既能像神經網絡那樣進行學習,又能像計算機那樣處理複雜數據。

其相關代碼近日已在GitHub上公佈,該公司強調任何出版物只要引用了此源代碼研究的成果,都必須按照標準格式引用上述文章。

原理介紹

可微分神經計算機(Differentiable Neural Computer,DNC)是一種特殊的循環神經網絡。在每個迭代週期裡,其狀態包含的信息由當前存儲器內容和存儲器使用的輔助信息共同構成,並且可以在時間t內將當前輸入通過線性變換映射到輸出上。這種神經網絡通過集合RNNCore模塊,改變原有神經網絡的結構,將不同模塊首尾相接,來測試新網絡結構的性能。

其Access模塊是可微分神經計算機做出邏輯判斷的主要位置,因為這是存儲器寫入和讀取的地方。在每個迭代週期裡,Access模塊的輸入是一個由控制器傳遞來的向量,其輸出是從存儲器中讀取的相關內容。其進一步加入了兩個新的RNNCore模塊:模塊TemporalLinkage用來跟蹤信息在存儲器中寫入的順序,Freeness用來跟蹤哪些信息在存儲器中被寫入以後沒有及時釋放,記錄存儲器對應位置。以上這些功能都定義在addresses.py中。

其controller模塊控制著存儲器訪問路徑。通常情況下,這個模塊只是一個前饋LSTM網絡或是深層LSTM網絡,其輸入是在那個時刻整個循環神經網絡的輸入,與在前一個迭代週期裡Access模塊中讀取存儲器的輸出相連。

其dnc模塊只是簡單地對Access模塊和controller模塊進行包裝,並形成整體結構裡的基本RNNCore單元。這些功能被定義在dnc.py中。

有記憶會推理的可微分神經計算機,DeepMind把代碼開源了

圖1:DNC的結構

訓練過程

實現可微分神經計算機需要安裝TensorFlow庫和Sonnet庫。我們提供了一個網絡訓練的腳本示例,此算法可以用於循環複製一個給定的輸入字符串。這可以從python中用命令行進行執行:

$ ipython train.py

當然您可以直接選定訓練過程的參數,包括模型參數和優化器參數:

$ python train.py —memory_size = 64 –num _bits = 8 —max_length = 3

#在ipython下執行

$ ipython train.py - —memory_size = 64 —num_bits = 8 —max_length = 3

您需要定期保存結果以及檢查程序運行狀況,因為在默認情況下該模型會被禁用。要想持續啟用,請檢查checkpoint_interval的數值。當checkpoint_interval的值設置為10000時,說明此程序將確保每10,000個訓練步驟後創建一個檢查點。在默認情況下,該模型將會被保存到tmp / tf / dnc /。我們可以加載該文件來恢復訓練,也可以使用checkpoint_dir標誌來指定一個備用檢查點的目錄。需要注意的是,在使用不同的模型參數恢復訓練之前,要確保已經刪除/ tmp / tf / dnc / 路徑下的文件,以避免由於網絡參數不一致導致的錯誤。

更一般地說,在dnc.py中定義的DNC類可以用作TensorFlow rnn的標準內核,並在任何時序訓練任務上用TensorFlow rnn ops來展開,如tf.nn.dynamic_rnn函數。

相關背景

研究者在論文中還提到,“可微分神經計算機”能夠成功理解複雜的圖形結構,比如家譜圖或者是交通網絡。在實驗中,它可以在沒有現成知識的情況下,規劃出最佳的倫敦地鐵線路,或根據符號語言所描述的目標來解決方塊拼圖問題。

DNC有大腦(內存),會從錯誤中學習,能進行推理,已經有點像人了。

“DeepMind”公司成立於2010年,創始人之一為被稱作“AlphaGo之父”的Demis Hassabis,他也是“可微分神經計算機”的研發者之一。目前DeepMind公司正在幫助谷歌展開一場全新的人工智能革命。

代碼地址:https://github.com/deepmind/dnc

=========

招聘

我們正在招募編輯記者、運營等崗位,工作地點在北京中關村,期待你的到來,一起體驗人工智能的風起雲湧。

相關細節,請在公眾號對話界面,回覆:“招聘”兩個字。

One More Thing…

今天AI界還有哪些事值得關注?在量子位公眾號會話界面回覆“今天”,看我們全網蒐羅的AI行業和研究動態。筆芯~

另外,歡迎加量子位小助手的微信:qbitbot,如果你研究或者從事AI領域,小助手會把你帶入量子位的交流群裡。

相關推薦

推薦中...