0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DeepMind最新提出“神經(jīng)算術(shù)邏輯單元”,旨在解決神經(jīng)網(wǎng)絡(luò)數(shù)值模擬能力不足的問題

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-08-05 09:54 ? 次閱讀

DeepMind最新提出“神經(jīng)算術(shù)邏輯單元”,旨在解決神經(jīng)網(wǎng)絡(luò)數(shù)值模擬能力不足的問題。與傳統(tǒng)架構(gòu)相比,NALU在訓練期間的數(shù)值范圍內(nèi)和范圍外都得到了更好的泛化。論文引起大量關(guān)注,本文附上大神的Keras實現(xiàn)。

在昆蟲、哺乳動物和人類等許多物種的行為中,表示和操縱數(shù)值的能力都是顯而易見的。這表明基本的定量推理是智能intelligence)的一個基本組成部分。

雖然神經(jīng)網(wǎng)絡(luò)能夠在給出適當?shù)膶W習信號的情況下成功地表示和操縱數(shù)值量,但它們學習的行為通常不會表現(xiàn)出系統(tǒng)的泛化。具體來說,當在測試時遇到訓練時使用的數(shù)值范圍之外的數(shù)值時,即使目標函數(shù)很簡單(例如目標函數(shù)僅取決于聚合計數(shù)或線性外推),也經(jīng)常會出現(xiàn)失敗。

這種失敗表明,神經(jīng)網(wǎng)絡(luò)學習行為的特點是記憶,而不是系統(tǒng)的抽象。觸發(fā)外推失敗的輸入分布變化是否具有實際意義,取決于訓練過的模型將在何處運行。然而,有相當多的證據(jù)表明,像蜜蜂這樣簡單的動物都能夠表現(xiàn)出系統(tǒng)的數(shù)值外推(numerical extrapolation)能力,這表明基于數(shù)值的系統(tǒng)化推理具有生態(tài)學上的優(yōu)勢。

DeepMind、牛津大學和倫敦大學學院的多名研究人員最新發(fā)表的論文“Neural Arithmetic Logic Units”,旨在解決這個問題。研究人員開發(fā)了一種新的模塊,可以與標準的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(如LSTM或convnet)結(jié)合使用,但偏向于學習系統(tǒng)的數(shù)值計算。他們的策略是將數(shù)值表示為沒有非線性的單個神經(jīng)元。對于這些single-value的神經(jīng)元,研究人員應(yīng)用能夠表示簡單函數(shù)的運算符(例如 +, - ,×等)。這些運算符由參數(shù)控制,這些參數(shù)決定用于創(chuàng)建每個輸出的輸入和操作。盡管有這樣的組合特征,但它們是可微的,因此可以通過反向傳播來學習。

摘要

神經(jīng)網(wǎng)絡(luò)可以學習表示和操作數(shù)值信息,但它們很少能很好地推廣到訓練中遇到的數(shù)值范圍之外。為了支持更系統(tǒng)的數(shù)值外推(numerical extrapolation),我們提出一種新的架構(gòu),它將數(shù)值表示為線性激活函數(shù),使用原始算術(shù)運算符進行操作,并由學習門(learned gates)控制。

我們將這個模塊稱為神經(jīng)算術(shù)邏輯單元(neural arithmetic logic unit, NALU),參照自傳統(tǒng)處理器中的算術(shù)邏輯單元。實驗表明,NALU增強的神經(jīng)網(wǎng)絡(luò)可以學習跟蹤時間,對數(shù)字圖像執(zhí)行算術(shù)運算,將數(shù)字語言轉(zhuǎn)化為實值標量,執(zhí)行計算機代碼,以及對圖像中的對象進行計數(shù)。與傳統(tǒng)架構(gòu)相比,我們在訓練期間的數(shù)值范圍內(nèi)和范圍外都得到了更好的泛化,外推經(jīng)常超出訓練數(shù)值范圍幾個數(shù)量級之外。

這篇論文一經(jīng)發(fā)表即引起很多關(guān)注,有人認為這篇論文比一眼看上去要更重要,Reddit用戶claytonkb表示:“結(jié)合最近的D2NN,我們可以構(gòu)建超低功耗的芯片,可以在恒定時間計算超級復雜的函數(shù),我們很快就會轉(zhuǎn)向異構(gòu)計算架構(gòu)?!?/p>

很快有大神在Keras做出了NALU網(wǎng)絡(luò)的實現(xiàn),感受一下:

