神經導航簡介 - 論deepmind最新文章
來自專欄混沌巡洋艦12 人贊了文章
今年深度學習和人工智慧的發展, 一直以視覺為主線, 自然語言為側翼, 而有一個十分基本但很少人提及的問題, 就是導航。 因為即使阿法狗可以打敗李世石,機器靠自己的知覺來在一個空間尋找目標, 依然是比較困難的。
我們在深度學習的早期, 就知道, 越是人類看起來像空氣一樣存在的認知功能, 對於機器時間反而艱難, 比如之前的視覺, 這個問題遠比讓機器做計算,下象棋要困難, 也僅僅在2012年後得到突破。 空間里的探索和導航(當然還有更困難的意識和動機的產生等,在我們對知覺和運動都沒搞清楚得情況,那些就更難了)是另一個例子。 我們司空見慣的空間概念由於已經刻畫在我們的頭腦里了, 所以我們不再覺得這件事情的非同尋常。 而一旦你閉上眼睛在屋子走一走,比如去找廁所, 你就會發現它是多麼的不容易。
當然導航在高科技根本算不上人工智慧問題,如果你有gps一切都只是一個路徑規劃問題。 但是沒有, 問題就不再簡單了,你想想古人類花了多少時間才走出非洲,走到世界?
這, 也就是我們今天的主題,在沒有gps的情況下,如何讓人工智慧體同通過感知和行為,形成對空間的認知,然後達到目的地。
一 , 師法自然, 動物是如何導航的
我們圍繞感知和運動來談導航問題, 你要先有感知外界環境信號的能力才談的上空間探索, 視覺當然是第一位的,但是其它的感知比如聽覺, 磁場等也等可以作為好的信號。例如魚類利於太陽感知,鴿子利用地磁場, 蜜蜂利用偏振光。 無論哪一點,空間的認識都是從感知作為起點。你就拿你自己為例, 你要去學校食堂, 其實基本上就是看到教學樓往右拐, 操場往左拐, 僅此而已, 這裡的關鍵, 就是看。
除了看 ,第二個要素就是知道自己的運動, 動物需要知道自己在往哪裡走, 走了多遠, 而不能像喝酒的醉漢一樣四處亂走而不知道走到了哪裡。比如當你自己看導航去找目標, 你會看到前進300米往右, 500米往左這種, 那你能夠完成這個過程 , 首先是要能夠感知自己的運動, 知道自己在往哪個方向走,.
那麼導航的第二個基礎, 就是自己開始覺察到自己的運動,並且相對的度量它, 這裡就自然包含了記憶,說白了就是得知道自己大概走了多遠, 沒有這個要素, 你是不能知道自己其實是向東走了500步.
這兩個要素緊密結合, 你知道自己走了多少步, 並且感知到周圍環境的變化, 把這個步數和相應的物體聯繫在一起, 你就可以得到一個概念, 那就是學校操場往右多少步是食堂, 往左多少步是教學樓, 這就好比一個心中的地圖了。
這些要素就像機器學習所說的空間探索的基礎元素, 而那個地圖就是空間探索的高級特徵。 就像像素是圖像數據的基礎元素, CNN從基礎的像素里提取出構成圖像的更有代表性的下一級特徵,如紋理, 物體的不同性質的部分。 而此處,神經網路的挑戰是從剛剛講的感知和行為里提取出和空間有關的基礎特徵- 並構成某種程度一個虛擬和地圖.
看看生物神經網路是怎麼做的, 科學家一直覺得這個虛擬的地圖應該存在在生物神經網路之中,還就真的發現了在小鼠海馬體及其周邊組織, 存在一組叫做place cell的細胞群,這個東西簡直就是一個地圖, 小鼠走到哪裡, 就有一個對應那個位置的細胞(及其周邊細胞)開始fire。神經科學家任務這個虛擬的大腦地圖是小鼠能夠在迷宮裡不至迷惑的關鍵了。
這還不是全部, 神經科學家接著在這組細胞的上游(輸入端)發現了一組叫做grid cell的細胞,中文名譯作柵格細胞。 什麼叫柵格細胞? 我們通常用感受野來描述細胞的發放, 也就針對不同的信號輸入的每個細胞的平均放電率(衡量細胞的敏感性)。 這裡的不同信號就是位置, 科學家發現: 柵格細胞的感受野所呈現的形狀是一種類似與六邊形柵格的結構,它們不像placecell那樣僅僅對一個地點放電,而是對空間里周期性排布的位置進行放電,猶如一張展開的六邊形網路。 可以說具有非常明顯的空間周期性。(也就是說當你在一個空間里行走,某個細胞會依次在你往特定方向行走了特定距離後開始放電)。 整個柵格細胞層里的細胞每一個細胞都具有不同的空間周期性(邊長不同), 但是排布的形狀都是六邊形 。 而且這樣的空間周期很穩定, 即使小鼠在一個黑暗的環境里 ,這層柵格細胞也可以準確的反應, 而當換到一個新的環境以後, 它又會根據新的環境產生新的感受野, 雖然每個細胞對應的位置變了, 但是柵格的整體形狀不變 。 不同的柵格細胞對應不同周期的柵格, 整個柵格網路層就成為一個具有很多不同周期的六邊形網路的集合。
這個柵格細胞說的是每個細胞只對特定的空間位置敏感,把這些敏感位置組合起來(紅色點),形成一個六邊形的網狀結構。
一個需要驗證的科學假設, 就是這組神秘的柵格網路, 正是構成由place cell「位置」 這個高層概念的基底(底層特徵), 如同圖像物體這樣的高級特徵是由邊角輪廓這樣的底層特徵構成是相似的。 事實上這一點是有著強大的物理基礎的。 我們可以對空間域信號進行和時間域信號類似的傅里葉分解, 那麼一個對空間某個固定位置敏感的細胞(place cell)分解之後正好得到一個個不同頻率的周期柵格 (詳情看傅里葉分解), 反過來,就是把不同頻率的傅里葉級數(grid cell)加和起來就可以得到一個定點的信號。
為什麼要這麼麻煩? 你不是表示一個位置就得了嗎? 還要一個六邊形? 這裡得關鍵是我們得位置細胞不僅要對一個環境中的特定位置編碼, 更要對所有可能環境中的位置編碼。 比如說你的某個細胞既要能表達北京王府井又要表示上海東方明珠。 這樣我們就需要一個強大有效的特徵表示, 可以很快的對新的環境空間重新進行位置編碼, grid cell 構成的六邊形基地正是這個表示, 某種程度,它們代表了空間的基礎性質, 是從完全真實空間里抽象來的.
這個原理其實有點像量子力學裡, 任何具有特定位置的質點都可以看作不同周期的波函數疊加而來, 這些波一組基底。 此處, 冥冥之中,量子力學和神經科學在握手。
二.,關於deepmind的那個人工智慧體
好了 , 我們來說說AI吧, 關於deepmind這次做成的人工智慧體,其實故事沒有那麼精彩, 因為它無非是之前建立好的神經導航模塊上加入了這個類似動物的柵格細胞群落, 然後得到了更好的導航性能。
如果要你來設計這樣一個人工智慧體, 你會如何做呢?
對了, 設計一個虛擬的大腦 – 神經網路, 讓他做和生物類似的處理, 剛剛講的探索的兩個要素 - 視覺感知, 運動記憶, 要用我們的深度神經網路來綜合在一起, 然後用強化學習來訓練, 如同訓練動物一樣。這個模型就是深度學習與極強悍的強化學習框架 – actor-critic的結合. 。 強化學習就是根據獎勵學習, 這與訓練小鼠在迷宮裡行走得設定其實是相似的, 你要得到隱藏在空間某個角落裡的乳酪, 就是學習空間導航。 強化學習就要有狀態(觀測),行為,策略,獎勵。從觀測到行為的過程是由人工智慧體配備的人工神經網路完成的, 也就是這個虛擬生物的神經中樞。 它根據行為體對四周的觀測(視野內的物體),得到一個決策行為(速度),比如向北走50米這種。這個神經網路一開始只知道進行隨機遊走,而只有在規定時間達到目標的時候它才會得到獎勵, 通過強化學習的過程, 它可以學習到在空間里綜合各種感知和運動信息的正確行為的方法。
這個方法被稱為actor-critic, 是深度強化學習里一種非常強大的方法,所謂的actor- 行為者, 指的是一個產生人工智慧體行為的神經網路, 它不停的對每個時刻所觀測到的信息得到最優的行為(概率表示),而這個行為, 要被另一個神經網路- 所謂的critic檢驗, critic評估每個行為最終可能得到的收益,好比一個批評家。 並根據每一步驟下獎勵的情況調整這個收益的估計(TD學習)。 兩者結合起來, actor不停的大膽提可能的最優行為, 然後critic不停的指出這個行為到底是好是壞,兩者的一個動態博弈將導致行為越來越優化, 這個方法可謂結合了強化學習兩大分支策略梯度和態函數的重大優勢。當你的行為產生一個後果(獎勵或懲罰), 行動者actor和批評者critic都會被改進。 比如當某一次人工智慧體成功得到了獎勵, 行為者會直接提高中間所有行動的權值, 而評估者會提高中中級過程那些動作的評估分數, 這些最終都體現在神經網路權重的更新上.
所謂的深度強化學習, 是除了訓練方法外, 神經網路的基礎都是深度學習的基礎工具. 我們所強調的空間導航的第一要素視覺, 它看到周圍的環境, 這個圖像由CNN卷積網路解決, 它得到的圖像特徵, 和人工智慧運動的速度一起, 輸入到下一個網路. 這就是我剛剛描述的導航需要視覺和運動兩方面信息綜合的思想. 大家能否猜到這個網路究竟是何物呢? 它就是用於自然語言處理的利器 - 時序神經網路RNN。 RNN具有記憶功能, 因此它滿足我們剛說的導航第二要素 - 運動記憶。 我們在此處使用了RNN的加強版 – LSTM 了. LSTM一方面收集運動的速度, 一方面收集由CNN傳過來的感知信號.
如此, 是否我們的」虛擬老鼠」 可以像真的老鼠一樣走迷宮呢? 答案是否定的, 單純的強化學習能夠讓agent進行空間探索, 但是其行為確顯得有點笨拙, 比如說如果空間里出現了一條新的捷徑到達目標, 它是比較難使用這樣的信號的.
而讓這個笨拙變得聰明的最關鍵一步, 也是deepmind新論文的亮點,是加入了類似於海馬柵格細胞這樣的空間表示,最終得到了十分類似真實動物走迷宮的那種能力。 這就真的是在師法自然了。
但是這個裝配動物柵格細胞的過程可不是直接複製粘貼就可以, 我們依然用學習的方法, 把普通的神經網路訓練成柵格網路. 這個想法也是十分合理的, 如果柵格網路這個東西是生物導航的依靠, 那麼它很可能從空間預測有關的學習里自發的演化出來. Deepmind 設定了這樣一個任務, 就是讓人工智慧的虛擬生物不停的在迷宮裡行走, 但這次它不需要尋找獎勵, 而是直接預測它自己所在的位置, 這個預測工作同樣是由主管時序記憶的神經網路– LSTM + 一層普通的前向網路構成的, 這個LSTM的輸入是每一時刻人工智慧體的速度, 然後最終由前向網路輸出當下的位置. 明眼人一下子就看出來這實際需要的就是個路徑積分啊, 你需要把每個時刻的速度加和在一起,就得到新的位置. 在這個任務之上, 這個前向網路居然演化出了和自然界的grid cell(柵格細胞)真假難辨的感受野。
加入grid之後的人工智慧再多方面都顯得更為聰明, 一個很有意思的行為現象是, 裝配了空間表示的人工智慧體可以很好的利用空間里的「捷徑」 , 就如同人類可以通過走小路來抄近路,這個現象證明了人工智慧體具有某種對空間的「理解「。 這個抄小路的能力, 就有點像導航界的圖靈測試。
此處我們就可以把整個任務的流程圖拉出來了, 視覺由CNN承擔, 然後, 柵格細胞組的LSTM負責接收速度, 得是包含位置信息的神經編碼,再和之前說的另一個LSTM, 那個決定下一步速度的決策中樞(actor-critic), 結合在一起, 這就是整個過程。
這篇文章的精彩處在於我們利用監督學習得到了和生物真實使用類似的關鍵特徵, 然後在用一個深度強化學習得到正確的行為, 可謂把認知和決策完美結合了起來.
整個流程可以牛逼哄哄的被一個端對端的計算圖表達.
雖然被吹的玄乎其玄, 我們其實就是在做一個空間運動有關的特徵工程, 所謂對位置信息恰當的神經編碼, 給決策網路來使用, 這樣, 無論這個agent到了什麼樣的環境里 ,它都可以利用它學到的這個絕技, 來對陌生的空間進行定位和學習,適應那些環境的新變化, 利用捷徑等.
這樣的一門技術在現實的應用之大是顯然的, 比如所有的機器人運動控制問題. 而這個方法也啟示我們, 那些辛苦神經生物博士所做的看起來用處不大的研究里, 對人工智慧的啟發可以多麼巨大。
推薦閱讀:
TAG:認知科學 | 人工智慧 | 深度學習DeepLearning |