麻省理工學(xué)院 | 這是你的大腦。這是你的大腦在編碼
指南者留學(xué)
2022-12-23 13:14:25
閱讀量:1166
<p>功能性磁共振成像(fMRI)可以測量整個大腦血液流動的變化,在過去的幾十年里已經(jīng)被用于各種各樣的應(yīng)用,包括“功能解剖學(xué)”——一種確定當(dāng)一個人執(zhí)行特定任務(wù)時,大腦哪些區(qū)域被打開的方法。fMRI已經(jīng)被用來觀察人們在做各種事情時的大腦——做數(shù)學(xué)題、學(xué)習(xí)外語、下棋、即興彈鋼琴、做填字游戲,甚至是看《抑制你的熱情》這樣的電視節(jié)目。</p>
<p> </p>
<p>一個很少受到關(guān)注的追求是計算機(jī)編程——既包括編寫代碼的苦差事,也包括試圖理解一段已經(jīng)編寫好的代碼這一同樣令人困惑的任務(wù)。麻省理工學(xué)院計算機(jī)科學(xué)與人工智能實驗室(CSAIL)的博士生Shashank Srikant說:“考慮到計算機(jī)程序在我們?nèi)粘I钪械闹匾?,這當(dāng)然值得研究。”現(xiàn)在很多人都在處理代碼——閱讀、編寫、設(shè)計、調(diào)試——但沒有人真正知道當(dāng)這些事情發(fā)生時他們的腦子里在想什么。”幸運的是,他在本月早些時候在新奧爾良舉行的神經(jīng)信息處理系統(tǒng)會議上發(fā)表的一篇論文中,在這個方向上取得了一些“進(jìn)展”——與麻省理工學(xué)院的同事Benjamin Lipkin(論文的另一位主要作者,與Srikant一起),Anna Ivanova, Evelina Fedorenko和Una-May O 'Reilly共同撰寫。</p>
<p> </p>
<p>這篇新論文建立在2020年由許多相同作者撰寫的一項研究的基礎(chǔ)上,該研究使用功能磁共振成像來監(jiān)測程序員“理解”小塊或代碼片段時的大腦。(在這種情況下,理解意味著查看代碼段并正確確定由代碼段執(zhí)行的計算結(jié)果。)大腦與認(rèn)知科學(xué)(BCS)教授、早期研究的合著者費多倫科解釋說,2020年的研究表明,代碼理解并沒有持續(xù)激活語言系統(tǒng),即處理語言處理的大腦區(qū)域。“相反,多需求網(wǎng)絡(luò)——一種與一般推理有關(guān)、支持?jǐn)?shù)學(xué)和邏輯思維等領(lǐng)域的大腦系統(tǒng)——非常活躍。”她說,目前的工作還利用了對程序員的核磁共振掃描,需要“更深入的研究”,以尋求獲得更細(xì)粒度的信息。</p>
<p> </p>
<p>之前的研究調(diào)查了20到30個人,以確定他們平均依賴哪些大腦系統(tǒng)來理解代碼,而這項新研究則調(diào)查了單個程序員在處理計算機(jī)程序的特定元素時的大腦活動。例如,假設(shè)有一行代碼涉及文字操作,另一段代碼涉及數(shù)學(xué)運算。“我能從我們在大腦中看到的活動,實際的大腦信號,嘗試逆向工程,弄清楚程序員具體在看什么嗎?”Srikant問道。“這將揭示與程序有關(guān)的信息在我們的大腦中是唯一編碼的。”他指出,對于神經(jīng)科學(xué)家來說,如果他們可以通過觀察某人的大腦信號來推斷該物理屬性,那么該物理屬性就被認(rèn)為是“編碼”的。</p>
<p> </p>
<p>舉個例子,循環(huán)——程序中重復(fù)特定操作直到達(dá)到預(yù)期結(jié)果的指令——或者分支——一種不同類型的編程指令,可以使計算機(jī)從一個操作切換到另一個操作。根據(jù)觀察到的大腦活動模式,研究小組可以判斷出某人是在評估一段涉及循環(huán)還是分支的代碼。研究人員還能分辨出這些代碼是與單詞還是數(shù)學(xué)符號有關(guān),以及人們閱讀的是實際的代碼還是僅僅是對該代碼的書面描述。</p>
<p> </p>
<p>這解決了一個調(diào)查員可能會問的第一個問題,即某樣?xùn)|西實際上是否被編碼了。如果答案是肯定的,那么下一個問題可能是:它在哪里編碼?在上面引用的例子中——循環(huán)或分支,單詞或數(shù)學(xué),代碼或其描述——大腦激活水平在語言系統(tǒng)和多需求網(wǎng)絡(luò)中都是相當(dāng)?shù)摹?lt;/p>
<p> </p>
<p>然而,當(dāng)涉及到與所謂的動態(tài)分析相關(guān)的代碼屬性時,觀察到一個明顯的差異。</p>
<p> </p>
<p>程序可以具有“靜態(tài)”屬性——例如序列中數(shù)字的數(shù)量——不隨時間變化。“但是程序也可以有動態(tài)的方面,比如循環(huán)運行的次數(shù),”Srikant說。“我不能總是閱讀一段代碼,并提前知道該程序的運行時間。”麻省理工學(xué)院的研究人員發(fā)現(xiàn),在動態(tài)分析中,信息在多需求網(wǎng)絡(luò)中的編碼比在語言處理中心中的編碼要好得多。這一發(fā)現(xiàn)是他們探索代碼理解在大腦中如何分布的線索之一——哪些部分參與其中,哪些部分在任務(wù)的某些方面發(fā)揮了更大的作用。</p>
<p> </p>
<p>該團(tuán)隊進(jìn)行了第二組實驗,其中包含了被稱為神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)模型,這些模型是在計算機(jī)程序上專門訓(xùn)練的。近年來,這些模型在幫助程序員完成代碼段方面取得了成功。研究小組想要弄清楚的是,當(dāng)參與者檢查一段代碼時,他們在研究中看到的大腦信號是否與神經(jīng)網(wǎng)絡(luò)分析同一段代碼時觀察到的激活模式相似。他們得到的答案是肯定的。</p>
<p> </p>
<p>斯里康德說:“如果你把一段代碼放入神經(jīng)網(wǎng)絡(luò)中,它會生成一系列數(shù)字,以某種方式告訴你這個程序是關(guān)于什么的。”對學(xué)習(xí)計算機(jī)程序的人的大腦掃描同樣會產(chǎn)生一系列數(shù)字。例如,當(dāng)一個程序被分支主導(dǎo)時,“你會看到一種獨特的大腦活動模式。”他補(bǔ)充說,“當(dāng)機(jī)器學(xué)習(xí)模型試圖理解同一片段時,你也會看到類似的模式。”</p>
<p> </p>
<p>馬普軟件系統(tǒng)研究所的Mariya Toneva認(rèn)為這樣的發(fā)現(xiàn)“特別令人興奮”。他們提高了使用代碼計算模型來更好地理解我們閱讀程序時大腦中發(fā)生的事情的可能性。”她說。</p>
<p> </p>
<p>麻省理工學(xué)院的科學(xué)家們對他們所發(fā)現(xiàn)的聯(lián)系非常感興趣,這些聯(lián)系揭示了計算機(jī)程序的離散片段是如何在大腦中編碼的。</p>
<p> </p>
<p>但他們還不知道這些最近收集到的見解能告訴我們?nèi)藗冊诂F(xiàn)實世界中如何執(zhí)行更精細(xì)的計劃。完成這類任務(wù)——比如去看電影,這需要檢查放映時間、安排交通、買票等等——不能由單個代碼單元和單個算法來處理。這樣一個計劃的成功執(zhí)行反而需要“組合”——將不同的片段和算法串在一起,形成一個合理的序列,從而產(chǎn)生新的東西,就像將單獨的音樂小節(jié)組合起來,形成一首歌甚至交響樂一樣。CSAIL的首席研究科學(xué)家O 'Reilly說,創(chuàng)建代碼組合模型“目前超出了我們的能力范圍”。</p>
<p> </p>
<p>利普金是BCS的博士生,他認(rèn)為這是下一個合乎邏輯的步驟——弄清楚如何“將簡單的操作結(jié)合起來構(gòu)建復(fù)雜的程序,并使用這些策略有效地解決一般的推理任務(wù)。”他進(jìn)一步認(rèn)為,到目前為止,該團(tuán)隊在實現(xiàn)這一目標(biāo)方面取得的一些進(jìn)展歸功于其跨學(xué)科的組成。利普金說:“我們能夠從程序分析和神經(jīng)信號處理的個人經(jīng)驗,以及機(jī)器學(xué)習(xí)和自然語言處理的結(jié)合工作中汲取經(jīng)驗。”“隨著神經(jīng)科學(xué)家和計算機(jī)科學(xué)家聯(lián)手探索理解和構(gòu)建通用智能,這種類型的合作正變得越來越普遍。”</p>
<p> </p>
<p>該項目由麻省理工學(xué)院- ibm沃森人工智能實驗室、麻省理工學(xué)院智能探索、國家科學(xué)基金會、美國國立衛(wèi)生研究院、麥戈文大腦研究所、麻省理工學(xué)院大腦與認(rèn)知科學(xué)系以及西蒙斯社會大腦中心資助。</p>
<p> </p>
<blockquote>
<p>注:本文由院校官方新聞直譯,僅供參考,不代表指南者留學(xué)態(tài)度觀點。</p>
</blockquote>