https://github.com/kgrm/NALU

神經(jīng)累加器和神經(jīng)算術(shù)邏輯單元

算術(shù)邏輯單元(Arithmetic Logic Unit, ALU)是中央處理器的執(zhí)行單元,是所有中央處理器的核心組成部分,由與門和或門構(gòu)成的算數(shù)邏輯單元,主要功能是進行二進制的算術(shù)運算,如加減乘。

在這篇論文中,研究者提出兩種能夠?qū)W習以系統(tǒng)的方式表示和操作數(shù)字的模型。第一種方法支持累加積累量(accumulate quantities additively)的能力,這是線性外推的理想歸納偏差。這個模型構(gòu)成了第二個模型的基礎(chǔ),即支持乘法外推(multiplicative extrapolation)。該模型還說明了如何將任意算術(shù)函數(shù)的歸納偏差有效地合并到端到端模型中。

第一個模型是神經(jīng)累加器(Neural Accumulator,NAC),它是線性層的一種特殊情況,其變換矩陣W僅由-1,0和1組成;也就是說,它的輸出是輸入向量中行的加法或減法。這可以防止層在將輸入映射到輸出時更改數(shù)字表示的比例,這意味著無論將多少個操作鏈接在一起,它們在整個模型中都是一致的。我們通過以下方式鼓勵W內(nèi)的0,1和-1來改善簡單線性層的歸納偏差。

由于硬約束強制W的每個元素都是{-1,0,1}中的一個,這會使學習變得困難,我們提出W在無約束參數(shù)方面的連續(xù)和可微分參數(shù)化:。 這種形式便于用梯度下降進行學習,并產(chǎn)生矩陣,其元素保證在[-1,1]并且偏向接近-1,0或1。

圖2:神經(jīng)累加器(NAC)是其輸入的線性變換。 變換矩陣是tanh(W)和σ(M)的元素乘積。 神經(jīng)算術(shù)邏輯單元(NALU)使用兩個帶有綁定權(quán)重的NAC來啟用加/減(較小的紫色cell)和乘法/除法(較大的紫色cell),由門(橙色的cell)控制

雖然加法和減法使得許多有用的系統(tǒng)泛化成為可能,但是可能需要學習更復雜的數(shù)學函數(shù)(例如乘法)的強健能力。 圖2描述了這樣一個單元:神經(jīng)算術(shù)邏輯單元(NALU),它學習兩個子單元之間的加權(quán)和,一個能夠執(zhí)行加法和減法,另一個能夠執(zhí)行乘法,除法和冪函數(shù),如。 重要的是,NALU演示了NAC如何通過門控子操作進行擴展,從而促進了新類型數(shù)值函數(shù)的端到端學習。

NALU由兩個NAC單元(紫色單元)組成,這兩個單元由學習的S形門g(橙色單元)內(nèi)插,這樣如果加/減子單元的輸出值應(yīng)用權(quán)重為1(on),則乘法/除法子單元為0(off),反之亦然。 第一個NAC(較小的紫色子單元)計算累加向量a,存儲NALU的加法/減法運算的結(jié)果; 它與原始NAC的計算方式相同(即a = Wx)。 第二個NAC(較大的紫色子單元)在對數(shù)空間中運行,因此能夠?qū)W習乘法和除法,將結(jié)果存儲在m:

總之,這個單元可以學習由乘法,加法,減法,除法和冪函數(shù)組成的算術(shù)函數(shù),其推斷方式是在訓練期間觀察到的范圍之外的數(shù)字。

實驗和結(jié)果

我們在多個任務(wù)領(lǐng)域(合成、圖像、文本和代碼)、學習信號(監(jiān)督學習和強化學習)和結(jié)構(gòu)(前饋和循環(huán))進行實驗。結(jié)果表明,我們提出的模型可以學習捕獲數(shù)據(jù)潛在數(shù)值性質(zhì)的表示函數(shù),并將其推廣到比訓練中觀察到的數(shù)值大幾個數(shù)量級的數(shù)值。我們還觀察到,即使不需要外推,我們的模塊相對于線性層也顯示出優(yōu)越的計算偏差。在一種情況下,我們的模型在誤差率上超過了最先進的圖像計數(shù)網(wǎng)絡(luò)54%。

任務(wù)1:簡單的函數(shù)學習任務(wù)

表1:靜態(tài)和循環(huán)任務(wù)的插值和外推誤差率。

任務(wù)2;MNIST計數(shù)和算術(shù)任務(wù)

