大腦啟發的AI模型:激活學習,挑戰反向傳播
反向傳播技術是深度學習的核心,驅動了AI在視覺、語音、自然語言處理、游戲、生物預測等諸多領域的成功。反向傳播的運行機制是通過反向的方式計算預測誤差對神經網絡連接權重的梯度,并通過微調每一層的權重來減少預測誤差。盡管反向傳播非常高效,是目前人工智能成功的關鍵,但是相當一部分研究人員并不認為反向傳播的學習方法同大腦的工作方式是一致的。
隨著深度學習技術的發展,大家也逐步看到了反向傳播的一些弊端,例如對于標簽數據和算力的過度依賴、存在一系列的對抗安全問題、只能針對特定的任務等,而且也引發了大家對發展大模型的一些顧慮。
例如反向傳播提出的作者之一也是深度學習先驅Hinton就多次表示,“如果要想實現實質進展,必須擯棄反向傳播,從頭再來[2]”,“我目前的信念是,反向傳播,也即目前深度學習的工作方式,與大腦所作的完全不同,大腦是以不同的方式來獲得梯度的[3]”, “我相信大腦使用了很多局部小的目標函數,它不是一種端到端的系統鏈,通過訓練來優化目標函數[3]”。
同是圖靈獎得主的LeCun則表示“目前的深度學習模型可能是未來智能系統的一個組成部分,但我認為它缺少必要的部分。我認為它們是必要的,但還不夠[4]”。他的老對頭,紐約大學教授Gary Marcus表示同樣的內容之前都說過“如果我們要實現通用人工智能,深度學習必須得到其他技術的補充[4]”。
1 大腦的啟發
如何從頭再來? 人工智能技術的發展無疑離不開理解大腦對我們的啟發。盡管我們還遠不能完全理解大腦的工作機制-其核心是如何根據外部信息調整神經元之間的連接權重,我們依然可以得到一些關于大腦的初步認知,能夠啟發我們設計新的模型。
首先,大腦的學習過程跟赫布規則(Hebb’s rule)有著千絲萬縷的聯系,即同時激活的神經元之間的連接權重會加強,這可以說是神經科學的最重要的一個基本規則,得到了大量的生物實驗驗證。
其次,大腦中的學習主要以無監督學習為主,能夠從少量樣本中獲取豐富的局部表征和表征之間的關聯,反饋信號也在學習過程中起到比較重要的作用。此外,大腦是一個支持通用任務的學習系統,大腦學習到的特征與特定的任務應該是相對對立的,一個合理的目標是大腦能夠很好的學習到各類輸入信號的統計分布以及不同內容之間的關聯。
近日,山東大學的研究者周洪超在arXiv上提交了一篇文章,“Activation Learning by Local Competitions”, 提出了一個受到大腦啟發的AI模型,稱之為激活學習(activation learning)。它的核心是構建多層神經網絡使得網絡輸出激活強度能反映輸入的相對概率大小。
?該模型完全放棄了反向傳播方法,而是從改進基本的赫布規則(更接近于大腦的方法)出發,建立出一套新的神經網絡訓練和推理方式,它在小樣本的學習實驗中能夠取得明顯優于反向傳播的表現,而且也可以作為圖片的生成模型。該工作表明,生物啟發的學習方法的潛力可能被遠遠低估了。
論文鏈接: https://arxiv.org/pdf/2209.13400.pdf
2 本地競爭的學習規則
赫布學習在反向傳播出現之前一直是神經網絡學習研究的一個核心方向,啟發了一系列學習系統的工作,但是最終并沒有成為一個廣泛實際應用的方法。
一個可能的原因是人們對赫布規則中的一些機制尤其是神經元之間的競爭機制并沒有完全了解,而競爭在神經網路特征學習和權重調整過程中起到非常重要的作用。
一個直觀的理解是如果每一個神經元都盡力在競爭激活,而同時有某種抑制使得不同神經元表征的特征盡量不同,那么神經網絡會趨近于將最多的有用信息傳遞到下一層(是不是跟社會經濟學很像? 當一個大的社會群體里每個個體都實現收益最大化而且這個群體足夠大的時候,在一定的規則限制下整個群體的總收益趨向于最大化,這時候每個個體表現出了不同的行為)。
事實上,大腦中存在著大量的抑制神經元,神經元之間的競爭和抑制在大腦學習過程中發揮重要的作用。反向傳播的第一作者 Rumelhart (認知科學領域的最高獎就是Rumelhart獎) 就是這個想法的推動者,他在提出反向傳播的同期(1985年)也提出一種叫競爭學習(Competitive Learning)的模型 [5], 它的核心在將每一層的神經元分成若干簇,每一簇只有最強的一個神經元會被激活(稱之為贏者通吃)并通過赫布規則進行訓練。但是相比之下,反向傳播在實際應用中表現出了更好的網絡訓練效率,并在此后吸引了絕大部分AI研究人員的注意力,推動了深度學習的出現和成功。
但是依然有一部分研究者相信生物啟發的學習方法的潛力,2019年Krotov和Hopfield (沒錯,就是Hopfield網絡的提出者) 展示了贏者通吃規則結合赫布學習可能可以達到同反向傳播相比擬的性能[6]。但是贏者通吃的規則,即只允許一個神經元被激活的方式,在一定程度上也限制了神經網絡的學習和表達能力。
本文工作研究者將競爭機制直接引入到赫布學習規則中,得到了一個簡潔的本地學習規則:
這里假設神經元i是它上面一層神經元j的輸入, 是神經元i和神經元j的連接權重,
是該權重在某一訓練樣本下的調整量,
是神經元i的輸出也是神經元j的一個輸入,
是神經元j的總加權輸入(或者神經元j的輸出),
是一個較小的學習率,
遍歷了與神經元j同層的所有神經元。如果僅考慮
, 就是最原始的赫布規則。這里的一個關鍵就是引入了一個來自于同層的輸出反饋項
。它起到了兩個作用:第一是保證所有的權重不會無限增大,學習的過程是收斂的;第二是引入了神經元j同本層其他神經元之間的競爭,提升特征表達的多樣性。
對上面的本地學習規則進行數學分析(假設學習率足夠小、學習步數足夠多),可以得到一些很有意思的結論。
(1) 給定每層的, 通過
可以重構出輸入
使得重構誤差盡量小。這種逐層的重構能力可以提升模型對于對抗攻擊的安全性,防止在一些物體圖片上加入對抗噪音被識別成其它的物體。
(2) 基于本地學習規則的每層特征提取跟主成分分析(PCA)具有一定相似性,他們的重構損失是一樣的,但是與主成分分析不同的是本地學習規則得到的各個成分是不需要正交的。這是一件很合理的事情,因為主成分分析就是來提取每一層主要的信息,但是如果最主要成分對應的神經元失效將會影響整個網絡的性能,而本地學習規則解決了這個魯棒性的問題。
(3) 每一層的連接權重的平方和趨向于不超過該層的神經元個數,保證了網絡學習過程的收斂性。
(4)每一層的輸出強度(輸出的平方和)趨向于不高于該層的輸入強度(輸入的平方和),而且對于約典型的輸入其輸出強度一般就會越高,所以可以通過輸出強度來近似的比較輸入的概率大小。這個結論對將要提出的激活學習模型是非常關鍵的一個點。
3 激活學習
基于上面的本地學習規則,可以對一個多層神經網絡進行自底向上的逐層訓練,實現自動的無監督特征提取。可以將訓練好的網絡作為預訓練模型用于各類監督學習任務, 例如識別、翻譯等, 提升學習任務的準確性。這里各類監督學習任務依然是基于反向傳播機型訓練,并對無監督預訓練模型進行微調。
但是更有意思的是,基于上面的本地學習規則可以構建一個完全不使用反向傳播的新的AI模型,稱之為激活學習(Activation Learning), 它的核心是通過本地無監督訓練使得整個網絡的輸出強度(輸出的平方和)能夠估計輸入樣本的相對概率大小,即對于越經??吹降妮斎霕颖?,其輸出強度通常會越強。
在激活學習中,輸入樣本在歸一化之后輸入到多層神經網絡。每一層包含的線性變換可以通過本地學習規則進行訓練。每一層的非線性激活函數需要保證輸入強度(平方和)和輸出強度是不變的,例如可以使用絕對值函數作為激活函數,使得網絡的輸出強度在經過激活函數的時候不會衰減或增強,最終整個網絡的輸出強度能夠反映輸入樣本的相對概率大小。
如果在本地學習規則中加入了非線性激活函數,即表示神經元j的輸出, 則激活函數無需要求輸入輸出強度不變,可以采用其他非線性函數例如RELU作為激活函數。激活學習的推理過程是基于輸入的已知部分來推導出缺失的部分,使得網絡最終的輸出強度是最大的。
例如,激活學習的網絡可以讓數據和標簽(比如one-hot編碼)同時作為輸入。這樣一個訓練好的網絡,當給定一個數據和正確標簽輸入的時候,它的輸出激活強度通常情況下是高于這個數據和錯誤標簽的輸出激活強度。
這樣一個激活學習模型,既可以作為判別式模型又可以作為生成式模型。當作為判別式模型的時候(discriminative model),它從給定數據推理出缺失的類別;當作為生成式模型的時候(generative model),它是從給定的類別并結合一定的隨機來推理出缺失的數據。另外,實驗發現如果引入識別的反饋信息,例如對識別錯誤的樣本賦予更高的全局的學習率,可以提升判別式模型的學習效果。
4 小樣本分類和圖片生成
在MNIST數據集(黑白的手寫體數字圖片)上的實驗顯示,如果訓練樣本足夠多的時候,反向傳播的準確率是高于激活學習的準確率。例如在60000個訓練樣本的情況下,基于相似復雜度的神經網絡,反向傳播能夠達到約1.62%的錯誤率,而激活學習只能達到約3.37%的錯誤率(如果將識別結果的反饋引入到激活學習,錯誤率可以降低到2.28%)。
但是隨著訓練樣本的減少,激活學習能夠表現出更加優異的性能。例如,在6000個訓練樣本的情況下,激活學習的錯誤率已經低于反向傳播的錯誤率;在600個訓練樣本的情況下,反向傳播的識別錯誤率高達25.5%,但是激活學習的錯誤率只有9.74%,這也明顯低于結合無監督預訓練模型的方法(錯誤率約為20.3%)。
為了探索激活學習在少樣本下的表現,繼續減少樣本數量到幾個樣本。這時候,激活學習依然表現出一定的識別能力。
當每個類別有2個樣本的時候,識別準確率達到60.2%;當每個類別有10個樣本的時候,識別準確率可以達到85.0%。一個值得注意的現象是,當每個類別有至少2個樣本的時候,在整個的訓練過程中,測試準確率沒有出現下降。這個跟基于反向傳播的很多模型不一樣,從一個側面反映了激活學習可能具有更好的泛化能力。
給定一個訓練好的激活學習網絡,嘗試在將要識別的圖片中加入一定的干擾。如下圖所示,將圖片的一定比例的像素覆蓋或者加入一些隨機的線。這些被干擾的圖片都是模型在訓練過程中沒有遇到過的,但是激活學習依然表現出了一定的識別能力。例如在圖片被覆蓋1/3(下部)的情況下,激活學習可以達到約7.5%的識別錯誤率。
同一個訓練好的激活學習網絡也可以用于圖片的生成。給定一個類別,可以通過梯度下降或者迭代的方法得到一個本地最優的生成圖片使得整個網絡的輸出激活強度是最大的。在圖片生成的過程中可以基于隨機噪音控制一部分神經元的輸出,從而提升生成圖片的隨機性。下圖是基于激活學習網絡隨機生成的圖片。
在大腦的視覺感知層,神經元具有有限的感受野,即神經元只能接收在一定空間范圍內的其他神經元的輸入。這啟發了卷積神經網絡(CNN)的提出, 而且在大量的視覺任務里廣泛應用。卷積層的工作機制同人的視覺系統還是具有很大的差異,一個本質的區別是卷積層是參數共享的,即在每一個二維位置上權重參數都是一樣的,但是很難想象人的視覺系統會存在這樣的參數共享。下面的實驗基于CIFAR-10數據集(彩色的10類物體圖片)研究了本地連接對于激活學習的影響。
這里實驗的神經網絡有兩層構成,第一層是一個本地連接層,它跟卷積核大小9的卷積層具有同樣的連接結構,但是每個位置具有自己的權重參數;第二層是一個全連接層,每一層的節點個數是 , 同輸入圖片的維度是一致的。
實驗表明本地連接可以讓學習過程更加穩定,而且可以在一定程度上提升學習的性能?;谶@個雙層神經網絡并結合識別結果的反饋,激活學習可以在CIFAR-10上達到41.59%的錯誤率。
此前的生物啟發模型的基準是由Krotov和Hopfield建立的,報告了49.25%的錯誤率。他們使用了一個雙層的神經網絡,第一層包含了2000個節點并通過生物啟發的方法進行無監督訓練,第二層輸出層是通過反向傳播進行監督訓練的。作為比較,同樣的網絡如果完全通過反向傳播訓練可以達到44.74%的錯誤率,而激活學習是完全沒有使用反向傳播而且獲得了更好的結果。如果使用數據增強包括隨機裁剪等并將第一層的節點數增加到 , 激活學習的識別錯誤率可以降低到37.52%。
5 通向通用任務
為什么絕大多數深度學習模型只能適用于特定的任務?一個原因是我們人為的將樣本分成了數據和標簽,并將數據作為模型的輸入將標簽作為了輸出的監督信息,這使得模型更傾向于僅保留對預測標簽更有用的特征,而忽略了一些對其他任務有用的特征。而激活學習將所有可見信息作為輸入,能夠學習到訓練樣本的概率統計分布和各部分之間的關聯關系,這些信息可以用于所有相關的學習任務,所以激活學習可以看成一個通用任務的模型。
事實上,當我們人看到某個物體并且別人告訴我們這是什么時候,我們很難界定大腦一定會將聲音信號作為輸出標簽而將視覺信號作為輸入;至少這個學習是應該是雙向的,即看到這個物體的時候我們會想到這是什么,而給定這是什么的時候我們也會想到這個物體的樣子。
激活學習也可以用于多模態學習。例如,給定訓練樣本包含圖片和文字模態的時候,它可能建立圖片和文字的關聯;當給定訓練樣本包含文字和聲音模態的時候,它可能建立文字與聲音的關聯。激活學習具有潛力成為一個關聯記憶體(associative memory)模型,建立各類相關內容之間的關聯,并通過傳播的方式查詢或激活相關的內容。普遍認為這種關聯記憶能力在人類智能中發揮非常重要的作用。但是,這里還需要解決局部輸入數據訓練的問題和災難性遺忘的問題。
除了作為一個新的AI模型,激活學習的研究也具有其它的價值。例如,可以更容易的支持光神經網絡、憶阻器神經網絡等基于物理實現的神經網絡系統的片上訓練(on-chip training), 避免因為基本物理元件精度或者編程噪音導致整個系統計算精度下降。它也可能結合生物實驗啟發我們更好的理解大腦的工作機制, 例如是否本地的訓練規則存在一定的生物學解釋。研究者周洪超說"相信大多數復雜系統背后是由簡單的數學規則所主宰,而大腦就是這樣一個奇妙的系統; 最終我們的目的是設計更聰明的機器"。