DeepMind在締造了AlphaGo(“阿爾法狗”)后,在人工智能方面又有新突破。他們開發(fā)的“可微分神經(jīng)計(jì)算機(jī)”(DNC),具有獨(dú)立學(xué)習(xí)的能力。這種模型模仿生物的神經(jīng)網(wǎng)絡(luò),與可讀寫的外部存儲(chǔ)結(jié)構(gòu)結(jié)合,能像神經(jīng)網(wǎng)絡(luò)那樣調(diào)用記憶,通過訓(xùn)練和試錯(cuò)學(xué)習(xí),也能像普通計(jì)算機(jī)一樣處理復(fù)雜數(shù)據(jù)。

DeepMind在最近一期《自然》雜志上發(fā)表論文,展現(xiàn)其研究成果。論文稱,DNC已有能力在沒有現(xiàn)成知識(shí)的情況下,規(guī)劃出最佳的倫敦地鐵線路,或根據(jù)符號(hào)語言所描述的目標(biāo)來解決方塊拼圖問題。以下是DeepMind發(fā)布的博客原文和《自然》雜志相關(guān)內(nèi)容,由鈦媒體記者SophieTang綜合編譯。
最近,我們?cè)凇蹲匀弧冯s志上發(fā)表了一份研究,介紹名為“可微分神經(jīng)計(jì)算機(jī)”(differentiable neural computer,DNC)的深度強(qiáng)化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。我們?cè)谘芯恐姓故玖薉NC如何學(xué)習(xí)使用其記憶,回答有關(guān)復(fù)雜結(jié)構(gòu)數(shù)據(jù)的問題,比如人工生成的故事、家譜,甚至是倫敦地鐵線路圖。此外,DNC還能通過強(qiáng)化學(xué)習(xí),解決方塊游戲難題。

柏拉圖曾把記憶力比作蠟板,上面一旦刻了字,就能永久保存。柏拉圖用一個(gè)比喻來解釋“可塑性”,即人們可以塑造或重塑自己的想法。但我們的記憶,除了存儲(chǔ)內(nèi)容外,還能夠形成聯(lián)系,相互連接。
英國(guó)哲學(xué)家約翰洛克相信,如果記憶是在臨近的時(shí)間段和空間里形成的,那么它們就可以相連。除了蠟板以外,最著名的比喻就是馬塞爾普魯斯特的瑪?shù)律彽案饬耍ㄒ粋€(gè)成年人只要嘗一口年幼時(shí)吃過的甜點(diǎn),童年回憶就如洪水一樣涌現(xiàn))?,F(xiàn)在我們知道,片段式記憶(或稱事件記憶)依靠的是海馬體。
時(shí)至今日,人類對(duì)記憶的比喻變得更為精煉。記憶對(duì)我們來說不再是蠟板,而是一種可塑的過程。在這個(gè)過程中,特定的片段組成你的經(jīng)歷,而這些記憶的片段可以重組。
另外,行為與記憶之間的關(guān)系是可變的,而非“刺激—反應(yīng)”這樣么簡(jiǎn)單。它怎么變,與事件的背景與處理事件的優(yōu)先級(jí)別相關(guān)。
舉個(gè)例子來說,如果記得倫敦地鐵圖,就能回答以下兩個(gè)有相同答案的問題:“怎么從Piccadilly Circus站去Moorgate站?”和“如果選一條和NorthernLine線相鄰的線向北走,怎樣才能到Moorgate站?”可見,記憶的內(nèi)容可以和記憶的使用被分開。
另一種觀點(diǎn)認(rèn)為,記憶經(jīng)過整理之后,可以用于計(jì)算。它更像是樂高玩具,人們可以根據(jù)問題重組記憶。
神經(jīng)網(wǎng)絡(luò)在圖形認(rèn)知方面表現(xiàn)出色,反應(yīng)快速,決策及時(shí),而我們才剛開始建立能緩慢思考的神經(jīng)網(wǎng)絡(luò),這種網(wǎng)絡(luò)能有目的,或理性地運(yùn)用知識(shí)。比如,讓它儲(chǔ)存像交通運(yùn)輸網(wǎng)這種信息,隨后有邏輯、合理地思考這些碎片化知識(shí),并回答問題。
我們?cè)谧罱l(fā)表的論文中闡述,如何結(jié)合神經(jīng)網(wǎng)絡(luò)和記憶系統(tǒng),造出這一種能快速儲(chǔ)存并靈活解讀知識(shí)的學(xué)習(xí)型機(jī)器。這些被我們成為DNC(differentiable neural computers)的機(jī)器,可以像神經(jīng)網(wǎng)絡(luò)一樣學(xué)習(xí),還可以像電腦一樣存儲(chǔ)復(fù)雜數(shù)據(jù)。
一臺(tái)普通電腦的處理器可以通過RAM讀寫信息。RAM給了處理器更多的空間來整理計(jì)算過程中的信息。儲(chǔ)存臨時(shí)信息的空間被稱為變量,被存在記憶卡上。對(duì)電腦來說,設(shè)置一個(gè)儲(chǔ)存數(shù)字的變量很簡(jiǎn)單,建立數(shù)據(jù)結(jié)構(gòu)也不難,因?yàn)樽兞恐g都有關(guān)聯(lián)。
最簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)之一是列表,列表中,變量按順序排列。一種更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)是樹狀結(jié)構(gòu),如家譜,順著孩子就能找到父母,以及他們和祖先之間的聯(lián)系。最復(fù)雜且綜合的數(shù)據(jù)結(jié)構(gòu)是圖表,如倫敦地鐵圖。
我們?cè)O(shè)計(jì)DNC的初衷,是讓機(jī)器獨(dú)自學(xué)習(xí)建立復(fù)雜數(shù)據(jù)結(jié)構(gòu),并解決相關(guān)問題。DNC的核心是一個(gè)叫“控制器(controller)”的神經(jīng)網(wǎng)絡(luò),它的功能與電腦處理器類似??刂破髫?fù)責(zé)輸入、解讀、書寫記憶,并回答相關(guān)問題,它的“記憶”由一系列儲(chǔ)存臨時(shí)信息的空間構(gòu)成。
控制器可以進(jìn)行數(shù)個(gè)記憶操作。每時(shí)每刻,控制器都在決定是否寫入內(nèi)存。選擇書寫的話,信息就被存儲(chǔ)到全新的地方,或一個(gè)控制器找的地方。這樣,控制器就能隨時(shí)隨地更新存儲(chǔ)空間的內(nèi)容。如果所有的記憶空間都滿了,控制器也可以選擇清空,正如電腦可以換個(gè)地方放置無用的數(shù)據(jù)。
控制器寫入記憶,就是把一個(gè)矢量單位信息輸送到選定的記憶空間。一旦寫入信息,不同的記憶空間都會(huì)存在聯(lián)系,這種聯(lián)系就是存儲(chǔ)信息的順序。
控制器除了寫入信息外,還可以解讀儲(chǔ)存在不同區(qū)間的記憶,通過搜索,利用現(xiàn)有的聯(lián)系,順序或逆序回憶已寫入的信息。被解讀過的信息可以直接回答某個(gè)問題,或?qū)δ硞€(gè)問題作出反應(yīng),采取行動(dòng)。總的來說,這些操作令DNC有能力分配記憶空間、存儲(chǔ)記憶信息,并快速搜索記憶。

