文 | 追問(wèn)nextquestion,編譯 | 郭瑞東
追問(wèn)快讀:認(rèn)知神經(jīng)科學(xué)致力于尋求能夠普遍適用的理論,以解釋行為、生理和心理狀態(tài)之間的關(guān)系。為了實(shí)現(xiàn)這一目標(biāo),我們提出一個(gè)理論和實(shí)證框架,該框架的核心是理解任務(wù)需求及其與行為和神經(jīng)環(huán)路的相互制約。任務(wù)需求,源于能動(dòng)體的感官、目標(biāo)和行為之間的相互作用,這些共同塑造了神經(jīng)系統(tǒng)的活動(dòng)和結(jié)構(gòu),并在多個(gè)時(shí)空尺度上發(fā)揮作用。
要深入理解這種相互作用,我們需進(jìn)行多任務(wù)研究,改變多個(gè)實(shí)驗(yàn)組成部分(例如,刺激和指令),并結(jié)合密集出現(xiàn)的行為進(jìn)行神經(jīng)采樣和顯式測(cè)試,以支持跨任務(wù)和數(shù)據(jù)模態(tài)的泛化。通過(guò)關(guān)注任務(wù)需求而不是假設(shè)任務(wù)所涉及的心理過(guò)程,該研究提出的框架為發(fā)現(xiàn)不受現(xiàn)有分類體系限制的新泛化概念鋪平了道路,并將認(rèn)知神經(jīng)科學(xué)推向一種面向行動(dòng)、動(dòng)力學(xué)和整合化的大腦視圖。
?Nau, M., Schmid, A.C., Kaplan, S.M. et al. Centering cognitive neuroscience on task demands and generalization. Nat Neurosci (2024). https://doi.org/10.1038/s41593-024-01711-6
認(rèn)知神經(jīng)科學(xué)探索的是如何將生理、心理與行為現(xiàn)象綜合理解,并構(gòu)建一個(gè)能夠統(tǒng)一解釋這些領(lǐng)域的理論框架。對(duì)這一理解至關(guān)重要的是一個(gè)長(zhǎng)期被認(rèn)可,但經(jīng)常在實(shí)證實(shí)踐中被忽視的基本思想:我們是環(huán)境的參與者,而不是觀察者[1]我們收集數(shù)據(jù)、穿梭于世界中,并與之互動(dòng),以實(shí)現(xiàn)目標(biāo)并滿足內(nèi)生的需求。因此,感覺(jué)輸入不是被神經(jīng)系統(tǒng)被動(dòng)接收的,而是行動(dòng)及其所驅(qū)動(dòng)目標(biāo)的直接結(jié)果。
反過(guò)來(lái),我們的目標(biāo)和實(shí)現(xiàn)這些目標(biāo)所需的行動(dòng)也受到環(huán)境的制約。例如,一只動(dòng)物在尋找食物時(shí)可能會(huì)嗅聞,由嗅覺(jué)引導(dǎo)。但如果遇到捕食者,則可能轉(zhuǎn)而依賴聽(tīng)覺(jué)和視覺(jué)逃生。這種感官印象、目標(biāo)與行為之間的動(dòng)態(tài)依賴性,說(shuō)明智能體在任何特定時(shí)刻的需求是由所有這些因素共同定義的,而非單一因素(圖1)所決定。
?圖1:以任務(wù)為中心的框架要求我們思考-智能體和環(huán)境的相互依賴如何共同定義了主體-環(huán)境交互、生理學(xué)和實(shí)驗(yàn)。a,智能體-環(huán)境交互。目標(biāo)、行為和對(duì)環(huán)境的感覺(jué)印象是相互依賴的,需要根據(jù)它們彼此的限制而不是孤立地來(lái)理解。例如,指令的選擇會(huì)影響哪些環(huán)境方面是相關(guān)的(例如,刺激顏色與運(yùn)動(dòng)),如何采樣環(huán)境(例如,通過(guò)眼動(dòng))以及給出的行為反應(yīng)(例如,按壓杠桿)。這些因素共同決定了任何特定時(shí)刻對(duì)主體的要求。b,生理學(xué)。神經(jīng)系統(tǒng)不斷地適應(yīng)以滿足對(duì)智能體的需要。神經(jīng)環(huán)路促進(jìn)可塑性變化,這些變化塑造了解剖結(jié)構(gòu),而解剖結(jié)構(gòu)又反過(guò)來(lái)限制了神經(jīng)環(huán)路。c) 實(shí)驗(yàn)方法。在實(shí)驗(yàn)設(shè)置中,我們?cè)噲D通過(guò)控制實(shí)驗(yàn)中的各種因素(比如刺激、指令和行為反應(yīng))來(lái)管理個(gè)體與環(huán)境的互動(dòng)。任務(wù)需求產(chǎn)生于這些因素的相互作用,是決定實(shí)驗(yàn)過(guò)程中行為、生理和心理狀態(tài)的潛在因素。不同的實(shí)驗(yàn)可能包含一些共同的因素(例如,實(shí)驗(yàn)1和實(shí)驗(yàn)2都涉及按鈕點(diǎn)擊,但在刺激和指令上有所區(qū)別;實(shí)驗(yàn)2和實(shí)驗(yàn)3在指令上相同,但在刺激和所需行為上不同)。
由于神經(jīng)系統(tǒng)不斷受到智能體與環(huán)境互動(dòng)的塑造,這種交互作用決定了最終從這種互動(dòng)中產(chǎn)生的需求,這些需求最終決定了持續(xù)的行為、心理和生理狀態(tài)。我們認(rèn)為,只有揭開(kāi)這些需求之間相互制約的幕后機(jī)制,我們才能構(gòu)建出既簡(jiǎn)潔又普適的認(rèn)知過(guò)程理論。在實(shí)驗(yàn)環(huán)境中,我們將其稱為“任務(wù)需求”。
為了尋求具有普遍適用性的理論,我們提出了一個(gè)認(rèn)知神經(jīng)科學(xué)框架,核心在于闡明任務(wù)需求如何影響行為和生理測(cè)量。要將這些需求轉(zhuǎn)化為具體操作,并明確其對(duì)實(shí)際數(shù)據(jù)的影響,我們面臨著一大挑戰(zhàn):盡管任務(wù)需求推動(dòng)神經(jīng)回路的活動(dòng),并廣泛影響行為表現(xiàn),但它們本身既不能被實(shí)驗(yàn)者直接控制,也不能被直接觀察。它們是智能體在實(shí)驗(yàn)中所遇到的要求和條件的集合,源自實(shí)驗(yàn)元素(如刺激與指令)之間不可避免的內(nèi)在互動(dòng)。因此,我們只能通過(guò)精心設(shè)計(jì)的實(shí)驗(yàn)設(shè)計(jì)來(lái)間接操縱這些需求。這種設(shè)計(jì)的微妙變化,即使很小,也可能引起任務(wù)需求的顯著變化,這進(jìn)一步增加了分離單一實(shí)驗(yàn)成分對(duì)行為和生理測(cè)量的影響的難度。
為了應(yīng)對(duì)這一挑戰(zhàn),揭示任務(wù)需求如何驅(qū)動(dòng)經(jīng)驗(yàn)性測(cè)量,我們認(rèn)為研究需要精確描述實(shí)驗(yàn)組件對(duì)數(shù)據(jù)的交互作用。這種量化可以通過(guò)同時(shí)改變多個(gè)成分并正式檢驗(yàn)結(jié)果在任務(wù)和神經(jīng)行為方面的適用性來(lái)實(shí)現(xiàn)。我們認(rèn)為這種方法將能夠促進(jìn)數(shù)據(jù)驅(qū)動(dòng)的概念發(fā)現(xiàn),同時(shí)在理論上結(jié)合了傳統(tǒng)的“自下而上”和“自上而下”的方法優(yōu)勢(shì),并克服了它們的局限性(見(jiàn)Box1)。
以下部分將根據(jù)對(duì)不同文獻(xiàn)、方法和數(shù)據(jù)的綜合分析,描述該框架的理論和實(shí)踐意義。我們首先討論為何所有經(jīng)驗(yàn)測(cè)量都根植于任務(wù)需求,并試圖通過(guò)實(shí)驗(yàn)組件間的相互作用來(lái)理解這些需求的影響。接下來(lái),我們將概述智能體與環(huán)境交互如何塑造所有任務(wù)需求,這些交互是任務(wù)需求的基礎(chǔ)。
本研究還將探討生理學(xué)在不同時(shí)間和空間尺度上的動(dòng)態(tài)性、互聯(lián)性及多功能性。我們強(qiáng)調(diào)了全面分析任何任務(wù)行為的重要性,以及改進(jìn)行為測(cè)試和研究設(shè)計(jì)對(duì)于推進(jìn)我們對(duì)神經(jīng)系統(tǒng)的理解的重要性。最后,我們強(qiáng)調(diào)開(kāi)放科學(xué)和大規(guī)模跨學(xué)科倡議在推動(dòng)認(rèn)知神經(jīng)科學(xué)長(zhǎng)遠(yuǎn)目標(biāo)實(shí)現(xiàn)中的重要性,包括建立一個(gè)全新的、適應(yīng)性強(qiáng)的分類體系,將神經(jīng)、行為和心理狀態(tài)統(tǒng)一起來(lái)。
認(rèn)知神經(jīng)科學(xué)旨在構(gòu)建理論和模型,共同解釋行為、神經(jīng)環(huán)路和心理狀態(tài)。這一領(lǐng)域主要通過(guò)已有的心理學(xué)概念來(lái)設(shè)計(jì)實(shí)驗(yàn)和建模,比如探索神經(jīng)環(huán)路和工作記憶之間的聯(lián)系。然而,這種方法雖然能回答關(guān)于特定理論的問(wèn)題,卻難以探索新的理論,因?yàn)閷?shí)驗(yàn)任務(wù)與心理學(xué)概念緊密相關(guān),得到的數(shù)據(jù)往往缺乏能夠支持新概念發(fā)現(xiàn)的變異性。實(shí)際上,很多任務(wù)的名稱甚至根據(jù)它們所涉及的相應(yīng)過(guò)程來(lái)命名(例如,“識(shí)別任務(wù)”,“工作記憶任務(wù)”)。
這種從外到內(nèi)的傳統(tǒng)方法,即用現(xiàn)有的心理概念去解釋神經(jīng)科學(xué)的數(shù)據(jù),也因此受到了挑戰(zhàn),特別是當(dāng)心理概念難以令人滿意地闡釋日益增多的神經(jīng)科學(xué)數(shù)據(jù)時(shí)。更根本的問(wèn)題在于,這種方法僅僅是將預(yù)設(shè)的概念套用于大腦活動(dòng),而未能真正突破傳統(tǒng)的“分割法”,這種做法已有百年之久,難以實(shí)現(xiàn)真正的創(chuàng)新。
相對(duì)之下,一種替代性的“自內(nèi)而外”方法則會(huì)優(yōu)先考慮生物基礎(chǔ),視大腦為一種模式生成器,它將最初無(wú)意義的活動(dòng)模式映射到環(huán)境現(xiàn)象上,通過(guò)行動(dòng)賦予這些模式以“意義”。從這個(gè)角度來(lái)看,事后表征神經(jīng)模式并確定其意義,可以發(fā)現(xiàn)新的概念。這種方法擺脫了傳統(tǒng)分類體系的束縛,需要從眾多生理模式中發(fā)掘有意義的模式,并探索這些模式與現(xiàn)實(shí)世界無(wú)數(shù)現(xiàn)象及行為間的正確映射,這一過(guò)程往往不存在唯一的解決方案。
然而,無(wú)論是“自內(nèi)而外”還是“自外而內(nèi)”,這兩種方法通常都未能檢驗(yàn)神經(jīng)科學(xué)和心理學(xué)中的一個(gè)核心假設(shè):即某一特定任務(wù)的推論能否適用于其他任務(wù),甚至擴(kuò)展到現(xiàn)實(shí)世界。這種泛化的預(yù)設(shè)是基于另一個(gè)假設(shè),即任務(wù)能夠激活某種超越具體實(shí)驗(yàn)環(huán)境的通用心理過(guò)程這些假設(shè)常常導(dǎo)致對(duì)假定心理過(guò)程層面的概括,而不是對(duì)數(shù)據(jù)的概括。因此,圍繞同一過(guò)程設(shè)計(jì)的研究往往被歸為一類,并與研究其他過(guò)程的研究區(qū)分開(kāi)來(lái),而實(shí)驗(yàn)所施加的任務(wù)需求往往受到較少的關(guān)注。
我們的觀點(diǎn)是,主流方法因過(guò)度依賴于研究間心理過(guò)程的比較,而忽略了對(duì)數(shù)據(jù)層面跨任務(wù)泛化性的顯性檢驗(yàn),導(dǎo)致了現(xiàn)有分類體系的過(guò)度具象化和文獻(xiàn)的碎片化。我們認(rèn)為,無(wú)論采用何種方法,概念與數(shù)據(jù)的聯(lián)系都源于特定實(shí)驗(yàn)的任務(wù)需求。因此,理解實(shí)驗(yàn)中的任務(wù)需求如何影響神經(jīng)回路和行為的相互作用,是構(gòu)建新概念、理論和模型以解釋這些領(lǐng)域及其伴隨的心理狀態(tài)的關(guān)鍵。理解任務(wù)需求的限制并進(jìn)行跨任務(wù)的數(shù)據(jù)層面泛化評(píng)估至關(guān)重要。此外,測(cè)試模式在神經(jīng)和行為測(cè)量之間的泛化性,可以幫助我們發(fā)現(xiàn)能共同解釋多種數(shù)據(jù)模態(tài)的概念。這種泛化測(cè)試能揭示數(shù)據(jù)中的有意義模式,并通過(guò)與不斷變化的實(shí)驗(yàn)組件的關(guān)聯(lián)解釋這些模式,最終推動(dòng)對(duì)新概念的經(jīng)驗(yàn)定義。
在傳統(tǒng)的研究方法中,我們通常會(huì)改變實(shí)驗(yàn)的某個(gè)組成部分(如刺激),同時(shí)保持其他部分(如指令)不變,然后觀察這些變化如何映射到記錄的數(shù)據(jù)中(如神經(jīng)尖峰活動(dòng)和行為反應(yīng))。盡管這種控制變量的方法讓人們?nèi)〉昧岁P(guān)鍵發(fā)現(xiàn),但它有一個(gè)核心局限:僅改變一個(gè)組成部分,使我們對(duì)組成部分之間的相互作用視而不見(jiàn)(圖 1)。
然而,大量文獻(xiàn)表明,每個(gè)實(shí)驗(yàn)組成部分的選擇都會(huì)影響其他組成部分的影響,這使得將結(jié)果歸因于單個(gè)組成部分變得具有挑戰(zhàn)性。此外,大多數(shù)神經(jīng)元表現(xiàn)出依賴任務(wù)的混合選擇特征。例如,海馬亞區(qū)神經(jīng)元的活動(dòng)反映了動(dòng)物的位置、頭部方向和奔跑速度之間的相互作用,但每個(gè)因素對(duì)活動(dòng)的影響程度取決于動(dòng)物所承擔(dān)的任務(wù)[2]。類似地,同樣,初級(jí)視覺(jué)皮層等假定的感覺(jué)區(qū)域中的神經(jīng)回路,不僅響應(yīng)刺激,還反映了與任務(wù)相關(guān)的目標(biāo)、行為和生理狀態(tài)(如覺(jué)醒狀態(tài))[3-4]
使用多種任務(wù)的研究進(jìn)一步表明,與傳統(tǒng)方法相比,多任務(wù)設(shè)計(jì)的實(shí)驗(yàn)指令或提示對(duì)人類[5]、猴子[6]和嚙齒動(dòng)物[7]的神經(jīng)環(huán)路,提供了更好的腦區(qū)分割和對(duì)連接性估計(jì)。實(shí)驗(yàn)指令也對(duì)行為有深遠(yuǎn)的影響[9]。最后,探究假定為不同心理過(guò)程(例如,工作記憶、注意力和心理圖像)的研究,通常報(bào)告相似的或重疊的神經(jīng)環(huán)路,這可能反映了這些神經(jīng)環(huán)路的相似之處,即它們的潛在任務(wù)需求(Box2)。這些結(jié)果共同表明,行為和對(duì)神經(jīng)的測(cè)量——以及它們之間的映射——本質(zhì)上是任務(wù)依賴的。
為了理解任務(wù)需求如何塑造我們的經(jīng)驗(yàn)觀察,讓我們考慮注意力、心理圖像和工作記憶——這些概念歷來(lái)被視為與獨(dú)立心理過(guò)程相關(guān)。盡管大量獨(dú)立的文獻(xiàn)似乎提供了豐富的行為和神經(jīng)生理證據(jù)來(lái)支持每一個(gè)假定的心理過(guò)程,但其中大部分證據(jù)在三個(gè)概念之間重疊(見(jiàn)圖a),這引發(fā)了人們對(duì)這些概念可分離性的質(zhì)疑[63]。例如,在內(nèi)源性注意力的任務(wù)中,即便外界無(wú)刺激,人們也能通過(guò)內(nèi)部生成的信號(hào),準(zhǔn)備關(guān)注特定特征,這種現(xiàn)象在多個(gè)大腦區(qū)域觀察到神經(jīng)活動(dòng)的調(diào)節(jié)[66]。而在工作記憶任務(wù)中,信息需在缺乏外界刺激的情況下維持一段時(shí)間,且這些活動(dòng)往往涉及到處理實(shí)際刺激時(shí)激活的相同大腦區(qū)域[67]。
這些發(fā)現(xiàn)被認(rèn)為支持了感覺(jué)運(yùn)動(dòng)框架[68],預(yù)示著當(dāng)前的感知與記憶刺激之間可能的干擾模式[69-70]。在心智圖像的描述任務(wù)中,受試者須在沒(méi)有物理刺激的情況下回憶特定刺激特征,結(jié)果表明,這種描繪性表征由共同的神經(jīng)基質(zhì)介導(dǎo),該基質(zhì)用于想象和知覺(jué)[71]。關(guān)于想象和知覺(jué)共享神經(jīng)基質(zhì)的證據(jù)越來(lái)越一致,甚至引發(fā)了有關(guān)二者如何區(qū)分的探討[72]。重要的是,這三個(gè)任務(wù)都涉及與刺激內(nèi)容相關(guān)的關(guān)鍵神經(jīng)基質(zhì),這一點(diǎn)在個(gè)體內(nèi)部直接比較時(shí)尤為明顯[73]。事實(shí)上,被視為支持注意力、工作記憶和意象的神經(jīng)證據(jù)也與許多其他推測(cè)的心理過(guò)程(例如,生成預(yù)期)重疊,這暗示著可以制定統(tǒng)一、更簡(jiǎn)潔的概念來(lái)解釋這些數(shù)據(jù)。
通過(guò)數(shù)據(jù)分析量化認(rèn)知神經(jīng)科學(xué)中常用概念之間的關(guān)聯(lián)性,我們發(fā)現(xiàn)這些概念之間的界限非常模糊。我們認(rèn)為,神經(jīng)科學(xué)的證據(jù),例如“高級(jí)認(rèn)知過(guò)程”(比如情緒圖式)激活“感官”皮層的情況,實(shí)際上否認(rèn)了感知和認(rèn)知這些我們領(lǐng)域中最為根深蒂固的術(shù)語(yǔ)之間的區(qū)別。我們提出觀察到的生理反應(yīng)中的共同點(diǎn)和差異,更多是由研究間任務(wù)需求的相似性(如持續(xù)保持刺激信息)而非單獨(dú)的心理概念所引導(dǎo)。此外,許多看似已經(jīng)確立的假定心理過(guò)程之間的區(qū)別,實(shí)際上是沒(méi)有充分證據(jù)支持的。
?圖a:共享的任務(wù)需求促進(jìn)了不同領(lǐng)域間的相似性。a, 被認(rèn)為是不同的心理過(guò)程實(shí)際上激活了部分重疊的生理基礎(chǔ)。這些通常通過(guò)特定任務(wù)來(lái)研究的示例概念包括“注意力”、“工作記憶”和“意象”。表面上。需要注意的是,這些統(tǒng)計(jì)圖可能掩蓋了個(gè)體在活動(dòng)強(qiáng)度和定位上的差異。b, 共同的任務(wù)需求很可能解釋了在不同心理概念之間觀察到的神經(jīng)環(huán)路重疊現(xiàn)象。我們展示了a中統(tǒng)計(jì)圖的疊加區(qū)域,其中亮藍(lán)色區(qū)域表示這三個(gè)示例概念共同激活的大腦區(qū)域。c, 一些研究報(bào)道了跨物種和技術(shù)的相似原則。例如,當(dāng)預(yù)期目標(biāo)出現(xiàn)在感受野時(shí),獼猴的神經(jīng)元在提示-目標(biāo)延遲期間放電增加[66]。小鼠的神經(jīng)元在延遲期間對(duì)特定氣味表現(xiàn)出選擇性[67]。在執(zhí)行工作記憶和心智意象任務(wù)時(shí),可以從早期視覺(jué)區(qū)域解碼刺激身份[73]。FEF,前額眼區(qū);LIP,側(cè)內(nèi)頂葉區(qū)。d, 一項(xiàng)研究顯示,神經(jīng)環(huán)路與任務(wù)類型有關(guān)。后梭狀回皮層和側(cè)前額葉皮層對(duì)物體身份的解碼能力取決于所執(zhí)行的任務(wù)[70]。
鑒于這些發(fā)現(xiàn),我們提出,從相互作用的實(shí)驗(yàn)組成部分中產(chǎn)生的任務(wù)需求是理解任何神經(jīng)或行為結(jié)果的基礎(chǔ),因此必須明確理解它們之間的相互影響。
為此,研究需要改變多個(gè)實(shí)驗(yàn)組成部分(例如,刺激、指令和提示行為),并在數(shù)據(jù)層面量化它們之間的相互作用。這種多任務(wù)研究能夠識(shí)別能夠跨任務(wù)和數(shù)據(jù)類型概括的成果模式,并將其與變化的實(shí)驗(yàn)組件以及其他未明確操控的因素(如一天中的時(shí)間)聯(lián)系起來(lái)。
形式化的泛化測(cè)試對(duì)于研究結(jié)果的更廣泛適用性至關(guān)重要,因?yàn)榭缛蝿?wù)泛化是泛化為現(xiàn)實(shí)世界的關(guān)鍵先決條件。為了提高實(shí)驗(yàn)的生態(tài)效度,從而提高其結(jié)果的可推廣性,我們同意優(yōu)先考慮自然條件[10]或允許自由活動(dòng)行為[11]。值得注意的是,自然條件可以在保持高水平實(shí)驗(yàn)控制的情況下實(shí)現(xiàn),例如通過(guò)逼真的渲染效果[12]或虛擬現(xiàn)實(shí)的使用[13]。最終,通過(guò)關(guān)注多任務(wù)學(xué)習(xí)、自然條件和跨任務(wù)泛化,我們相信可以從數(shù)據(jù)中提煉出基于經(jīng)驗(yàn)的理論,這些理論將共同解釋神經(jīng)回路、行為和心理狀態(tài)(Box3)。
實(shí)驗(yàn)結(jié)果表明,經(jīng)驗(yàn)性測(cè)量(例如神經(jīng)反應(yīng))與特定組合的實(shí)驗(yàn)成分(例如刺激、指令和行為反應(yīng))之間存在關(guān)聯(lián)。為了深入理解任務(wù)需求,我們需要設(shè)計(jì)實(shí)驗(yàn),專門(mén)探究這些成分間的相互作用。理想情況下,這種探索應(yīng)在個(gè)體內(nèi)進(jìn)行,通過(guò)實(shí)施多種任務(wù)變體和經(jīng)驗(yàn)性測(cè)量,可以產(chǎn)生既具高度實(shí)驗(yàn)控制又富含數(shù)據(jù)變異性的豐富數(shù)據(jù)集(見(jiàn)圖b)。當(dāng)我們密集采樣神經(jīng)環(huán)路和行為時(shí),這種多任務(wù)設(shè)計(jì)極為適合在任務(wù)條件與數(shù)據(jù)模式間進(jìn)行泛化測(cè)試(見(jiàn)圖b),這有助于我們發(fā)掘神經(jīng)和行為動(dòng)態(tài)之間的共同約束。
此外,通過(guò)多任務(wù)研究關(guān)注任務(wù)需求和泛化能力,將使研究更自然地?cái)U(kuò)展并與后續(xù)研究進(jìn)行比較,尤其是在以開(kāi)放科學(xué)和定量融合為目標(biāo)的設(shè)計(jì)下(參見(jiàn)“轉(zhuǎn)變認(rèn)知神經(jīng)科學(xué)的文化”一節(jié))。各種分析技術(shù)可以發(fā)現(xiàn)跨任務(wù)和數(shù)據(jù)模式的普遍規(guī)律。例如,通過(guò)應(yīng)用于跨任務(wù)相似矩陣的聚類分析(見(jiàn)圖b),表示相似性分析[5],成分模型或因子分析等方法,可以識(shí)別跨任務(wù)泛化的行為或神經(jīng)模式。所有任務(wù)的聯(lián)合分析[76],或者訓(xùn)練和測(cè)試編碼/跨任務(wù)解碼模型[77]。類似的技術(shù)可以建立神經(jīng)數(shù)據(jù)和行為數(shù)據(jù)的映射關(guān)系,例如,通過(guò)比較每個(gè)度量估計(jì)的主成分[76]或通過(guò)行為編碼模型[13]。另一種方法是通過(guò)估計(jì)行為和神經(jīng)環(huán)路的聯(lián)合低維嵌入[59]來(lái)實(shí)現(xiàn)映射。這些技術(shù)不僅能夠識(shí)別不同數(shù)據(jù)類型或任務(wù)之間共享的普遍模式(Box2)。
通過(guò)多任務(wù)實(shí)驗(yàn)設(shè)計(jì),我們不僅能獲得每個(gè)實(shí)驗(yàn)的獨(dú)特模式,還能為后續(xù)實(shí)驗(yàn)提供新的假設(shè)[78]。在解釋結(jié)果時(shí),我們可以將跨任務(wù)與數(shù)據(jù)類型普遍的模式與實(shí)驗(yàn)組件的特定變化聯(lián)系起來(lái),例如,通過(guò)計(jì)算每個(gè)組件在跨任務(wù)相似性矩陣中解釋的方差量(見(jiàn)圖b)。此外,考慮到更廣泛的實(shí)驗(yàn)背景(例如,實(shí)驗(yàn)進(jìn)行的時(shí)間),我們可以進(jìn)一步區(qū)分組件的貢獻(xiàn)和它們的交互作用,以及那些沒(méi)有明確變化的因素。
只有將所有實(shí)驗(yàn)組件綜合考慮,并量化它們與經(jīng)驗(yàn)測(cè)量之間的非線性關(guān)系,我們才能在數(shù)據(jù)層面上直接描述它們的交互作用。這是突破現(xiàn)有分類方法,從經(jīng)驗(yàn)中派生出新的心理概念的必要步驟,這些新概念能夠共同解釋行為、神經(jīng)和心理狀態(tài)。
我們還需要考慮多任務(wù)設(shè)計(jì)在實(shí)際操作中是否可行,尤其是在大規(guī)模研究中。我們認(rèn)為,即使對(duì)于單個(gè)研究,多任務(wù)設(shè)計(jì)所面臨的挑戰(zhàn)也是可以克服的。多任務(wù)研究最終是高效且成本效益的,因?yàn)樗鼈兤胶饬藢?shí)驗(yàn)組件數(shù)量的增加與利用數(shù)據(jù)內(nèi)系統(tǒng)性變異的優(yōu)勢(shì)。例如,以相同的數(shù)據(jù)為基礎(chǔ),多任務(wù)研究比單任務(wù)研究能解決的問(wèn)題更多、更新,還能在任務(wù)之間合并數(shù)據(jù),以高統(tǒng)計(jì)功效解決個(gè)別問(wèn)題。
由于徹底描述行為可以告知目標(biāo)現(xiàn)象和生理學(xué)調(diào)查的設(shè)計(jì),通過(guò)多樣化我們的行為測(cè)量,可以提升多任務(wù)設(shè)計(jì)的效率,并可能降低對(duì)成本較高的神經(jīng)數(shù)據(jù)的需求。幸運(yùn)的是,機(jī)器學(xué)習(xí)的進(jìn)步降低了行為追蹤的難度和成本[57]。總的來(lái)說(shuō),行為研究的數(shù)量和范圍應(yīng)該大幅增加[79],因?yàn)樗鼈兺壬窠?jīng)記錄更經(jīng)濟(jì)實(shí)用(例如,眾包心理學(xué)[80])。值得注意的是,由于無(wú)法測(cè)試實(shí)驗(yàn)組件的每一個(gè)可能的變化,選擇哪些變化進(jìn)行測(cè)試必須由研究問(wèn)題和理論指導(dǎo)。通常,實(shí)驗(yàn)的起點(diǎn)和目標(biāo)應(yīng)是測(cè)試和完善理論。
?圖b:量化任務(wù)需求影響的示例方法。a, 在一個(gè)示例研究中,研究者變化了多個(gè)實(shí)驗(yàn)組件(包括指令、提示動(dòng)作和刺激),總共設(shè)置了27個(gè)不同的任務(wù)條件。通過(guò)變化實(shí)驗(yàn)組件,研究者間接地操縱了任務(wù)需求。b, 分析實(shí)驗(yàn)組件內(nèi)不同任務(wù)條件之間的相似性。c, 進(jìn)行泛化分析。矩陣顯示了行為數(shù)據(jù)(例如,觸須運(yùn)動(dòng)的相似性)或神經(jīng)數(shù)據(jù)(例如,感興趣區(qū)域的神經(jīng)模式相似性)在不同任務(wù)條件下的泛化分?jǐn)?shù)。箭頭和方框指示了量化任務(wù)需求影響的示例分析步驟。首先,通過(guò)聚類分析可以揭示哪些任務(wù)引發(fā)了相似的行為和神經(jīng)環(huán)路。其次,通過(guò)測(cè)試跨任務(wù)的泛化(例如,可解碼性、編碼模型性能和表示相似性分析),可以發(fā)現(xiàn)有意義的模式。第三,通過(guò)尋找在行為和神經(jīng)數(shù)據(jù)之間泛化的模式,可以揭示大腦與行為之間的關(guān)系。最后,通過(guò)將這些泛化的數(shù)據(jù)模式與實(shí)驗(yàn)組件聯(lián)系起來(lái),可以形成新的概念。
雖然任務(wù)需求在前文已被明確定義,但我們?nèi)孕璐_定它們對(duì)經(jīng)驗(yàn)測(cè)量的影響,探究有關(guān)神經(jīng)系統(tǒng)及其根源于智能體與環(huán)境交互作用的一般原理。考慮到神經(jīng)活動(dòng)推動(dòng)了結(jié)構(gòu)的可塑性,而這種結(jié)構(gòu)的可塑性又反過(guò)來(lái)限制了神經(jīng)活動(dòng)(圖 1)。因此,神經(jīng)系統(tǒng)不斷適應(yīng)以滿足智能體的需求。這種適應(yīng)從即時(shí)的局部調(diào)整,如蛋白質(zhì)合成和突觸修改[14],到發(fā)展和進(jìn)化時(shí)間尺度上的大規(guī)模網(wǎng)絡(luò)變化[15-16],都有所體現(xiàn)。
行為的成功與否歷史性地影響了神經(jīng)回路和動(dòng)態(tài)的持續(xù)性 [17],使得所有神經(jīng)系統(tǒng)的方面最終都與其產(chǎn)生的行為緊密相關(guān)。大量文獻(xiàn)已表明,整個(gè)大腦活動(dòng)中都能找到行為的痕跡,即使是在早期感覺(jué)皮層[19] 以及整合運(yùn)動(dòng)輸出與感覺(jué)輸入的廣泛區(qū)域[20]。此外,這一觀點(diǎn)支持行動(dòng)是感覺(jué)處理不可分割的一部分[21],暗示動(dòng)作與感知的結(jié)合不僅反映了神經(jīng)系統(tǒng)的活動(dòng),也體現(xiàn)了其組織結(jié)構(gòu)。
我們提出,通過(guò)專注于任務(wù)需求的研究,可以實(shí)現(xiàn)理論和方法論上的雙重目標(biāo):一方面連接感官與動(dòng)作的統(tǒng)計(jì)關(guān)系和生理現(xiàn)象,另一方面揭示活動(dòng)、可塑性和解剖上的共同約束。這種方法能夠捕捉到感官印象、目標(biāo)和行為之間的相互作用,這些因素共同塑造了智能體的廣泛生理特征。由于神經(jīng)系統(tǒng)的結(jié)構(gòu)本身就是這些因素相互作用的產(chǎn)物,因此,了解任務(wù)需求如何影響經(jīng)驗(yàn)測(cè)量對(duì)于超越特定實(shí)驗(yàn)設(shè)置的解釋至關(guān)重要,這適用于涉及如記憶回憶、假定休息或擾動(dòng)(如腦刺激)的研究。
此外,活動(dòng)模式受基礎(chǔ)解剖的影響,只有在特定的解剖背景下,才能揭示為什么特定的活動(dòng)模式會(huì)出現(xiàn)。因此,通過(guò)綜合不同任務(wù)需求下的解剖和活動(dòng)測(cè)量,我們可以揭示重要的潛在模式,這些模式在任務(wù)和數(shù)據(jù)模態(tài)之間具有普遍性,從而增進(jìn)我們對(duì)神經(jīng)環(huán)路、細(xì)胞多樣性、局部結(jié)構(gòu)、連通性和可塑性的理解。最后,由于行為和生理都反映了智能體的獨(dú)特歷史,我們可以利用關(guān)于任務(wù)需求對(duì)經(jīng)驗(yàn)測(cè)量影響的洞察來(lái)理解健康和疾病中的個(gè)體差異(Box 4)。
理解健康和疾病的一個(gè)主要目標(biāo)是將個(gè)體獨(dú)特的特征和病史與潛在的健康風(fēng)險(xiǎn)、診斷和個(gè)性化治療方案聯(lián)系起來(lái)。近年來(lái),全腦關(guān)聯(lián)研究因其闡明基于生理和行為標(biāo)記之間映射的個(gè)體差異而流行。然而,盡管全腦關(guān)聯(lián)研究有望了解個(gè)體獨(dú)特特征及其病史(例如生活方式)與生理學(xué)的聯(lián)系,但相關(guān)研究在認(rèn)知神經(jīng)科學(xué)和臨床研究中的實(shí)用性有限。例如,局部化和腦功能穩(wěn)定性的內(nèi)在假設(shè)(在描述優(yōu)化后的任務(wù)指標(biāo)或問(wèn)卷時(shí)將休息狀態(tài)數(shù)據(jù)[81])納入研究需要大樣本量和高昂的成本。
鑒于行為和生理測(cè)量結(jié)果依賴于歷史和任務(wù),以及局部神經(jīng)環(huán)路之間活動(dòng)強(qiáng)烈的依賴性,這些方法不太可能全面捕捉到定義我們多變量特征、行為和生理特性的全貌。在精神健康、神經(jīng)系統(tǒng)疾病和神經(jīng)多樣性研究中,表征這種譜系尤為重要。為了降低成本并提供大規(guī)模的診斷和治療方案,許多臨床研究都集中在識(shí)別專門(mén)的行為或生理標(biāo)志物上,而不是多元化任務(wù)和措施的使用。
一個(gè)說(shuō)明這種專業(yè)化風(fēng)險(xiǎn)的例子是最近對(duì)血清素抑郁假說(shuō)進(jìn)行的元分析測(cè)試,該測(cè)試沒(méi)有證實(shí)長(zhǎng)期以來(lái)關(guān)于抑郁癥與血清素水平降低相關(guān)的假設(shè)[82]。最終,我們認(rèn)識(shí)到,抑郁癥及更廣泛的神經(jīng)多樣性,根源于生理和行為的個(gè)體差異,最佳的認(rèn)識(shí)方式是理解它們之間的相互制約關(guān)系[83]。這種相互制約關(guān)系無(wú)法被單一的優(yōu)化措施或任務(wù)所捕捉或治療。因此,為了增進(jìn)對(duì)個(gè)體差異和健康的理解,我們需要擺脫“關(guān)鍵實(shí)驗(yàn)”或“靈丹妙藥”模型,并增加任務(wù)、測(cè)量方法和測(cè)試人群的多樣性(疾病層面、文化層面等)。
在多任務(wù)研究領(lǐng)域,尤其是那些結(jié)合了豐富的行為和神經(jīng)觀測(cè),持續(xù)更長(zhǎng)時(shí)間的項(xiàng)目(例如,“我們所有人”計(jì)劃,原名All of Us Research Program),是捕捉個(gè)體內(nèi)部差異的理想方式。其中跨參與者變異性是評(píng)估每個(gè)個(gè)體在群體定義的譜系范圍內(nèi)的關(guān)鍵。通過(guò)這種方式,我們能夠識(shí)別出適用于所有人的通用模式,比如語(yǔ)言處理過(guò)程中的腦部活動(dòng)[84],并更好地理解個(gè)體歷史上的差異是如何形成的。重要的是,實(shí)現(xiàn)這種實(shí)驗(yàn)所需的規(guī)模需要一種擴(kuò)展的行為測(cè)試方法[28],這可以揭示有意義且穩(wěn)定的個(gè)體差異[85],并預(yù)測(cè)癲癇等神經(jīng)系統(tǒng)疾病。在嚙齒動(dòng)物中,這一現(xiàn)象已得到證實(shí)[86]。將特定的行為模式與相應(yīng)的診斷聯(lián)系起來(lái),可以進(jìn)一步促進(jìn)更早和個(gè)性化的干預(yù)措施,這對(duì)于患有晚期神經(jīng)系統(tǒng)癥狀的疾病,如阿爾茨海默病[87]尤為重要。最后,重要的是要認(rèn)識(shí)到生理和行為之間的相互依存關(guān)系,以便開(kāi)發(fā)治療方法:整合基于藥物和行為療法的治療可能是治療任何神經(jīng)系統(tǒng)或心理健康狀況的根本途徑。
由于神經(jīng)環(huán)路通過(guò)可塑性與解剖結(jié)構(gòu)相連,我們所有的經(jīng)驗(yàn)和行為都會(huì)在整個(gè)神經(jīng)系統(tǒng)中留下結(jié)構(gòu)痕跡。因此,神經(jīng)系統(tǒng)的整體狀態(tài)永遠(yuǎn)不會(huì)重復(fù)。事實(shí)上,許多研究報(bào)告了即使在重復(fù)條件下(例如,表征漂移[26]),神經(jīng)環(huán)路在試驗(yàn)之間也存在很大差異。盡管已經(jīng)提出了多種潛在機(jī)制,但一個(gè)共同點(diǎn)是這些變化似乎是系統(tǒng)性的。例如,神經(jīng)環(huán)路在試驗(yàn)之間的差異不是隨機(jī)的,而是傾向于以任務(wù)依賴的方式漂移,并且隨著試驗(yàn)之間時(shí)間的增加,試驗(yàn)之間的活動(dòng)相似度降低[27]。這種漂移在行為上有所對(duì)應(yīng),一次試驗(yàn)的表現(xiàn)會(huì)受到前一次試驗(yàn)的影響和經(jīng)驗(yàn)(如串行依賴性[28])。此外,行為和神經(jīng)環(huán)路漂移通常同時(shí)發(fā)生[29]。
這些發(fā)現(xiàn)共同表明行為和神經(jīng)元發(fā)射模式的非靜態(tài)性質(zhì)(圖2),并暗示了一種可能的共同機(jī)制,例如累積的可塑性誘導(dǎo)變化。神經(jīng)和行為數(shù)據(jù)中不受控制的可變性的另一個(gè)來(lái)源,源于能動(dòng)者內(nèi)部狀態(tài)的變化,這從根本上影響任務(wù)的執(zhí)行方式。例如,參與者在實(shí)驗(yàn)開(kāi)始前的等待時(shí)間就可能影響其表現(xiàn)結(jié)果[30]。這種滯后性和狀態(tài)依賴性表明,實(shí)驗(yàn)中觀察到的變異性,與任何穩(wěn)定模式一樣,包含了豐富的信息。
與其將這種變異性視為噪聲(例如,在計(jì)算重測(cè)信度時(shí)),不如利用它來(lái)理解生理特征和行為的動(dòng)力學(xué)和協(xié)方差。通過(guò)多任務(wù)實(shí)驗(yàn),我們可以在保持嚴(yán)格的實(shí)驗(yàn)控制的同時(shí),最大限度地提升測(cè)量指標(biāo)的多樣性。為了充分利用產(chǎn)生的數(shù)據(jù)集,分析工具包需要擴(kuò)展到超出可重復(fù)性和中心趨勢(shì)的指標(biāo),發(fā)展新的時(shí)間分辨率、每次試驗(yàn)和縱向分析技術(shù)[31]。通過(guò)利用數(shù)據(jù)中的系統(tǒng)性變異,我們可以更深入地理解任務(wù)需求及其隨時(shí)間引發(fā)的生理適應(yīng)性變化。值得注意的是,通過(guò)考慮更廣泛的時(shí)間尺度以及經(jīng)常被忽視的上下文因素的影響(例如,一天中的時(shí)間),我們可以獲得超出單個(gè)實(shí)驗(yàn)范圍的額外洞察力。
神經(jīng)系統(tǒng)中的每一個(gè)部分都是在共同需求的塑造下形成的,因此,無(wú)論是局部的神經(jīng)回路活動(dòng)還是其結(jié)構(gòu),都與它在更廣闊網(wǎng)絡(luò)中的位置息息相關(guān)。這個(gè)錯(cuò)綜復(fù)雜的網(wǎng)絡(luò)中,沒(méi)有任何一部分是完全獨(dú)立的。傳統(tǒng)的研究通常把大腦的不同部分視為獨(dú)立的單位,認(rèn)為每個(gè)部分都對(duì)心理狀態(tài)和行為有單獨(dú)的貢獻(xiàn)。然而,內(nèi)在的網(wǎng)絡(luò)嵌入與這種觀點(diǎn)存在沖突。盡管分割工作與損傷研究一致,這些研究表明大腦某一部分的損傷會(huì)導(dǎo)致智能體的體驗(yàn)?zāi)芰Φ倪x擇性缺陷[32],但這些發(fā)現(xiàn)并不意味著不同神經(jīng)通路的活動(dòng)是獨(dú)立的。例如,與動(dòng)物運(yùn)動(dòng)相關(guān)的神經(jīng)信號(hào)與整個(gè)大腦中的感覺(jué)輸入緊密整合[18],這表明“感覺(jué)系統(tǒng)”和“運(yùn)動(dòng)系統(tǒng)”并非完全可分離。
這一概念擴(kuò)展到整個(gè)大腦,我們不能僅僅從它在更大神經(jīng)系統(tǒng)中的孤立地位來(lái)獨(dú)立理解它,畢竟這個(gè)系統(tǒng)貫穿了整個(gè)身體。在特定任務(wù)條件下,即使測(cè)量到某一神經(jīng)環(huán)路的局部活動(dòng)有所變化,也不能直接斷定這一環(huán)路是否真的參與了任務(wù)。特別是,在不同的條件下,即使發(fā)現(xiàn)了類似的活動(dòng)模式,也不必然說(shuō)明這一神經(jīng)環(huán)路對(duì)任務(wù)執(zhí)行的貢獻(xiàn)不足。事實(shí)上,這種神經(jīng)環(huán)路可能在不同條件下以相似的活動(dòng)水平發(fā)揮作用,反映了其對(duì)共享任務(wù)需求的響應(yīng)。除此之外,盡管局部活動(dòng)相似,但該神經(jīng)環(huán)路在不同條件下的作用可能存在差異,它可能會(huì)影響其他神經(jīng)環(huán)路[8],或者局部失活本身也可能為我們提供關(guān)于全局狀態(tài)和行為的重要信息[33]。
這種復(fù)雜性表明神經(jīng)系統(tǒng)的活動(dòng)和結(jié)構(gòu)并非嚴(yán)格的模塊化[34];同樣,計(jì)算的分布也不是均勻的。任何特定電路對(duì)任務(wù)的執(zhí)行的影響,都受到更廣泛網(wǎng)絡(luò)中其他電路影響的制約(見(jiàn)圖2)。此外,局部活動(dòng)和病變效應(yīng)不應(yīng)被視為功能與神經(jīng)元之間一對(duì)一映射的證據(jù)。考慮到神經(jīng)環(huán)路的互連性和動(dòng)態(tài)性,將神經(jīng)系統(tǒng)視為一個(gè)沒(méi)有明確起點(diǎn)或頂點(diǎn)的異構(gòu)網(wǎng)絡(luò),可能比嚴(yán)格的分層模型更準(zhǔn)確[35]。以上考慮表明,要理解局部神經(jīng)回路在任務(wù)執(zhí)行中的作用,需要研究它們?cè)谡麄€(gè)網(wǎng)絡(luò)中的角色。局部神經(jīng)回路的網(wǎng)絡(luò)嵌入可以通過(guò)因果擾動(dòng)揭示出來(lái),例如使用局部冷卻[36]、超聲[37]或其他技術(shù)[24][38]。
在量化擾動(dòng)對(duì)整個(gè)網(wǎng)絡(luò)和跨多個(gè)任務(wù)需求的行為影響的同時(shí)[39, 40],盡管已建立的擾動(dòng)技術(shù)通常會(huì)限制實(shí)驗(yàn)設(shè)計(jì)和行為(例如,它們會(huì)限制能動(dòng)者的移動(dòng)),但新的方法學(xué)發(fā)展可以克服這些限制(例如,無(wú)線光遺傳刺激[41])。結(jié)合多任務(wù)設(shè)計(jì),利用活動(dòng)依賴追蹤技術(shù)[42]是一種很有前途的方法,可以測(cè)量局部活動(dòng)動(dòng)態(tài)如何以特定任務(wù)的方式影響整個(gè)網(wǎng)絡(luò)。最重要的是,對(duì)結(jié)果的解釋?xiě)?yīng)該采用神經(jīng)系統(tǒng)的整體觀點(diǎn),即相互連接的網(wǎng)絡(luò)產(chǎn)生局部活動(dòng)動(dòng)態(tài),這些動(dòng)態(tài)以任務(wù)依賴的方式促成行為和心理狀態(tài)。
?圖2:神經(jīng)回路之間的相互連接產(chǎn)生了支持心理和行為靈活性的活動(dòng)動(dòng)態(tài)。頂部,目標(biāo)、行為和環(huán)境感知隨時(shí)間相互依賴地變化。例如,老鼠會(huì)根據(jù)自己即時(shí)的狀態(tài)(吃食、奔跑或攀爬)而優(yōu)先關(guān)注環(huán)境的不同方面。中間,神經(jīng)回路的示意圖展示了五個(gè)示例單元,每個(gè)單元可能代表一個(gè)單獨(dú)的神經(jīng)元或局部神經(jīng)元群體。每個(gè)單元同時(shí)編碼多個(gè)變量(例如,混合選擇性,如顏色、頭部方向和視覺(jué)流),這取決于能動(dòng)者試圖完成的行為(例如,在奔跑和攀爬時(shí),姿勢(shì)可能解釋一個(gè)單元的活動(dòng),但在吃食時(shí)則不會(huì))。底部,展示了兩個(gè)示例單元的活動(dòng)輪廓(例如,兩個(gè)神經(jīng)元或兩個(gè)神經(jīng)群體的尖峰列車解釋的方差)。單元A的活動(dòng)輪廓在行為狀態(tài)之間泛化,而單元B的則不會(huì)。然而,在單元B內(nèi),某些元素確實(shí)在狀態(tài)之間泛化(例如,由變量1和3解釋的方差部分)。為了發(fā)現(xiàn)每個(gè)狀態(tài)獨(dú)特的原則,以及所有狀態(tài)共有的原則,必須跟蹤大量的感覺(jué)和行為變量,并將它們與神經(jīng)活動(dòng)聯(lián)系起來(lái)。此外,因?yàn)槊總€(gè)單元的活動(dòng)取決于其他單元的活動(dòng),所以需要進(jìn)行大規(guī)模的神經(jīng)記錄和網(wǎng)絡(luò)級(jí)別的調(diào)查。最后,混合選擇性和其任務(wù)依賴性表明,神經(jīng)回路不僅僅有一個(gè)功能,而是有多個(gè)功能,這些功能只能在任務(wù)的背景下定義。
神經(jīng)活動(dòng)的互聯(lián)性和動(dòng)態(tài)性,本質(zhì)上使定義大腦功能及其定位到特定的回路變得復(fù)雜[43、44]
例如,盡管 V5/MT 區(qū)域的功能被描述為運(yùn)動(dòng)感知或運(yùn)動(dòng)整合[45],但其神經(jīng)反應(yīng)反映了超出刺激運(yùn)動(dòng)的任務(wù)方面(例如,行為選擇[46])。這些發(fā)現(xiàn)與神經(jīng)元可能表現(xiàn)出混合選擇性以使其能夠在不同的任務(wù)中靈活參與這一觀點(diǎn)一致[47]。混合選擇性,加上回路之間活動(dòng)強(qiáng)烈的依賴性[34],表明神經(jīng)元和神經(jīng)群集能夠根據(jù)能動(dòng)者的目標(biāo)執(zhí)行多種功能(圖2)。由此,將這些功能簡(jiǎn)單歸因于單一的功能領(lǐng)域變得困難,正如研究顯示神經(jīng)回路的選擇性并非先天就確定的那樣。
同理,那些傳統(tǒng)被認(rèn)為是為特定感官或運(yùn)動(dòng)功能而進(jìn)化的神經(jīng)元也顯示出了類似的適應(yīng)性。例如,語(yǔ)言處理會(huì)激活出生時(shí)沒(méi)有視力的個(gè)體早期視覺(jué)皮層[48],而被認(rèn)為控制手部運(yùn)動(dòng)的回路在出生時(shí)沒(méi)有手的個(gè)體進(jìn)行足部運(yùn)動(dòng)時(shí)也會(huì)被激活[49]。類似于對(duì)神經(jīng)元的假定功能,人們通常會(huì)對(duì)行為的功能做出相似的假設(shè)。例如,雖然我們的拇指具有一系列明確的關(guān)節(jié)動(dòng)作,但這些關(guān)節(jié)動(dòng)作在抓取杯子、通過(guò)手語(yǔ)交流或游泳時(shí)會(huì)發(fā)揮不同的功能。
總的來(lái)說(shuō),這些例子說(shuō)明了只有在理解了其所處環(huán)境背景后,我們才能真正理解神經(jīng)或行為模式的功能。能動(dòng)者試圖擴(kuò)展這些想法,實(shí)驗(yàn)中活動(dòng)模式的存在并不一定意味著參與特定心理過(guò)程。盡管這種任務(wù)依賴性使功能的定義變得復(fù)雜,但我們無(wú)法回避這個(gè)問(wèn)題。它提醒我們,問(wèn)題的表述會(huì)引導(dǎo)到某種答案[50]。例如,如果我們?cè)谌蝿?wù)中只識(shí)別神經(jīng)元或群體的單一功能,可能會(huì)忽視這種復(fù)雜性,并偏離了對(duì)神經(jīng)系統(tǒng)模塊化的全面視角。
為了捕捉到這種復(fù)雜性和任務(wù)依賴性,我們首先需要從問(wèn)題的提出開(kāi)始:我們建議不再單純?cè)儐?wèn)神經(jīng)元或行為的單一功能,而是通過(guò)問(wèn)題的重新表述來(lái)探索神經(jīng)對(duì)任務(wù)完成度的貢獻(xiàn)。在多種任務(wù)中探索這些貢獻(xiàn),并將數(shù)據(jù)與任務(wù)需求聯(lián)系起來(lái),我們可能會(huì)找到不止一個(gè)解答,這與我們的假設(shè)和大腦的互聯(lián)性相符。通過(guò)分析結(jié)果的相似性,可以建立適用于多個(gè)任務(wù)的一般原則(Box 3)。這種方法通過(guò)理論驅(qū)動(dòng),結(jié)合不同的實(shí)驗(yàn)組件和操作指令目標(biāo),來(lái)評(píng)估這些目標(biāo)如何影響我們的經(jīng)驗(yàn)測(cè)量(例如,從注視模式推斷實(shí)驗(yàn)?zāi)繕?biāo)[51])。
我們的核心觀點(diǎn)是,只有在行為的背景下,我們才能全面理解生物體的生理學(xué)。行為本質(zhì)上是生物體將生理過(guò)程擴(kuò)展到環(huán)境中的自然方式,用以維持生物的穩(wěn)態(tài)[16],因此行為與由此產(chǎn)生的精神狀態(tài)內(nèi)在相關(guān)聯(lián)(例如,視覺(jué)體驗(yàn)本質(zhì)上反映了感覺(jué)運(yùn)動(dòng)整合[20])。即便是表面看似被動(dòng)的任務(wù),如眼球的跳躍動(dòng)作反映了記憶內(nèi)容[22],瞳孔大小變化揭示了對(duì)亮度的感知[52],這些都涉及到行為,并且往往以我們難以直覺(jué)捉摸的方式發(fā)生。
因此,在解釋記錄的神經(jīng)活動(dòng)時(shí),行為是一個(gè)必不可少的考慮因素。盡管許多人已經(jīng)強(qiáng)調(diào)了將行為納入我們對(duì)神經(jīng)系統(tǒng)的理解的重要性[53],但認(rèn)知神經(jīng)科學(xué)通常將行為分析局限于實(shí)驗(yàn)者認(rèn)為相關(guān)的有限動(dòng)作集合,例如量化少量指令或提示動(dòng)作的準(zhǔn)確性和效率(例如,杠桿按壓)。通常,與任務(wù)相關(guān)的動(dòng)作被包含在內(nèi),而與任務(wù)無(wú)關(guān)的動(dòng)作往往被忽略(例如,好奇斑馬魚(yú)的鰭劃動(dòng),不參與的參與者的眼球運(yùn)動(dòng))或限制(例如,頭部固定),這些都可能對(duì)我們理解任務(wù)執(zhí)行和風(fēng)險(xiǎn)帶來(lái)模糊。然而,依靠直覺(jué)來(lái)將行為分類為“任務(wù)相關(guān)”或“任務(wù)無(wú)關(guān)”,根植于一些可能存在的強(qiáng)假設(shè)。
這模糊了我們對(duì)任務(wù)執(zhí)行和風(fēng)險(xiǎn)的理解,并可能忽略了數(shù)據(jù)的重要解釋性變量(例如,未經(jīng)指導(dǎo)的行為可以解釋小鼠聽(tīng)覺(jué)刺激期間 V1 的活動(dòng))[54]。我們認(rèn)為,這些看似與任務(wù)無(wú)關(guān)的行為,實(shí)際上可能直接反映了心理狀態(tài)的內(nèi)在部分。因此,在認(rèn)知神經(jīng)科學(xué)的實(shí)驗(yàn)、分析、解釋及建模中,考慮行為的全面性是至關(guān)重要的[53, 55](Box 5)。完全控制或限制行為既不可行也不可取,因?yàn)樗鼤?huì)干擾任務(wù)執(zhí)行并損害生態(tài)效度。相反,我們應(yīng)該全面跟蹤和分析行為與神經(jīng)活動(dòng)以及變化的實(shí)驗(yàn)成分的關(guān)系。由于行為無(wú)處不在,其表達(dá)方式通常不可預(yù)測(cè),因此即使在看似被動(dòng)任務(wù)中(例如,識(shí)別過(guò)程中的主動(dòng)采樣)[56],也需要密集的行為跟蹤。這一需求同樣適用于行為被物理限制(如注視任務(wù)或頭部固定)或不需要特定反應(yīng)的情況(如老鼠的自由覓食或人類的靜息狀態(tài))。
機(jī)器學(xué)習(xí)的最新進(jìn)展對(duì)于實(shí)現(xiàn)這一目標(biāo)至關(guān)重要,因?yàn)樗軌蛄炕瘎?dòng)物[57]以及人類[58]豐富的行為庫(kù),并將這些行為與神經(jīng)動(dòng)力學(xué)聯(lián)系起來(lái)(例如,通過(guò)行為編碼模型[13]),或在聯(lián)合框架[59]中與神經(jīng)活動(dòng)一起建模。特別是行為音節(jié)的自動(dòng)化量化(即具有可學(xué)習(xí)轉(zhuǎn)換概率的立體型行為模式)[57],這一新興方法讓我們能夠跨任務(wù)比較復(fù)雜的重復(fù)動(dòng)作序列,揭示不同任務(wù)間規(guī)律性的存在,并在實(shí)驗(yàn)間共享的任務(wù)需求中發(fā)現(xiàn)意想不到的抽象層次(Box 2)。此外,比較行為音節(jié)實(shí)驗(yàn)觀察到的結(jié)果與野外測(cè)量結(jié)果的比較能夠估算實(shí)驗(yàn)的生態(tài)效度,幫助區(qū)分實(shí)驗(yàn)階段[60],并允許在個(gè)體特征方面考察行為庫(kù),具體分析其在個(gè)體發(fā)育和系統(tǒng)進(jìn)化時(shí)間尺度上的變化(Box 4)。
本文強(qiáng)調(diào)了一種以行動(dòng)為導(dǎo)向、動(dòng)態(tài)且集成的腦部視圖,這對(duì)認(rèn)知神經(jīng)科學(xué)和精神病學(xué)中的計(jì)算模型具有廣泛的意義[88, 89]。
模型必須圍繞行為構(gòu)建。首先,由于感官印象、目標(biāo)和行為是不可分割的,因此神經(jīng)、行為和心理狀態(tài)不能僅基于刺激特征完全理解(也就是說(shuō),它們不是可計(jì)算的刺激)。因此,模型需要超越刺激可計(jì)算性,并結(jié)合目標(biāo)驅(qū)動(dòng)的行為,即使是限制在感官過(guò)程的模型。這包括流行的深度神經(jīng)網(wǎng)絡(luò)模型(例如,識(shí)別模型[56]),其他的建模方法則更加積極地結(jié)合行動(dòng),通常是為了盡量減少感官輸入與預(yù)測(cè)之間的誤差,或最大化獎(jiǎng)勵(lì),亦或兩者兼顧(例如,貝葉斯模型[90],主動(dòng)推理[91]或強(qiáng)化學(xué)習(xí)[92])。這些模型根據(jù)訓(xùn)練方式,能夠?qū)W習(xí)執(zhí)行與嚙齒類動(dòng)物和人類相似的復(fù)雜行為和任務(wù)(例如,導(dǎo)航[93])。
模型亦需能概括跨任務(wù)的能力。為了捕捉行為和神經(jīng)活動(dòng)的依賴性,模型應(yīng)包含任務(wù)依賴性[3],并在跨任務(wù)泛化上進(jìn)行正式測(cè)試。例如,根據(jù)訓(xùn)練的類型,強(qiáng)化學(xué)習(xí)模型可學(xué)習(xí)泛化他們解決任務(wù)的結(jié)構(gòu)[94]。多任務(wù)學(xué)習(xí)[95]則是一種強(qiáng)大的泛化方法,能生成極為靈活的模型,復(fù)現(xiàn)現(xiàn)實(shí)世界中的行為,其訓(xùn)練在多個(gè)任務(wù)上的深度神經(jīng)網(wǎng)絡(luò),可能導(dǎo)致出現(xiàn)具有任務(wù)依賴混合選擇性的單元[96],以及類似大腦的表示幾何結(jié)構(gòu)[97]和抽象表示。支持泛化能力的模型如[98]所示。盡管多任務(wù)訓(xùn)練網(wǎng)絡(luò)的特性,取決于所選任務(wù)的相關(guān)性[99]和任務(wù)相關(guān)方面[98],但這些報(bào)告表明,多任務(wù)模型是可行的,并且可以提供機(jī)制洞察力,尤其是在直接在任務(wù)遷移上測(cè)試其組件時(shí)[100]。
此外,模型需要自然化的任務(wù)。擴(kuò)展行為庫(kù)和跨任務(wù)泛化能力的建模方法,必須與開(kāi)發(fā)新的自然化任務(wù)和刺激集同步進(jìn)行,這需要在廣泛的物種中獲取豐富的行為和神經(jīng)數(shù)據(jù)。即使那些能夠?qū)W習(xí)任務(wù)通用表示的模型,也經(jīng)常受到人工場(chǎng)景乃至靜態(tài)刺激定義的限制。然而,在自然體驗(yàn)中,物體和特征常常可以通過(guò)上下文和周邊線索進(jìn)行預(yù)測(cè),然后被主動(dòng)采樣,或者通過(guò)它們?cè)跁r(shí)間上的共同出現(xiàn)的統(tǒng)計(jì)規(guī)律進(jìn)行預(yù)測(cè)。由于缺乏對(duì)性能的直接量化以及在自然條件下性能泛化的量化,這些模型將仍然局限于無(wú)法捕捉生物體真實(shí)世界體驗(yàn)的任務(wù)。同樣,因?yàn)橛?xùn)練模型的精確任務(wù)在決定模型屬性方面發(fā)揮著重要作用[99],因此需要一個(gè)龐大而多樣的自然任務(wù)和刺激集。
我們認(rèn)為,如果將經(jīng)驗(yàn)研究的重點(diǎn)放在跨任務(wù)的研究與廣泛的測(cè)試上,認(rèn)知神經(jīng)科學(xué)就能更好地闡述那些可以共同解釋行為、神經(jīng)和心理狀態(tài)的核心概念。這種可廣泛應(yīng)用的概念,已經(jīng)通過(guò)對(duì)所謂的吸引子模型的研究得到了驗(yàn)證,該模型有效地闡釋了神經(jīng)與行為之間的動(dòng)態(tài)關(guān)系及其相互作用[61]。
這樣的視角需要加強(qiáng)多學(xué)科之間的合作,如哲學(xué)、心理學(xué)、生物學(xué)及計(jì)算機(jī)科學(xué)等,以推動(dòng)認(rèn)知精神科學(xué)領(lǐng)域的整體進(jìn)步,同時(shí)克服這些領(lǐng)域固有的矛盾,比如長(zhǎng)久以來(lái)的自下而上與自上而下的爭(zhēng)論(見(jiàn)圖3)。認(rèn)知神經(jīng)科學(xué)不僅可以,而且應(yīng)該超越它所涵蓋的各個(gè)學(xué)科的簡(jiǎn)單總和。實(shí)現(xiàn)這一點(diǎn)需要跳出僅僅利用專門(mén)任務(wù)將心理學(xué)概念映射到神經(jīng)或行為數(shù)據(jù),或者將神經(jīng)動(dòng)態(tài)映射到不受約束的自然行為的范疇。也就是說(shuō),我們應(yīng)該致力于揭示跨越數(shù)據(jù)類型和基于理論選擇的任務(wù)的一致模式,這將為建立新分類體系打下基礎(chǔ)。
至關(guān)重要的是,我們不應(yīng)該用一個(gè)僵化的分類體系取代另一個(gè),也不應(yīng)該完全放棄理論和分類體系,而僅僅依賴純粹的數(shù)據(jù)驅(qū)動(dòng)的量化。認(rèn)知神經(jīng)科學(xué)試圖將截然不同的現(xiàn)象(例如,氣味和吸引力)聯(lián)系起來(lái)。為了理解一個(gè)不斷自我優(yōu)化的系統(tǒng),從通道到網(wǎng)絡(luò),其狀態(tài)取決于環(huán)境因素和自身歷史。單一的分類體系無(wú)法涵蓋這種努力所需的抽象范圍和時(shí)空尺度[50],新的分類體系必須能夠適應(yīng)生理、行為和心理狀態(tài)的改變本質(zhì)(例如,智能手機(jī)已迅速成為普遍現(xiàn)象)。
這并不意味著我們現(xiàn)有的理論不重要——實(shí)際上,任何實(shí)驗(yàn)和理解都離不開(kāi)理論支持。但這確實(shí)表明,認(rèn)知神經(jīng)科學(xué)是一個(gè)不斷發(fā)展的領(lǐng)域,沒(méi)有明確的終點(diǎn)。一個(gè)可持續(xù)的認(rèn)知神經(jīng)科學(xué)應(yīng)當(dāng)能夠建立具有高度適應(yīng)性的理論框架,以捕捉并解釋它試圖理解的系統(tǒng)的不斷變化和復(fù)雜性。這需要我們將研究方法聚焦在任務(wù)需求上,因?yàn)檫@能夠簡(jiǎn)潔明了地解釋行為和神經(jīng)活動(dòng)的多變性。
?圖3:任務(wù)需求連接心理概念與數(shù)據(jù)。a, 外部進(jìn)入方法。預(yù)定義的心理概念通過(guò)使用高度專門(mén)化的任務(wù)(例如,工作記憶任務(wù))映射到神經(jīng)數(shù)據(jù)上。無(wú)法發(fā)現(xiàn)新概念。b, 內(nèi)部輸出方法。在自然行為過(guò)程中記錄的神經(jīng)動(dòng)態(tài)映射到行動(dòng)和環(huán)境因素上。可以發(fā)現(xiàn)新概念,但映射不唯一,搜索空間受限。c, 通過(guò)概括定義新概念。左上,多任務(wù)研究通過(guò)變化多個(gè)實(shí)驗(yàn)組件(即感官信息、目標(biāo)和行為)系統(tǒng)地變化任務(wù)需求。左下,結(jié)合神經(jīng)記錄和行為追蹤的多任務(wù)實(shí)驗(yàn)創(chuàng)建了旨在利用變異性同時(shí)保持實(shí)驗(yàn)控制的數(shù)據(jù)集。右下,概括性測(cè)試識(shí)別在不同任務(wù)及行為和神經(jīng)數(shù)據(jù)間共享的數(shù)據(jù)模式。右上,可以描述、標(biāo)記并組織成新的分類法的泛化模式,隨后指導(dǎo)實(shí)驗(yàn)設(shè)計(jì)。
人們普遍認(rèn)為,理解神經(jīng)系統(tǒng)的工作非一日之功,需要跨越代代相傳的努力,遠(yuǎn)非某個(gè)實(shí)驗(yàn)室或機(jī)構(gòu)能單獨(dú)完成。但要完全接受這種理解,就需要對(duì)當(dāng)前的研究文化進(jìn)行徹底的變革。作為一個(gè)學(xué)科,我們應(yīng)堅(jiān)持科學(xué)與定量的持續(xù)融合,即促使他人重用、改進(jìn)及擴(kuò)展數(shù)據(jù)與技術(shù)。這一切都從增加范式、數(shù)據(jù)和代碼的共享深度與廣度開(kāi)始,并為所有這些實(shí)施標(biāo)準(zhǔn)[62]。這種開(kāi)放科學(xué)實(shí)踐,通過(guò)使研究更具可訪問(wèn)性和包容性,促進(jìn)了多樣化需要緊急尋求的視角,以挑戰(zhàn)和完善理論。認(rèn)知神經(jīng)科學(xué)的長(zhǎng)遠(yuǎn)目標(biāo),如統(tǒng)一行為、心理和神經(jīng)狀態(tài)的理論,都極需這種實(shí)踐的激勵(lì)與獎(jiǎng)勵(lì),涵蓋從實(shí)驗(yàn)設(shè)計(jì)到出版,乃至?xí)x升過(guò)程。
雖然單獨(dú)的研究可以遵循我們所提出的核心建議,如采用多任務(wù)學(xué)習(xí)設(shè)計(jì)和正式的泛化測(cè)試,要充分發(fā)揮這種方法的潛力,還需要啟動(dòng)新的大型計(jì)劃。這些計(jì)劃旨在探索不同人群和物種中任務(wù)需求的影響,并采用多種數(shù)據(jù)收集技術(shù)。已有的計(jì)劃如腦成像數(shù)據(jù)結(jié)構(gòu)和分析管道(例如Brainlife),以及使數(shù)據(jù)集和代碼公開(kāi)在線的平臺(tái)(例如Open-Neuro、GitHub)等,已經(jīng)取得了重要進(jìn)展,增加了樣本量和數(shù)據(jù)類型的多樣性,例如“全民健康計(jì)劃”中針對(duì)每個(gè)個(gè)體收集的數(shù)據(jù)。
值得注意的是,盡管一些倡議已經(jīng)共享了涉及多個(gè)任務(wù)的數(shù)據(jù)集(例如,神經(jīng)認(rèn)知模型項(xiàng)目、人類腦圖譜項(xiàng)目、青少年大腦認(rèn)知發(fā)育項(xiàng)目和健康大腦網(wǎng)絡(luò)),大多數(shù)項(xiàng)目卻僅圍繞某些假設(shè)的心理學(xué)概念構(gòu)建了特定的、較為被動(dòng)的任務(wù)集(如靜息狀態(tài)),從而忽略了行為和神經(jīng)動(dòng)力學(xué)中的許多關(guān)鍵協(xié)方差(見(jiàn)Box 3)。這些數(shù)據(jù)的實(shí)用性未必總能證明其投資的合理性。
鑒于任務(wù)的具體性往往旨在驗(yàn)證預(yù)設(shè)的心理學(xué)概念(如工作記憶),因此生成的數(shù)據(jù)集本質(zhì)上偏向這些概念,限制了形成新概念的機(jī)會(huì)。為了最大限度地提升未來(lái)數(shù)據(jù)收集的效用,我們應(yīng)系統(tǒng)地改變多個(gè)實(shí)驗(yàn)組成部分(如指令和刺激),并在盡可能模擬自然環(huán)境的條件下,密集采樣神經(jīng)活動(dòng)和行為[10]。要實(shí)現(xiàn)這些舉措,可能需要新的基礎(chǔ)設(shè)施(如協(xié)調(diào)各組工作的社區(qū)平臺(tái))以及對(duì)優(yōu)先研究問(wèn)題和方法論的一致性。理想情況下,研究應(yīng)優(yōu)先考慮能動(dòng)者在自然環(huán)境中所面臨的需求,及其可能帶來(lái)的潛在社會(huì)效益(如應(yīng)用和治療進(jìn)展)。
總而言之,我們概述了一個(gè)以任務(wù)需求為中心的認(rèn)知神經(jīng)科學(xué)框架,探討了如何從能動(dòng)者的目標(biāo)、行為和感官印象之間的互動(dòng)中,塑造神經(jīng)系統(tǒng)在空間及時(shí)間尺度上的活動(dòng)和結(jié)構(gòu)。為了理解任務(wù)需求如何共同限制行為和神經(jīng)活動(dòng),以及這兩個(gè)領(lǐng)域是如何聯(lián)系在一起的,改變多個(gè)實(shí)驗(yàn)成分至關(guān)重要(例如,指令和刺激)。我們進(jìn)一步強(qiáng)調(diào)了密集的行為采樣與大規(guī)模的神經(jīng)活動(dòng)記錄、數(shù)據(jù)共享和代碼共享的重要性,這些都是推動(dòng)理論與實(shí)際應(yīng)用相結(jié)合,實(shí)現(xiàn)學(xué)科間融合與整合的關(guān)鍵。通過(guò)關(guān)注理論和實(shí)際意義,該框架旨在為發(fā)現(xiàn)統(tǒng)一行為、生理和心理狀態(tài)描述的新概念和理論鋪平道路,以期獲得從實(shí)驗(yàn)室到現(xiàn)實(shí)世界的普遍性結(jié)果。
[1] Gibson, J. J. The ecological approach to visual perception. J. Aesthet. Art. Crit. 39, 203 (1979).
[2] Ledergerber, D. et al. Task-dependent mixed selectivity in the subiculum. Cell Rep. 35, 109175 (2021). - PubMed - PMC - DOI
[3] Kay, K., Bonnen, K., Denison, R. N., Arcaro, M. J. & Barack, D. L. Tasks and their role in visual neuroscience. Neuron https://doi.org/10.1016/j.neuron.2023.03.022 (2023).
[4] Burlingham, C. S. et al. Task-related hemodynamic responses in human early visual cortex are modulated by task difficulty and behavioral performance. eLife 11, e73018 (2022). - PubMed - PMC - DOI
[5] Ito, T. & Murray, J. D. Multitask representations in the human cortex transform along a sensory-to-motor hierarchy. Nat. Neurosci. 26, 306–315 (2023). - PubMed - DOI
[6] Koida, K. & Komatsu, H. Effects of task demands on the responses of color-selective neurons in the inferior temporal cortex. Nat. Neurosci. 10, 108–116 (2007). - PubMed - DOI
[7] Lee, J. J., Krumin, M., Harris, K. D. & Carandini, M. Task specificity in mouse parietal cortex. Neuron 110, 2961–2969 (2022). - PubMed - PMC - DOI
[8] Cole, M. W. et al. Multi-task connectivity reveals flexible hubs for adaptive task control. Nat. Neurosci. 16, 1348–1355 (2013). - PubMed - PMC - DOI
[9] Cox, P. H., Kravitz, D. J. & Mitroff, S. R. Great expectations: minor differences in initial instructions have a major impact on visual search in the absence of feedback. Cogn. Res. Princ. Implic. 6, 19 (2021). - PubMed - PMC - DOI
[10] Nastase, S. A., Goldstein, A. & Hasson, U. Keep it real: rethinking the primacy of experimental control in cognitive neuroscience. NeuroImage 222, 117254 (2020). - PubMed - DOI
[11] Topalovic, U. et al. A wearable platform for closed-loop stimulation and recording of single-neuron and local field potential activity in freely moving humans. Nat. Neurosci. https://doi.org/10.1038/s41593-023-01260-4 (2023). - DOI - PubMed - PMC
[12] Schmid, A. C., Barla, P. & Doerschner, K. Material category of visual objects computed from specular image structure. Nat. Hum. Behav. 7, 1152–1169 (2023). - PubMed - PMC - DOI
[13] Nau, M., Navarro Schr?der, T., Frey, M. & Doeller, C. F. Behavior-dependent directional tuning in the human visual-navigation network. Nat. Commun. 11, 3247 (2020). - PubMed - PMC - DOI
[14] Chiu, C. Q., Barberis, A. & Higley, M. J. Preserving the balance: diverse forms of long-term GABAergic synaptic plasticity. Nat. Rev. Neurosci. 20, 272–281 (2019). - PubMed - DOI
[15] Lindenberger, U. & L?vdén, M. Brain plasticity in human lifespan development: the exploration–selection–refinement model. Annu. Rev. Dev. Psychol. 1, 197–222 (2019). - DOI
[16] Cisek, P. Resynthesizing behavior through phylogenetic refinement. Atten. Percept. Psychophys. 81, 2265–2287 (2019). - PubMed - PMC - DOI
[17] Hedrick, N. G. et al. Learning binds new inputs into functional synaptic clusters via spinogenesis. Nat. Neurosci. 25, 726–737 (2022). - PubMed - DOI
[18] Musall, S., Kaufman, M. T., Juavinett, A. L., Gluf, S. & Churchland, A. K. Single-trial neural dynamics are dominated by richly varied movements. Nat. Neurosci. 22, 1677–1686 (2019). - PubMed - PMC - DOI
[19] Stringer, C. et al. Spontaneous behaviors drive multidimensional, brainwide activity. Science 364, eaav7893 (2019). - DOI
[20] Sommer, M. A. & Wurtz, R. H. Brain circuits for the internal monitoring of movements. Annu. Rev. Neurosci. 31, 317–338 (2008). - PubMed - PMC - DOI
[21] Rolfs, M. & Schweitzer, R. Coupling perception to action through incidental sensory consequences of motor behaviour. Nat. Rev. Psychol. 1, 112–123 (2022). - DOI
[22] Wynn, J. S., Shen, K. & Ryan, J. D. Eye movements actively reinstate spatiotemporal mnemonic content. Vision 3, 21 (2019). - PubMed - PMC - DOI
[23] Zhao, W. et al. Task fMRI paradigms may capture more behaviorally relevant information than resting-state functional connectivity. NeuroImage 270, 119946 (2023). - PubMed - DOI
[24] Bradley, C., Nydam, A. S., Dux, P. E. & Mattingley, J. B. State-dependent effects of neural stimulation on brain function and cognition. Nat. Rev. Neurosci. 23, 459–475 (2022). - PubMed - DOI
[25] Gardner, R. J. et al. Toroidal topology of population activity in grid cells. Nature 602, 123–128 (2022). - PubMed - PMC - DOI
[26] Driscoll, L. N., Duncker, L. & Harvey, C. D. Representational drift: emerging theories for continual learning and experimental future directions. Curr. Opin. Neurobiol. 76, 102609 (2022). - PubMed - DOI
[27] Schoonover, C. E., Ohashi, S. N., Axel, R. & Fink, A. J. P. Representational drift in primary olfactory cortex. Nature 594, 541–546 (2021). - PubMed - DOI
[28] Kramer, M. R., Cox, P. H., Mitroff, S. R. & Kravitz, D. J. A precise quantification of how prior experience informs current behavior. J. Exp. Psychol. Gen. 151, 1854–1865 (2022). - PubMed - DOI
[29] Sadeh, S. & Clopath, C. Contribution of behavioural variability to representational drift. eLife 11, e77907 (2022). - PubMed - PMC - DOI
[30] Jangraw, D. C. et al. A highly replicable decline in mood during rest and simple tasks. Nat. Hum. Behav. https://doi.org/10.1038/s41562-023-01519-7 (2023). - DOI - PubMed - PMC
[31] Busch, E. L. et al. Multi-view manifold learning of human brain-state trajectories. Nat. Comput. Sci. https://doi.org/10.1038/s43588-023-00419-0 (2023). - DOI - PubMed - PMC
[32] Vaidya, A. R., Pujara, M. S., Petrides, M., Murray, E. A. & Fellows, L. K. Lesion studies in contemporary neuroscience. Trends Cogn. Sci. 23, 653–671 (2019). - PubMed - PMC - DOI
[33] Gidon, A. et al. Dendritic action potentials and computation in human layer 2/3 cortical neurons. Science 367, 83–87 (2020). - PubMed - DOI
[34] Pessoa, L. The entangled brain. J. Cogn. Neurosci. 35, 349–360 (2023). - PubMed - PMC - DOI
[35] Bechtel, W. & Bich, L. Grounding cognition: heterarchical control mechanisms in biology. Philos. Trans. R. Soc. B Biol. Sci. 376, 20190751 (2021). - DOI
[36] Long, M. A. & Fee, M. S. Using temperature to analyse temporal dynamics in the songbird motor pathway. Nature 456, 189–194 (2008). - PubMed - PMC - DOI
[37] Folloni, D. et al. Manipulation of subcortical and deep cortical activity in the primate brain using transcranial focused ultrasound stimulation. Neuron 101, 1109–1116 (2019). - PubMed - PMC - DOI
[38] Siddiqi, S. H., Kording, K. P., Parvizi, J. & Fox, M. D. Causal mapping of human brain function. Nat. Rev. Neurosci. 23, 361–375 (2022). - PubMed - PMC - DOI
[39] Jun, S., Lee, S. A., Kim, J. S., Jeong, W. & Chung, C. K. Task-dependent effects of intracranial hippocampal stimulation on human memory and hippocampal theta power. Brain Stimul. 13, 603–613 (2020). - PubMed - DOI
[40] Basile, B. M., Templer, V. L., Gazes, R. P. & Hampton, R. R. Preserved visual memory and relational cognition performance in monkeys with selective hippocampal lesions. Sci. Adv. 6, eaaz0484 (2020). - PubMed - PMC - DOI
[41] Ausra, J. et al. Wireless, battery-free, subdermally implantable platforms for transcranial and long-range optogenetics in freely moving animals. Proc. Natl Acad. Sci. USA 118, e2025775118 (2021). - PubMed - PMC - DOI
[42] Uselman, T. W., Medina, C. S., Gray, H. B., Jacobs, R. E. & Bearer, E. L. Longitudinal manganese‐enhanced magnetic resonance imaging of neural projections and activity. NMR Biomed. 35, e4675 (2022). - PubMed - PMC - DOI
[43] Rust, N. C. & LeDoux, J. E. The tricky business of defining brain functions. Trends Neurosci. 46, 3–4 (2023). - PubMed - DOI
[44] Burnston, D. C. A contextualist approach to functional localization in the brain. Biol. Philos. 31, 527–550 (2016). - DOI
[45] Huk, A. C. & Shadlen, M. N. Neural activity in macaque parietal cortex reflects temporal integration of visual motion signals during perceptual decision making. J. Neurosci. 25, 10420–10436 (2005). - PubMed - PMC - DOI
[46] Levi, A. J., Zhao, Y., Park, I. M. & Huk, A. C. Sensory and choice responses in MT distinct from motion encoding. J. Neurosci. 43, 2090–2103 (2023). - PubMed - PMC - DOI
[47] Fusi, S., Miller, E. K. & Rigotti, M. Why neurons mix: high dimensionality for higher cognition. Curr. Opin. Neurobiol. 37, 66–74 (2016). - PubMed - DOI
[48] Bedny, M., Pascual-Leone, A., Dodell-Feder, D., Fedorenko, E. & Saxe, R. Language processing in the occipital cortex of congenitally blind adults. Proc. Natl Acad. Sci. USA 108, 4429–4434 (2011). - PubMed - PMC - DOI
[49] Liu, Y., Vannuscorps, G., Caramazza, A. & Striem-Amit, E. Evidence for an effector-independent action system from people born without hands. Proc. Natl Acad. Sci. USA 117, 28433–28441 (2020). - PubMed - PMC - DOI
[50] Levenstein, D. et al. On the role of theory and modeling in neuroscience. J. Neurosci. 43, 1074–1088 (2023). - PubMed - PMC - DOI
[51] Haji-Abolhassani, A. & Clark, J. J. An inverse Yarbus process: predicting observers’ task from eye movement patterns. Vis. Res. 103, 127–142 (2014). - PubMed - DOI
[52] Kay, L., Keogh, R., Andrillon, T. & Pearson, J. The pupillary light response as a physiological index of aphantasia, sensory and phenomenological imagery strength. eLife 11, e72484 (2022). - PubMed - PMC - DOI
[53] Krakauer, J. W., Ghazanfar, A. A., Gomez-Marin, A., MacIver, M. A. & Poeppel, D. Neuroscience needs behavior: correcting a reductionist bias. Neuron 93, 480–490 (2017). - PubMed - DOI
[54] Bimbard, C. et al. Behavioral origin of sound-evoked activity in mouse visual cortex. Nat. Neurosci. 26, 251–258 (2023). - PubMed - PMC - DOI
[55] Miller, C. T. et al. Natural behavior is the language of the brain. Curr. Biol. 32, R482–R493 (2022). - PubMed - PMC - DOI
[56] DiCarlo, J. J., Zoccolan, D. & Rust, N. C. How does the brain solve visual object recognition? Neuron 73, 415–434 (2012). - PubMed - PMC - DOI
[57] Datta, S. R., Anderson, D. J., Branson, K., Perona, P. & Leifer, A. Computational neuroethology: a call to action. Neuron 104, 11–24 (2019). - PubMed - PMC - DOI
[58] Frey, M., Nau, M. & Doeller, C. F. Magnetic resonance-based eye tracking using deep neural networks. Nat. Neurosci. 24, 1772–1779 (2021). - PubMed - PMC - DOI
[59] Schneider, S., Lee, J. H. & Mathis, M. W. Learnable latent embeddings for joint behavioural and neural analysis. Nature https://doi.org/10.1038/s41586-023-06031-6 (2023). - DOI - PubMed - PMC
[60] Hazeltine, E., Dykstra, T. & Schumacher, E. In Experimental Psychology (eds. Gozli, D. & Valsiner, J.) 75–95 https://doi.org/10.1007/978-3-031-17053-9_6 (Springer International Publishing, 2022).
[61] Khona, M. & Fiete, I. R. Attractor and integrator networks in the brain. Nat. Rev. Neurosci. 23, 744–766 (2022). - PubMed - DOI
[62] Ascoli, G. A., Maraver, P., Nanda, S., Polavaram, S. & Arma?anzas, R. Win–win data sharing in neuroscience. Nat. Methods 14, 112–116 (2017). - PubMed - PMC - DOI
[63] Buzsáki, G. The Brain From Inside Out (Oxford University Press, 2019).
[64] Beam, E., Potts, C., Poldrack, R. A. & Etkin, A. A data-driven framework for mapping domains of human neurobiology. Nat. Neurosci. 24, 1733–1744 (2021). - PubMed - PMC - DOI
[65] Poeppel, D. & Adolfi, F. Against the epistemological primacy of the hardware: the brain from inside out, turned upside down. eNeuro 7, ENEURO.0215-20.2020 (2020). - PubMed - PMC - DOI
[66] Fiebelkorn, I. C. & Kastner, S. Functional specialization in the attention network. Annu. Rev. Psychol. 71, 221–249 (2020). - PubMed - DOI
[67] Zhang, X. et al. Active information maintenance in working memory by a sensory cortex. eLife 8, e43191 (2019). - PubMed - PMC - DOI
[68] Rademaker, R. L., Chunharas, C. & Serences, J. T. Coexisting representations of sensory and mnemonic information in human visual cortex. Nat. Neurosci. https://doi.org/10.1038/s41593-019-0428-x (2019). - DOI - PubMed - PMC
[69] Teng, C. & Kravitz, D. J. Visual working memory directly alters perception. Nat. Hum. Behav. 3, 827–836 (2019). - PubMed - DOI
[70] Lee, S.-H., Kravitz, D. J. & Baker, C. I. Goal-dependent dissociation of visual and prefrontal cortices during working memory. Nat. Neurosci. 16, 997–999 (2013). - PubMed - PMC - DOI
[71] Favila, S. E., Kuhl, B. A. & Winawer, J. Perception and memory have distinct spatial tuning properties in human visual cortex. Nat. Commun. 13, 5864 (2022). - PubMed - PMC - DOI
[72] Dijkstra, N. & Fleming, S. M. Subjective signal strength distinguishes reality from imagination. Nat. Commun. 14, 1627 (2023). - PubMed - PMC - DOI
[73] Albers, A. M., Kok, P., Toni, I., Dijkerman, H. C. & de Lange, F. P. Shared representations for working memory and mental imagery in early visual cortex. Curr. Biol. 23, 1427–1431 (2013). - PubMed - DOI
[74] Kragel, P. A., Reddan, M. C., LaBar, K. S. & Wager, T. D. Emotion schemas are embedded in the human visual system. Sci. Adv. 5, eaaw4358 (2019). - PubMed - PMC - DOI
[75] Yarkoni, T., Poldrack, R. A., Nichols, T. E., Van Essen, D. C. & Wager, T. D. Large-scale automated synthesis of human functional neuroimaging data. Nat. Methods 8, 665–670 (2011). - PubMed - PMC - DOI
[76] Shine, J. M. et al. Human cognition involves the dynamic integration of neural activity and neuromodulatory systems. Nat. Neurosci. 22, 289–296 (2019). - PubMed - DOI
[77] Nakai, T. & Nishimoto, S. Quantitative models reveal the organization of diverse cognitive functions in the brain. Nat. Commun. 11, 1142 (2020). - PubMed - PMC - DOI
[78] Gitelman, D. R., Nobre, A. C., Sonty, S., Parrish, T. B. & Mesulam, M.-M. Language network specializations: an analysis with parallel task designs and functional magnetic resonance imaging. NeuroImage 26, 975–985 (2005). - PubMed - DOI
[79] Niv, Y. The primacy of behavioral research for understanding the brain. Behav. Neurosci. 135, 601–609 (2021). - PubMed - DOI
[80] Hebart, M. N., Zheng, C. Y., Pereira, F. & Baker, C. I. Revealing the multidimensional mental representations of natural objects underlying human similarity judgements. Nat. Hum. Behav. 4, 1173–1185 (2020). - PubMed - PMC - DOI
[81] Marek, S. et al. Reproducible brain-wide association studies require thousands of individuals. Nature 603, 654–660 (2022). - PubMed - PMC - DOI
[82] Moncrieff, J. et al. The serotonin theory of depression: a systematic umbrella review of the evidence. Mol. Psychiatry https://doi.org/10.1038/s41380-022-01661-0 (2022). - DOI - PubMed - PMC
[83] Cuthbert, B. N. & Insel, T. R. Toward the future of psychiatric diagnosis: the seven pillars of RDoC. BMC Med. 11, 126 (2013). - PubMed - PMC - DOI
[84] Malik-Moraleda, S. et al. An investigation across 45 languages and 12 language families reveals a universal language network. Nat. Neurosci. 25, 1014–1019 (2022). - PubMed - PMC - DOI
[85] Jaffe, P. I., Poldrack, R. A., Schafer, R. J. & Bissett, P. G. Modelling human behaviour in cognitive tasks with latent dynamical systems. Nat. Hum. Behav. https://doi.org/10.1038/s41562-022-01510-8 (2023). - DOI - PubMed
[86] Gschwind, T. et al. Hidden behavioral fingerprints in epilepsy. Neuron https://doi.org/10.1016/j.neuron.2023.02.003 (2023).
[87] Porsteinsson, A. P., Isaacson, R. S., Knox, S., Sabbagh, M. N. & Rubino, I. Diagnosis of early Alzheimer’s disease: clinical practice in 2021. J. Prev. Alzheimers Dis. https://doi.org/10.14283/jpad.2021.23 (2021).
[88] Montague, P. R., Dolan, R. J., Friston, K. J. & Dayan, P. Computational psychiatry. Trends Cogn. Sci. 16, 72–80 (2012). - PubMed - DOI
[89] Zador, A. et al. Catalyzing next-generation artificial intelligence through NeuroAI. Nat. Commun. 14, 1597 (2023). - PubMed - PMC - DOI
[90] K?rding, K. P. & Wolpert, D. M. Bayesian integration in sensorimotor learning. Nature 427, 244–247 (2004). - PubMed - DOI
[91] Friston, K., FitzGerald, T., Rigoli, F., Schwartenbeck, P. & Pezzulo, G. Active inference: a process theory. Neural Comput. 29, 1–49 (2017). - PubMed - DOI
[92] Dayan, P. & Daw, N. D. Decision theory, reinforcement learning, and the brain. Cogn. Affect. Behav. Neurosci. 8, 429–453 (2008). - PubMed - DOI
[93] de Cothi, W. et al. Predictive maps in rats and humans for spatial navigation. Curr. Biol. 32, 3676–3689 (2022). - PubMed - PMC - DOI
[94] Momennejad, I. Learning structures: predictive representations, replay, and generalization. Curr. Opin. Behav. Sci. 32, 155–166 (2020). - PubMed - PMC - DOI
[95] Tomov, M. S., Schulz, E. & Gershman, S. J. Multi-task reinforcement learning in humans. Nat. Hum. Behav. 5, 764–773 (2021). - PubMed - DOI
[96] Yang, G. R., Joglekar, M. R., Song, H. F., Newsome, W. T. & Wang, X.-J. Task representations in neural networks trained to perform many cognitive tasks. Nat. Neurosci. 22, 297–306 (2019). - PubMed - DOI
[97] Flesch, T., Juechems, K., Dumbalska, T., Saxe, A. & Summerfield, C. Orthogonal representations for robust context-dependent task performance in brains and neural networks. Neuron 110, 1258–1270 (2022). - PubMed - PMC - DOI
[98] Johnston, W. J. & Fusi, S. Abstract representations emerge naturally in neural networks trained to perform multiple tasks. Nat. Commun. 14, 1040 (2023). - PubMed - PMC - DOI
[99] Scholte, H. S., Losch, M. M., Ramakrishnan, K., de Haan, E. H. F. & Bohte, S. M. Visual pathways from the perspective of cost functions and multi-task deep neural networks. Cortex 98, 249–261 (2018). - PubMed - DOI
[100] Maloney, L. T. & Mamassian, P. Bayesian decision theory as a model of human visual perception: testing Bayesian transfer. Vis. Neurosci. 26, 147–155 (2009). - PubMed – DOI
一、項(xiàng)目概述
有一天,我突然想找點(diǎn)事做,想起一直想學(xué)但是沒(méi)有學(xué)的C語(yǔ)言,就決定來(lái)學(xué)一下。可是怎么學(xué)呢?看書(shū)的話太無(wú)聊,報(bào)班學(xué)呢又快吃土了沒(méi)錢(qián),不如去B站看看?果然,關(guān)鍵字C語(yǔ)言搜索,出現(xiàn)了很多C語(yǔ)言的講課視頻:
B站C語(yǔ)言講課視頻節(jié)選
B站https://www.bilibili.com/是一個(gè)很神奇的地方,簡(jiǎn)直就是一個(gè)無(wú)所不有的寶庫(kù),幾乎可以滿足你一切的需求和視覺(jué)欲。不管你是想看動(dòng)畫(huà)、番劇 ,還是游戲、鬼畜 ,亦或科技和各類教學(xué)視頻 ,只要你能想到的,基本上都可以在B站找到。對(duì)于程序猿或即將成為程序猿的人來(lái)說(shuō),B站上的編程學(xué)習(xí)資源是學(xué)不完的,可是B站沒(méi)有提供下載的功能,如果想保存下載在需要的時(shí)候看,那就是一個(gè)麻煩了。我也遇到了這個(gè)問(wèn)題,于是研究怎么可以實(shí)現(xiàn)一鍵下載視頻,最終用Python這門(mén)神奇的語(yǔ)言實(shí)現(xiàn)了。
當(dāng)然了,項(xiàng)目實(shí)現(xiàn)之后,不是想學(xué)習(xí)編程、而是想看其他類別視頻的小伙伴也可以用這款工具進(jìn)行下載了。
這次項(xiàng)目不需要太多的環(huán)境配置,最主要的是有ffmpeg(一套可以用來(lái)記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開(kāi)源計(jì)算機(jī)程序)并設(shè)置環(huán)境變量就可以了。ffmpeg主要是用于將下載下來(lái)的視頻和音頻進(jìn)行合并形成完整的視頻。
可點(diǎn)擊https://download.csdn.net/download/CUFEECR/12234789或進(jìn)入官網(wǎng)http://ffmpeg.org/download.html進(jìn)行下載,并解壓到你想保存的目錄。
(1)復(fù)制ffmpeg的bin路徑,如xxx\ffmpeg-20190921-ba24b24-win64-shared\bin
(2)此電腦右鍵點(diǎn)擊屬性,進(jìn)入控制面板\系統(tǒng)和安全\系統(tǒng)
(3)點(diǎn)擊高級(jí)系統(tǒng)設(shè)置→進(jìn)入系統(tǒng)屬性彈窗→點(diǎn)擊環(huán)境變量→進(jìn)入環(huán)境變量彈窗→選擇系統(tǒng)變量下的Path→點(diǎn)擊編輯點(diǎn)擊→進(jìn)入編輯環(huán)境變量彈窗
(4)點(diǎn)擊新建→粘貼之前復(fù)制的bin路徑
(5)點(diǎn)擊確定,逐步保存退出
動(dòng)態(tài)操作示例如下:
ffmpeg 設(shè)置環(huán)境變量
除了ffmpeg,還需要安裝pyinstaller庫(kù)用于程序打包。可用以下命令進(jìn)行安裝:
pip install pyinstaller
如果遇到安裝失敗或下載速度較慢,可換源:
pip install pyinstaller -i https://pypi.doubanio.com/simple/
import json
import os
import re
import shutil
import ssl
import time
import requests
from concurrent.futures import ThreadPoolExecutor
from lxml import etree
導(dǎo)入的庫(kù)包括用于爬取和解析網(wǎng)頁(yè)的庫(kù),還包括創(chuàng)建線程池的庫(kù)和進(jìn)行其他處理的庫(kù),大多數(shù)都是Python自帶的,如有未安裝的庫(kù),可使用pip install xxx命令進(jìn)行安裝。
# 設(shè)置請(qǐng)求頭等參數(shù),防止被反爬
headers = {
'Accept': '*/*',
'Accept-Language': 'en-US,en;q=0.5',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'
}
params = {
'from': 'search',
'seid': '9698329271136034665'
}
設(shè)置請(qǐng)求頭等參數(shù),減少被反爬的可能。
def re_video_info(text, pattern):
'''利用正則表達(dá)式匹配出視頻信息并轉(zhuǎn)化成json'''
match = re.search(pattern, text)
return json.loads(match.group(1))
def create_folder(aid):
'''創(chuàng)建文件夾'''
if not os.path.exists(aid):
os.mkdir(aid)
def remove_move_file(aid):
'''刪除和移動(dòng)文件'''
file_list = os.listdir('./')
for file in file_list:
# 移除臨時(shí)文件
if file.endswith('_video.mp4'):
os.remove(file)
pass
elif file.endswith('_audio.mp4'):
os.remove(file)
pass
# 保存最終的視頻文件
elif file.endswith('.mp4'):
if os.path.exists(aid + '/' + file):
os.remove(aid + '/' + file)
shutil.move(file, aid)
主要包括兩方面的基本處理,為正式爬取下載做準(zhǔn)備:
def download_video_batch(referer_url, video_url, audio_url, video_name, index):
'''批量下載系列視頻'''
# 更新請(qǐng)求頭
headers.update({"Referer": referer_url})
# 獲取文件名
short_name = video_name.split('/')[2]
print("%d.\t視頻下載開(kāi)始:%s" % (index, short_name))
# 下載并保存視頻
video_content = requests.get(video_url, headers=headers)
print('%d.\t%s\t視頻大小:' % (index, short_name),
round(int(video_content.headers.get('content-length', 0)) / 1024 / 1024, 2), '\tMB')
received_video = 0
with open('%s_video.mp4' % video_name, 'ab') as output:
headers['Range'] = 'bytes=' + str(received_video) + '-'
response = requests.get(video_url, headers=headers)
output.write(response.content)
# 下載并保存音頻
audio_content = requests.get(audio_url, headers=headers)
print('%d.\t%s\t音頻大小:' % (index, short_name),
round(int(audio_content.headers.get('content-length', 0)) / 1024 / 1024, 2), '\tMB')
received_audio = 0
with open('%s_audio.mp4' % video_name, 'ab') as output:
headers['Range'] = 'bytes=' + str(received_audio) + '-'
response = requests.get(audio_url, headers=headers)
output.write(response.content)
received_audio += len(response.content)
return video_name, index
def download_video_single(referer_url, video_url, audio_url, video_name):
'''單個(gè)視頻下載'''
# 更新請(qǐng)求頭
headers.update({"Referer": referer_url})
print("視頻下載開(kāi)始:%s" % video_name)
# 下載并保存視頻
video_content = requests.get(video_url, headers=headers)
print('%s\t視頻大小:' % video_name, round(int(video_content.headers.get('content-length', 0)) / 1024 / 1024, 2), '\tMB')
received_video = 0
with open('%s_video.mp4' % video_name, 'ab') as output:
headers['Range'] = 'bytes=' + str(received_video) + '-'
response = requests.get(video_url, headers=headers)
output.write(response.content)
# 下載并保存音頻
audio_content = requests.get(audio_url, headers=headers)
print('%s\t音頻大小:' % video_name, round(int(audio_content.headers.get('content-length', 0)) / 1024 / 1024, 2), '\tMB')
received_audio = 0
with open('%s_audio.mp4' % video_name, 'ab') as output:
headers['Range'] = 'bytes=' + str(received_audio) + '-'
response = requests.get(audio_url, headers=headers)
output.write(response.content)
received_audio += len(response.content)
print("視頻下載結(jié)束:%s" % video_name)
video_audio_merge_single(video_name)
這部分包括系列視頻的批量下載和單個(gè)視頻的下載,兩者的大體實(shí)現(xiàn)原理近似,但是由于兩個(gè)函數(shù)的參數(shù)有差別,因此分別實(shí)現(xiàn)。在具體的實(shí)現(xiàn)中,首先更新請(qǐng)求頭,請(qǐng)求視頻鏈接并保存視頻(無(wú)聲音),再請(qǐng)求音頻鏈接并保存音頻,在這個(gè)過(guò)程中得到相應(yīng)的視頻和音頻文件的大小。
def video_audio_merge_batch(result):
'''使用ffmpeg批量視頻音頻合并'''
video_name = result.result()[0]
index = result.result()[1]
import subprocess
video_final = video_name.replace('video', 'video_final')
command = 'ffmpeg -i "%s_video.mp4" -i "%s_audio.mp4" -c copy "%s.mp4" -y -loglevel quiet' % (
video_name, video_name, video_final)
subprocess.Popen(command, shell=True)
print("%d.\t視頻下載結(jié)束:%s" % (index, video_name.split('/')[2]))
def video_audio_merge_single(video_name):
'''使用ffmpeg單個(gè)視頻音頻合并'''
print("視頻合成開(kāi)始:%s" % video_name)
import subprocess
command = 'ffmpeg -i "%s_video.mp4" -i "%s_audio.mp4" -c copy "%s.mp4" -y -loglevel quiet' % (
video_name, video_name, video_name)
subprocess.Popen(command, shell=True)
print("視頻合成結(jié)束:%s" % video_name)
這個(gè)過(guò)程也是批量和單個(gè)分開(kāi),大致原理差不多,都是調(diào)用subprogress模塊來(lái)生成子進(jìn)程,Popen類來(lái)執(zhí)行shell命令,由于已經(jīng)將ffmpeg加入環(huán)境變量,所以shell命令可以直接調(diào)用ffmpeg來(lái)合并音視頻。
def batch_download():
'''使用多線程批量下載視頻'''
# 提示輸入需要下載的系列視頻對(duì)應(yīng)的id
aid = input('請(qǐng)輸入要下載的視頻id(舉例:鏈接https://www.bilibili.com/video/av91748877?p=1中id為91748877),默認(rèn)為91748877\t')
if aid:
pass
else:
aid = '91748877'
# 提示選擇清晰度
quality = input('請(qǐng)選擇清晰度(1代表高清,2代表清晰,3代表流暢),默認(rèn)高清\t')
if quality == '2':
pass
elif quality == '3':
pass
else:
quality = '1'
acc_quality = int(quality) - 1
# ssl模塊,處理https請(qǐng)求失敗問(wèn)題,生成證書(shū)上下文
ssl._create_default_https_context = ssl._create_unverified_context
# 獲取視頻主題
url = 'https://www.bilibili.com/video/av{}?p=1'.format(aid)
html = etree.HTML(requests.get(url, params=params, headers=headers).text)
title = html.xpath('//*[@id="viewbox_report"]/h1/span/text()')[0]
print('您即將下載的視頻系列是:', title)
# 創(chuàng)建臨時(shí)文件夾
create_folder('video')
create_folder('video_final')
# 定義一個(gè)線程池,大小為3
pool = ThreadPoolExecutor(3)
# 通過(guò)api獲取視頻信息
res_json = requests.get('https://api.bilibili.com/x/player/pagelist?aid={}'.format(aid)).json()
video_name_list = res_json['data']
print('共下載視頻{}個(gè)'.format(len(video_name_list)))
for i, video_content in enumerate(video_name_list):
video_name = ('./video/' + video_content['part']).replace(" ", "-")
origin_video_url = 'https://www.bilibili.com/video/av{}'.format(aid) + '?p=%d' % (i + 1)
# 請(qǐng)求視頻,獲取信息
res = requests.get(origin_video_url, headers=headers)
# 解析出視頻詳情的json
video_info_temp = re_video_info(res.text, '__playinfo__=(.*?)</script><script>')
video_info = {}
# 獲取視頻品質(zhì)
quality = video_info_temp['data']['accept_description'][acc_quality]
# 獲取視頻時(shí)長(zhǎng)
video_info['duration'] = video_info_temp['data']['dash']['duration']
# 獲取視頻鏈接
video_url = video_info_temp['data']['dash']['video'][acc_quality]['baseUrl']
# 獲取音頻鏈接
audio_url = video_info_temp['data']['dash']['audio'][acc_quality]['baseUrl']
# 計(jì)算視頻時(shí)長(zhǎng)
video_time = int(video_info.get('duration', 0))
video_minute = video_time // 60
video_second = video_time % 60
print('{}.\t當(dāng)前視頻清晰度為{},時(shí)長(zhǎng){}分{}秒'.format(i + 1, quality, video_minute, video_second))
# 將任務(wù)加入線程池,并在任務(wù)完成后回調(diào)完成視頻音頻合并
pool.submit(download_video_batch, origin_video_url, video_url, audio_url, video_name, i + 1).add_done_callback(
video_audio_merge_batch)
pool.shutdown(wait=True)
time.sleep(5)
# 整理視頻信息
if os.path.exists(title):
shutil.rmtree(title)
os.rename('video_final', title)
try:
shutil.rmtree('video')
except:
shutil.rmtree('video')
def multiple_download():
'''批量下載多個(gè)獨(dú)立視頻'''
# 提示輸入所有aid
aid_str = input(
'請(qǐng)輸入要下載的所有視頻id,id之間用空格分開(kāi)\n舉例:有5個(gè)鏈接https://www.bilibili.com/video/av89592082、https://www.bilibili.com/video/av68716174、https://www.bilibili.com/video/av87216317、\nhttps://www.bilibili.com/video/av83200644和https://www.bilibili.com/video/av88252843,則輸入89592082 68716174 87216317 83200644 88252843\n默認(rèn)為89592082 68716174 87216317 83200644 88252843\t')
if aid_str:
pass
else:
aid_str = '89592082 68716174 87216317 83200644 88252843'
if os.path.exists(aid_str):
shutil.rmtree(aid_str)
aids = aid_str.split(' ')
# 提示選擇視頻質(zhì)量
quality = input('請(qǐng)選擇清晰度(1代表高清,2代表清晰,3代表流暢),默認(rèn)高清\t')
if quality == '2':
pass
elif quality == '3':
pass
else:
quality = '1'
acc_quality = int(quality) - 1
# 創(chuàng)建文件夾
create_folder(aid_str)
# 創(chuàng)建線程池,執(zhí)行多任務(wù)
pool = ThreadPoolExecutor(3)
for aid in aids:
# 將任務(wù)加入線程池
pool.submit(single_download, aid, acc_quality)
pool.shutdown(wait=True)
time.sleep(5)
# 刪除臨時(shí)文件,移動(dòng)文件
remove_move_file(aid_str)
def single_download(aid, acc_quality):
'''單個(gè)視頻實(shí)現(xiàn)下載'''
# 請(qǐng)求視頻鏈接,獲取信息
origin_video_url = 'https://www.bilibili.com/video/av' + aid
res = requests.get(origin_video_url, headers=headers)
html = etree.HTML(res.text)
title = html.xpath('//*[@id="viewbox_report"]/h1/span/text()')[0]
print('您當(dāng)前正在下載:', title)
video_info_temp = re_video_info(res.text, '__playinfo__=(.*?)</script><script>')
video_info = {}
# 獲取視頻質(zhì)量
quality = video_info_temp['data']['accept_description'][acc_quality]
# 獲取視頻時(shí)長(zhǎng)
video_info['duration'] = video_info_temp['data']['dash']['duration']
# 獲取視頻鏈接
video_url = video_info_temp['data']['dash']['video'][acc_quality]['baseUrl']
# 獲取音頻鏈接
audio_url = video_info_temp['data']['dash']['audio'][acc_quality]['baseUrl']
# 計(jì)算視頻時(shí)長(zhǎng)
video_time = int(video_info.get('duration', 0))
video_minute = video_time // 60
video_second = video_time % 60
print('當(dāng)前視頻清晰度為{},時(shí)長(zhǎng){}分{}秒'.format(quality, video_minute, video_second))
# 調(diào)用函數(shù)下載保存視頻
download_video_single(origin_video_url, video_url, audio_url, title)
def single_input():
'''單個(gè)文件下載,獲取參數(shù)'''
# 獲取視頻aid
aid = input('請(qǐng)輸入要下載的視頻id(舉例:鏈接https://www.bilibili.com/video/av89592082中id為89592082),默認(rèn)為89592082\t')
if aid:
pass
else:
aid = '89592082'
# 提示選擇視頻質(zhì)量
quality = input('請(qǐng)選擇清晰度(1代表高清,2代表清晰,3代表流暢),默認(rèn)高清\t')
if quality == '2':
pass
elif quality == '3':
pass
else:
quality = '1'
acc_quality = int(quality) - 1
# 調(diào)用函數(shù)進(jìn)行下載
single_download(aid, acc_quality)
在一般情形下,下載的需求包含3種情況:
(1)單個(gè)視頻的下載:
只有一個(gè)視頻,沒(méi)有和它屬于同一個(gè)系列的其他視頻,如下圖
單個(gè)視頻下載
此時(shí),除了右下方的相關(guān)推薦中的視頻,沒(méi)有其他視頻,右上方只有彈幕列表、沒(méi)有視頻列表。為了代碼的復(fù)用,將單個(gè)視頻下載時(shí)提示用戶輸入需求的代碼單獨(dú)提取出來(lái)作為single_input(),下載的函數(shù)另外作為single_download(aid, acc_quality)函數(shù)實(shí)現(xiàn),在該函數(shù)中:
通過(guò)視頻鏈接如https://www.bilibili.com/video/av89592082解析網(wǎng)頁(yè),得到相應(yīng)的字符串并轉(zhuǎn)化成json,如下:
視頻信息json轉(zhuǎn)化
字符串json格式化可使用https://www.sojson.com/editor.html進(jìn)行在線轉(zhuǎn)化。
獲取到視頻的標(biāo)題、根據(jù)輸入確定的視頻質(zhì)量、持續(xù)時(shí)長(zhǎng)、視頻鏈接和音頻鏈接,并調(diào)用download_video_single()函數(shù)下載該視頻。
(2)多個(gè)視頻的下載:
這里,多個(gè)視頻之間是沒(méi)有關(guān)系的,多個(gè)視頻的下載實(shí)際上是先獲取到所有的aid,并進(jìn)行循環(huán),對(duì)每個(gè)視頻鏈接傳入?yún)?shù)調(diào)用單個(gè)視頻下載的函數(shù)即可。同時(shí)設(shè)立線程池,大小為3,既不會(huì)對(duì)資源有太大的要求,也能實(shí)現(xiàn)多任務(wù)、提高下載效率。
(3)系列視頻的下載
此時(shí),多個(gè)視頻屬于同一系列,如https://www.bilibili.com/video/av91748877是一個(gè)課程系列,如下:
系列視頻
顯然,此時(shí)右上方有視頻列表,標(biāo)明了有65個(gè)子視頻,每個(gè)視頻用p標(biāo)識(shí),如第2個(gè)視頻就是https://www.bilibili.com/video/av91748877?p=2。對(duì)于所有視頻,先獲取到視頻的相關(guān)信息,再加入進(jìn)程池進(jìn)行下載,并在任務(wù)結(jié)束之后回調(diào)函數(shù)video_audio_merge_batch()合并音視頻,并進(jìn)行文件整理。
def main():
'''主函數(shù),提示用戶進(jìn)行三種下載模式的選擇'''
download_choice = input('請(qǐng)輸入您需要下載的類型:\n1代表下載單個(gè)視頻,2代表批量下載系列視頻,3代表批量下載多個(gè)不同視頻,默認(rèn)下載單個(gè)視頻\t')
# 批量下載系列視頻
if download_choice == '2':
batch_download()
# 批量下載多個(gè)單個(gè)視頻
elif download_choice == '3':
multiple_download()
# 下載單個(gè)視頻
else:
single_input()
if __name__ == '__main__':
'''調(diào)用主函數(shù)'''
main()
主函數(shù)中實(shí)現(xiàn)3種下載方式對(duì)應(yīng)的函數(shù)的分別調(diào)用。
對(duì)3種方式進(jìn)行測(cè)試的效果如下:
項(xiàng)目測(cè)試一:?jiǎn)蝹€(gè)視頻測(cè)試
項(xiàng)目測(cè)試二:系列視頻測(cè)試
項(xiàng)目測(cè)試三:多個(gè)不同視頻測(cè)試
3種下載情景的測(cè)試效果均較好,下載速度也能與一般的下載速度相媲美。
代碼可點(diǎn)擊https://download.csdn.net/download/CUFEECR/12243122或https://github.com/corleytd/Python_Crawling/blob/master/bilibili_downloader_1.py進(jìn)行下載。
B站網(wǎng)站也一直在變化,所以對(duì)于下載可能也會(huì)有一些變化,所以將改進(jìn)的地方在下面列舉出來(lái):
(1)網(wǎng)址參數(shù)變化
舉例說(shuō)明:
這段時(shí)間發(fā)現(xiàn)B站一個(gè)視頻系列的鏈接變成https://www.bilibili.com/video/BV1x7411M74h?p=65,即是無(wú)規(guī)律的字符串(可能是經(jīng)過(guò)某種算法編碼或加密得到的),現(xiàn)在從鏈接中不能得到視頻(系列)的aid,這時(shí)候可以借助瀏覽器工具抓包查看數(shù)據(jù)來(lái)找到該視頻的aid,如下:
B站視頻aid轉(zhuǎn)bvid
在左側(cè)尋找stat開(kāi)頭的請(qǐng)求,后邊的參數(shù)即為aid,該請(qǐng)求api的完整鏈接為https://api.bilibili.com/x/web-interface/archive/stat?aid=91748877,所以可以直接在該鏈接中獲取aid,也可以查看該請(qǐng)求的具體內(nèi)容,可以看到第一個(gè)數(shù)據(jù)就是aid,我們也可以看到隨機(jī)字符串就是bvid,可能是建立了aid和bvid的一一映射,找到aid就可以正常下載了。
在命令行中,使路徑位于代碼所在路徑運(yùn)行
pyinstaller bilibili_downloader_1.py
打印
136 INFO: PyInstaller: 3.6
137 INFO: Python: 3.7.4
138 INFO: Platform: Windows-10-10.0.18362-SP0
140 INFO: wrote xxxx\Bili_Video_Batch_Download\bilibili_downloader_1.spec
205 INFO: UPX is not available.
209 INFO: Extending PYTHONPATH with paths
['xxxx\\Bili_Video_Batch_Download',
'xxxx\\Bili_Video_Batch_Download']
210 INFO: checking Analysis
211 INFO: Building Analysis because Analysis-00.toc is non existent
211 INFO: Initializing module dependency graph...
218 INFO: Caching module graph hooks...
247 INFO: Analyzing base_library.zip ...
5499 INFO: Caching module dependency graph...
5673 INFO: running Analysis Analysis-00.toc
5702 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by xxx\python\python37\python.exe
6231 INFO: Analyzing xxxx\Bili_Video_Batch_Download\bilibili_downloader_1.py
7237 INFO: Processing pre-safe import module hook urllib3.packages.six.moves
10126 INFO: Processing pre-safe import module hook six.moves
14287 INFO: Processing module hooks...
14288 INFO: Loading module hook "hook-certifi.py"...
14296 INFO: Loading module hook "hook-cryptography.py"...
14936 INFO: Loading module hook "hook-encodings.py"...
15093 INFO: Loading module hook "hook-lxml.etree.py"...
15097 INFO: Loading module hook "hook-pydoc.py"...
15099 INFO: Loading module hook "hook-xml.py"...
15330 INFO: Looking for ctypes DLLs
15334 INFO: Analyzing run-time hooks ...
15339 INFO: Including run-time hook 'pyi_rth_multiprocessing.py'
15344 INFO: Including run-time hook 'pyi_rth_certifi.py'
15355 INFO: Looking for dynamic libraries
15736 INFO: Looking for eggs
15737 INFO: Using Python library xxx\python\python37\python37.dll
15757 INFO: Found binding redirects:
[]
15776 INFO: Warnings written to xxxx\Bili_Video_Batch_Download\build\bilibili_downloader_1\war
n-bilibili_downloader_1.txt
15942 INFO: Graph cross-reference written to xxxx\Bili_Video_Batch_Download\build\bilibili_dow
nloader_1\xref-bilibili_downloader_1.html
15967 INFO: checking PYZ
15968 INFO: Building PYZ because PYZ-00.toc is non existent
15968 INFO: Building PYZ (ZlibArchive) xxxx\Bili_Video_Batch_Download\build\bilibili_downloade
r_1\PYZ-00.pyz
16944 INFO: Building PYZ (ZlibArchive) xxxx\Bili_Video_Batch_Download\build\bilibili_downloade
r_1\PYZ-00.pyz completed successfully.
16980 INFO: checking PKG
16981 INFO: Building PKG because PKG-00.toc is non existent
16981 INFO: Building PKG (CArchive) PKG-00.pkg
17030 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
17034 INFO: Bootloader xxx\python\python37\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe
17034 INFO: checking EXE
17035 INFO: Building EXE because EXE-00.toc is non existent
17035 INFO: Building EXE from EXE-00.toc
17037 INFO: Appending archive to EXE xxxx\Bili_Video_Batch_Download\build\bilibili_downloader_
1\bilibili_downloader_1.exe
17046 INFO: Building EXE from EXE-00.toc completed successfully.
17053 INFO: checking COLLECT
17053 INFO: Building COLLECT because COLLECT-00.toc is non existent
17055 INFO: Building COLLECT COLLECT-00.toc
出現(xiàn)INFO: Building EXE from EXE-00.toc completed successfully. 即打包成功。在當(dāng)前路徑下找到dist或build目錄下的bilibili_downloader_1目錄下的bilibili_downloader_1.exe,即是打包后的軟件。點(diǎn)擊打開(kāi)即可進(jìn)行選擇和輸入,開(kāi)始下載相應(yīng)視頻。測(cè)試示例如下:
項(xiàng)目打包下載測(cè)試
在bilibili_downloader_1.exe的同級(jí)目錄下可以看到下載保存的視頻。
該項(xiàng)目是小編進(jìn)行B站視頻下載的首次嘗試,難免有很多不足,在實(shí)現(xiàn)的過(guò)程中和后期的總結(jié)中,可以看出還存在一些問(wèn)題: