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