編譯 高斯寒
人類的大腦中共有860億個神經元在并行工作,處理來自感官和記憶的輸入信息,實現(xiàn)人類認知的眾多絕技。其他生物的大腦不是這么能干的多面手,但那些生物常常展現(xiàn)出對于特定任務的內在天資,這是數(shù)百萬年的進化打磨出的能力。
我們之中多數(shù)人都早已見過動物做聰明的事情。或許你家養(yǎng)的寵物是一名逃脫高手;也許你住在鳥兒或蝴蝶的遷徙路線附近,慶祝它們每年的歸來;或者你對螞蟻鍥而不舍地一直侵入你家食品儲藏室的行為感到過驚奇。
關注這類特殊的神經系統(tǒng),并將其作為人工智能(AI)的模型,可能會被證明與研究人類大腦同樣有價值??紤]一下你家食品儲藏室里的那些螞蟻的大腦。每只螞蟻的大腦擁有大約25萬個神經元。更大型的昆蟲擁有將近100萬個神經元。我在位于阿爾伯克基的桑迪亞國家實驗室從事的研究中,以一種較大型的昆蟲——蜻蜓的大腦為研究對象。我和同事們希望能利用蜻蜓的專長來設計出對于某些任務最優(yōu)化的運算系統(tǒng),譬如攔截來襲的導彈或追蹤氣味煙羽(odor plume)。通過利用蜻蜓神經系統(tǒng)的高速、簡潔和高效,我們旨在設計出能更快履行這些功能的計算機,而且能耗僅僅為常規(guī)系統(tǒng)消耗量的一小部分。
將蜻蜓當作未來計算機系統(tǒng)的先驅來關注也許看起來反直覺。那些被新聞報道的人工智能和機器學習的進展通常都是模仿人類智慧、甚至超越人類能力的算法。神經網絡早已在某些特定任務(譬如在醫(yī)學掃描中偵測癌癥)中就算不是比人類更出色,也是和人類干得一樣好。這些神經網絡算法的潛能遠遠超越視覺處理。通過自我對弈來訓練的計算機程序阿爾法零(AlphaZero)是全世界最厲害的圍棋手。與它師出同門的AI阿爾法星(AlphaStar)居于最優(yōu)秀的“星際爭霸II”選手之列。
然而,這些成就有所代價。開發(fā)這些復雜系統(tǒng)需要大量的處理能力,一般只有擁有最高速的超級計算機和支持它們資源的一流研究機構才可利用那些系統(tǒng),而且能耗讓人不禁卻步。近期的估測指出,開發(fā)和訓練一個自然語言處理算法的過程產生的碳排放量超出四輛汽車在其生命周期內的總碳排放量。
但是,人工神經網絡真的需要那么龐大、那么復雜才能派上用場嗎?我認為并非如此。為了在不久的將來獲得由神經啟發(fā)的計算機帶來的好處,我們必須找到簡潔性和復雜性之間的折中方案。
假如你早已遇見過蜻蜓,那么你早已知道這些美麗的生物急速飛行時有多快,你也見識過它們在空中讓人難以置信的敏捷性。在隨意的觀察中不太容易獲知蜻蜓絕佳的獵食能力:蜻蜓追逐獵物時的捕捉成功率有95%之高,每天要吃掉數(shù)百只蚊子。
蜻蜓的體魄肯定沒有被人忽視。數(shù)十載以來,美國的科研機構已經試驗了將從蜻蜓獲得啟發(fā)的設計方案用于監(jiān)視用無人機?,F(xiàn)在是時候將我們的注意力轉向控制這個小型“捕獵機器”的蜻蜓大腦了。
蜻蜓也許不會玩圍棋這種策略性游戲,但蜻蜓確實在獵食時展現(xiàn)出一種策略,它會提前瞄準獵物的當前位置,從而攔截住它的“晚餐”。這需要讓運算進行得極快才行——通常蜻蜓只需要50毫秒就對獵物的機動動作做出反應,開始轉向。它這么做的同時,還會追蹤頭部與身體之間的角度,這樣它知道要把哪側的翅膀撲扇得更快,好搶在獵物之前轉向。蜻蜓也會追蹤自身的運動,因為隨著蜻蜓轉向,蜻蜓所觀察到的獵物位置會有變動。
蜻蜓只需大約50毫秒就能開始對獵物的機動動作做出反應。假如我們假定眼睛里的細胞偵測到獵物和傳遞獵物相關信息耗時10毫秒,肌肉開始產生力耗時5毫秒,這樣就僅剩下35毫秒來讓神經回路進行計算??紤]到一個神經元通常要耗費至少10毫秒來整合輸入信息,底層神經網絡至少有三層的深度
因此,考慮到一個神經元將所有輸入信息整合起來(被稱為膜時間常數(shù))所需時間超過10毫秒,蜻蜓的大腦正在完成一項引人注目的壯舉。假如你將眼睛處理視覺信息和肌肉產生運動所需力的時間包含進來,那么余下的時間其實只夠三層、也許四層神經元依次將熟悉信息加總處理后,再把信息傳遞給下一環(huán)。
我能不能構建一個像蜻蜓攔截系統(tǒng)一樣運作的神經網絡?我也尋思這樣由神經啟發(fā)的攔截系統(tǒng)的用途。我在從事國家安全研究的桑迪亞國家實驗室工作,立刻就考慮起國防應用,譬如導彈防御的用途,設想未來的導彈擁有旨在快速計算攔截軌道、又不會影響導彈起飛總重或能耗的彈載系統(tǒng)。但是,也能想到民間應用。譬如說,控制無人駕駛汽車的算法可以被改造得更高效,不再需要大量計算設備。假如由蜻蜓啟發(fā)的系統(tǒng)能進行計算并繪制出攔截軌道,那么全自動無人機或許能利用它來避免碰撞。假如計算機能做得像蜻蜓大腦一樣?。ù蠹s6立方毫米),那么或許未來某一天驅蚊水和蚊帳會變成過時之物,取而代之的是微型滅蟲無人機!
我開始解答這些問題,創(chuàng)造出一個簡單的神經網絡來代替蜻蜓的神經系統(tǒng),用它來計算蜻蜓如何拐彎才能捉到獵物。我構建的三層神經網絡是一種軟件模擬。一開始,我只是在Matlab軟件內構建程序,因為它是我早已在用的編程環(huán)境。此后,我將模型遷移到Python語言平臺。
因為蜻蜓得要看見獵物才能捕捉獵物,于是我首先模擬出蜻蜓眼睛的簡化版本,抓取追蹤獵物所需的最少細節(jié)。雖然蜻蜓有兩只眼睛,但一般公認蜻蜓并不利用立體景深感知來估量自身與獵物的距離長短。在我構建的模型中,我沒有模擬兩只眼睛,也沒有試圖去趕上蜻蜓眼睛的分辨率。相反地,神經網絡的第一層包括441個神經元,代表來自眼睛的輸入信息,每個神經元描述視野內的一塊特定區(qū)域——這些區(qū)域平鋪在一起,形成21×21的神經元陣列,覆蓋蜻蜓的視野。隨著蜻蜓轉向,獵物影像在蜻蜓視野內的位置也會改變。蜻蜓計算要讓獵物影像與這些“眼睛”神經元中的一個(或者多個神經元,假如獵物足夠大的話)對準的話需要如何轉向。第二組441個神經元也在神經網絡的第一層內,負責告訴蜻蜓哪些眼睛神經元應當與獵物影像對準,也就是說,獵物應該會出現(xiàn)在蜻蜓視野內的何處。
在完全學分制環(huán)境下,授課教師面臨很多新問題和挑戰(zhàn)。大學生的創(chuàng)新意識和創(chuàng)新能力是高等教育人才培養(yǎng)的重要內容。大學第二課堂——實踐類教學活動是實現(xiàn)學生創(chuàng)新能力培養(yǎng)的關鍵。本文將創(chuàng)新實踐類課程授課分為課前視頻學習、課堂訓練內化、課后固化三個層次。創(chuàng)新實踐課程經過翻轉后,增加了師生、生生互動和個性化接觸時間,課堂成為學生進行項目訓練、解決問題的場所,學生在“做中學”中理解與應用理論、學習理論,最大限度地完成知識內化。
計算處理發(fā)生在我的人工神經網絡的第一層和第三層之間,輸入的信息描述了物體掠過視野的運動,處理后得出蜻蜓需要朝哪個方向轉向的指令。我在第二層中使用了194 481(21的四次方)個神經元組成的陣列,很可能比蜻蜓對于這個任務所用到的神經元數(shù)量多得多。我預先計算了系統(tǒng)中所有神經元之間連結的權重。雖然神經網絡可以通過足夠長時間的學習來獲知這些權重,但通過進化和預編程神經網絡架構“學習”具有優(yōu)勢。蜻蜓結束若蟲期,成為有翼成蟲(專業(yè)的稱呼是幼嫩期)后,并沒有父母喂養(yǎng)它或者向它演示如何捕蟲。蜻蜓處于脆弱的狀態(tài),逐漸適應新軀體——假如它得要同時琢磨捕獵策略的話,那會不利于它生存。我設置網絡的權重,允許蜻蜓模型根據(jù)輸入的視覺信息,計算攔截獵物所需的正確轉向。要怎樣轉向呢?呃,假如一只蜻蜓想要捕捉一只與它路線交叉的蚊子,那么它不能光瞄準蚊子。借用冰上曲棍球選手韋恩?格雷茨基(Wayne Gretzky)的昔日說法,蜻蜓得要瞄準蚊子將會出現(xiàn)的地方。你也許認為遵循格雷茨基的建議需要有復雜的算法,但事實上這個策略相當簡單:蜻蜓所需要做的,就是將它觀察獵物的視線和固定參考方向之間的角度維持不變。
有過操縱船只經驗的讀者會明白背后道理。他們知道,當他們觀察另一艘船的視線與參考方向(比如正北方向)之間的角度保持不變時,他們該擔憂起來,因為兩艘船在相撞航線上。長期以來,海員們一直避免使用這種被稱為“平行航行”的航線來防止相撞。
將這番道理轉用到蜻蜓身上,蜻蜓想要與獵物相撞的方法很簡單:讓觀察獵物的視線與某個外部參考之間的角度保持不變。然而,當蜻蜓俯沖轉向、收集“晚餐”時,這項任務不一定微不足道。蜻蜓體內沒有不管蜻蜓如何轉向都維持恒定方向并提供參考的陀螺儀(據(jù)我們所知)。蜻蜓也沒有永遠會指向北方的磁性羅盤。在我對蜻蜓捕食的簡化版模擬中,蜻蜓轉向后將獵物影像與眼睛的特定位置對準,但它需要計算出那個位置該是什么。
我模擬的神經網絡的第三層(也是最后一層)是運動指令層。這一層的神經元輸出信息是對于蜻蜓肌肉的高級指令,告訴蜻蜓該轉向哪個方向。蜻蜓也利用這一層的輸出信息來預測它自己的機動動作對于獵物影像在其視野中位置的影響,并相應地更新預測位置。這種更新使得蜻蜓在接近獵物時能夠讓它觀察獵物的視線相對于外部世界保持恒定。
蜻蜓這種生物可能已經進化出額外的工具來幫助進行這種預測所需的計算。譬如說,蜻蜓擁有專門測量飛行中軀體旋轉和頭部相對于軀體旋轉的傳感器——假如這些傳感器足夠快,那么蜻蜓能根據(jù)傳感器輸出值來直接計算它自身運動對獵物影像的影響,或者用一種計算方法來交叉檢驗另一種方法。我在模擬中沒有考慮這個可能性。
為了測試這個三層神經網絡,我模擬一只蜻蜓和它的獵物在三維空間內以相同速度移動。同時,我所建模的神經網絡大腦“看見”獵物,計算要指向哪個方向來讓獵物影像保持在恒定角度,再發(fā)送適當?shù)闹噶罱o肌肉。我能夠展示這個蜻蜓大腦的簡單模型確實能成功攔截其他昆蟲,甚至是沿著曲線或半隨機路徑行進的獵物。不過,模擬的蜻蜓并沒有完全達到生物學上蜻蜓的捕獵成功率,它也沒有具備蜻蜓為人所知的所有優(yōu)勢(譬如說,蜻蜓令人驚異的飛行速度)。
要確定這個神經網絡是否真的吸收了蜻蜓大腦的所有奧秘,需要做更多研究工作。霍華德?休斯醫(yī)學研究所位于弗吉尼亞州的珍利亞科研園區(qū)里,那兒的科研人員已經研發(fā)出用于蜻蜓身上的微型背包,能夠在蜻蜓飛行時測量蜻蜓神經系統(tǒng)發(fā)出的電信號,傳回這些數(shù)據(jù)用于分析。這些“蜻蜓背包”尺寸小到不會干擾蜻蜓獵食。相似地,神經科學家已經能夠在蜻蜓被靜止固定住時——但通過向蜻蜓呈現(xiàn)適當?shù)囊曈X提示,讓蜻蜓以為自己在移動,創(chuàng)造出蜻蜓尺度下的虛擬現(xiàn)實——記錄下蜻蜓大腦內單個神經元發(fā)出的信號。
這些數(shù)據(jù)使得神經科學家能夠將蜻蜓大腦模型的活動和真實蜻蜓中的生物神經元的活動模式作比較,從而驗證蜻蜓大腦模型。盡管我們還不能直接測量蜻蜓大腦內神經元之間的單一連結,我和同事們將能夠推斷蜻蜓的神經系統(tǒng)做的計算和我的人工神經網絡所預測的結果是否相似。那會幫助確定蜻蜓大腦內的神經元連結是否類似于我預先計算的神經網絡權重。我們無可避免地會發(fā)現(xiàn),我們的模型在某些方面與實際的蜻蜓大腦不同?;蛟S這些區(qū)別會提供線索,讓我們知道蜻蜓大腦走了哪些捷徑來加速計算。
這個“蜻蜓背包”能從插入蜻蜓大腦的電極中抓取信號,由珍利亞科研園區(qū)的一名科研團隊帶頭人安東尼?萊昂納多(Anthony Leonardo)研發(fā)
蜻蜓也能教會我們如何在計算機中實現(xiàn)“關注”。你可能知道你的大腦全神貫注時有什么感覺,你完全專心一志,聚焦于一項任務,達到其他讓你分心的事似乎都逐漸消失的程度。蜻蜓同樣能集中注意力。它的神經系統(tǒng)能夠放大對于特定的、大概是挑選出來的目標的反應,甚至在同個視野內能看見其他潛在獵物時依然如故。一旦一只蜻蜓決定好追逐一只特定獵物,它只有在捕捉第一選擇失敗之后,才會改變目標。(換句話說,假如你很容易就分心,采用平行導航法來捕捉獵物沒有用。)
即使我們最終發(fā)現(xiàn)蜻蜓引導注意力的機制在復雜性上比不上人類在擁擠的咖啡廳里聚精會神的機制,一個更簡單但能耗更低的機制依然可能會證明對于下一代算法和計算機系統(tǒng)有益處,因為它提供了拋棄無關輸入信息的高效方式。
研究蜻蜓大腦的好處并不只是新算法,它們也能影響系統(tǒng)設計方案。蜻蜓的眼睛很敏捷,運作速度相當于每秒200幀:那是人類視覺速度的好幾倍。但蜻蜓的空間分辨率相對較差,大概只有人眼空間分辨率的1/100。蜻蜓雖然視覺感知能力有限,卻能如此高效地獵食。弄懂這背后的原因,就能提出設計更高效系統(tǒng)的方法。以導彈防御問題來說,蜻蜓的例子表明,我們的快速光學傳感反導彈系統(tǒng)要擊中目標的話,可能需要較低的空間分辨率。
蜻蜓并非現(xiàn)今唯一一種可以為神經啟發(fā)的計算機設計方案提供幫助的昆蟲。君主斑蝶的遷徙路線長得讓人難以置信,它們利用某種天生固有的本能在適當?shù)臅r候開始遷徙旅程,飛往正確的方向。我們知道,君主斑蝶的遷徙依賴太陽的位置,但依靠太陽來導航需要掌握時間。假如你是一只飛往南方的君主斑蝶,你會希望上午太陽在你的左邊,而到下午時太陽出現(xiàn)在你的右側。于是,為了設定路線,蝴蝶大腦必須讀出自身的晝夜節(jié)律,再將這個信息與它觀察到的情況相結合。
其他昆蟲(譬如撒哈拉沙漠蟻)必須行走相對遠的距離來覓食。它一旦發(fā)現(xiàn)食物源,不會簡單地沿原路返回巢穴,因為那很可能是一條迂回的路線。相反地,螞蟻會計算出一條直接返回巢穴的路線。因為螞蟻食物源的位置每天都不一樣,螞蟻必須能記住它覓食時所走的路線,將視覺信息和某種體內行進距離測量的數(shù)據(jù)相結合,然后從那些記憶中計算出它的回巢路線。
雖然沒人知道沙漠蟻體內是什么神經回路完成這項任務,但珍利亞科研園區(qū)的研究人員已經確定了使得果蠅能利用視覺路標自我定向的神經回路。沙漠蟻和君主斑蝶很可能利用相似的機制。這類神經回路可能有朝一日能在低耗能無人機上派上用場。
假如昆蟲啟發(fā)下的計算效率達到極高程度,這些專門組件的數(shù)百萬個實例能夠并行運行,從而支援更強大的數(shù)據(jù)處理或機器學習,那時會如何?下一代的“阿爾法零”可不可能合并數(shù)百萬個類似螞蟻的覓食架構來完善它的對弈?或許昆蟲會啟發(fā)出新一代的計算機,那些計算機在外形上與我們現(xiàn)在的計算機截然不同?一批蜻蜓攔截之類的算法能夠用來控制游樂園機動游戲設施的移動部件,確保車輛甚至在復雜且刺激的疾駛中也不會相撞(很像領航員操縱船只)。
沒人知道下一代的計算機會是什么模樣,是否會是有機體與無機物相結合的半機械人同伴,或者是像艾薩克?阿西莫夫(Isaac Asimov)筆下馬爾蒂瓦克(Multivac)那樣的集中式資源。同樣地,沒人能說出開發(fā)這些平臺的最佳路徑需要有什么??蒲腥藛T從人類大腦汲取靈感,開發(fā)出早期神經網絡,而現(xiàn)在的人工神經網絡常常依賴與大腦截然不同的運算。研究生物神經回路中的單個神經元的運算——目前只可以在非人類系統(tǒng)里直接辦到——也許會教會我們更多東西。昆蟲看似簡單,但它們所能做到的事常常令人驚訝,對下一代計算機的發(fā)展可做的貢獻很大,尤其是隨著神經科學研究繼續(xù)前進,我們對于生物神經回路的運作機制理解得更為深入。
所以,下次當你看見一只昆蟲做一些聰明的事情時,想象一下如果你有一支由小小的蜻蜓、蝴蝶或螞蟻組成的小軍隊任你調遣,如果你能擁有它們的高效率,它會對你的日常生活帶來什么影響。也許未來的計算機會給“蜂群思維”這個術語賦予新的含義,擁有大量高度專業(yè)化且極其高效的微處理器,能夠根據(jù)手頭的任務進行重新配置和部署。憑借現(xiàn)今神經科學取得的進展,這看似幻想的未來可能比你想象中更加接近現(xiàn)實。
資料來源IEEESpectrum