表2:長度為1,10,100和1000的序列的MNIST計數(shù)和加法任務(wù)的準確度。

結(jié)果顯示,NAC和NALU都能很好地推斷和插值。

任務(wù)3:語言到數(shù)字的翻譯任務(wù)

表3:將數(shù)字串轉(zhuǎn)換為標量的平均絕對誤差(MAE)比較。

圖3:對先前未見過的查詢的中間NALU預(yù)測。

圖3顯示了隨機選擇的測試實例中NALU的中間狀態(tài)。 在沒有監(jiān)督的情況下,模型學會跟蹤當前token的未知數(shù)的合理估計,這允許網(wǎng)絡(luò)預(yù)測它以前從未見過的token。

程序評估

圖4:簡單的程序評估,外推到更大的值。

我們比較了三種流行的RNN(UGRNN,LSTM和DNC),結(jié)果顯示即使域增加了兩個數(shù)量級,外推也是穩(wěn)定的。

學習在網(wǎng)格世界環(huán)境中跟蹤時間

圖5 :(上)Grid-World環(huán)境中時間跟蹤任務(wù)的幀。 智能體(灰色)必須在指定時間移動到目的地(紅色)。 (下)NAC提高了A3C智能體所學到的外推能力。

MNIST奇偶校驗預(yù)測任務(wù)和消融研究

表4:關(guān)于MNIST奇偶校驗任務(wù)的affine層和NAC之間的消融研究。

表4總結(jié)了變體模型的性能。結(jié)果顯示,去除偏差并對權(quán)重應(yīng)用非線性顯著提高了端到端模型的準確性,即使大多數(shù)參數(shù)不在NAC中,NAC將先前最佳結(jié)果的誤差減少了54%。

結(jié)論

