張亞君 蔡佳林 喬亞 曾中明? 袁喆? 夏鈳
1) (北京師范大學物理學系,高等量子研究中心,北京 100875)
2) (中國科學院蘇州納米技術與納米仿生研究所,蘇州 215123)
3) (北京計算科學研究中心,北京 100193)
利用新型材料器件發展類腦計算硬件研究的關鍵問題是發展出合適的算法,能夠發揮新器件的特點和優勢.群體編碼是生物神經系統常見的編碼方式,能夠有效去除噪音,實現短時程記憶及復雜的非線性映射功能.本文選擇自旋電子學器件中研究較多、工藝較成熟的磁性隧道結,應用其可調控的隨機動力學實現群體編碼.作為一個應用的例子,超順磁隧道結構建的二層脈沖神經網絡成功完成了鳶尾花數據集的無監督聚類.數值仿真表明基于磁性隧道結的群體編碼可以有效對抗器件的非均一性,為類腦計算硬件研究提供重要的參考.
得益于神經網絡算法的進步和新型計算硬件的發展,人工智能在近十多年取得了巨大的進步.其中在圖像識別、自動駕駛和自然語言處理等方面的應用已經進入并逐步改變了人們的日常生活[1].然而當前人工智能的發展仍然面臨諸多問題.一方面,隨著摩爾定律的終結,處理器性能的增長開始放緩;另一方面,傳統馮·諾依曼架構采用的存算分離系統,使數據在中央處理器和內存之間搬運消耗了大量的時間和能量.為了解決這些問題,科學家試圖從大腦等生物神經系統尋求解決方案.大腦的神經系統具有存算一體、高度并行、事件驅動等特點[2].目前已經有多款基于傳統互補金屬氧化物半導體(complementary metal oxide semiconductor,CMOS)工藝的類腦芯片問世[3,4],展示了類腦芯片在低能耗方面的巨大優勢,但實現單個的脈沖神經元和突觸需要大量晶體管.通常類腦神經元之間所需要的高連接度也限制了類腦芯片的規模和可擴展性.因此,利用基于阻變材料、相變材料等新材料器件實現類腦計算的基本單元成為研究的重點,有望從根本上改進類腦芯片的計算架構和性能[5?9].自旋電子學器件具有低能耗、高速和非線性磁動力學及非易失性等特點,已經在硬盤、磁性隨機存儲器等存儲設備上實現了商業化應用.近年來,基于自旋電子學的存內計算[10]和類腦計算[11?21]也獲得了廣泛的關注.如何利用自旋電子學器件的天然優勢,結合新型類腦算法,實現軟硬件的協同設計,是基于自旋器件類腦計算的核心問題.
大腦中存在大量的神經元來執行日常的感知、情感和記憶等高級功能.不同于計算機中精確的數值表示,大腦中信息傳遞依賴于神經元之間的脈沖發放,依靠神經元之間的連接形成的復雜網絡執行相關的任務.盡管每個神經元細胞的信息傳遞和膜電位變化過程中伴隨大量噪音和隨機動力學,但大腦可以通過群體神經元共同編碼信號來實現復雜和精確的認知功能.群體編碼是生物系統在方向和空間感知[22]、顏色分辨、嗅覺識別和記憶[23]等方面的基礎模式[24],并具有很強的抗噪能力,對神經細胞的異質性也具有很好的容忍度.群體編碼的優勢可以解決制造工藝的局限導致新材料類腦器件的非均一性問題,大幅降低新型類腦器件的制造要求.基于傳統CMOS 技術[25]、相變器件[26]和自旋器件[27]的群體編碼系統都表現了對器件非均一性的較強耐受能力,基于相變器件[26]的群體編碼利用了脈沖發放的隨機特性,其發放頻率與輸入信號的脈寬呈線性關系;而隨機磁性隧道結的發放頻率與輸入電壓呈現單峰的非單調關系[27],更符合生物系統的調諧曲線.
本文利用超順磁磁性隧道結的隨機翻轉特性,結合群體編碼算法,提出一種基于自旋電子學器件的脈沖神經網絡方案.通過對鳶尾花數據集的無監督分類研究,展示了該網絡的魯棒性和低能耗.首先給出了在實驗上觀測到的磁性隧道結的隨機翻轉特性及其電流調控,建立了基于超順磁隧道結的群體編碼基礎,同時驗證了奈爾-布朗(Néel-Brown)理論模型對器件的描述能力.研究了基于磁性隧道結的群體編碼,并結合延時脈沖發放和脈沖時序依賴突觸可塑性設計了基于自旋電子學器件的神經網絡.探究了磁性隧道結數目和器件參數對網絡性能的影響,并分析了該網絡在能耗方面的優勢.
在線性回歸的數值計算中,我們的目標是由離散的實驗數據點得到直線的斜率和截距.由于實驗數據存在誤差,我們期望通過更多的數據來降低數據誤差帶來的影響.生物系統同樣面臨這樣的問題,單個神經元的信號噪聲很大,為了獲取更加精準的感知信號,生物系統總是通過一組神經元的共同響應來感知外界的刺激.這種利用一群神經元對刺激的共同響應來編碼信息的方式被稱為群體編碼,其對于連續變量的編碼尤為有效,例如顏色、空間位置等.在群體編碼中每個神經元對不同的外界刺激輸入信號具有一定的響應分布,稱為該神經元的調諧曲線;每個神經元對某個特定的外界輸入刺激會比較敏感,稱為該神經元的偏好刺激.因此通常可以用類似高斯函數的形式來描述調諧曲線,峰值即對應偏好刺激.當神經元足夠多,所有神經元的偏好刺激可以覆蓋全部輸入刺激的取值范圍(感受野)時,群體編碼即相當于把一個輸入信號用一組高斯型核函數展開,因此即使若干個神經元上信息缺失也不影響整體工作效果.相比于用單個神經元來處理精確的感知或運動控制,群體編碼能夠顯著提高準確性,并且具有去除噪音、實現短時記憶和復雜非線性響應等功能[24].
磁性隧道結是常見的自旋電子學器件,由兩個鐵磁層夾著一個較薄的絕緣層組成,如圖1(a)所示,其中上層的磁化方向固定,中間是隧穿層,下層的磁化方向可以通過施加外界磁場或激勵電流控制翻轉.磁性隧道結有兩個穩定的狀態(能量極小值),當自由層和固定層磁矩平行時稱為平行態,此時電阻較低,反之稱為反平行態,具有高電阻.
當兩個狀態之間勢壘高度ΔE遠大于熱擾動kBT時,磁性隧道結的狀態是非常穩定的,適合作為磁隨機存儲器中的非易失二值存儲單元.而當勢壘高度與kBT相當時,磁性隧道結的狀態會受外界的熱噪聲影響而改變[28].偏壓或電流可以給自由層施加自旋轉移力矩[29],從而調節隧道結在兩個狀態上的概率分布,進而調控其作為神經元的調諧曲線,實現基于磁性隧道結的群體編碼系統.
本文使用的磁性隧道結多層薄膜通過磁控濺射沉積,其核心結構自下而上為PtMn(15 nm)/Co70Fe30(2.5 nm)/Ru(0.85 nm)/Co40Fe40B20(2.4 nm)/MgO(0.80 nm)/Co60Fe20B20(2.1 nm).薄膜沉積后在1 T 磁場下,300 ℃退火2 h.隨后通過光刻、刻蝕制備成50 nm × 130 nm 的橢圓形器件.沿與磁性隧道結器件難軸夾角20°方向施加適當強度的磁場,然后向器件注入直流偏置電流并通過示波器測量器件兩端電壓.電流產生的自旋轉移力矩與易軸方向的磁場分量競爭使自由層磁矩在與釘扎層磁矩平行和反平行方向翻轉,通過示波器可以觀察到電壓信號隨機跳變,且隨機跳變的頻率隨電流強度變化.隨機翻轉測試在室溫下進行.圖1(b)展示了實驗上用電流調節磁性隧道結翻轉頻率的測量結果.當電流為–60 μΑ 時,磁性隧道結處于高阻態的概率較大;而當電流為–10 μΑ 時,磁性隧道結在高阻態和低阻態之間隨機翻轉;當電流為15 μΑ時,磁性隧道結處于低阻態的概率較大.注意到在不同電流下磁性隧道結的高阻態不同,這是由于磁性隧道結的電流-電壓曲線不是線性的,在高阻態下呈拋物線型.如果將磁性隧道結在高低阻態之間的一次翻轉當作神經元的一次脈沖發放,就可以通過調節輸入電流來改變磁性隧道結的發放率.隨著輸入電流的增大,磁性隧道結的發放率先增大后減小,如圖1(c)所示.圖中的每個數據點為10 次獨立采樣結果的平均值和標準差,每次獨立采樣97300 次,大約31 s.
Néel-Brown 理論可以很好地描述超順磁隧道結的隨機動力學翻轉[30].處于平行態或反平行態上的磁矩翻轉的弛豫時間τP/AP由勢壘高度ΔE和經過隧道結的電流I共同決定,即

