


摘要:從數據出發,運用深度學習方法進行納米光子材料設計是近年來的一個研究熱點。本研究詳細闡述了深度神經網絡的搭建與訓練方法,并以SiO2/Si3N4多層膜結構為例,成功訓練了一個高效的光譜預測模型。該模型可以在微秒級的時間內預測出多層膜結構的光譜響應,且預測的標準誤差小于0.01,可為廣大從事納米光子材料研究的同行提供有益的參考。
關鍵詞:數據驅動;深度學習;神經網絡;納米光子學;超材料;光譜計算
一、引言
當下,納米光子器件正在快速發展,這些器件越來越多地依賴精密而復雜的納米結構來實現各種令人驚奇的功能和性能,為未來的光學應用開辟了無限可能。在傳統的設計過程中,主要采用基于優化的方法,通常以某些特殊結構為起點,通過求解麥克斯韋方程和邊界條件來獲得該結構的光學響應。然后,將該結構的光譜響應與設計目標進行比較,根據經驗做出相應的調整。這個過程需要多次重復,直至設計出的器件滿足具體的設計要求。然而,這樣的設計方法存在明顯的不足之處。首先,這類方法消耗大量的計算資源,且要求投入大量的人力。
此外,研究者在設計過程中需高度依賴自身的經驗和直覺,這無形中提高了行業門檻。正是由于這些限制,開發更為復雜、精密的器件變得越來越困難。
近年來,隨著機器學習和深度神經網絡的迅速發展,研究者們開始將深度神經網絡等工具用于預測光子器件的性能和光譜響應。與傳統方法不同,該方法是數據驅動的,即從數據出發,訓練出一個數據模型進行器件設計。數據模型一旦建立,就可以在極短的時間內預測器件的性能。
更關鍵的是,這一方法解放了人力,使得研發更加高效,為光學器件的設計帶來了全新的可能性。鑒于深度學習方法在快速光譜預測方面的廣泛前景,本文將詳細討論此方法涉及的關鍵環節。
二、數據的準備
深度神經網絡的初始參數都是隨機分配的,因此最初不具備輸出任何有效結果的能力。為了使模型能正常工作,需要先獲取一批訓練數據,并使用這些數據對模型進行訓練。所謂訓練,即用大量的數據對網絡參數進行調優,從而提升網絡的預測能力。
在傳統的深度學習研究領域,一般會使用一些公開的數據集。在計算機視覺領域一般采用MNIST、CIFAR10、CIFAR100、ImageNet、COCO和LAION-5B等,在自然語言處理領域也有各種語言的語料庫。然而在物理學研究領域,只有晶格常數、帶隙、彈性模量等少數物理量被系統性地公開,這不能滿足廣泛的研究需求。因此,要將深度學習運用到物理學領域,只能根據自己的研究需要,按照物理定律生成訓練數據。
本項工作以SiO2和Si3N4組成的十層膜結構作為研究對象,并采用傳輸矩陣法來計算其在400納米至750納米這一可見光波段的透射光譜。
根據介電材料中電磁波的連續性條件以及兩種介電體界面之間的邊界條件,可以通過一個2×2矩陣建立入射波和出射波之間的強度轉換關系。如果使用Ei和Hi來表示入射波的電場強度和磁場強度,同時使用Eo和Ho來分別表示出射波的電場強度和磁場強度,那么存在以下關系:
研究組隨機生成了100萬個多層膜結構,并運用前述傳輸矩陣方法計算了他們的光譜響應。隨后,這100萬個多層膜結構被分為兩組,一組占樣本量的80%,作為訓練集,用于訓練模型;另一組占20%,作為驗證集,用于驗證訓練好的模型。之所以要專門分出一部分樣本用于驗證是為了確保將最終得到的模型用于預測新結構時仍然有效,而非只能用于預測訓練過的結構。
三、網絡的搭建
在本項工作中,研究組運用了PyTorch深度學習框架搭建了一個8層的神經網絡。該網絡的輸入層包含10個神經元,以接收10層膜結構的厚度;網絡的輸出層包含71個神經元,用于輸出光譜。
除了輸入層和輸出層外,神經網絡還有6個中間層,這些層在神經網絡中被稱作隱藏層。第1、3、5層是全連接層,每個全連接層中的神經元與前一層中的所有神經元相連。第2、4、6層是激活層,引入非線性特征,以增加網絡的容量。更詳細的分析可以查閱參考文獻3。
常用的激活函數有很多,早期有Sigmoid、Tanh,本輪人工智能大潮來臨時有ReLU、LeakyReLU等。ReLU函數解決了早期激活函數的梯度消失和飽和問題,但在輸入為負時,由于函數值和函數的導數值都為0,可能導致神經元死亡,使得模型無法被訓練。因此,人們又提出了改進版本的激活函數,如SoftPlus、ELU、Mish、GELU、SELU等等,以更好地處理輸入為負時的情形。本文選擇以ELU作為激活函數,其在輸入為負時仍然有斜率,神經元不會死亡;并且其輸出有正有負,使得輸出的分布更加平衡,進而使得模型更容易被訓練。ELU函數的具體形式見公式5,這里α是一個可調參數,默認值為1。
四、網絡的訓練與驗證
為了使深度神經網絡能夠根據輸入的結構參數輸出對應的光譜,必須先對其參數進行調優或訓練。在前面的章節中已經準備好了訓練數據,由于透射光譜和反射光譜是互補的,只需要用透射光譜進行訓練即可。
在正式開始訓練前,還需要先確定一個量化輸出結果與真實光譜之間差異的準則,這樣才能通過優化算法減少該差異,從而使得神經網絡能夠更好地進行預測。在物理實驗中,大量使用均方誤差描述實驗誤差,因為他被證明是刻畫偏離程度的一個有效標度,因此本工作參考一般物理實驗的經典做法,采用均方誤差作為損失函數來表征網絡預測與實際結果之間的差異。
定義好損失函數后,就可以運用數學工具調優網絡參數,嘗試將損失函數最小化。理論上講,如果最終使得損失函數值為0,則深度神經網絡可以完全精確地預測光譜。在深度學習研究中,一般的做法是采用梯度下降法(GD)優化網絡參數。梯度下降法需要先求出當前的損失,然后求出該損失對各個參數的導數,即函數點的最速上升方向;接著將各個參數減去相應導數的一個比率,使得函數點沿著最速下降方向移動一段距離。反復將函數點沿梯度方向移動,即可將損失函數值快速下降至最低。在實踐中,為了加速參數的收斂過程,一般采用小批量隨機梯度下降法(mini-batch SGD)來完成優化過程。但由于深度神經網絡參數規模巨大,其在超平面的幾何結構極其復雜,單純的小批量隨機梯度下降法收斂速度仍然較慢,且容易陷入局部極小值,因此科研人員又提出了各種改進的版本,如帶動量的隨機梯度下降、自適學習率應梯度下降法(AdaGrad)、均方根傳遞法(RMSProp)、自適應矩估計法(Adam)等。在本項工作中,研究組選擇了自適應矩估計法作為優化方法。
為了確保模型被充分地訓練,本工作設置了5000個訓練輪次。在每個輪次,訓練樣本順序都會被重新打亂,然后每次選取256個樣本對模型進行訓練??紤]到訓練集包含80萬個樣本,實際每個輪次會對神經網絡中的所有參數優化3125次。每次優化,依次做以下四件事情:
1.選取256個樣本,讓深度神經網絡預測出光譜;
2.比對預測光譜與真實光譜,計算出損失函數值;
3.將損失函數的梯度反向傳播,得出損失函數值對各個參數的導數;
4.將各個參數減去其相應導數的一定比率。
不斷重復上述過程,即可完成深度神經網絡的訓練。在上述步驟的第④步提到的比率被稱作學習率。其作用是控制每次梯度下降的步幅。這是一個經驗參數,如果設置過大,則很可能下降過快導致沖過最低點,甚至導致發散;而如果設置過小,則收斂速度會非常慢,也更可能掉入局部極小值。根據優化器和具體應用的不同,一般會取在0.0001到0.01之間。
在本項工作中,初始學習率被設置為0.0001,且每完成200個輪次的訓練,學習率會調低到之前的80%,使函數值更容易接近最低點。
五、實驗結果的驗證
經過5000個輪次的訓練,訓練集損失值為1.418×10-5,驗證集損失值為 1.645×10-5。本工作使用的損失函數為L2損失函數,即均方誤差,將其開方即可得到均方根誤差,或稱標準誤差,其標度了預測結果相對于真實結果的平均偏離量。對于訓練集數據和驗證集數據 ,標準誤差分別為0.00377和0.00406??紤]到透射光譜數據的取值范圍是0至100,平均值為57.6,模型能夠將標準誤差控制在0.01之下,表明模型的預測已經非常精確。
為了更加直觀地展示預測效果,研究組隨機選取了一個結構,展示了其前600個訓練輪次的訓練效果,其結果展示在了圖1??梢院芮逦乜吹剑诮涍^了600個輪次的訓練后,模型已經能夠非常準確地預測出多層膜結構的光譜了。
六、結束語
本文運用數據驅動方法開發了一個用于光譜計算的模型。該模型可以在微秒級的時間內預測多層膜結構的光譜,其標準誤差不到0.01,展現了極高的實用價值。雖然模型需要預先訓練才能使用,但是該訓練是一次性的成本,且不需要人的主觀判斷和干預。這一創新的研究思路為光學器件設計開辟了一條新的道路。
作者單位:邱維陽 中山職業技術學院
參考文獻
[1]羅先剛.亞波長電磁學[M].北京:科學出版社,2017:1-48.
[2]帕拉斯·N.普拉薩德.納米光子學[M].北京:西安交通大學出版社,2018:1-24.
[3]邱錫鵬. 神經網絡與深度學習[M].北京:機械工業出版社,2020:
[4]John Lekner. Theory of Reflection: Reflection and Transmission of Electromagnetic, Particle and Acoustic Waves[M].Springer,2016:
[5]伊恩·古德費洛.深度學習[M].北京:人民郵電出版社,2017:
[6]Wang Qi, Ma Yue, Zhao Kun et al. A Comprehensive Survey of Loss Functions in Machine Learning [J]. Annals of Data Science,2022,9(2):187-212.
[7] Wiecha Peter R., Arbouet, Arnaud, Girard Christian et al. Deep learning in nano-photonics: inverse design and beyond[J]. Photonics Research,2021,9(5):B182.
[8]Ma Wei, Liu Zhaocheng, Kudyshev Zhaxylyk A. et al.Deep learning for the design of photonic structures[J].Nature Photonics,2020,15(2):77-90.