目前神經(jīng)網(wǎng)絡(luò)中數(shù)值模擬的方法還不夠完善,因為數(shù)值表示方法不能推廣到訓練中觀察到的范圍之外。我們已經(jīng)展示了NAC和NALU是如何在廣泛的任務(wù)領(lǐng)域中糾正這兩個缺點的,它促進了數(shù)字表示和在訓練過程中觀察到的范圍之外的數(shù)值表示函數(shù)。然而,NAC或NALU不太可能是每個任務(wù)的完美解決方案。相反,它們舉例說明了一種通用設(shè)計策略,用于創(chuàng)建具有針對目標函數(shù)類的偏差的模型。這種設(shè)計策略是通過我們提出的單神經(jīng)元數(shù)值表示(single-neuron number representation)來實現(xiàn)的,它允許將任意(可微的)數(shù)值函數(shù)添加到模塊中,并通過學習門控制,正如NALU在加法/減法和乘法/除法之間實現(xiàn)的那樣。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:DeepMind重磅:神經(jīng)算術(shù)邏輯單元,Keras實現(xiàn)

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    matlab 神經(jīng)網(wǎng)絡(luò) 數(shù)學建模數(shù)值分析

    matlab神經(jīng)網(wǎng)絡(luò) 數(shù)學建模數(shù)值分析 精通的可以討論下
    發(fā)表于 09-18 15:14

    神經(jīng)網(wǎng)絡(luò)教程(李亞非)

    源程序  4.3 旅行商問題(TSP)的HNN求解  Hopfield模型求解TSP源程序  第5章 隨機型神經(jīng)網(wǎng)絡(luò)  5.1 模擬退火算法  5.2 Boltzmann機  Boltzmann機模型
    發(fā)表于 03-20 11:32

    神經(jīng)網(wǎng)絡(luò)簡介

    神經(jīng)網(wǎng)絡(luò)簡介
    發(fā)表于 08-05 21:01

    求助大神關(guān)于神經(jīng)網(wǎng)絡(luò)的問題

    求助大神 小的現(xiàn)在有個難題: 一組車重實時數(shù)據(jù) 對應(yīng)一個車重的最終數(shù)值(一個一維數(shù)組輸入對應(yīng)輸出一個數(shù)值) 這其中可能經(jīng)過均值、方差、去掉N個最大值、、、等等的計算 我的目的就是弄清楚這個中間計算過程 最近實在想不出什么好辦法就打算試試
    發(fā)表于 07-14 13:35

    容差模擬電路軟故障診斷的小波與量子神經(jīng)網(wǎng)絡(luò)方法設(shè)計

    作者:李云紅0 引言自20世紀70年代以來,模擬電路故障診斷領(lǐng)域已經(jīng)取得了一定的研究成果,近年來,基于神經(jīng)網(wǎng)絡(luò)技術(shù)的現(xiàn)代模擬電路軟故障診斷方法已成為新的研究熱點,神經(jīng)網(wǎng)絡(luò)的泛化
    發(fā)表于 07-05 08:06

    卷積神經(jīng)網(wǎng)絡(luò)如何使用

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡(luò)在工程上經(jīng)歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發(fā)表于 07-17 07:21

    【案例分享】基于BP算法的前饋神經(jīng)網(wǎng)絡(luò)

    `BP神經(jīng)網(wǎng)絡(luò)首先給出只包含一個隱層的BP神經(jīng)網(wǎng)絡(luò)模型(兩層神經(jīng)網(wǎng)絡(luò)): BP神經(jīng)網(wǎng)絡(luò)其實由兩部分組成:前饋神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 07-21 04:00

    【案例分享】ART神經(jīng)網(wǎng)絡(luò)與SOM神經(jīng)網(wǎng)絡(luò)

    今天學習了兩個神經(jīng)網(wǎng)絡(luò),分別是自適應(yīng)諧振(ART)神經(jīng)網(wǎng)絡(luò)與自組織映射(SOM)神經(jīng)網(wǎng)絡(luò)。整體感覺不是很難,只不過一些最基礎(chǔ)的概念容易理解不清。首先ART神經(jīng)網(wǎng)絡(luò)是競爭學習的一個代表,
    發(fā)表于 07-21 04:30

    人工神經(jīng)網(wǎng)絡(luò)實現(xiàn)方法有哪些?

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種類似生物神經(jīng)網(wǎng)絡(luò)的信息處理結(jié)構(gòu),它的提出是為了解決一些非線性,非平穩(wěn),復雜的實際問題。那有哪些辦法能實現(xiàn)人工神經(jīng)
    發(fā)表于 08-01 08:06

    如何設(shè)計BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法?

    ,并能在腦海中重現(xiàn)這些圖像信息,這不僅與人腦的海量信息存儲能力有關(guān),還與人腦的信息處理能力,包括數(shù)據(jù)壓縮能力有關(guān)。在各種神經(jīng)網(wǎng)絡(luò)中,多層前饋神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 08-08 06:11

    如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡(luò)是一種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預(yù)測的計算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)包括:輸入層:根據(jù)現(xiàn)有數(shù)據(jù)獲取輸入的層隱藏層:使用反向傳播優(yōu)化輸入變量權(quán)重的層,以提高模型的預(yù)測
    發(fā)表于 07-12 08:02

    基于BP神經(jīng)網(wǎng)絡(luò)的PID控制

    最近在學習電機的智能控制,上周學習了基于單神經(jīng)元的PID控制,這周研究基于BP神經(jīng)網(wǎng)絡(luò)的PID控制。神經(jīng)網(wǎng)絡(luò)具有任意非線性表達能力,可以通過對系統(tǒng)性能的學習來實現(xiàn)具有最佳組合的PID控
    發(fā)表于 09-07 07:43

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    神經(jīng)網(wǎng)絡(luò)的思想起源于1943年McCulloch 和 Pitts 提出神經(jīng)元模型[19],簡稱 MCP 神經(jīng)元模 型。它是利用計算機來模擬
    發(fā)表于 08-02 10:39

    神經(jīng)網(wǎng)絡(luò)基本介紹

    神經(jīng)網(wǎng)絡(luò)基本介紹,人工神經(jīng)網(wǎng)絡(luò)(簡稱神經(jīng)網(wǎng)絡(luò),Neural Network)是模擬人腦思維方式的數(shù)學模型。 神經(jīng)網(wǎng)絡(luò)是在現(xiàn)代生物
    發(fā)表于 12-06 15:07 ?0次下載

    卷積神經(jīng)網(wǎng)絡(luò)和bp神經(jīng)網(wǎng)絡(luò)的區(qū)別

    不同的神經(jīng)網(wǎng)絡(luò)模型,它們在結(jié)構(gòu)、原理、應(yīng)用等方面都存在一定的差異。本文將從多個方面對這兩種神經(jīng)網(wǎng)絡(luò)進行詳細的比較和分析。 引言 神經(jīng)網(wǎng)絡(luò)是一種模擬人腦神經(jīng)元連接和信息傳遞的計算模型,它
    的頭像 發(fā)表于 07-02 14:24 ?4510次閱讀