式中?0為嘗試頻率,與器件的翻轉機制有關,本文中取為109Hz.kB為玻爾茲曼常數,T為環境溫度,Ic為磁性隧道結翻轉的臨界電流.在群體編碼中用輸入電流的數值大小I來編碼外界刺激信號.磁性隧道結處于平行態或反平行態的概率表示為

其中Δt為采樣時間,Δt=326.5μs.如果將連續兩次采樣中磁矩發生改變定義為該神經元發放一次,則Néel-Brown 理論給出了超順磁隧道結神經元的發放頻率為

為了使各神經元的偏好刺激均勻分布在輸入刺激I的變化范圍內,可對各個磁性隧道結施加等間隔電流偏置Ibias,最終磁性隧道結的實際輸入電流為I=Iinput+Ibias.此時這一組神經元的調諧曲線均勻排列,如圖1(d)所示,實線為該組磁性隧道結的調諧曲線,散點代表利用Néel-Brown 方程模擬的結果.由于磁性隧道結的隨機發放特性,模擬結果與調諧曲線存在一定偏差.
為展示基于超順磁隧道結的群體編碼方案,設計了一個兩層的脈沖神經網絡,如圖2(a)所示.網絡前端是包含若干神經元的輸入層,每個神經元將一個輸入信號編碼為電流通入到下一層;第一層是群體編碼層,每個輸入層神經元的輸入信號傳遞到一組超順磁隧道結進行群體編碼;第二層輸出層包含若干有適應性閾值的泄漏累積發放神經元[31].群體編碼層和輸出層之間為全連接.輸出層的神經元具有橫向抑制連接,保證該層神經元最多僅有一個發放.
圖2(a)的神經網絡用來實現鳶尾花數據集的無監督聚類.鳶尾花數據集[32]中收集了3 個類別的樣本,分別是Setosa 鳶尾花,Versicolour 鳶尾花和Virginica 鳶尾花,每個類別有50 個樣本,共計150 條數據.每條數據包含4 個屬性,分別代表該朵鳶尾花花瓣的長度和寬度,花萼的長度和寬度.這4 個數據通過4 個輸入神經元xi分別把對應的電流輸入給中間層的群體編碼神經元,即若干超順磁隧道結中.輸入電流大小決定了磁性隧道結的翻轉頻率,而磁性隧道結發放的脈沖會引起輸出層輸出神經元yi膜電位的累積,當輸出神經元的膜電位達到該神經元閾值后將發放脈沖,代表該鳶尾花樣本屬于發放的輸出神經元所對應的類別.由于輸出層神經元之間存在抑制型突觸(紫色連線),某個神經元發放后會抑制其他神經元的發放.該抑制型突觸可以設置為N×N的連接矩陣(輸出層神經元個數為N),其對角元為零,非對角元為負值,這里我們取值為–17.5.中間層與輸出層之間的突觸連接強度是可學習的,應用依賴于當前權重的脈沖時序依賴可塑性(spike-timing-dependent plasticity,STDP)算法[31]訓練.訓練規則如下:當突觸前神經元發放時,

