「電腦革命」蜻蜓大腦的神經(jīng)回路,可能是未來(lái)的導(dǎo)彈系統(tǒng)演算法!
溫馨提示:很多手機(jī)瀏覽器,比如百度app,都可以語(yǔ)音播報(bào)本網(wǎng)頁(yè)。方法打開(kāi)本網(wǎng)頁(yè)之后,點(diǎn)擊 APP下方或上方"功能"按鈕,里面有一個(gè)"語(yǔ)音播報(bào)"按鈕,點(diǎn)擊即可收聽(tīng)。
蜻蜓善于狩獵,成功率高達(dá)95%。
看到獵物后,蜻蜓可以只花50 毫秒就發(fā)起攻擊,扣掉眼睛感測(cè)與控制肌肉的時(shí)間,蜻蜓的大腦只有35 毫秒可以思考。相較于高等哺乳類動(dòng)物,蜻蜓的大腦小的多,耗能也少,卻能夠執(zhí)行高效率的運(yùn)算,那蜻蜓的大腦是如何運(yùn)算的?能為人類的演算法與電腦帶來(lái)什么啟示?
多雨的夏季,蜻蜓最為常見(jiàn),這些美麗的生物的飛行速度極快,狩獵能力也極為出色:蜻蜓狩獵的成功率捕獲了高達(dá)95% ,它們一天可以吃掉數(shù)百只蚊子。
這種狩獵能力吸引了不少研究者的注意,幾十年來(lái),各國(guó)機(jī)構(gòu)都在嘗試將蜻蜓設(shè)計(jì)用于監(jiān)視無(wú)人機(jī)的設(shè)計(jì)中。不過(guò),桑迪亞國(guó)家實(shí)驗(yàn)室的計(jì)算神經(jīng)科學(xué)家Frances Chance 想要探尋的,是這個(gè)「微型狩獵機(jī)器」的大腦。
Frances 對(duì)蜻蜓的大腦能夠低功耗地完成高速計(jì)算的能力非常好奇,并就此展開(kāi)了一系列猜想和神經(jīng)網(wǎng)絡(luò)建構(gòu)。我們將她建構(gòu)神經(jīng)網(wǎng)絡(luò)的心得文章編譯如下,或許你也能從中獲得一些對(duì)神經(jīng)網(wǎng)絡(luò)的新思考。
參考蜻蜓大腦打造神經(jīng)網(wǎng)路,可望用于國(guó)防、自駕車領(lǐng)域
雖然蜻蜓的大腦可能無(wú)法進(jìn)行像「下圍棋」這樣的策略類游戲,但它們確實(shí)展示了一種戰(zhàn)略形式:在獵物到達(dá)當(dāng)前位置之前,就瞄準(zhǔn)、攔截它的「盤中餐」。這種預(yù)判力需要以極快的速度執(zhí)行計(jì)算——蜻蜓通常只需要50 毫秒就可以開(kāi)始轉(zhuǎn)動(dòng)以應(yīng)對(duì)獵物的動(dòng)作。它可以同時(shí)跟蹤頭部和身體之間的角度,以便知道哪個(gè)翅膀應(yīng)該更快地扇動(dòng),以在獵物前面轉(zhuǎn)動(dòng)。
考慮到單個(gè)神經(jīng)元將其所有輸入相加所需的時(shí)間(稱為膜時(shí)間常數(shù))超過(guò)10 毫秒,蜻蜓的大腦執(zhí)行的是一項(xiàng)非凡的工作。
蜻蜓只需要大約50 毫秒就開(kāi)始對(duì)獵物的動(dòng)作做出反應(yīng)。如果我們假設(shè)眼睛中的細(xì)胞需要10 毫秒來(lái)檢測(cè)和傳輸有關(guān)獵物的信息,另外5 毫秒讓肌肉開(kāi)始產(chǎn)生力量,那么神經(jīng)回路只剩下35 毫秒來(lái)進(jìn)行計(jì)算。鑒于單個(gè)神經(jīng)元通常需要至少10 毫秒來(lái)整合輸入,因此底層神經(jīng)網(wǎng)絡(luò)可以至少有三層深。
那么,人類可以建立一個(gè)像蜻蜓攔截系統(tǒng)一樣工作的神經(jīng)網(wǎng)絡(luò)嗎?
這種神經(jīng)網(wǎng)絡(luò)又有什么用途呢?
我首先想到的是防御上的應(yīng)用,例如導(dǎo)彈防御。
例如,讓未來(lái)的導(dǎo)彈快速計(jì)算攔截軌跡而不影響導(dǎo)彈重量或功耗的機(jī)載系統(tǒng)。
當(dāng)然也可能會(huì)有民用應(yīng)用,例如控制自動(dòng)駕駛汽車的演算法可能會(huì)變得更高效,不再需要大量的運(yùn)算設(shè)備。如果受蜻蜓啟發(fā)的系統(tǒng)可以執(zhí)行計(jì)算以繪制攔截軌跡,那么自主無(wú)人機(jī)或許可以使用它來(lái)避免碰撞。如果電腦可以制造成與蜻蜓大腦相同的大?。s6 立方毫米),也許有一天驅(qū)蟲(chóng)劑和蚊帳將成為過(guò)去,取而代之的是小型殺蟲(chóng)無(wú)人機(jī)!
打造神經(jīng)網(wǎng)絡(luò),模擬蜻蜓捕捉獵物的運(yùn)算過(guò)程
為了開(kāi)始回答這些問(wèn)題,我建立了一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)來(lái)代替蜻蜓的神經(jīng)系統(tǒng),并用它來(lái)計(jì)算蜻蜓捕捉獵物的轉(zhuǎn)彎。我的三層神經(jīng)網(wǎng)絡(luò)作為軟件模擬存在。最初,我在Matlab 中工作,因?yàn)槟鞘俏乙呀?jīng)在使用的代碼環(huán)境。之后,我將該模型移植到Python 中。
因?yàn)轵唑驯仨毧吹剿鼈兊墨C物才能捕捉到它,所以我首先模擬了蜻蜓眼睛的簡(jiǎn)化版本,捕捉了追蹤獵物所需的最少細(xì)節(jié)。雖然蜻蜓有兩只眼睛,但人們普遍認(rèn)為它們不使用立體深度感知來(lái)估計(jì)與獵物的距離。在我的模型中,我沒(méi)有對(duì)雙眼進(jìn)行建模,也沒(méi)有嘗試與蜻蜓眼睛相應(yīng)的解析度。相反,神經(jīng)網(wǎng)絡(luò)的第一層包括441 個(gè)代表眼睛輸入的神經(jīng)元,每個(gè)神經(jīng)元描述視野的一個(gè)特定區(qū)域——這些區(qū)域被平鋪以形成一個(gè)21×21 的神經(jīng)元陣列,覆蓋蜻蜓的視野。隨著蜻蜓轉(zhuǎn)動(dòng),獵物圖像在蜻蜓視野中的位置發(fā)生變化。蜻蜓計(jì)算將獵物的圖像與這些「眼睛」神經(jīng)元中的一個(gè)(或幾個(gè),如果獵物足夠大)對(duì)齊所需的輪數(shù)。第二組包含441 個(gè)神經(jīng)元,也在網(wǎng)絡(luò)的第一層,告訴蜻蜓哪些眼睛神經(jīng)元應(yīng)該與獵物的圖像對(duì)齊,即獵物應(yīng)該在其視野內(nèi)的哪個(gè)位置。
接收描述物體在視野中運(yùn)動(dòng)的輸入,并將其轉(zhuǎn)化為關(guān)于蜻蜓需要轉(zhuǎn)向哪個(gè)方向的指令計(jì)算,這類處理能力在我的人工神經(jīng)網(wǎng)絡(luò)的第一層和第三層之間進(jìn)行。
在第二層中,我使用了194,481 (21 4) 神經(jīng)元,可能比蜻蜓用于此任務(wù)的神經(jīng)元數(shù)量大得多。我預(yù)先計(jì)算了網(wǎng)絡(luò)中所有神經(jīng)元之間連接的權(quán)重。雖然這些權(quán)重可以用足夠的時(shí)間學(xué)習(xí),但通過(guò)進(jìn)化和預(yù)編程的神經(jīng)網(wǎng)絡(luò)架構(gòu)「學(xué)習(xí)」是有優(yōu)勢(shì)的。一旦它作為有成蟲(chóng)(技術(shù)上稱為天體)從若蟲(chóng)階段出來(lái),蜻蜓就沒(méi)有父母來(lái)喂養(yǎng)它或向它展示如何捕獵。蜻蜓需要適應(yīng)新的身體,同時(shí)思考狩獵策略。我設(shè)置了網(wǎng)絡(luò)的權(quán)重,以允許模型蜻蜓計(jì)算正確的轉(zhuǎn)彎,以從傳入的視覺(jué)信息中攔截它的獵物。
什么樣轉(zhuǎn)彎呢?例如一只蜻蜓想要抓住一只經(jīng)過(guò)的蚊子,它不能只瞄準(zhǔn)蚊子。借用曲棍球運(yùn)動(dòng)員韋恩.格雷茨基(Wayne Gretsky)曾經(jīng)說(shuō)過(guò)的關(guān)于冰球的說(shuō)法,蜻蜓必須瞄準(zhǔn)蚊子所在的位置。您可能認(rèn)為遵循Gretsky 的建議需要復(fù)雜的演算法,但實(shí)際上該策略非常簡(jiǎn)單:蜻蜓所需要做的就是在其視線與「午餐」和固定參考方向之間保持恒定的角度。
有任何駕駛船只經(jīng)驗(yàn)的讀者都會(huì)明白其中含義。當(dāng)另一艘船的視線與參考方向(例如正北)之間的角度保持不變時(shí),船員們就會(huì)擔(dān)心,因?yàn)樗麄兲幱谂鲎猜肪€上。長(zhǎng)期以來(lái),水手們一直避免轉(zhuǎn)向這種稱為平行導(dǎo)航的航線,以避免碰撞。
轉(zhuǎn)化為想要與獵物碰撞的蜻蜓, 解決辦法很簡(jiǎn)單:相對(duì)于某些外部參考,保持對(duì)獵物的視線恒定。
然而,對(duì)于蜻蜓來(lái)說(shuō),這項(xiàng)任務(wù)也并非如此簡(jiǎn)單,因?yàn)樗鼤?huì)猛撲和轉(zhuǎn)身,收集食物。蜻蜓沒(méi)有內(nèi)部陀螺儀,無(wú)論蜻蜓如何轉(zhuǎn)動(dòng),它都會(huì)保持恒定的方向。它也沒(méi)有始終指向北方的磁羅盤。在我對(duì)蜻蜓狩獵的簡(jiǎn)化模擬中,蜻蜓轉(zhuǎn)向?qū)C物的圖像與其眼睛上的特定位置對(duì)齊,但它需要計(jì)算該位置應(yīng)該是什么。
我的模擬神經(jīng)網(wǎng)絡(luò)的第三層,也是最后一層,是運(yùn)動(dòng)命令層。這一層神經(jīng)元的輸出是蜻蜓肌肉的高級(jí)指令,告訴蜻蜓向哪個(gè)方向轉(zhuǎn)動(dòng)。蜻蜓還使用該層的輸出來(lái)預(yù)測(cè)它自己的動(dòng)作對(duì)其視野中獵物圖像位置的影響,并相應(yīng)地更新投影位置。這種更新允許蜻蜓在接近獵物時(shí)相對(duì)于外部世界保持其獵物的視線穩(wěn)定。
生物蜻蜓可能已經(jīng)進(jìn)化出額外的工具來(lái)幫助進(jìn)行這種預(yù)測(cè)所需的計(jì)算。
例如蜻蜓有專門的感測(cè)器,來(lái)測(cè)量飛行過(guò)程中的身體旋轉(zhuǎn)以及頭部相對(duì)于身體的旋轉(zhuǎn)——如果這些感測(cè)器足夠快,蜻蜓可以直接從感測(cè)器輸出或使用一種方法來(lái)交叉檢查另一種。我在模擬中沒(méi)有考慮這種可能性。
為了測(cè)試這個(gè)三層神經(jīng)網(wǎng)絡(luò),我模擬了一只蜻蜓和它的獵物,它們?cè)谌S空間中以相同的速度移動(dòng)。當(dāng)他們這樣做時(shí),我的建模神經(jīng)網(wǎng)絡(luò)大腦「看到」了獵物,計(jì)算指向哪里以將獵物的圖像保持在一個(gè)恒定的角度,并向肌肉發(fā)送適當(dāng)?shù)闹噶?。我能夠證明蜻蜓大腦的這個(gè)簡(jiǎn)單模型確實(shí)可以成功攔截其他蟲(chóng)子,甚至是沿著彎曲或半隨機(jī)軌跡行進(jìn)的獵物。
模擬蜻蜓沒(méi)有完全達(dá)到生物蜻蜓的成功率,也不具備蜻蜓眾所周知的所有優(yōu)點(diǎn)(例如驚人的飛行速度)。
蜻蜓大腦的簡(jiǎn)單、低功耗特性,有助于新一代演算法的發(fā)展
我們還需要做更多的工作來(lái)確定這個(gè)神經(jīng)網(wǎng)絡(luò)是否真的包含了蜻蜓大腦的所有秘密。維吉尼亞州霍華德休斯醫(yī)學(xué)研究所Janelia 研究園區(qū)的研究人員為蜻蜓開(kāi)發(fā)了微型「背包」,可以在蜻蜓飛行時(shí)測(cè)量其神經(jīng)系統(tǒng)發(fā)出的電信號(hào),并傳輸這些數(shù)據(jù)進(jìn)行分析。背包足夠小,不會(huì)分散蜻蜓的注意力。同樣,神經(jīng)科學(xué)家還可以記錄蜻蜓大腦中單個(gè)神經(jīng)元的信號(hào),同時(shí)昆蟲(chóng)保持不動(dòng),但透過(guò)向其提供適當(dāng)?shù)囊曈X(jué)提示,使其認(rèn)為它在移動(dòng),從而創(chuàng)造了一個(gè)蜻蜓級(jí)的虛擬現(xiàn)實(shí)。
這些系統(tǒng)的數(shù)據(jù),允許神經(jīng)科學(xué)家透過(guò)將蜻蜓大腦模型的活動(dòng)與活躍蜻蜓中生物神經(jīng)元的活動(dòng)模式進(jìn)行比較,來(lái)驗(yàn)證蜻蜓大腦模型。雖然我們還不能直接測(cè)量蜻蜓大腦中神經(jīng)元之間的個(gè)體連接,但我和我的合作者將能夠推斷出,蜻蜓的神經(jīng)系統(tǒng)是否正在進(jìn)行類似于我的人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的計(jì)算。這將有助于確定蜻蜓大腦中的連接是否類似于我在神經(jīng)網(wǎng)絡(luò)中預(yù)先計(jì)算的權(quán)重。我們將不可避免地找到我們的模型與實(shí)際蜻蜓大腦不同的方式。也許這些差異將為蜻蜓大腦加速計(jì)算的捷徑提供線索。
蜻蜓還可以教我們?nèi)绾卧陔娔X上實(shí)現(xiàn)「注意力」。它的神經(jīng)系統(tǒng)會(huì)提高對(duì)特定的、可能選定的目標(biāo)的反應(yīng)音量,即使在同一視野中可以看到其他潛在的獵物。蜻蜓一旦決定追逐特定的獵物,除非捕捉失敗,否則絕不改變目標(biāo)。
即使我們最終發(fā)現(xiàn),用于引導(dǎo)注意力的「蜻蜓機(jī)制」不如人們?cè)趽頂D的咖啡店中集中注意力的那些機(jī)制那么復(fù)雜,但這種更簡(jiǎn)單但功耗更低的機(jī)制可能有利于下一代演算法和電腦系統(tǒng)的運(yùn)算。
研究蜻蜓大腦的優(yōu)勢(shì)并不止于新演算法,它們還會(huì)影響系統(tǒng)設(shè)計(jì)。蜻蜓的眼睛速度很快,相當(dāng)于每秒200 張畫面,這是人類視覺(jué)速度的幾倍。但它們的空間解析度相對(duì)較差,可能只有人眼的百分之一。盡管感知能力有限,但了解蜻蜓如何如此有效地捕獵,可以為設(shè)計(jì)更高效系統(tǒng)提供建議。再回到導(dǎo)彈防御問(wèn)題,蜻蜓的例子表明,我們具有快速光學(xué)感測(cè)的反導(dǎo)彈系統(tǒng)可能需要較低的空間解析度來(lái)?yè)糁心繕?biāo)。
人類參考昆蟲(chóng)的神經(jīng)回路后,會(huì)打造出怎樣的電腦?
蜻蜓并不是當(dāng)今唯一可以為電腦設(shè)計(jì)提供啟發(fā)的昆蟲(chóng)。帝王蝶的遷徙距離令人難以置信地長(zhǎng),它們利用某種與生俱來(lái)的本能,在一年中的適當(dāng)時(shí)間開(kāi)始它們的旅程,并朝著正確的方向前進(jìn)。我們知道它們依賴于太陽(yáng)的位置,并透過(guò)太陽(yáng)了解時(shí)間。比如一只向南飛的蝴蝶,它可以感知到太陽(yáng)早上在你的左邊,而在下午的時(shí)候在右邊。因此,為了確定路線,蝴蝶大腦必須讀取自己的晝夜節(jié)律,并將該資訊與所觀察到的資訊結(jié)合起來(lái)。
其他昆蟲(chóng),如撒哈拉沙漠螞蟻必須長(zhǎng)距離覓食,一旦找到食物來(lái)源,這只螞蟻不會(huì)簡(jiǎn)單地原路返回巢穴,很可能是一條迂回的路徑。相反,它可以計(jì)算返回的直接路線。因?yàn)槲浵伿澄飦?lái)源的位置每天都在變化,所以它必須能夠記住它在覓食過(guò)程中走過(guò)的路徑,將視覺(jué)資訊與一些內(nèi)部距離測(cè)量結(jié)合起來(lái),然后從這些記憶中計(jì)算出它的返回路線。
雖然沒(méi)有人知道沙漠螞蟻的哪些神經(jīng)回路執(zhí)行這項(xiàng)任務(wù),但Janelia 研究園區(qū)的研究人員已經(jīng)確定了讓果蠅使用視覺(jué)地標(biāo)進(jìn)行自我定位的神經(jīng)回路。
沙漠螞蟻和帝王蝶可能使用類似的機(jī)制。這種神經(jīng)回路有朝一日可能會(huì)被被用在低功率無(wú)人機(jī)中。
如果受昆蟲(chóng)啟發(fā)的運(yùn)算效率使得這些專門組件的數(shù)百萬(wàn)個(gè)實(shí)例可以并行運(yùn)行,以支持更強(qiáng)大的數(shù)據(jù)處理或機(jī)器學(xué)習(xí),那又會(huì)怎樣?下一個(gè)AlphaZero 能否結(jié)合數(shù)以百萬(wàn)計(jì)的螞蟻覓食架構(gòu)來(lái)改進(jìn)其游戲玩法?也許昆蟲(chóng)會(huì)激發(fā)新一代電腦。一小群類似蜻蜓攔截的演算法可用于控制游樂(lè)園游樂(lè)設(shè)施的移動(dòng)部件,確保即使在復(fù)雜但激動(dòng)人心的駕駛中,設(shè)備也不會(huì)發(fā)生碰撞。
沒(méi)有人知道下一代電腦會(huì)是什么樣子;同樣,沒(méi)有人能說(shuō)出平臺(tái)開(kāi)發(fā)的最佳途徑是什么。雖然研究人員從人腦中汲取靈感開(kāi)發(fā)了早期的神經(jīng)網(wǎng)絡(luò),但今天的人工神經(jīng)網(wǎng)絡(luò)通常依賴于與大腦截然不同的計(jì)算。研究生物神經(jīng)回路中單個(gè)神經(jīng)元的計(jì)算——目前只能直接在非人類系統(tǒng)中實(shí)現(xiàn)——可能會(huì)教給我們更多。
昆蟲(chóng),看似簡(jiǎn)單,但它們的能力往往令人驚訝,對(duì)下一代電腦的發(fā)展有很大貢獻(xiàn)。所以下次當(dāng)你看到一只昆蟲(chóng)做一些聰明的事情時(shí),想像一下如果你能擁有一支由小蜻蜓、蝴蝶或螞蟻大腦組成的小軍隊(duì)的效率,它會(huì)對(duì)你的日常生活產(chǎn)生什么影響。也許未來(lái)的電腦會(huì)給「蜂巢思維」這個(gè)術(shù)語(yǔ)賦予新的含義,它擁有大量高度專業(yè)化但極其高效的微型處理器,能夠根據(jù)手頭的任務(wù)進(jìn)行重新配置和部署。隨著當(dāng)今神經(jīng)科學(xué)的進(jìn)步,這種看似幻想的事物可能比您想像的更接近現(xiàn)實(shí)。
#科技日?qǐng)?bào)#
轉(zhuǎn)載原文地址:https://baijiahao.baidu.com/s?id=1707157976992264134
作者:百家號(hào)四川人在香港
聲明:本文僅代表作者觀點(diǎn),不代表本網(wǎng)站平臺(tái)立場(chǎng)