張 駿,張廣博,程艷青,胡力衛(wèi),向 渝,汪文勇
(1.電子科技大學(xué),成都 611731;2.中國空氣動(dòng)力研究與發(fā)展中心,綿陽 621000)
傳統(tǒng)預(yù)測(cè)氣動(dòng)特性的方法采用的計(jì)算流體力學(xué)(computational fluid dynamics,CFD),模型是已知的,由一組偏微分方程定義[1]。例如,Suhas和陶文銓等研究代數(shù)和微積分預(yù)測(cè)傳熱、傳質(zhì)過程的數(shù)值計(jì)算[2-3];張涵信等研究與物理分析相結(jié)合的計(jì)算流體力學(xué)[4]。隨后發(fā)展出了基于代理模型的氣動(dòng)特性預(yù)測(cè)方法。如:喬建領(lǐng)等研究了廣義Burgers方程和聲爆傳播射線的計(jì)算方法[5];許晨舟等研究了基于RANS方程的非結(jié)構(gòu)網(wǎng)絡(luò)求解器TNS的氣動(dòng)特性計(jì)算[6];韓忠華等研究了基于代理模型的氣動(dòng)優(yōu)化設(shè)計(jì)[7]。這些都取得了很好的研究成果。然而,偏微分方程的求解需要花費(fèi)大量的計(jì)算資源和時(shí)間成本,一些高階復(fù)雜的偏微分方程還可能不存在數(shù)值解[8-9]。近年來,深度學(xué)習(xí)作為一種數(shù)據(jù)驅(qū)動(dòng)的方法,開始用于解決復(fù)雜的高維、多尺度和非線性問題,其建模的速度和模型預(yù)測(cè)的精度都有所保障。因此,基于深度學(xué)習(xí)的空氣動(dòng)力學(xué)建模方法近年來備受關(guān)注[9-14]。較有代表性的研究包括:何磊和錢煒祺等研究了機(jī)器學(xué)習(xí)方法在氣動(dòng)建模中的應(yīng)用[15],并使用長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)進(jìn)行非定常氣動(dòng)力的預(yù)測(cè)[16];陳海等使用卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)翼型的法向力系數(shù)[17]。
基于深度學(xué)習(xí)的空氣動(dòng)力學(xué)建模方法通常采用全連接神經(jīng)網(wǎng)絡(luò)(FCN)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)。Muller等使用FCN方法建立了描述湍流近壁動(dòng)力學(xué)的低階模型[18];Yilmaz等使用CNN方法建立了根據(jù)翼型形狀預(yù)測(cè)飛行性能的模型[19];Zhang等使用CNN預(yù)測(cè)翼型升力系數(shù)[1]。上述研究創(chuàng)造性強(qiáng),取得了較大成果,但這些研究都沒有考慮建模數(shù)據(jù)之間的差異性。而深度學(xué)習(xí)作為一種數(shù)據(jù)驅(qū)動(dòng)方法,訓(xùn)練集數(shù)據(jù)是影響模型精度的關(guān)鍵因素之一,當(dāng)訓(xùn)練集數(shù)據(jù)存在較大差異性時(shí),會(huì)對(duì)模型預(yù)測(cè)結(jié)果產(chǎn)生較大影響[10]。在氣動(dòng)應(yīng)用中,翼型的外形參數(shù)和飛行狀態(tài)參數(shù)在數(shù)據(jù)類型上存在較大差異,如果同時(shí)使用這兩種參數(shù)進(jìn)行氣動(dòng)性能預(yù)測(cè),二者會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生不同量級(jí)的影響;如果忽視這種差異,不合理的參數(shù)空間則會(huì)造成預(yù)測(cè)結(jié)果精度的損失。因此,如何同時(shí)關(guān)聯(lián)狀態(tài)參數(shù)和外形特征參數(shù)進(jìn)行氣動(dòng)特性預(yù)測(cè),是深度學(xué)習(xí)領(lǐng)域預(yù)測(cè)氣動(dòng)特性的一個(gè)問題。深度學(xué)習(xí)領(lǐng)域多任務(wù)學(xué)習(xí)法(multi-task learning,MTL)的出現(xiàn)為解決此問題提供了一種新思路[20]。
多任務(wù)學(xué)習(xí)的思想是將整個(gè)學(xué)習(xí)網(wǎng)絡(luò)劃分為多個(gè)功能網(wǎng)絡(luò)來訓(xùn)練數(shù)據(jù)的不同區(qū)域。當(dāng)訓(xùn)練數(shù)據(jù)集輸入到學(xué)習(xí)網(wǎng)絡(luò)中時(shí),會(huì)將數(shù)據(jù)集劃分為多個(gè)“任務(wù)”。在進(jìn)行訓(xùn)練的時(shí)候,每個(gè)任務(wù)只會(huì)激活其對(duì)應(yīng)的功能網(wǎng)絡(luò),只針對(duì)該任務(wù)進(jìn)行相關(guān)知識(shí)的學(xué)習(xí),隨后對(duì)所有學(xué)習(xí)到的任務(wù)知識(shí)進(jìn)行融合得到輸出結(jié)果。相比較于傳統(tǒng)深度學(xué)習(xí)網(wǎng)絡(luò)中,同一個(gè)網(wǎng)絡(luò)對(duì)所有的訓(xùn)練數(shù)據(jù)進(jìn)行學(xué)習(xí)的方式,多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)的每個(gè)功能網(wǎng)絡(luò)在處理其對(duì)應(yīng)的任務(wù)時(shí)都能夠更“專一”地提取該任務(wù)的相關(guān)知識(shí),因此特別適用于大差異性數(shù)據(jù)建模的場景。相較于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其預(yù)測(cè)精度更高。多任務(wù)學(xué)習(xí)已經(jīng)應(yīng)用于機(jī)器學(xué)習(xí)的許多領(lǐng)域,從自然語言處理[21]和語音識(shí)別[22]到計(jì)算機(jī)視覺[23]均取得了成功。
本文主要研究翼型的外形數(shù)據(jù)和飛行狀態(tài)參數(shù)對(duì)飛行器升力系數(shù)和阻力系數(shù)預(yù)測(cè)結(jié)果的影響。本文的主要?jiǎng)?chuàng)新之處在于:由于外形參數(shù)和狀態(tài)參數(shù)類型差異性較大,本文將多任務(wù)學(xué)習(xí)與集群網(wǎng)絡(luò)[24]相結(jié)合,將氣動(dòng)外形參數(shù)和飛行狀態(tài)參數(shù)的學(xué)習(xí)劃分為不同任務(wù),并分別輸入到對(duì)應(yīng)的網(wǎng)絡(luò)學(xué)習(xí),最后將所有集群的輸出進(jìn)行融合得到最終的預(yù)測(cè)結(jié)果,該方法能提高建模預(yù)測(cè)的精度,并分析這些數(shù)據(jù)之間的差異性對(duì)預(yù)測(cè)結(jié)果的影響。
研究已經(jīng)證明,深度學(xué)習(xí)建模的預(yù)測(cè)精度受到多種因素的影響,其中訓(xùn)練集的數(shù)據(jù)集質(zhì)量是影響預(yù)測(cè)精度的關(guān)鍵因素之一,而數(shù)據(jù)集中樣本的分布、樣本的種類也都是影響數(shù)據(jù)集質(zhì)量的重要因素[10]。Hu等[20]研究了訓(xùn)練集樣本分布不均所帶來的訓(xùn)練集質(zhì)量差對(duì)深度學(xué)習(xí)建模的影響,并且提出使用多任務(wù)學(xué)習(xí)的方法來提高樣本分布不均時(shí)的模型預(yù)測(cè)精度。但是文獻(xiàn)中樣本數(shù)據(jù)的分布不均體現(xiàn)為不同數(shù)據(jù)之間的大小差別,未考慮數(shù)據(jù)類型本身的差異。
訓(xùn)練集樣本數(shù)據(jù)的類型差異性同樣是影響模型預(yù)測(cè)精度的重要因素。Dakua等研究了樣本數(shù)據(jù)的類型差異性對(duì)模型預(yù)測(cè)精度的影響,使用24種不同類型的數(shù)據(jù)進(jìn)行建模,證明不同類型的數(shù)據(jù)對(duì)預(yù)測(cè)結(jié)果的影響程度不同[25]。如果需要同時(shí)聯(lián)合兩種或多種類型的大差異性數(shù)據(jù)進(jìn)行建模,則不同數(shù)據(jù)類型的數(shù)據(jù)會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生不同程度的影響,而傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)模型忽視了這些差異性的影響,進(jìn)而造成模型預(yù)測(cè)結(jié)果精度的損失。
機(jī)器學(xué)習(xí)領(lǐng)域的傳統(tǒng)多任務(wù)學(xué)習(xí)方法有兩種,一種是硬參數(shù)共享方法,另一種是軟參數(shù)共享方法[21]。硬參數(shù)共享方法在任務(wù)劃分之前設(shè)定共享隱層,隨后劃分任務(wù),使每個(gè)劃分好的任務(wù)同時(shí)學(xué)習(xí),同時(shí)保留各個(gè)任務(wù)對(duì)應(yīng)的輸出層。軟參數(shù)共享方法則是首先劃分好任務(wù),使得每一個(gè)任務(wù)都有自己的模型和自己的參數(shù),不同模型所對(duì)應(yīng)參數(shù)之間的差異使用正則化進(jìn)行約束,最后保留各個(gè)任務(wù)對(duì)應(yīng)的輸出層。
這兩種多任務(wù)學(xué)習(xí)方法雖然在諸多領(lǐng)域取得了成功,但是面對(duì)諸如翼型的外形參數(shù)和飛行狀態(tài)參數(shù)這兩種截然不同的數(shù)據(jù)時(shí),要提前獲知這兩種數(shù)據(jù)之間的差異性對(duì)預(yù)測(cè)結(jié)果的影響比較困難,而集群網(wǎng)絡(luò)的出現(xiàn)則使分析數(shù)據(jù)之間的差異性成為了可能。
集群網(wǎng)絡(luò)的起源最早可以追溯到自然語言處理領(lǐng)域的混合專家模型[20,26]。它的思想是,根據(jù)輸入數(shù)據(jù)的標(biāo)簽激活一個(gè)特定的專家網(wǎng)絡(luò),最后對(duì)所有專家網(wǎng)絡(luò)的結(jié)果進(jìn)行融合,得到最終結(jié)果。2019年發(fā)展出了以集群網(wǎng)絡(luò)為形式的部分神經(jīng)元激活模型[24]。集群神經(jīng)網(wǎng)絡(luò)具有許多個(gè)集群,每一個(gè)集群都會(huì)識(shí)別出數(shù)據(jù)集中對(duì)應(yīng)的數(shù)據(jù)區(qū)域進(jìn)行學(xué)習(xí)。每一個(gè)集群又由功能網(wǎng)絡(luò)和上下文網(wǎng)絡(luò)組成,其中,功能網(wǎng)絡(luò)負(fù)責(zé)與最終輸出進(jìn)行擬合,上下文網(wǎng)絡(luò)負(fù)責(zé)給功能網(wǎng)絡(luò)的擬合結(jié)果添加權(quán)重,即該集群對(duì)應(yīng)的任務(wù)對(duì)于網(wǎng)絡(luò)最終輸出的影響系數(shù),隨后將二者進(jìn)行融合得到該集群的輸出結(jié)果。最后對(duì)每一個(gè)集群的結(jié)果進(jìn)行再次融合得到最終結(jié)果。
與傳統(tǒng)的多任務(wù)學(xué)習(xí)相比,集群網(wǎng)絡(luò)能夠通過上下文網(wǎng)絡(luò)學(xué)習(xí)不同功能網(wǎng)絡(luò)的相關(guān)知識(shí)對(duì)預(yù)測(cè)結(jié)果的影響系數(shù),所以使用集群網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)時(shí),預(yù)測(cè)結(jié)果的誤差要更小。White等在2020年提出了利用集群網(wǎng)絡(luò)預(yù)測(cè)氣流速度的方法,與傳統(tǒng)深度學(xué)習(xí)模型相比取得了更小的預(yù)測(cè)誤差和更快的訓(xùn)練速度[24]。
本文將多任務(wù)方法和集群網(wǎng)絡(luò)相結(jié)合,提出了大差異性多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)(large-discrepancy multi-task learning network,LD-MTL)。該模型的詳細(xì)結(jié)構(gòu)在2.1節(jié)作出說明。
本文所提出的模型結(jié)構(gòu)如圖1所示。該模型由任務(wù)劃分和多任務(wù)學(xué)習(xí)兩大模塊組成。其中,任務(wù)劃分模塊將大差異性數(shù)據(jù)劃分為外形參數(shù)和飛行狀態(tài)參數(shù)兩個(gè)子集,多任務(wù)學(xué)習(xí)模塊由兩個(gè)功能網(wǎng)絡(luò)和一個(gè)上下文網(wǎng)絡(luò)組成。
任務(wù)劃分模塊將輸入數(shù)據(jù)劃分為翼型參數(shù)和飛行狀態(tài)參數(shù)兩個(gè)子任務(wù)。其中,外形參數(shù)輸入到功能網(wǎng)絡(luò)1(Function network 1)進(jìn)行學(xué)習(xí),飛行狀態(tài)參數(shù)輸入到功能網(wǎng)絡(luò)2(Function network 2)進(jìn)行學(xué)習(xí)。同時(shí),采用交替訓(xùn)練的方法將原始大差異性數(shù)據(jù)輸入到上下文網(wǎng)絡(luò)學(xué)習(xí)各個(gè)功能網(wǎng)絡(luò)的權(quán)重,得到各個(gè)功能網(wǎng)絡(luò)所學(xué)習(xí)到的相關(guān)知識(shí)對(duì)最終輸出的影響程度。
圖1 LD-MTL結(jié)構(gòu)圖Fig. 1 Structure diagram of LD-MTL
基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的空氣動(dòng)力學(xué)神經(jīng)網(wǎng)絡(luò)建模已經(jīng)在圖像處理、目標(biāo)檢測(cè)等領(lǐng)域取得了顯著成果[1,13],因此功能網(wǎng)絡(luò)1采用CNN處理翼型外形參數(shù)。而全連接神經(jīng)網(wǎng)絡(luò)(FCN)是深度學(xué)習(xí)領(lǐng)域最基礎(chǔ)最常用的模型,其靈活性強(qiáng),模型的預(yù)測(cè)精度理論上可以通過增加隱層數(shù)或神經(jīng)元數(shù)量進(jìn)行提升,基于FCN的空氣動(dòng)力學(xué)神經(jīng)網(wǎng)絡(luò)建模同樣也有顯著的成果[11-12],因此功能網(wǎng)絡(luò)2選用全連接網(wǎng)絡(luò)處理飛行狀態(tài)參數(shù)。上下文網(wǎng)絡(luò)同樣選用全連接網(wǎng)絡(luò)訓(xùn)練出各個(gè)功能網(wǎng)絡(luò)對(duì)最終預(yù)測(cè)結(jié)果的影響程度。
2.2.1 任務(wù)劃分模塊
任務(wù)劃分模塊將輸入的兩類大差異性參數(shù)劃分為兩個(gè)子任務(wù),分別對(duì)應(yīng)深度神經(jīng)網(wǎng)絡(luò)部分的兩個(gè)功能網(wǎng)絡(luò)的輸入,如式(1)~式(3)所示。本文所采用的數(shù)據(jù)中,兩類大差異性參數(shù)分別為翼型外形參數(shù)(坐標(biāo)參數(shù))和飛行狀態(tài)參數(shù)(攻角、馬赫數(shù))。
其中,R表 示模型輸入的全部數(shù)據(jù),N表示其樣本數(shù),r 表示兩類參數(shù)的總數(shù);P表示其劃分的子任務(wù)1,即只含翼型外形參數(shù)的全部樣本,p表示其參數(shù)個(gè)數(shù);Q表示其劃分的子任務(wù)2,即只含飛行狀態(tài)參數(shù)的全部樣本,q表示其參數(shù)個(gè)數(shù)。如圖2所示。
圖2 數(shù)據(jù)劃分示意圖Fig.2 Schematic of the task allocation
2.2.2 多任務(wù)學(xué)習(xí)模塊
如前所述,將子任務(wù)1“某一具體翼型外形參數(shù)”輸入到功能網(wǎng)絡(luò)1進(jìn)行訓(xùn)練,擬合輸出值阻力系數(shù)(CD)和升力系數(shù)(CL),將子任務(wù)2“該翼型飛行狀態(tài)參數(shù)”輸入到全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)。即式(4)、式(5)所示:
其中,m為 功能網(wǎng)絡(luò)1的輸出節(jié)點(diǎn)序號(hào);f1m表示功能網(wǎng)絡(luò)1的第m個(gè)輸出節(jié)點(diǎn)的輸出值,即根據(jù)外形數(shù)據(jù)擬合出的相關(guān)知識(shí);fCNN表示功能網(wǎng)絡(luò)1使用卷積神經(jīng)網(wǎng)絡(luò);K 表示fCNN的輸出節(jié)點(diǎn)個(gè)數(shù);n為功能網(wǎng)絡(luò)2的輸出節(jié)點(diǎn)序號(hào);f2n表 示功能網(wǎng)絡(luò)2的第n個(gè)輸出節(jié)點(diǎn)的輸出值,即根據(jù)飛行狀態(tài)參數(shù)擬合出的相關(guān)知識(shí);fFCN表示功能網(wǎng)絡(luò)2使用全連接神經(jīng)網(wǎng)絡(luò);L表示fFCN的輸出節(jié)點(diǎn)個(gè)數(shù)。
將兩類大差異性數(shù)據(jù)R 輸入到上下文網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),學(xué)習(xí)各個(gè)功能網(wǎng)絡(luò)所學(xué)習(xí)的相關(guān)知識(shí)對(duì)最終結(jié)果的影響程度,如式(6)所示:
其中,cz表示上下文網(wǎng)絡(luò)的第 z個(gè)輸出節(jié)點(diǎn)的輸出值,c fFCN表示上下文網(wǎng)絡(luò)使用全連接網(wǎng)絡(luò)。
對(duì)于給定的一個(gè)輸入樣本向量,LD-MTL的輸出如式(7)所示:
其中:→y 表示整個(gè)網(wǎng)絡(luò)的最終輸出,即(CD,CL);cm表示上下文網(wǎng)絡(luò)為功能網(wǎng)絡(luò)1分配的權(quán)重,即外形參數(shù)對(duì)最終輸出的影響程度;cK+n表示上下文網(wǎng)絡(luò)為功能網(wǎng)絡(luò)2分配的權(quán)重,即飛行狀態(tài)參數(shù)對(duì)最終輸出的影響程度。由此可見,上下文網(wǎng)絡(luò)的輸出結(jié)果可以在一定程度上反映外形參數(shù)和飛行狀態(tài)參數(shù)這兩種大差異性數(shù)據(jù)之間的差異性。
模型的訓(xùn)練方法采用功能網(wǎng)絡(luò)和上下文網(wǎng)絡(luò)交替訓(xùn)練的方法,即:兩個(gè)功能網(wǎng)絡(luò)同時(shí)訓(xùn)練,功能網(wǎng)絡(luò)和上下文網(wǎng)絡(luò)交替訓(xùn)練。詳細(xì)訓(xùn)練方法如下:
1)前向傳播。前向傳播的算法如式(1)~式(4)所述,損失函數(shù)如式(8)所示:
2)固定上下文網(wǎng)絡(luò),訓(xùn)練兩個(gè)功能網(wǎng)絡(luò)。功能網(wǎng)絡(luò)的參數(shù)更新如式(9)所示:
其中,η為學(xué)習(xí)率,θf表示功能網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò)參數(shù),功能網(wǎng)絡(luò)1和功能網(wǎng)絡(luò)2都用式(9)進(jìn)行參數(shù)更新。
3)固定兩個(gè)功能網(wǎng)絡(luò),訓(xùn)練上下文網(wǎng)絡(luò)。參數(shù)更新如式(10)所示:
其中,θc表示上下文網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò)參數(shù)。
4)交替執(zhí)行步驟1)至3),直至損失函數(shù)E收斂。
本實(shí)驗(yàn)采用的數(shù)據(jù)集來自于公開數(shù)據(jù)庫UIUC Airfoil Data Site[27],數(shù) 據(jù)集具體內(nèi)容 為CAST10-2翼型在馬赫數(shù)為0.1~0.65、攻角為-0.5°~5°時(shí)升力系數(shù)和阻力系數(shù)的2352條樣本數(shù)據(jù),樣本集的數(shù)據(jù)集格式如表1所示。第1至第562列表示翼型的外形坐標(biāo),X軸坐標(biāo)和Y軸坐標(biāo)交替排列。第563列是馬赫數(shù),第564列是攻角,第565列是阻力系數(shù),第566列是升力系數(shù)。
對(duì)數(shù)據(jù)集的預(yù)處理有如下步驟:
1)對(duì)數(shù)據(jù)進(jìn)行Min-Max歸一化處理。即:
其中,Xnorm表示歸一化后得到的值,X為數(shù)據(jù)原始值,Xmin表示此數(shù)據(jù)的最小值,Xmax表示此數(shù)據(jù)的最大值。
2)將數(shù)據(jù)集按照8∶1∶1的比例劃分出訓(xùn)練集、驗(yàn)證集和測(cè)試集。訓(xùn)練集用作深度神經(jīng)模型的訓(xùn)練,驗(yàn)證集用于模型訓(xùn)練過程中對(duì)預(yù)測(cè)結(jié)果精度的參考,測(cè)試集用于模型最終的精度評(píng)估。
表1 數(shù)據(jù)集格式Table 1 Format of the dataset
本文設(shè)計(jì)了具有不同超參數(shù)的LD-MTL,并將結(jié)果與全連接神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行比較。所有神經(jīng)網(wǎng)絡(luò)都是用同樣的訓(xùn)練集、驗(yàn)證集和測(cè)試集,網(wǎng)絡(luò)的迭代次數(shù)都被設(shè)置為2000次,批處理大小設(shè)置為512,學(xué)習(xí)率設(shè)置為0.0003,最終預(yù)測(cè)結(jié)果的評(píng)估采用均方誤差(MSE)和平均絕對(duì)誤差(MAE),所有的網(wǎng)絡(luò)訓(xùn)練都基于Python Pytorch1.8.1版本,英偉達(dá)RTX2060顯卡。
3.2.1 CAST10-2實(shí)驗(yàn)結(jié)果分析
CAST10-2的實(shí)驗(yàn)結(jié)果如表2所示,表中第一列表示實(shí)驗(yàn)采用的方法,第二列表示其采用的網(wǎng)絡(luò)結(jié)構(gòu),其中functionNet1表示功能網(wǎng)絡(luò)1的結(jié)構(gòu),functionNet2表示功能網(wǎng)絡(luò)2的結(jié)構(gòu),contextNet表示上下文網(wǎng)絡(luò)的結(jié)構(gòu)。fCNN(n,0/1)表示采用的卷積神經(jīng)網(wǎng)絡(luò)CNN具有n個(gè)卷積層,0/1表示不帶有/帶有池化層。FCN(a,b,c,d)表示采用的全連接神經(jīng)網(wǎng)絡(luò)從輸入層到輸出層各層的神經(jīng)元數(shù)量分別為a、b、c和d。例如fFCN(2,5,5,2)表示一個(gè)四層全連接神經(jīng)網(wǎng)絡(luò),它各個(gè)層數(shù)的神經(jīng)元數(shù)量分別為2,5,5,2。MSE(CD)表示測(cè)試集中CD預(yù)測(cè)值的均方誤差;MSE(CL)表示測(cè)試集中CL預(yù)測(cè)值的均方誤差;MAE(CD)表示測(cè)試集中CD預(yù)測(cè)值的平均絕對(duì)誤差;MAE(CL)表示測(cè)試集中CL預(yù)測(cè)值的平均絕對(duì)誤差。
表2 CAST10-2實(shí)驗(yàn)結(jié)果分析Table 2 Experiment result analysis of the CAST10-2 dataset
從表2中可以看到當(dāng)功能網(wǎng)絡(luò)1設(shè)置為2個(gè)卷積層且?guī)в谐鼗瘜訒r(shí),對(duì)CL和CD的預(yù)測(cè)誤差最低,因此本文采用LD-MTL_3作為LD-MTL最優(yōu)結(jié)構(gòu)。從表2中還可以看到,不同參數(shù)的LD-MTL預(yù)測(cè)誤差均優(yōu)于采用純CNN的結(jié)構(gòu),這說明傳統(tǒng)的CNN網(wǎng)絡(luò)從翼型外形參數(shù)和飛行狀態(tài)參數(shù)這兩種大差異性數(shù)據(jù)中學(xué)習(xí)到氣動(dòng)特性的相關(guān)知識(shí)并融合這些相關(guān)知識(shí)進(jìn)行氣動(dòng)特性預(yù)測(cè)的能力比LD-MTL差。其中LD-MTL_5采用了與其他LD-MTL結(jié)構(gòu)不同排列順序的翼型坐標(biāo)輸入數(shù)據(jù),結(jié)果表明LD-MTL結(jié)構(gòu)對(duì)CL和CD的預(yù)測(cè)精度并不會(huì)受到輸入數(shù)據(jù)中翼型坐標(biāo)數(shù)據(jù)的不同排列影響。原因是LD-MTL在翼型數(shù)據(jù)輸入到功能網(wǎng)絡(luò)1之前對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,使得CNN中每一次卷積操作都分別只針對(duì)X坐標(biāo)和Y坐標(biāo),所以無論輸入翼型數(shù)據(jù)排列方式如何,輸入到功能網(wǎng)絡(luò)1中的翼型數(shù)據(jù)排列方式都一樣,如圖3所示。而上下文網(wǎng)絡(luò)是一個(gè)FCN,F(xiàn)CN每一層的每一個(gè)神經(jīng)元都與下一層的每一個(gè)神經(jīng)元相連接,因此XY坐標(biāo)參數(shù)的順序不同可以看作輸入神經(jīng)元的排列順序不同,而這并不會(huì)影響全連接網(wǎng)絡(luò)的輸出結(jié)果。由于XY坐標(biāo)參數(shù)的位置不同并不會(huì)影響LD-MTL的預(yù)測(cè)結(jié)果,同時(shí)Python神經(jīng)網(wǎng)絡(luò)計(jì)算過程存在許多隨機(jī)數(shù)操作,所以實(shí)驗(yàn)結(jié)果均采用10次實(shí)驗(yàn)的平均值。
圖3數(shù)據(jù)預(yù)處理示意圖Fig.3 Schematic of the data preprocessing
圖4 所示為表2中LD-MTL_3、LD-MTL_5、LDMTL_CL、LD-MYL_CD、CNN以及FCN_2這幾個(gè)模型在驗(yàn)證集上的均方根誤差變化曲線。
圖4 驗(yàn)證集均方根誤差變化圖Fig.4 Mean square error variation for the validation datasets
分析圖4可知,F(xiàn)CN_2和LD-MTL_CL的收斂速度最快,約在訓(xùn)練250輪時(shí)收斂;其次是LD-MTL_3及LD-MTL_5,約在訓(xùn)練500輪時(shí)收斂;LD-MTL_CD的收斂速度慢于前兩者,約在訓(xùn)練1000輪時(shí)收斂;而CNN的收斂速度最慢,在完成訓(xùn)練2000輪時(shí),CNN依舊沒有收斂,且其在驗(yàn)證集上的損失明顯大于其他結(jié)構(gòu)的損失。同時(shí)LD-MTL_3和LD-MTL_5的損失曲線變化基本一致,這也說明了輸入數(shù)據(jù)不同的坐標(biāo)排列并不會(huì)對(duì)模型的訓(xùn)練產(chǎn)生影響。
表2中的LD-MTL_CD和LD-MTL_CL是使用與LD-MTL_3相同的結(jié)構(gòu)分別單獨(dú)預(yù)測(cè)CD和CL。根據(jù)實(shí)驗(yàn)結(jié)果得知,分別預(yù)測(cè)CD和CL時(shí),模型預(yù)測(cè)對(duì)應(yīng)氣動(dòng)力系數(shù)的精度比同時(shí)預(yù)測(cè)CD和CL低。分析圖5所示的驗(yàn)證集損失函數(shù)變化圖以及表2的測(cè)試結(jié)果,可以看到LD-MTL_CL的收斂速度大于LDMTL_3、大于LD-MTL_CD,且驗(yàn)證集上LD-MTL_CL的損失函數(shù)值小于LD-MTL_3,但最終測(cè)試集的結(jié)果卻大于LD-MTL_3。驗(yàn)證集上的損失函數(shù)值是對(duì)模型性能的參考,而測(cè)試集上的損失則是對(duì)模型的最終評(píng)估,這說明LD-MTL_CL模型的泛化能力不如LDMTL_3,因此導(dǎo)致了LD-MTL_CL最終測(cè)試集的誤差比LD-MTL_3大。而LD-MTL_CD無論在驗(yàn)證集上的誤差、測(cè)試集上的誤差還是收斂速度均遜色于LDMTL_3。
圖5 損失函數(shù)變化圖Fig.5 Lossfunction variation
同時(shí)對(duì)CD和CL進(jìn)行預(yù)測(cè)時(shí),訓(xùn)練過程中的反向傳播過程傳遞給神經(jīng)元的信息會(huì)同時(shí)包含CD和CL的相關(guān)知識(shí),隨后神經(jīng)元再根據(jù)此相關(guān)知識(shí)進(jìn)行節(jié)點(diǎn)權(quán)重的調(diào)節(jié)。而在單獨(dú)預(yù)測(cè)CD和CL時(shí),反向傳播過程中傳遞的信息則只包含CD或CL的相關(guān)知識(shí),所以造成了最終的預(yù)測(cè)精度不如同時(shí)預(yù)測(cè)。
表3為各個(gè)模型的訓(xùn)練時(shí)間和預(yù)測(cè)時(shí)間對(duì)比表,其中Time_t為訓(xùn)練時(shí)間,Time_p為預(yù)測(cè)時(shí)間??梢钥闯鯨D-MTL_3的訓(xùn)練時(shí)間和預(yù)測(cè)時(shí)間相較于CNN分別長了約24%及52%,但是MSE(CD)、MAE(CD)、MSE(CL)及MAE(CL)四項(xiàng)指標(biāo)分別下降了約97.9%、87%、99.6%及95.4%;LD-MTL_3相較于FCN_2的訓(xùn)練時(shí)間長了11.3%,但是預(yù)測(cè)時(shí)間縮短了5.3%,四項(xiàng)評(píng)測(cè)指標(biāo)分別下降了約11.4%、38.4%、54.2%及45.9%。分析可知,LD-MTL在與CNN和FCN對(duì)比時(shí),能通過少量的訓(xùn)練時(shí)間的增加換取精度的大量增加,可見LD-MTL在進(jìn)行大差異性氣動(dòng)數(shù)據(jù)建模時(shí)更具有優(yōu)越性。
表3 CAST10-2實(shí)驗(yàn)結(jié)果耗時(shí)對(duì)比Table 3 Time consumption comparison for the CAST10-2 experiment
圖6和圖7展示了LD-MTL_3與傳統(tǒng)CNN模型在預(yù)測(cè)CD及CL的精度差異。其中,每一個(gè)點(diǎn)的橫坐標(biāo)表示測(cè)試集中的真實(shí)值,縱坐標(biāo)表示預(yù)測(cè)值,真實(shí)值與預(yù)測(cè)值越接近,點(diǎn)的位置越接近對(duì)角線。紅色的原點(diǎn)表示使用CNN結(jié)構(gòu)的每一個(gè)樣本點(diǎn),綠色的倒三角表示使用LD-MTL_3的相同樣本點(diǎn)??梢钥闯?,LD-MTL_3的樣本點(diǎn)緊靠對(duì)角線附近;而CNN模型的樣本點(diǎn)離對(duì)角線很遠(yuǎn),擬合效果差。
圖6 CNN和LD-MTL_3預(yù)測(cè)CD對(duì)比Fig.6 Drag coefficient comparison predicted by CNN and LD-MTL_3
圖7 CNN和LD-MTL_3預(yù)測(cè)CL對(duì)比Fig.7 Lift coefficient comparison predicted by CNN and LD-MTL_3
圖8 和圖9展示了LD-MTL_3與FCN模型在預(yù)測(cè)CD和CL方面的差異。
圖8 FCN_2和LD-MTL_3預(yù)測(cè)CD對(duì)比Fig.8 Drag coefficient comparison predicted by FCN_2 and LD-MTL_3
圖9 FCN_2和LD-MTL_3預(yù)測(cè)CL對(duì)比Fig.9 Lift coefficient comparison predicted by FCN_2 and LD-MTL_3
紅色點(diǎn)表示FCN_2樣本點(diǎn)的預(yù)測(cè)情況,可以看到LD-MTL_3在預(yù)測(cè)CD時(shí),在小數(shù)值區(qū)域即CD<0.02的區(qū)域擬合效果要比FCN好,而在預(yù)測(cè)CL時(shí),LD-MTL_3的擬合效果在整個(gè)測(cè)試集樣本空間都比FCN好。
在LD-MTL_3中,上下文網(wǎng)絡(luò)的輸出值可以視為外形參數(shù)和飛行狀態(tài)參數(shù)的權(quán)重值。
隨機(jī)選取如圖10所示的CAST10-2翼型,篩選出此翼型外形坐標(biāo)以及飛行狀態(tài)差距在測(cè)試集中的樣本點(diǎn),將其訓(xùn)練出的權(quán)重值可視化,得到圖11和圖12所示的權(quán)重值圖。圖11和圖12的橫軸表示經(jīng)過篩選后的樣本點(diǎn);縱軸表示權(quán)重的具體數(shù)值;紅色柱體表示翼型的外形參數(shù),上面的具體數(shù)字表示外形參數(shù)對(duì)最終預(yù)測(cè)結(jié)果的影響程度;藍(lán)色柱體表示飛行狀態(tài)參數(shù)。上面的具體數(shù)字表示飛行狀態(tài)參數(shù)對(duì)最終預(yù)測(cè)結(jié)果的影響程度??梢钥吹皆陬A(yù)測(cè)CD時(shí),篩選出的五個(gè)樣本點(diǎn)的紅色柱體均要高于藍(lán)色柱體,這說明當(dāng)攻角處于-0.5°~5°的區(qū)間內(nèi)的時(shí)候,對(duì)CD進(jìn)行預(yù)測(cè)時(shí),外形參數(shù)對(duì)預(yù)測(cè)CD的影響程度比飛行狀態(tài)參數(shù)約大30%;而在預(yù)測(cè)CL時(shí),篩選出的五個(gè)柱體的藍(lán)色柱體均要高于紅色柱體,這說明在對(duì)CL進(jìn)行預(yù)測(cè)時(shí),飛行狀態(tài)參數(shù)對(duì)預(yù)測(cè)CL的影響程度比外形參數(shù)約大10%。
圖10 CAST10-2翼型圖像Fig. 10 CAST10-2 airfoil profile
圖11 預(yù)測(cè)CD時(shí)飛行狀態(tài)參數(shù)和外形參數(shù)的權(quán)重圖Fig.11 Weightsof the flow stateand airfoil for CD prediction
圖12 預(yù)測(cè)CL時(shí)飛行狀態(tài)參數(shù)和飛行參數(shù)的權(quán)重圖Fig.12 Weights of the flow state and airfoil for CL prediction
通過上述結(jié)果及其分析可知,LD-MTL_3對(duì)于升力系數(shù)CL和阻力系數(shù)CD預(yù)測(cè)的誤差比傳統(tǒng)FCN小,且LD-MTL能夠反映大差異性數(shù)據(jù)在建模時(shí)重要性的量化分析,而這是傳統(tǒng)方法無法做到的。這些差異性量化分析將會(huì)在飛行器的設(shè)計(jì)和優(yōu)化領(lǐng)域起到重要的參考作用。
為了解決大差異性數(shù)據(jù)對(duì)深度神經(jīng)網(wǎng)絡(luò)建模預(yù)測(cè)精度產(chǎn)生較大影響的問題,本文提出了一種氣動(dòng)大差異性數(shù)據(jù)多任務(wù)學(xué)習(xí)方法。該方法將多任務(wù)學(xué)習(xí)方法與集群網(wǎng)絡(luò)相結(jié)合,將不同的氣動(dòng)數(shù)據(jù)劃分為不同的任務(wù)輸入到對(duì)應(yīng)的功能網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),最終融合輸出預(yù)測(cè)結(jié)果。通過對(duì)CAST10-2翼型的大差異性融合數(shù)據(jù)建模實(shí)驗(yàn),證明了在預(yù)測(cè)阻力系數(shù)和升力系數(shù)時(shí),本文所提出的LD-MTL預(yù)測(cè)精度要高于傳統(tǒng)的CNN網(wǎng)絡(luò)和FCN網(wǎng)絡(luò);針對(duì)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對(duì)大差異性數(shù)據(jù)的解釋性不足的問題,LD-MTL能夠量化分析大差異性數(shù)據(jù)之間的差異性,具有一定的可解釋性。這對(duì)于實(shí)際的設(shè)計(jì)和開發(fā)具有重要的參考價(jià)值,值得進(jìn)一步研究。
由于本文所采用的是處于低馬赫數(shù)、小攻角下的數(shù)據(jù)集,考慮到空氣動(dòng)力學(xué)數(shù)據(jù)大多是高速、高維且復(fù)雜的數(shù)據(jù),所以未來的工作將聚焦于以下內(nèi)容:
1)進(jìn)一步研究不同的功能網(wǎng)絡(luò)和上下文網(wǎng)絡(luò)結(jié)構(gòu)對(duì)模型的影響,進(jìn)一步提高模型的精度,使模型在高馬赫數(shù)、大攻角條件下對(duì)差異性的量化分析能符合實(shí)際情況。
2)由于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程中的參數(shù)調(diào)整具有不確定性,故將上下文網(wǎng)絡(luò)的輸出作為權(quán)重,這點(diǎn)可能與實(shí)際情況的誤差較大。下一步將結(jié)合靈敏度分析,分析出數(shù)據(jù)集中實(shí)際的權(quán)重情況,再應(yīng)用于深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練;并且還將研究大攻角高馬赫數(shù)下的外形參數(shù)和飛行狀態(tài)參數(shù)的重要性。這將進(jìn)一步提高LD-MTL的精度以及可解釋性。