邱維陽(yáng),何 成,鄭根讓,易巧玲
(中山職業(yè)技術(shù)學(xué)院,廣東 中山528400)
由精心設(shè)計(jì)的微納結(jié)構(gòu)組成的新型光學(xué)器件已成為一個(gè)極具活力且富有成果的研究領(lǐng)域,因?yàn)槠渚哂胁倏毓饬鞯郊{米尺度的能力[1],得益于先進(jìn)的數(shù)值模擬、制造和表征技術(shù),人們能夠設(shè)計(jì)、制造并展示具有復(fù)雜幾何形狀和排列的介電與金屬微觀及納米結(jié)構(gòu)。例如,由亞波長(zhǎng)結(jié)構(gòu)組成的超材料和超表面被稱為元原子(meta-atoms),可展現(xiàn)出超越自然材料的卓越特性。光線導(dǎo)向、全息術(shù)、成像、傳感和極化控制等研究領(lǐng)域已報(bào)道了多種元器件,微納結(jié)構(gòu)研究的興起為光學(xué)應(yīng)用領(lǐng)域提供了巨大的技術(shù)突破。但隨著結(jié)構(gòu)的復(fù)雜度越來(lái)越高,設(shè)計(jì)過(guò)程變得越來(lái)越具有挑戰(zhàn)性。傳統(tǒng)的設(shè)計(jì)路徑依賴于器件優(yōu)化,即從一些特殊結(jié)構(gòu)(依賴于設(shè)計(jì)師的經(jīng)驗(yàn))通過(guò)求解麥克斯韋方程和邊界條件得到電磁響應(yīng),將計(jì)算結(jié)果與設(shè)計(jì)目標(biāo)進(jìn)行比較獲取調(diào)整方向并進(jìn)行相應(yīng)調(diào)整,不斷重復(fù)此過(guò)程,直到設(shè)計(jì)的器件符合設(shè)計(jì)需求。代表性方法包括伴隨方法、水平集方法、遺傳算法和粒子群算法等,這些研究方法需要進(jìn)行數(shù)百甚至數(shù)千次的模擬,直到器件性能達(dá)到可接受的范圍,但非常消耗計(jì)算資源,需要耗費(fèi)大量的人力且結(jié)果嚴(yán)重依賴于研究者的經(jīng)驗(yàn),并隨著器件變得越來(lái)越精巧,這種研究變得越發(fā)困難。
深度學(xué)習(xí)在近年得到了快速發(fā)展[2],是一種數(shù)據(jù)驅(qū)動(dòng)方法,可從數(shù)據(jù)中學(xué)習(xí)并用以前學(xué)習(xí)到的經(jīng)驗(yàn)解決問(wèn)題。最近,越來(lái)越多的深度學(xué)習(xí)方法被引入到物理研究中[3]。本研究采用深度神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)納米多層膜結(jié)構(gòu)的光學(xué)響應(yīng)。隨機(jī)生成了一百萬(wàn)個(gè)納米多層膜結(jié)構(gòu),利用傳輸矩陣法[4]計(jì)算了相應(yīng)的光譜,使用生成的結(jié)構(gòu)及其相應(yīng)的光譜來(lái)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),對(duì)訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)光譜進(jìn)行了定性與定量分析。
研究材料是一系列由SiO2/Si3N4薄膜組成的夾層結(jié)構(gòu)(如圖1所示),將研究波段鎖定在400~750 nm的可見(jiàn)光波段。為了更好地調(diào)制光波,將材料光學(xué)厚度限制在60~200 nm,結(jié)合SiO2、Si3N4的折射率(分別約為1.57和2.03)將SiO2和Si3N4材料厚度相應(yīng)限制為40~130 nm和30~100 nm。
圖1 納米多層膜結(jié)構(gòu)Fig.1 Nano multilayer film structure
其中紫色和綠色分別代表SiO2和Si3N4層。樣品總厚度變化范圍為350~1100 nm。
結(jié)合電磁波的連續(xù)性條件和邊界條件,考慮法向入射情況,將傳輸矩陣表示為:
(1)
由于公式(1)表征了入射波和出射波之間的關(guān)系,因此很容易將公式(1)擴(kuò)展到多層情況。對(duì)于一個(gè)通過(guò)n層材料的電磁波,會(huì)連續(xù)發(fā)生n次入射和相應(yīng)的n次出射,傳輸矩陣表示如下[15]:
MnMn-1…M2M1
(2)
其中,Mi代表第i層的傳輸矩陣。根據(jù)矩陣的結(jié)合律,計(jì)算每個(gè)層的傳輸矩陣的累積乘積,得到一個(gè)單獨(dú)的矩陣M??梢杂?個(gè)變量,即m11、m12、m21和m22表示矩陣M中的4個(gè)元素,即:
(3)
對(duì)于TE模式,整體反射率和透射率可以寫成:
(4)
(5)
其中,qi和qo分別表示入射波矢量和出射波矢量在法線方向上的投影,如果入射介質(zhì)和出射介質(zhì)都為空氣,則有:
(6)
在可見(jiàn)光波段內(nèi),SiO2和Si3N4的介電函數(shù)接近于常數(shù)(對(duì)于SiO2,介電函數(shù)范圍為1.4836~1.4698,對(duì)于Si3N4,介電函數(shù)范圍為2.0978~2.0274),這里以其他研究者的計(jì)算結(jié)果為計(jì)算依據(jù)[16-17]。
隨機(jī)生成一百萬(wàn)個(gè)不同的多層膜結(jié)構(gòu),利用傳輸矩陣法計(jì)算這些結(jié)構(gòu)的光響應(yīng)。由于透射率和反射率是互補(bǔ)的,因此只通過(guò)透射光譜來(lái)訓(xùn)練網(wǎng)絡(luò),這并不會(huì)損失一般性,但可節(jié)省時(shí)間和存儲(chǔ)空間,生成的結(jié)構(gòu)及其對(duì)應(yīng)的光譜如圖2所示。
圖2 隨機(jī)生成的結(jié)構(gòu)及其由TMM計(jì)算得出的相應(yīng)電磁響應(yīng)Fig.2 Randomly generated structure and its corresponding electromagnetic response calculated by TMM
藍(lán)色線表示透射率,橙色線表示反射率。每個(gè)光譜上方對(duì)應(yīng)的是其材料結(jié)構(gòu)。紫色和綠色分別代表SiO2和Si3N4層。
其中,n1=10(對(duì)應(yīng)于10層膜的厚度),n2=n3=512,n4=n5=256,n6=n7=128,n8=71(對(duì)應(yīng)于波譜的采樣波長(zhǎng)數(shù),每個(gè)波長(zhǎng)間隔為5 nm,從400~750 nm)。
搭建的網(wǎng)絡(luò)是一個(gè)8層神經(jīng)網(wǎng)絡(luò),圖3為網(wǎng)絡(luò)示意圖。輸入層包含10個(gè)神經(jīng)元,與設(shè)計(jì)的10層膜材料結(jié)構(gòu)相匹配(因此有10個(gè)參數(shù))。每5 nm采樣一次光響應(yīng),因此從400~750 nm采樣了71個(gè)波長(zhǎng)。相應(yīng)地,網(wǎng)絡(luò)的最后一層包含71個(gè)神經(jīng)元,與光譜匹配。除了第一層和最后一層,還有6個(gè)隱藏層在輸入層和輸出層之間,稱為神經(jīng)網(wǎng)絡(luò)中的隱藏層。第1、3、5個(gè)隱藏層是全連接層,每個(gè)全連接層的神經(jīng)元與前一層中的所有神經(jīng)元相連。第2、4、6個(gè)隱藏層是激活層。設(shè)置激活層的原因是為了引入非線性特性,增加神經(jīng)網(wǎng)絡(luò)的容量[18]。使用LeakyReLU作為激活函數(shù),LeakyReLU是經(jīng)過(guò)修改的線性整流單元(ReLU)[19],圖4是ReLU和LeakyReLU的示意圖,它們?cè)谳斎霝檎龝r(shí)輸出相同,而在輸入為負(fù)時(shí)輸出不同。在輸入為負(fù)時(shí),LeakyReLU中的微小斜率是為了避免神經(jīng)元死亡(在ReLU中如果神經(jīng)元輸入為負(fù),它的梯度和值都為零。如果大量神經(jīng)元輸入為負(fù),它們可能無(wú)法再次被激活,導(dǎo)致模型無(wú)法被正常訓(xùn)練)。
圖3 構(gòu)建的網(wǎng)絡(luò)Fig.3 Constructed network
圖4 ReLU和LeakyReLUFig.4 ReLU and LeakyReLU
可以看到,當(dāng)輸入為正數(shù)時(shí),在兩種情況下輸出等于輸入本身,但當(dāng)輸入為負(fù)數(shù)時(shí),ReLU的輸出為零,而LeakyReLU的輸出為輸入的1%,呈現(xiàn)出微小的斜率。
搭建好的深度神經(jīng)網(wǎng)絡(luò)的初始參數(shù)是隨機(jī)的,并不能很好地預(yù)測(cè)光譜,因此需要對(duì)參數(shù)進(jìn)行優(yōu)化,即對(duì)模型進(jìn)行訓(xùn)練。為了明確優(yōu)化方向,需要定義一個(gè)表征神經(jīng)網(wǎng)絡(luò)輸出(預(yù)測(cè)值)與實(shí)際值之間的差異損失函數(shù)[20],而所有樣本的平均損失構(gòu)成了代價(jià)函數(shù),其為訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)的一個(gè)關(guān)鍵指標(biāo)。訓(xùn)練目標(biāo)是最小化代價(jià)函數(shù),令預(yù)測(cè)結(jié)果更接近實(shí)際值。使用均方誤差作為損失函數(shù),因?yàn)樗谔幚砘貧w問(wèn)題時(shí)是一個(gè)很好的指標(biāo),能夠表征預(yù)測(cè)光譜與實(shí)際值之間的偏差。
選擇好損失函數(shù)后開(kāi)始優(yōu)化網(wǎng)絡(luò)參數(shù),使代價(jià)函數(shù)盡量小。但由于在深度神經(jīng)網(wǎng)絡(luò)中通常有數(shù)百萬(wàn)個(gè)參數(shù)(此案例中約為17萬(wàn)個(gè)),對(duì)于這樣大規(guī)模的參數(shù),合適的優(yōu)化方法是影響最終結(jié)果的重要因素。在一些簡(jiǎn)單情況下,如單變量函數(shù)優(yōu)化,牛頓迭代法是一種很好的求數(shù)值解的方法。但當(dāng)變量擴(kuò)展到多變量(在深度學(xué)習(xí)中,數(shù)百萬(wàn)非常常見(jiàn))時(shí),由于必須導(dǎo)出海森矩陣[21],其參數(shù)高達(dá)萬(wàn)億量級(jí),使得此方法變得難以應(yīng)用。而實(shí)際上,計(jì)算包含數(shù)萬(wàn)億個(gè)參數(shù)這樣巨大的矩陣幾乎是不可能的。優(yōu)化這樣大規(guī)模參數(shù)的實(shí)際方法是使用梯度下降或更高效地使用隨機(jī)梯度下降(Stochastic Gradient Descent)[18]。相關(guān)研究表明,使用傳統(tǒng)的隨機(jī)梯度下降時(shí)可能會(huì)出現(xiàn)收斂緩慢甚至陷入局部最小值的情況,因此提出了改進(jìn)方法,如 AdaGrad、RMSProp、Adam、AdamW、RAdam[10],故選擇Adam作為優(yōu)化方法。
在實(shí)驗(yàn)中設(shè)置了5000個(gè)輪次來(lái)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),經(jīng)過(guò)若干次嘗試,將學(xué)習(xí)率設(shè)置為0.0001,且每200個(gè)輪次訓(xùn)練完成后將學(xué)習(xí)率降低20%,使得代價(jià)函數(shù)更容易接近其極小值,從而獲得更好的模型性能。
將樣本分為兩部分:一部分是訓(xùn)練集,占總樣本量的80%,用于訓(xùn)練網(wǎng)絡(luò)。其余的20%組成驗(yàn)證集,用于驗(yàn)證模型是否確實(shí)學(xué)會(huì)了預(yù)測(cè)光譜(即不僅僅是記住了訓(xùn)練數(shù)據(jù))[22]。為了提升訓(xùn)練效率,每個(gè)訓(xùn)練周期中都對(duì)訓(xùn)練集進(jìn)行亂序操作,這樣雖然訓(xùn)練集是固定的,但樣本順序在訓(xùn)練期間會(huì)不斷變化,可以泛化模型并增強(qiáng)訓(xùn)練效果。
y軸刻度被設(shè)置為對(duì)數(shù)級(jí)別,以便更清晰展示。(a) 所有訓(xùn)練樣本的訓(xùn)練過(guò)程。(b) 清洗后的數(shù)據(jù)集的訓(xùn)練過(guò)程(去除了峰谷數(shù)量之和大于3的結(jié)構(gòu))。
圖5(a)和圖5(b)之間存在兩個(gè)主要差異:在清洗后的數(shù)據(jù)集中,訓(xùn)練階段的代價(jià)函數(shù)值和驗(yàn)證階段的代價(jià)函數(shù)值均比完整的數(shù)據(jù)集低,因?yàn)楣庾V被簡(jiǎn)化,網(wǎng)絡(luò)可以更好地描述它們。②訓(xùn)練階段的代價(jià)函數(shù)和驗(yàn)證階段的代價(jià)函數(shù)存在偏差,這意味著在清洗后的數(shù)據(jù)集中出現(xiàn)了過(guò)擬合。因?yàn)榍逑春蟮臄?shù)據(jù)集中的樣本大小只有完整數(shù)據(jù)集的22%,網(wǎng)絡(luò)學(xué)到了一部分訓(xùn)練集樣本特有的特征。
圖5 訓(xùn)練過(guò)程中代價(jià)函數(shù)的演化過(guò)程Fig.5 Evolution of cost function in training process
所有的損失函數(shù)的平均值為網(wǎng)絡(luò)的代價(jià)函數(shù),它表征了神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果與真實(shí)值之間的均方誤差。
從圖5可以看到,代價(jià)函數(shù)在開(kāi)始的前1000個(gè)輪次時(shí)迅速下降,在1000~2000輪次下降速度明顯放緩,最后3000個(gè)輪次對(duì)代價(jià)函數(shù)的絕對(duì)改善已經(jīng)非常小。這一曲線與其他深度學(xué)習(xí)訓(xùn)練過(guò)程相似,由于網(wǎng)絡(luò)的初始參數(shù)是隨機(jī)生成的,因此一開(kāi)始無(wú)法很好地預(yù)測(cè)光譜,導(dǎo)致代價(jià)函數(shù)非常大。在優(yōu)化過(guò)程中,將梯度進(jìn)行反向傳播來(lái)得到代價(jià)函數(shù)對(duì)每個(gè)參數(shù)的導(dǎo)數(shù),優(yōu)化器(Adam優(yōu)化器)根據(jù)梯度對(duì)參數(shù)進(jìn)行一定的調(diào)整。隨著訓(xùn)練的進(jìn)行,網(wǎng)絡(luò)中的參數(shù)被優(yōu)化器逐步調(diào)優(yōu),網(wǎng)絡(luò)可以越來(lái)越精確地預(yù)測(cè)譜圖。圖6是隨著訓(xùn)練的進(jìn)行光譜的預(yù)測(cè)效果變化。
圖6 光譜的預(yù)測(cè)效果變化Fig.6 The change in effectiveness of spectra prediction
橙色線是真實(shí)值,藍(lán)色線是預(yù)測(cè)結(jié)果。隨著訓(xùn)練過(guò)程的進(jìn)行,這兩條線逐漸靠近,意味著深度學(xué)習(xí)模型已經(jīng)學(xué)會(huì)了如何通過(guò)結(jié)構(gòu)來(lái)預(yù)測(cè)光譜。
訓(xùn)練過(guò)程完成后,可以使用這個(gè)經(jīng)過(guò)訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)來(lái)計(jì)算給定結(jié)構(gòu)的光譜。圖7顯示了一些隨機(jī)生成的結(jié)構(gòu)及其由TMM和深度神經(jīng)網(wǎng)絡(luò)計(jì)算出的相應(yīng)光譜。雖然深度神經(jīng)網(wǎng)絡(luò)在大多數(shù)的結(jié)構(gòu)上表現(xiàn)得非常好,但仍發(fā)現(xiàn)它在光譜結(jié)構(gòu)較復(fù)雜的結(jié)構(gòu)上表現(xiàn)略差。這種現(xiàn)象主要是因?yàn)楣庾V結(jié)構(gòu)的復(fù)雜程度超過(guò)了深度神經(jīng)網(wǎng)絡(luò)的表達(dá)能力[18],導(dǎo)致欠擬合。解決這個(gè)問(wèn)題的直接方法是增加網(wǎng)絡(luò)容量,如加深和加寬網(wǎng)絡(luò),但會(huì)帶來(lái)計(jì)算負(fù)擔(dān)。
圖7 隨機(jī)生成的結(jié)構(gòu)和相應(yīng)的光譜Fig.7 Randomly generated structures and corresponding spectra
圖7中上面4個(gè)圖是對(duì)訓(xùn)練集中樣本進(jìn)行預(yù)測(cè)的結(jié)果,下面4個(gè)圖是對(duì)驗(yàn)證集中樣本進(jìn)行預(yù)測(cè)的結(jié)果,兩者均表現(xiàn)出出色的預(yù)測(cè)能力。藍(lán)色線是預(yù)測(cè)結(jié)果,橙色線是真實(shí)值。
在構(gòu)建更復(fù)雜的網(wǎng)絡(luò)前分析了數(shù)據(jù)分布情況,以了解模型在整個(gè)數(shù)據(jù)集上的表現(xiàn),結(jié)果如圖8。從圖8(a)和圖8(b)中可以看到,超過(guò)94%的樣本偏差小于2.5%,超過(guò)99.7%的樣本偏差小于5%。對(duì)于如此少的情況(只有不到0.3%的樣本偏差大于5%),進(jìn)一步復(fù)雜化模型并不值得(不但帶來(lái)計(jì)算負(fù)擔(dān),還可能造成過(guò)擬合)。但為了關(guān)注偏差較大的樣本,提取了這些樣本并繪制預(yù)測(cè)光譜,將其與基準(zhǔn)光譜進(jìn)行比較,光譜圖如圖8(c)和圖8(d)中。由此可知,無(wú)法很好預(yù)測(cè)的光譜具有3個(gè)峰值和3個(gè)谷值,總共有6個(gè)極值點(diǎn)。
圖8 數(shù)據(jù)分布情況Fig.8 Data distribution
圖8(a)和圖8(b)分別顯示了訓(xùn)練集樣本和驗(yàn)證集樣本的預(yù)測(cè)光譜與真實(shí)光譜的平均偏差,y軸為對(duì)數(shù)刻度以便清晰展示。圖8(c)和圖8(d)分別顯示了訓(xùn)練集和驗(yàn)證集中最差結(jié)果的情況。
實(shí)際上,一個(gè)實(shí)用的光學(xué)器件通常只關(guān)注一個(gè)或兩個(gè)特定的波長(zhǎng),并在這些特定的波段提供高透射或高反射。因此在實(shí)踐中,具有大量透射峰或反射峰的光學(xué)器件并不常見(jiàn)。從這個(gè)角度來(lái)清洗訓(xùn)練數(shù)據(jù),剔除具有超過(guò)3個(gè)極值的樣本。這意味著用于訓(xùn)練模型的數(shù)據(jù)最多只能具有2個(gè)峰值和1個(gè)谷值或1個(gè)峰值和2個(gè)谷值。在清洗數(shù)據(jù)集后重新訓(xùn)練模型。圖9為隨機(jī)選擇的結(jié)構(gòu)光譜預(yù)測(cè)結(jié)果與真實(shí)結(jié)果的比較。從視覺(jué)上可以輕易發(fā)現(xiàn)模型的預(yù)測(cè)能力有了顯著提高。
圖9 透射峰谷數(shù)量之和不超過(guò)3的光譜Fig.9 Spectrum in which the sum of transmission peaks and valleys does not exceed 3
圖9上面4個(gè)圖是從訓(xùn)練集中預(yù)測(cè)的結(jié)構(gòu),下面4個(gè)圖是從驗(yàn)證集中預(yù)測(cè)的結(jié)構(gòu),它們都是隨機(jī)選擇的。藍(lán)色線是預(yù)測(cè)結(jié)果,橙色線是真實(shí)值。
量化分析見(jiàn)表1。前2000個(gè)輪次的訓(xùn)練過(guò)程表現(xiàn)出了顯著的預(yù)測(cè)能力提升,在訓(xùn)練2000個(gè)輪次之后,完整數(shù)據(jù)集和清洗后的數(shù)據(jù)集的代價(jià)函數(shù)下降非常緩慢,但仍分別獲得了約25%和23%的改進(jìn)(只考慮驗(yàn)證集以進(jìn)行更有效的評(píng)估)。研究人員可根據(jù)需求決定這種精細(xì)化程度是否值得(參見(jiàn)圖6中的預(yù)測(cè)變化)。
表1 量化分析結(jié)果
代價(jià)隨著訓(xùn)練過(guò)程逐漸下降,使用完整數(shù)據(jù)集的代價(jià)對(duì)比清洗后的數(shù)據(jù)集代價(jià)(去除極值數(shù)量超過(guò)3個(gè)的光譜)。為方便展示,數(shù)字被放大了10 000倍。
隨著訓(xùn)練過(guò)程的進(jìn)行,完整數(shù)據(jù)集的代價(jià)函數(shù)值從7.9906(初始隨機(jī)參數(shù))降至0.0004737;清洗后的數(shù)據(jù)集的代價(jià)函數(shù)值從5.6119(初始隨機(jī)參數(shù))降至0.0001689。由于代價(jià)函數(shù)是所有樣本上損失函數(shù)的平均值,而實(shí)驗(yàn)中使用的損失函數(shù)是均方誤差損失,即所有樣本的預(yù)測(cè)結(jié)果與真實(shí)結(jié)果之間偏差的平方平均值。對(duì)其開(kāi)方后得到完整數(shù)據(jù)集的均方根誤差僅為2.2%,清洗后的數(shù)據(jù)集的均方根誤差僅為1.3%,這顯示了相當(dāng)高的預(yù)測(cè)精度。
開(kāi)發(fā)了一種數(shù)據(jù)驅(qū)動(dòng)方法來(lái)高效預(yù)測(cè)納米多層膜結(jié)構(gòu)的光譜,該方法可以在不到20 μs的時(shí)間內(nèi)(CPU為i3-6100)預(yù)測(cè)實(shí)際結(jié)構(gòu)的光譜,均方根誤差僅為2%。與傳統(tǒng)設(shè)計(jì)方法相比,這種超高速和高精度的預(yù)測(cè)方式具有較大的優(yōu)勢(shì),開(kāi)創(chuàng)了一種新的研究范式。與其他深度學(xué)習(xí)應(yīng)用一樣,雖然此模型需要事先進(jìn)行訓(xùn)練,但這只是一次性成本,且模型參數(shù)只需占用不到1 MB的空間,易于復(fù)制和廣泛使用。