顧子煜,張 弦,施君南,高葉盛
(1.上海交通大學電子工程系,上海 200240;2.上海無線電設(shè)備研究所,上海 201109)
作為合成孔徑雷達(SAR)的一個重要研究方向,目標分類識別算法的研究已經(jīng)開展多年,并且新的算法層出不窮。與傳統(tǒng)方法相比,深度學習為SAR 目標分類識別算法的研究提供了一個很有前景的發(fā)展方向。通過對SAR 目標特征的學習,神經(jīng)網(wǎng)絡(luò)可以以極高的效率與準確率實現(xiàn)目標識別[1-2]。但是,為了解決復雜的SAR 目標識別問題,需要不斷更新神經(jīng)網(wǎng)絡(luò)的架構(gòu),而在數(shù)字平臺實現(xiàn)深層神經(jīng)網(wǎng)絡(luò)則會帶來較重的運算負擔。并且,由于受到摩爾定律的影響,數(shù)字硬件的處理速度面臨晶體管尺寸的限制。因此,尋找新運算方式的需求變得愈加迫切和必要。
近年來,通過光學平臺實現(xiàn)神經(jīng)網(wǎng)絡(luò)的方式逐漸成為研究人員關(guān)注的焦點。光學平臺憑借其超快的處理速度和并行性的特點,在實現(xiàn)大規(guī)模矩陣運算方面具有先天優(yōu)勢。研究人員基于現(xiàn)有的光學神經(jīng)網(wǎng)絡(luò)架構(gòu),對多種數(shù)據(jù)集進行了高精度的目標分類,證明了該方法的可行性。
在之前的研究中,研究人員已成功構(gòu)建了光電卷積神經(jīng)網(wǎng)絡(luò)(optronic convolutional neural network,OPCNN),并基于運動與靜止目標獲取與識別(moving and stationary target acquisition and recognition,MSTAR)數(shù)據(jù)集完成了目標分類[3-4]。OPCNN 訓練階段依然通過數(shù)字方式實現(xiàn),而驗證階段所有的運算操作均由光學方式實現(xiàn),從而大大減少了數(shù)字平臺的運算量。同時,如何減少通過數(shù)字方式實現(xiàn)的訓練階段的運算量、加快處理速度依然是一個亟待解決的難題。并且,將在數(shù)字平臺上訓練好的參數(shù)加載到光學平臺上時,實際光學平臺的系統(tǒng)誤差會導致參數(shù)失配,從而影響實際系統(tǒng)的分類精度,因此平臺不一致帶來的影響也需要解決。
為了解決上述問題,提升實際應(yīng)用中基于OPCNN 的SAR 目標分類精度,本文提出一種光學實時訓練算法,直接在光學平臺上對OPCNN的網(wǎng)絡(luò)框架進行訓練?;谠撍惴?OPCNN 的正向傳播以及反向傳播過程均通過同一個光學系統(tǒng)實現(xiàn),而且在訓練階段占用大量運算資源的梯度求導也通過光學計算實現(xiàn),以減少數(shù)字器件的運算量。為了能夠在訓練過程中實時更新訓練參數(shù),使用可編程的空間光調(diào)制器(SLM)進行參數(shù)加載?,F(xiàn)有研究成果已證明SLM 可以用于SAR目標的高分辨率實時成像[5]。最后在光學平臺上使用MSTAR 數(shù)據(jù)集對OPCNN 進行訓練,并采用訓練好的網(wǎng)絡(luò)對目標進行分類,驗證所提實時訓練算法的可行性。
在基于光學平臺的實時訓練算法中,由于光學計算高速并行的特點,整個網(wǎng)絡(luò)的處理速度受網(wǎng)絡(luò)參數(shù)規(guī)模的影響較小,因此在OPCNN 中無需加入降采樣層以減少參數(shù)數(shù)量。整個網(wǎng)絡(luò)框架僅包括必須的卷積層、非線性激活層與全局平均池化層。所有卷積層包含相同數(shù)量的通道,并且上一層卷積層中各通道的輸出將作為下一層卷積層對應(yīng)通道的輸入。卷積層中的通道數(shù)量與目標的類別數(shù)量相關(guān),二者成整數(shù)倍數(shù)關(guān)系。本文使用的MSTAR 數(shù)據(jù)集包含10 類目標,因此在OPCNN 的每層卷積層中設(shè)置40 個卷積通道。在輸出層,所有40 個卷積通道的輸出通過sCMOS相機采集,并在后續(xù)數(shù)字平臺中通過疊加操作處理為10類輸出,其中每類輸出對應(yīng)于一個目標類別。在經(jīng)過全局平均池化操作后,這10類輸出中的最大值對應(yīng)的目標類別就是OPCNN 對輸入目標的預測類別。這10 類輸出與真實值的差值將用于計算損失函數(shù),并用于后續(xù)反向傳播過程中網(wǎng)絡(luò)參數(shù)的更新。
在之前的研究中,已經(jīng)推導了OPCNN 正向傳播的表達式,為了便于推導反向誤差梯度,首先需要將OPCNN 正向傳播的表達式改寫為矩陣相乘的形式。根據(jù)傅里葉光學理論,傅里葉變換可以通過由傅里葉透鏡組成的光學2f系統(tǒng)實現(xiàn),其中f為焦距。在該系統(tǒng)中,輸入圖像被放置在傅里葉透鏡的前焦距面上,那么在透鏡的后焦距面上就可以獲得輸入圖像的頻譜信息??紤]到時域中的卷積操作可以轉(zhuǎn)換為頻域中的點乘操作,首先通過光學2f系統(tǒng)獲得輸入圖像的頻譜,然后與卷積核的頻譜進行點乘,點乘后的結(jié)果再次通過一個光學2f系統(tǒng)進行傅里葉逆變換,變換后的輸出即為輸入圖像與卷積核的卷積結(jié)果。將這種由兩個光學2f系統(tǒng)組成、可以實現(xiàn)卷積操作的光學結(jié)構(gòu)稱為光學4f系統(tǒng)。一幅M×M像素的輸入圖像經(jīng)過光學4f系統(tǒng)后的輸出可以表示為
式中:Ukn表示第n層卷積層中第k個通道的輸出矩陣,其規(guī)模為M2×1;P表示傅里葉算子矩陣;Wkn=diag(exp(jΦkn))表示第n層卷積層中第k個通道的卷積核矩陣,其中diag(·)為對角矩陣函數(shù),Φkn表示該通道卷積核頻譜的相位矩陣。Φkn是OPCNN中待訓練的參數(shù),這里僅選擇相位值。
OPCNN 的正向傳播和反向傳播過程通過同一個光學系統(tǒng)實現(xiàn),利用sCMOS相機和波前傳感器記錄輸出圖像的幅度信息和相位信息。為了方便記錄,構(gòu)造了光學4f系統(tǒng)來延伸輸出平面。在反向傳播之前,通過復數(shù)場生成模塊(complex field generation module,CFGM)生成復數(shù)誤差光場。將雙向傳播過程中記錄的光場輸入計算機,通過簡單的計算得到梯度結(jié)果。更新后的訓練參數(shù)被重新加載到空間光調(diào)制器上,用于下一輪的實時訓練。
將相位信息作為待訓練參數(shù)的原因是其在信號重建、傅里葉變換等操作中起主導作用。第N層(最后一層)卷積層中第k個通道的輸出矩陣UkN可以表示為
式中:Uk0表示輸入圖像矩陣。使用sCMOS相機在輸出平面上記錄光場的能量譜,并計算出幅度信息。由于取模運算的形式,可以在輸出端為網(wǎng)絡(luò)引入非線性。獲得輸出光場的幅度信息后,后續(xù)在計算機上的操作可以表示為
式中:Ok表示第k個通道的卷積輸出;|·|為取模運算符;表示疊加操作輸出,用于將多通道的輸出轉(zhuǎn)換為與目標類別數(shù)量相同的輸出;m為卷積通道數(shù)與目標類別數(shù)的比值;表示通過全局平均池化的輸出;avg(·)表示全局平均池化操作;表示softmax歸一化操作輸出;L表示交叉熵損失函數(shù);Ti表示真實值。
推導得到OPCNN 網(wǎng)絡(luò)的正向傳播表達式后,需要再通過梯度下降算法訓練參數(shù),以降低損失函數(shù)值。最優(yōu)的訓練參數(shù)對應(yīng)最小的損失函數(shù)值。損失函數(shù)L對待訓練參數(shù)Φkn的梯度可以表示為
式中:*為復數(shù)共軛運算符;Re(·)為取復數(shù)實部函數(shù);tile(·)m表示將矩陣拓展平鋪m次,對應(yīng)式(3)的疊加操作;upsample(Oisoftmax-Ti)M2×1表示升采樣過程,對應(yīng)于式(3)中的全局平均池化操作,Oisoftmax-Ti經(jīng)升采樣后輸出矩陣的規(guī)模為M2×1,并且矩陣中所有元素的值為(Oisoftmax-Ti)/(M×M);⊙為點乘運算符;T 為矩陣轉(zhuǎn)置運算符。根據(jù)式(4),可得到誤差光場Ek的表達式
可以發(fā)現(xiàn)式(5)可直接求解。接下來需要求出最后一層卷積層的輸出UkN對每一層待訓練參數(shù)Φkn的梯度。通過化簡,該梯度可以表示為
則式(4)可以化簡為
令
則式(7)可以化簡為
式中:Fkn表示在正向傳播過程中,衍射光經(jīng)過第n層卷積層的卷積核Wkn后的光場;Bkn表示在反向傳播過程中,衍射光經(jīng)過第n層卷積層的卷積核Wkn前的光場。無論是正向傳播時的光場Fkn,還是反向傳播時的光場Bkn,二者均可在同一個光學系統(tǒng)中測得。而根據(jù)式(9),損失函數(shù)關(guān)于訓練參數(shù)的梯度則可以通過這兩個光場的信息直接求解。
在計算出誤差梯度后,可得到各卷積層的更新參數(shù)
式中:η表示學習率。更新后的參數(shù)將加載到光路中繼續(xù)下一輪的訓練,直到損失函數(shù)收斂且低于設(shè)定閾值。
根據(jù)前文提出的光學反向傳播算法設(shè)計的光學實時訓練系統(tǒng)如圖1所示。為了測量正向傳播時的光場Fkn與反向傳播時的光場Bkn,用sCMOS相機記錄光場的幅度信息,用波前探測器記錄光場的相位信息。由于在光學系統(tǒng)中用于加載信息的空間光調(diào)制器無法同時調(diào)制幅度與相位信息,因此為了生成反向傳播時所需的誤差光場Ek,需構(gòu)建復數(shù)場生成模塊(CFGM)。CFGM 主要由一個光學4f系統(tǒng)與一個低通濾波器組成。
圖1 光學實時訓練系統(tǒng)示意圖
為了驗證所提光學反向傳播算法的可行性,首先分別采用通過數(shù)字圖形處理器(GPU)訓練出的OPCNN 與通過光學系統(tǒng)實時訓練出的OPCNN,對同一個數(shù)據(jù)集進行目標分類,并對分類精度進行比較。所提光學系統(tǒng)通過空間光調(diào)制器(Pluto-2,Holoeye)加載輸入圖像及卷積核信息,在空間光調(diào)制器間使用微透鏡陣列(Edmund optics)組成多通道光學4f系統(tǒng),用于實現(xiàn)并行的多通道卷積運算,其中微透鏡陣列焦距f=30 mm,直徑φ=2.0 mm。在輸出端,使用ORCA-Flash 4.0 V3 sCMOS 相機(C13440-20CU,Hamamatsu)測量光場的幅度信息,用波前探測器(Phasics SID4)測量光場的相位信息。由于系統(tǒng)中使用的透鏡焦距較短,為了便于測量式(8)中透鏡前后的光場,通過另一個光學4f系統(tǒng)(f=250 mm,φ=25.4 mm,Thorlabs)將輸出光場的位置延伸至探測器處。整個光學系統(tǒng)被波長為532 nm 的激光波束照射,包含1個非線性激活層、1個全局平均池化層和4個卷積層,且每個卷積層中都包含有40個獨立的卷積通道。實驗中輸入圖像與卷積核的尺寸均設(shè)置為28×28像素。光學實時訓練通過上述光學系統(tǒng)實現(xiàn),而數(shù)字訓練則通過臺式計算機進行(GPU:NVIDIA TITAN RTX),使用版本3.5.0 的Python 與Py Torch 框架。訓練與驗證時均使用MSTAR數(shù)據(jù)集中的SAR 目標圖像,訓練集包含2 747張圖片,測試集包含2 425張圖片,訓練輪數(shù)為20,訓練時的學習率為0.01。訓練OPCNN 的正向傳播過程時,所有卷積操作在光學系統(tǒng)上實現(xiàn),全局平均池化和softmax歸一化等計算量少的操作在數(shù)字平臺上進行。通過不同方式訓練的OPCNN 的目標分類性能如圖2所示。
圖2 通過不同方式訓練的OPCNN 的目標分類性能
從圖2 可知,通過光學系統(tǒng)實時訓練的OPCNN 的分類精度收斂曲線與通過數(shù)字平臺訓練的OPCNN 的分類精度收斂曲線保持一致,且總分類精度分別可以達到93.30%與93.61%,分類精度近似。雖然在光學系統(tǒng)中存在系統(tǒng)誤差,但通過光學系統(tǒng)訓練出的最優(yōu)參數(shù)是在考慮系統(tǒng)誤差的情況下得到的,因此光學系統(tǒng)的實際表現(xiàn)相較于之前的網(wǎng)絡(luò)有巨大提升,更接近數(shù)字訓練時得到的仿真結(jié)果。通過光學系統(tǒng)實時訓練出的OPCNN 在對MSTAR 數(shù)據(jù)集中SAR 目標進行分類時的混淆矩陣及分類精度如表1所示。
表1 通過光學系統(tǒng)實時訓練的OPCNN 對MSTAR 數(shù)據(jù)集進行目標分類的混淆矩陣及分類精度
接下來討論卷積層中通道數(shù)對網(wǎng)絡(luò)目標分類精度的影響。因為本文使用了獨立的卷積通道對目標進行特征提取,通道與通道之間不會進行特征信息的交互,因此通道數(shù)量將決定卷積層對目標特征的提取程度。通過圖2(d)可以發(fā)現(xiàn),面對MSTAR 數(shù)據(jù)集中復雜的目標圖像,如果將卷積通道數(shù)由每層10個增加到每層40個,對應(yīng)的網(wǎng)絡(luò)目標分類精度將由66.07%提升到93.30%。實驗結(jié)果表明,由獨立卷積通道構(gòu)成的OPCNN可以通過增加通道數(shù),提高對數(shù)據(jù)集中復雜目標的分類能力。并且由于光學計算的并行特性,通道數(shù)的增加不會對整個系統(tǒng)的運算速度產(chǎn)生影響,從而大大彌補了數(shù)字計算在該方面的缺陷。
為了定量說明光學計算的優(yōu)勢,比較了同一個OPCNN 分別通過光學訓練與數(shù)字訓練時,單次訓練過程所需的時間與運算量。對于光學訓練,單次訓練所需的總時間Ttot由3部分組成,分別是數(shù)據(jù)加載到空間光調(diào)制器上的時間Tenc、光在光學系統(tǒng)中的傳播時間Tprop與測量光場所需的時間Tmeas。對于數(shù)據(jù)加載所需的時間,空間光調(diào)制器的刷新速率為60 Hz,因此每次刷新需要1/60 s。光在光學系統(tǒng)中的傳播時間與光路規(guī)模和光速的比值有關(guān),由于二者數(shù)量級的差距,光的傳播時間僅為微秒量級。對于采集數(shù)據(jù)所需的時間,sCMOS相機的采集速率為80 Hz,波前探測器的采集速率為60 Hz,因此每次采集的時間近似為1/60 s。因為光學訓練時需要進行一次正向傳播和一次反向傳播,因此單次訓練所需的總時間可以表示為
則光學訓練所需要的總時間約為1/15 s,而在數(shù)字訓練中,同樣的流程則需要0.45 s,遠遠大于光學訓練所需的時間。
由于使用光學訓練代替了數(shù)字訓練,訓練過程中大部分的運算操作均通過光學計算的方式實現(xiàn),因此大大減輕了數(shù)字處理器的運算負擔。對于一幅M×M像素的待分類輸入圖像,在數(shù)字處理器中進行一次卷積操作需要3M3次復數(shù)矩陣乘法與3M2(M-1)次復數(shù)矩陣加法,也就是6M2(4M-1)次實數(shù)運算。對于一個包含N個卷積層,每個卷積層包含K個卷積通道的OPCNN,通過光學訓練減少的實數(shù)運算量可以達到12NKM2(4M-1)次。
本文提出了一種光學反向傳播算法,并在光學系統(tǒng)上實現(xiàn)了神經(jīng)網(wǎng)絡(luò)的訓練,訓練好的網(wǎng)絡(luò)可以進行復雜的SAR 目標分類。采用光學實時訓練系統(tǒng),神經(jīng)網(wǎng)絡(luò)在正向傳播與反向傳播過程中的大量運算均在光學平臺上進行,從而大大減少了數(shù)字處理器的運算量?;贛STAR 數(shù)據(jù)集對OPCNN進行訓練與測試,結(jié)果驗證了所提算法的可行性。對OPCNN進行光學實時訓練,得到的網(wǎng)絡(luò)能夠克服光學系統(tǒng)中的系統(tǒng)誤差影響,獲得最優(yōu)的訓練參數(shù),保持與仿真結(jié)果近似的分類性能。這種較強的魯棒性有助于OPCNN 在實際應(yīng)用中實現(xiàn)穩(wěn)定高效的SAR目標分類識別。