圖2 (a) 群體編碼脈沖神經網絡示意圖;(b) 網絡訓練過程示意圖;(c) 鳶尾花數據集無監督聚類測試結果;(d) 用于編碼一個數據的隧道結數目與輸出神經元數量對網絡聚類正確率的影響Fig.2.(a) Schematic of spiking neural network;(b) schematic illustration of the network learning process;(c) test results of the unsupervised classification of the iris data set;(d) the influence of number of magnetic tunnel junctions used in the population coding and number of output neurons.

當突觸后神經元發放時,

這里,Δw為權重變化量;前突觸學習率ηpre和后突觸學習率ηpost分別為0.001 和 0.01;權重w最大值wmax=1,最小值wmin=0;xpre和xpost分別為
突觸前后神經元的膜電位.圖2(b)為網絡運行的流程圖,從左到右分別為群體編碼的調諧曲線,磁性隧道結的電阻變化示意,泄漏型積分發放神經元的動力學示意.
首先用理想調諧曲線的算法進行數值仿真,每個輸入變量用12 個磁性隧道結編碼,輸出神經元的數量為30.在每一輪訓練中隨機通入100 條數據,注意這里的數據是隨機挑選,并且由于是無監督學習,所以我們并沒有區分訓練集和測試集.輸出神經元的標簽是動態調整的,每完成一輪訓練后,將對輸出神經元刺激最強的鳶尾花類別作為該輸出神經元的標簽.在每輪訓練結束后,將150 個樣本隨機輸入網絡進行測試,測試得到的聚類正確率如圖2(c)中的虛線所示.經過15 輪訓練后網絡的聚類正確率達到了飽和值的92.6%.
生物系統的神經元在不同時刻收到相同的刺激時,發放模式并不是完全重復調諧曲線,而是具有一定的隨機性,但并不影響大腦精確地執行各項復雜的動作.同樣,外界熱噪聲擾動下的磁性隧道結的動力學具有一定的隨機性,因此超順磁隧道結的群體編碼可以很好地模擬生物系統中的神經元隨機動力學.為了檢驗網絡性能,我們分別進行了10 次獨立的試驗,并把測試正確率的平均值和標準差畫在圖2(c)中.可以看出,隨著訓練輪次的增加,基于磁性隧道結的群體編碼網絡正確率最終也達到了使用理想調諧曲線的算法仿真極限值(圖2(c)虛線).圖2(c)中插圖為15 輪訓練后測試結果的融合矩陣,其中的標簽1,2,3 依次對應Setosa 鳶尾花、Versicolour 鳶尾花和Virginica 鳶尾花,紅色的深度與正確預測的標簽數目相對應.
隨著群體編碼使用隧道結(神經元)數量的增加,偏好刺激在感受野中的分布更加密集,可以使群體編碼包含的信息量更大,魯棒性更強[33].同時,隨著磁性隧道結數目的增加,輸入數據將被投影到更高維的空間,該組磁性隧道結的發放脈沖包含的信息隨之增加,輸出層神經元能夠解碼出更多的信息,包含了數據的更多細節,因此磁性隧道結數目的增加有助于提高網絡的性能.圖2(d)展示了隨著用于編碼每個變量的磁性隧道結的增加,網絡性能逐漸增強,當磁性隧道結數目達到12 個時,無監督聚類的正確率也達到飽和.
本文還探究了輸出層神經元對網絡性能的影響.執行無監督聚類的網絡事先并不知道樣本數據種類數量,因此輸出層神經元的數量應當大于或等于數據種類的數量.輸出層神經元的標簽由引起它發放次數最多的鳶尾花類別決定,因此,每一類鳶尾花由一組輸出層神經元共同標注.當輸出層的神經元達到20 個時,正確率可以達到90%;當輸出層的神經元達到30 個,正確率就可以達到92.6%,達到了網絡性能的極限.需要強調,我們的無監督學習中使用了STDP 的學習規則,在實際訓練過程中表現出一定的不穩定性,對權重初值較為敏感,而更多的輸出神經元代表網絡有更大的初始參數空間,這給訓練過程帶來了更多的可能性,更加有利于STDP 的學習,從而避免參數落入局域最優解導致訓練失敗,這也解釋了為什么更多的輸出神經元會提高網絡的性能.
盡管我們僅測試了樣本個數較少的鳶尾花數據集,但該網絡在軟件層面已經成功應用于大規模數據集的無監督分類[31,34].因此,基于磁性隧道結的群體編碼硬件網絡也同樣具有可擴展性,能夠推廣到更大規模的數據分類任務.此外,本文探究了權重的精度對網絡性能的影響,模擬結果表明在鳶尾花聚類的任務中,3 比特權重下網絡的性能就可以達到90%以上,這表明該網絡的權重可以映射到磁疇壁等自旋多態器件,有望實現全自旋脈沖神經網絡.
即使同一批生長的材料和相同的刻蝕工藝制造的磁性隧道結器件通常也會有所差異,這種器件的非均一性是類腦計算硬件不可避免的問題.具體到超順磁隧道結,其非均一性表現在器件兩個參數的差別,即勢壘高度ΔE和臨界電流Ic.這兩個參數的差別導致隧道結調諧曲線的高度和寬度都會發生改變[27].為了探究器件的不均一性對網絡性能的影響,我們測試了磁性隧道結的勢壘ΔE存在0—10%漲落范圍下無監督聚類的準確性.測試中的群體編碼均采用每組8 個隧道結,輸出層包含50個神經元.ΔE增大(減小)會降低(升高)磁性隧道結的翻轉頻率,因此ΔE的漲落影響器件調諧曲線的高度.例如勢壘過高的器件翻轉1 次所需的時間很長,因此平均發放速率相對要低很多.圖3(a)插圖展示了ΔE的漲落為6%時一組磁性隧道結的調諧曲線.將這組器件放入網絡中進行群體編碼,最終實現無監督分類的正確率達到80%.整體上隨著器件勢壘高度漲落增大,網絡的性能略有降低[27],如圖3(a)所示.