神經(jīng)網(wǎng)絡(luò)控制器接受外部信息。DNC儲(chǔ)存的是“已有關(guān)聯(lián)”,“已有關(guān)聯(lián)”能幫控制器搜索記憶
非專業(yè)讀者看來,我們重復(fù)用“控制器能夠……”,“DNC決定做……”的措辭挺奇怪的,但這是因?yàn)?,DNC是從0開始學(xué)習(xí)使用記憶、回答問題。我們把DNC的回答拿去和正確答案作比較,于是,控制器不斷優(yōu)化自己,給出與正確答案越來越接近的答案。在此過程中,控制器也學(xué)會(huì)了如何使用自己的記憶。
我們想問DNC和數(shù)據(jù)結(jié)構(gòu)相關(guān)的問題,以此測(cè)試它的能力。圖表數(shù)據(jù)是一個(gè)很好的測(cè)試手段,因?yàn)樗0艘恍┛梢员蝗我庀噙B的數(shù)據(jù),并形成路徑和周期。我們的論文表明,DNC可以通過自主學(xué)習(xí),解釋一張圖表,并回答與之相關(guān)的問題。
向DNC描述過倫敦地鐵圖后,我們問它,“搭乘Central Line線,從Bond Street站出發(fā),坐一站,換乘Circle Line線坐四站,再搭Jubilee Line線坐兩站,最后你在哪里出站?”我們也會(huì)讓DNC計(jì)劃路線,問它“怎么從Moorgate站到Piccadilly Circus站?”

DNC在接受訓(xùn)練時(shí)使用的是隨意生成的圖表(左)。訓(xùn)練以后,我們?cè)贉y(cè)試DNC能否在倫敦地鐵圖中找到合適的路線(右)。我們用多組三個(gè)詞來描述地鐵圖,并用兩個(gè)任務(wù)來舉例:“橫向往返運(yùn)動(dòng)”,即DNC從站點(diǎn)開始,按一定順序的路線行走;“最短路線”,也就是DNC要找到兩個(gè)站點(diǎn)之間最短的線路。
利用一份家譜,我們展示了DNC可以回答需要做復(fù)雜運(yùn)算的問題。比方說,即使我們僅提供了父母、孩子以及兄弟姐妹之間的信息,也可以問DNC“誰是Freya媽媽那邊的叔父?”現(xiàn)在我們可以看到controller讀取的是哪個(gè)記憶區(qū)間的信息,以此分析DNC如何使用其記憶。和DNC相比,之前傳統(tǒng)神經(jīng)網(wǎng)絡(luò)要么沒法存儲(chǔ)信息,要么就是不會(huì)學(xué)習(xí)解讀數(shù)據(jù),舉一反三。

DNC回答有關(guān)家譜的問題
我們還可以通過強(qiáng)化學(xué)習(xí)來訓(xùn)練DNC。我們讓DNC對(duì)一個(gè)問題作出反應(yīng),但不會(huì)告訴它正確答案。一旦它的反應(yīng)令人滿意,我們就會(huì)給它打高分?;蚴亲孌NC面對(duì)一些彩色磚堆,給它指令:“把淺藍(lán)格子放到綠格子底下;橙色格子移到紅色格子的右邊;紫色的弄到橙色的下面;淺藍(lán)色的放深藍(lán)色右邊;綠色格子扔紅色格子底下;紫色格子放綠色格子的左邊。”

DNC解決移動(dòng)方塊游戲的問題。
我們可以創(chuàng)建許多可實(shí)現(xiàn)的目標(biāo),再讓神經(jīng)網(wǎng)絡(luò)來執(zhí)行任務(wù),達(dá)成目標(biāo)。在這種情況下,就像一臺(tái)電腦,DNC能夠記住好幾條線索,不同線索和某個(gè)特定目標(biāo)相關(guān),DNC可以執(zhí)行這些任務(wù)。
人類記憶如何運(yùn)作是一個(gè)古老的問題,我們對(duì)它的理解還不完全。我們希望DNC能夠?yàn)殡娔X科學(xué)提供新手段,也為認(rèn)知科學(xué)、神經(jīng)科學(xué)提供一個(gè)新的模型:這是一臺(tái)學(xué)習(xí)機(jī)械,無需提前編程,也可以整理信息,讓信息和事實(shí)相聯(lián)系,并且利用這些信息解答問題。