天天看點

脈沖神經網絡_光晶片上的全光脈沖神經網絡

Nature昨天刊登了德國明斯特大學的一篇最新進展,研究人員在光晶片上實作了脈沖神經網絡(spike neural network)。先睹為快,這篇筆記主要介紹下這篇進展。研究人員将氮化矽波導與相變材料結合,實作了監督式和非監督式的機器學習,并示範了對15個像素圖檔的模式識别。

關于相變材料(phase changing material, 以下簡稱PCM), 小豆芽之前的一篇筆記 基于光晶片的記憶體内計算(memory-in computing)提到過。研究人員采用相同的材料GST(全稱為Germanium Antimony Tellurium), 它可以在晶體和非晶态之間切換。GST通過濺射的方法沉積在SiN波導上方。GST的折射率随波長變化曲線如下圖所示, 當PCM處于非晶态時,它的吸收率較小,而當它處于晶體态時,吸收率較大。基于這一性質,它可以作為神經網絡的權重單元(weights),用來調控SiN波導中的光強,

脈沖神經網絡_光晶片上的全光脈沖神經網絡

(圖檔來自文獻1)

光脈沖神經網絡的結構如下圖所示,

脈沖神經網絡_光晶片上的全光脈沖神經網絡

(圖檔來自文獻1)

而典型的神經元結構如下圖所示,

脈沖神經網絡_光晶片上的全光脈沖神經網絡

(圖檔來自https://www.cnblogs.com/by-dream/p/10497816.html)

比較上面兩幅圖檔,可以看出光學脈沖神經網絡的結構與生物神經元結構非常類似,兩者之前存在一種對應關系。對于光學脈沖神經網絡,不同波長的光脈沖序列輸入進PCM構成的突觸單元(synapse), 經過PCM的作用,脈沖強度發生變化,對應于乘法器。進而借助于微環結構,将不同波長的脈沖導入進同一波導中,該功能類似加法器。相加後的脈沖光強較小時,probe光與微環發生共振,在輸出端口沒有光強輸出。當光強達到一定的門檻值後,probe信号不再和微環發生共振,而是傳播到輸出端口。這一過程類似神經元脈沖信号的激發,扮演了非線性激活函數的功能。基本的光學結構單元如下:

1. 含PCM的波導

下圖中的結構I, 作為突觸單元,調控光脈沖信号的強度,相當于乘法器

2. WDM波分複用器

下圖中的結構II, 采用微環結構,将不同波長的光脈沖導入到同一根波導中,相當于加法器

3. 含PCM的微環結構

下圖中的結構VI, 作為非線性激活函數。當脈沖能量超過430pJ時,“激發”一個光脈沖。

脈沖神經網絡_光晶片上的全光脈沖神經網絡

(圖檔來自文獻1)

整個信号處理過程分為四步: 1)Weighting, 2)Mux, 3)Sum, 4) Output。典型的光路結構如下圖所示,下圖對應三個神經元結構。

脈沖神經網絡_光晶片上的全光脈沖神經網絡

(圖檔來自文獻1)

利用上圖的單個神經元結構,研究人員驗證了監督式機器學習和非監督式機器學習。對于監督式機器學習,權重的數值通過外部的supervisor設定。

脈沖神經網絡_光晶片上的全光脈沖神經網絡

(圖檔來自文獻1)

左圖對應1010的識别,右圖對應1100的識别。

對于非監督式機器學習,不再需要外部的supervisor來設定權重值,而是通過輸出光脈沖進行回報控制,調整權重值,如下圖所示。當光脈沖信号産生時,增加對應的權重值,而沒有光脈沖信号産生時,減小對應的權重值。下圖展示了對0110的識别過程。

脈沖神經網絡_光晶片上的全光脈沖神經網絡

 (圖檔來自文獻1)

上述的示範都是針對單個神經元的,對應2x2矩陣的操作。進一步,他們提出了更複雜的光學脈沖神經網絡結構,證明該結構的可擴充性。神經網絡中的每一層結構,如下圖所示。每一層包括三個功能單元,即收集器collector、分發器distributor和神經突觸結構neurosynapse。收集器将上一層不同波長的光脈沖信号收集到同一根波導中,分發器将光脈沖分發給N個神經元,神經突觸結構則産生光脈沖信号,輸入給下一層結構。

脈沖神經網絡_光晶片上的全光脈沖神經網絡

(圖檔來自文獻1)

基于上述的架構,他們進一步示範了對字母ABCD的識别。光路中包含4個神經元,每個神經元包含15個突觸,對應識别含15個像素的圖檔。整個晶片包含140多個光器件,如下圖所示。由于涉及到15個波長,收集器不是在片内實作的,而是通過外部的WDM實作。

脈沖神經網絡_光晶片上的全光脈沖神經網絡

(圖檔來自文獻1)

可以看出,該結構能夠較好地識别ABCD這四個字母。

小豆芽的幾點comment:

1) 神經網絡所需的功能單元全部都可以在光晶片内實作,而MIT研究組的方案中激活函數是通過片外電學方法實作。這是該方案的一個優勢和新穎之處。

2) 采用微環結構,微環是對工藝、溫度、波長非常敏感的。如果該方案想進行大批量生産,這會是一個非常大的挑戰。當然,可以通過熱調的方法進行補償,但是這會帶來額外的功耗。

3) 由于采用了特殊的PCM材料,目前還沒有矽光foundry支援這一工藝。

4) 采用波長編碼,目前示範的是含15像素的圖檔識别,涉及到15個波長。如果矩陣的規模進一步變大,例如10x10, 就會涉及到100個波長。這就需要可處理100個波長的波分複用器件,無論是在片内還是片外,實作起來都是非常有難度的。或許,較大的矩陣能拆分成小矩陣進行處理,可以規避這一問題。

文章中如果有任何錯誤和不嚴謹之處,還望大家不吝指出,歡迎大家留言讨論。

參考文獻:

1. J. Feldmann, et.al., "All-optical spiking neurosynaptic networks with self-learning capabilities", Nature 569, 208(2019)

繼續閱讀