圖3 磁性隧道結(a)勢壘和(b)翻轉臨界電流的不均一性對網絡性能的影響Fig.3.Population coding using the magnetic tunnel junctions with a fluctuation in their (a) energy barriers and(b) critical currents for switching.
我們進一步測試了磁性隧道結的臨界電流Ic存在0—80%漲落時網絡的性能,結果如圖3(b)所示.Ic的變化會影響調諧曲線的寬度,圖3(b)的插圖展示了Ic存在80%漲落時的一組器件的調諧曲線,此時網絡的正確率依然能夠達到90%.因此不同器件臨界電流并不會影響網絡的魯棒性,勢壘高度的變化對網絡性能的影響更加顯著.
上述測試結果與生物系統中群體編碼的特征一致.在生物系統中,不同神經元在收到相同的刺激時響應也不是完全相同的,這種異質性神經元的群體編碼并不影響生物神經系統的正常工作.
磁性隧道結的發放在每個采樣時間窗口內是隨機的,我們可以改變觀測時間,在1 個觀測時間內對磁性隧道結進行多次采樣,然后將多次采樣的結果轉換為1 次脈沖,這樣可以在統計意義上消除一定的隨機性,從而提高網絡的性能.但隨著觀測時間的增加,每次運行時器件能耗也會隨之增加.為了探究器件耗能和網絡性能的關系,我們使用每組群體編碼包含了16 個磁性隧道結,模擬觀測時間與采樣時間的比值對網絡性能的影響.在一個采樣時間內磁性隧道結的最大輸入電流為100 μΑ,電阻取高阻態與低阻態的均值2.016 kΩ,因此最大能耗為6.58×10-9J.將其乘以觀測時間與采樣時間的比值,就可得到觀測時間對應的最大能耗.圖4 給出了不同觀測時間的聚類正確率,其中上軸表示每個觀測時間對應的能耗.當觀測時間為10 次采樣時間時網絡達到正確率的飽和值,對應的最大能耗為為6.58×10-8J.隨著實驗工藝的進步,降低采樣時間可以有效地降低器件能耗,目前實驗上報道的隧道結采樣時間可以低至8 ns[35],相比于CMOS 的群體編碼系統[25],采樣速度提高了3 個量級,采用該器件實現群體編碼有望將能耗降到4×10-12J.在系統集成方面,磁性隧道結將連續信號直接轉換為二值信號,有利于后續數字信號的處理,而基于CMOS 的群體編碼需要設計額外的數模轉換電路.因此,基于自旋電子器件的群體編碼在面積、能耗和速度方面都有突出的優勢.

圖4 不同觀測時間(以采樣時間dt 為單位)對網絡執行無監督聚類正確率的影響(上軸表示每個觀測時間對應的能耗)Fig.4.Classification accuracy of unsupervised clustering performed by the network as a function of the different observation time (The upper axis shows the energy consumption corresponding to each observation time).
本文提出了一種使用超順磁隧道結的群體編碼方案,利用熱擾動下超順磁隧道結的隨機翻轉過程及其自旋轉移力矩的調控,可以用帶有偏置力矩的若干隧道結的偏好刺激編碼整個神經元的感受野.作為一個簡單且典型的例子,我們把該群體編碼方案應用到一個三層的神經網絡中,實現了對鳶尾花數據集的無監督聚類,探究了用于群體編碼的隧道結個數等網絡參數對聚類正確率的影響.群體編碼方案在應用中可以很好地克服器件非均一性等技術和工藝問題,并且能夠有效地降低神經網絡的能耗.