人類已經證明,大腦中的神經系統擁有為不斷適應外界環境的變化而改變自身結構的能力。大腦內部的突觸、神經元之間的連線可以由於學習和經驗的影響建立新的連線。
相應的,感官替代(sensory substitution)這一天賦也存在人類技能樹之中,例如有些天生失明的人能夠通過將影像轉換成聲音學會感知人體輪廓形狀的能力。
如果讓 AI 擁有這種能力,它也能像蝙蝠和海豚一樣,能夠利用其耳朵通過聲音和回聲來‘看’周圍的世界一樣。
近日,來自谷歌大腦的一篇題為“The Sensory Neuron as a Transformer: Permutation-Invariant Neural Networks for Reinforcement Learning” 的論文證明了強化學習擁有這種 “感官替代” 的能力。
具體而言,作者在論文中設計了一系列強化學習系統,其能夠將來自環境的每種感覺輸入(sensory inputs)到不相同,卻具有一定聯絡的神經網路中,值得一提的是,這些神經網路之間沒有固定的關係。研究表明,這些感覺網路可以通過訓練來整合本地收到的資訊,並且通過注意機制的交流,可以集體達成一個全域性一致的方案。
此外,即使在一個事件中,輸入順序被隨機地排列多次,該系統仍然可以執行其任務。
1、證明過程
現代深度學習系統通常無法適應感覺輸入的隨機重新排序,除非對模型進行重新訓練或者使用者為模型糾正輸入的順序。然而,meta-learning 這項技術,可以幫助模型適應這種變化。例如 adaptive weights、Hebbian-learning 和 model-based 等方法。
在論文中,作者研究的 agents 都有一個共同的特點:在執行任務時被用來處理感覺輸入,並將輸入突然隨機重新進行排序。受到與細胞自動機相關的自組織神經網路的最新發展的啟發,作者在實驗中將每個感覺輸入(可以是連續控制環境中的單個狀態,或者是視覺環境中的一塊畫素)輸入一個單獨的神經網路模組,該模組在一段時間內只整合來自這個特定感覺輸入通道的資訊。
在本地接收資訊的同時,這些單獨的感覺神經網路模組也不斷地廣播輸出資訊。參考 Set Transformer 架構,一個注意力機制將這些資訊結合起來,形成一個全域性的潛程式碼(global latent code),然後將其轉換為 agent 的行動空間。注意力機制可以被看作是神經網路適應性加權的一種形式,在這種情況下,允許任意數量的感覺輸入以任何隨機順序被處理。
實驗中,作者發現每個單獨的感覺神經網路模組,雖然只能接收到區域性資訊,但仍能共同產生一個全域性一致的策略,而且這樣的系統可以被訓練來執行幾個流行的強化學習(RL)環境中的任務。此外,作者設計的系統能夠以任何隨機排列的順序利用不同數量的感覺輸入通道,即使在一個 episode 中順序再次被重新排列。
如上圖 pong agent,即使在給它一個小的螢幕子集(30%),以一個重新排列的順序,也能繼續工作。
另一方面,鼓勵系統學習的置換不變的觀測空間的連貫性表示,會使 policies 更加穩健,泛化性更強。研究表明,在沒有額外訓練的情況下,即使加入含有噪聲或冗餘資訊的其它輸入通道,系統也能繼續運作。在視覺環境中,即使只給它一小部分從螢幕上隨機選擇的區塊,而在測試時,如果給它更多的區塊,系統可以利用額外的資訊來表現得更好。
作者還證明,儘管在單一的固定背景上進行訓練,系統還是能夠推廣到具有不同背景影像的視覺環境。最後,為了使訓練更加實用,作者提出了一個行為克隆(behavioral cloning)方案,將用現有方法訓練的策略轉換成具有理想特性的置換不變的策略。
圖注:方法概述
上圖的 AttentionNeuron 是一個獨立的層,其中每個感覺神經元只能訪問 “無序觀察(unordered observations)” 的一部分。結合 agent 的前一步動作,每個神經元使用共享函式,然後獨立生成資訊。
圖注:符號列表
在上述表格中,作者還提供了我們的模型中用於不同強化學習環境的維度,以使讀者瞭解系統中每一部分。
圖注:CartPoleSwingUpHarder 中的置換不變 agent
在上述演示中,使用者可以隨時重新排列 5 個輸入的順序,並觀察 agent 如何適應輸入的新順序。
演示地址:https://attentionneuron.github.io/
圖注:車杆測試
作者報告了每個實驗的 1000 個測試事件的平均得分和標準偏差。agent 只在有 5 個感覺輸入的環境中進行訓練。
圖注:置換不變的輸出
當作者按原樣輸入感測器陣列(頂部)或隨機重新排列陣列(底部)時,Attention Neuron 層的輸出(16 維全域性潛程式碼)不會改變。黃色代表較高的數值,而藍色代表較低的數值。
圖注:處理未指定數量的額外噪聲通道
在沒有額外訓練的情況下,agent 接收 15 個按重新排列後順序排列的輸入訊號,其中 10 個是純高斯噪聲(σ=0.1),另外 5 個是來自環境的實際觀察結果。像先前的演示一樣,使用者可以對 15 個輸入的順序進行重新排列,並觀察 agent 如何適應新的輸入順序。
圖注:注意力神經元層的輸出在測試情節中的二維嵌入
作者在圖中突出了幾個有代表性的組,並展示了它們的抽樣輸入。每個組我們顯示 3 個相應的輸入(行),並對每個輸入進行解堆以顯示時間維度(列)。
CarRacing 的基本任務(左),修改後的洗屏任務(右)。
作者的 agent 只在這個環境中訓練。如上圖所示,右邊的螢幕是 agent 觀察到的,左邊的是人類的視覺觀察到的。人類會發現用重新排列觀察的方式駕駛是非常困難的,因為人類沒有經常接觸到這樣的任務,就像前面提到的 “倒騎自行車” 的例子。
2、討論以及未來
在這項工作中,作者研究了深度學習 agents 的特性,這些 agents 可以把它們的觀察作為一個任意排序的、可變長度的感覺輸入列表。通過獨立地處理每個輸入流,並使用注意力整合處理後的資訊。即使觀測的順序在一個 episode 中被隨機地改變了多次,而且沒有進行訓練,agents 仍然可以執行任務。我們在下表中報告了每個環境的效能對比結果。
在展開的工作中重新梳理觀測結果
在每個 episode 中,作者每隔 t step 重新打亂順序觀察。CartPole 任務差異較大,因此對它測試了 1000 次。其他任務,報告了 100 次測試的平均值和標準偏差。除了 Atari Pong,所有環境都有每集 1000 step 的硬性限制。在 Atari Pong 中,雖然不存在一集的最大長度,但觀察到,每個 episode 通常持續 2500 step 左右。
通過打亂 agent 排序,甚至是不完整的觀測資訊,可以驅動它解釋每個區域性感覺輸入的意義以及它們與全域性的關係,這在目前的許多應用中都有實際用途。例如,當被應用於機器人時,可以避免由於交叉佈線或複雜的動態輸入 – 輸出對映而產生的錯誤。類似於 CartPole 實驗的設定,加上額外的噪聲通道,可以使一個收到成千上萬的噪聲輸入通道的系統識別出具有相關資訊的小的通道子集。
侷限性在於,對於視覺環境,patch size 的選擇會影響效能和計算的複雜性。作者發現 6×6 畫素的 patch size 在任務中很有效,4×4 畫素的 patch size 在某種程度上也可發揮效用,但單個畫素的觀察卻不能發揮作用。小的 patch size 也會產生一個大的注意力矩陣,除非使用近似值,否則計算成本可能會過高。
另一個限制是,排列組合不變的特性只適用於輸入,而不適用於輸出。雖然觀測結果的排序可以以再次打亂,但行動的排序卻不能。為了使置換不變的輸出發揮作用,每個環節都需要來自環境的反饋以便學習自身和環境之間的關係,包括獎勵資訊。
一個頗為有趣的未來研究方向是使行動層也具有相同的屬性,並將每個運動神經元建模為一個使用注意力連線的模組。有了作者的方法,就有可能訓練一個具有任意數量的 agent,或者用一個單一的被提供了一個獎勵訊號作為反饋的 policy 控制具有不同形態的機器人。此外,在這項工作中,作者設計的方法接受以前的行動作為反饋訊號。然而,反饋訊號並不侷限於行動。作者表示,其期待看到未來的工作包括環境獎勵等訊號,不僅能適應觀察到的環境變化,還能適應自身的變化,以訓練置換不變的 meta-learning agents。