李潤澤,張宇飛,陳海昕
清華大學 航天航空學院,北京 100084
隨著優化算法和機器學習技術的發展,計算機輔助設計(CAE)在飛行器氣動設計中可以發揮更大的作用,但設計師的經驗和判斷仍不可或缺。工程設計中往往仍需要設計師結合自身的經驗和理解進行手動修型,或者在優化過程中進行實時調控。
強化學習是一種用于策略學習的機器學習方法,通過與其所面對的環境(Environment)不斷交互以積累經驗,學習如何采取不同動作以提高累積回報。本文探索使用強化學習模擬設計師在手動修型設計時積累經驗的過程,總結根據翼型的狀態選擇修型動作的策略,以形成可遷移的策略模型。
本文分為以下幾個部分。首先介紹強化學習在流體力學領域的應用,針對氣動優化設計解釋強化學習的相關概念。之后介紹翼型參數化修型的方法和修型動作,以及強化學習的相關算法。在此基礎上,介紹強化學習針對超臨界翼型氣動減阻問題的實現,并討論相關訓練方法的影響,以及所形成策略的遷移應用效果。
本文是對強化學習在氣動優化設計中應用的一個探索,希望打通道路,搭好框架。因此進行了諸如CFD分析采用歐拉方程、限制修型步數為三步等簡化,以上措施不會影響本文的相關結論,但也應該看到強化學習的推廣應用還需要開展大量的工作,積累更多的成果。
近年來優化在飛行器氣動優化設計中得到了越來越廣泛的應用,有些研究通過多種手段提高優化方法在工程設計中的實用性,有些研究利用機器學習來提高數據的利用率或提高優化效率,具體內容可參考文獻[1-2]。但是,優化是一種數學工具,設計仍離不開人的“知識”,離不開人的經驗和判斷[2]。將人的經驗引入優化之中較為成功的實踐包括“人在回路”[1]。
設計師的經驗一部分來自積累的統計規律,一部分是基于流體力學對物理現象的分析判斷。這些設計經驗都是常規優化算法所無法具備的“知識”。而強化學習的訓練過程則與設計師積累經驗的過程十分相似,有潛力為優化設計補足此類“知識”。類比于傳統的試錯法(Trial-and-error),強化學習通過在幾何修型過程中持續地采取不同的修型動作并觀察設計結果的改變和收益,從而總結采取動作的策略。當強化學習觀察的狀態參數具有一般性時(如流動結構特征),可以認為強化學習在基于物理規律學習修型策略,從而在一定程度上獲得了與設計師相同的設計經驗。這樣就為優化設計由“人在回路”向“機器人在回路”的轉變奠定了基礎。
目前在優化設計中比較常用的機器學習技術是基于響應面的性能快速預測方法,該方法利用已有數據構建設計變量到性能的映射來加速優化過程,屬于監督學習類別。與監督學習不同,強化學習構建的是環境的狀態參數到動作參數的映射,其目的是學習與環境交互的策略以獲得最大累積回報。在監督學習中作為映射輸出的性能不再是強化學習的輸出,而是作為用來訓練的回報。強化學習的具體理論可參考文獻[3]。
強化學習研究目前主要集中在機械控制領域和游戲中,在流體力學方面的應用研究較為有限,相關進展可參考文獻[4]。目前,大部分研究仍然針對強化學習的傳統領域,即流動控制問題[5-7]。基于強化學習的幾何優化研究則寥寥無幾,已發表的工作僅有少量針對可變形翼型的非定常變形策略,但其本質上仍是控制問題[8]。相比之下,幾何優化過程沒有時間導數。因此,優化試圖在盡可能少的步數達到期望狀態,即優化效率占據了更重要的地位。與此同時,優化設計方法是設計師在工程設計中的重要工具,優化設計需要可以體現設計師的意圖和經驗,從而保證設計結果能夠具有實用價值。因此,強化學習在氣動幾何設計中期望獲得的不是一種應對環境變化的控制率,而是一種類似于設計師經驗的設計策略。目前,以學習設計策略為目的,針對優化設計過程的強化學習研究在國內外仍處于空白狀態。因而,本文主要目的在于指出在氣動幾何設計中強化學習的內涵和特點,并給出在此領域中可提高強化學習效果的若干手段與注意事項。

強化學習一般分為無模型方法和基于模型的方法。基于模型的方法需要對環境進行建模,如構建翼型幾何參數到性能的響應面,而這類強化學習算法也就類似于基于響應面的優化。本文研究的無模型方法則使智能體直接與環境進行交互,此類方法也是強化學習的主流研究方向。無模型方法進一步分為基于策略的(Policy-based)和基于價值的(Value-based)方法,基于策略的方法直接對策略進行建模并對策略模型進行優化,而基于價值的方法則相對間接一些。價值函數表示某一狀態下(采取某一動作時)獲得累積回報的期望,用于描述到達這一狀態(采取這一動作)能獲得好處的多少。基于價值的方法對價值函數進行建模,在選取動作時采用固定形式的策略,一般在當前狀態下選取使價值最大化的動作。還有另一類結合策略和價值的演員-評論家(Actor-Critic,AC)方法,這類方法同時包含策略模型(即演員)和價值模型(即評論家),利用價值模型來“評價”演員的策略,提高訓練效率。
另一方面,強化學習的策略可分為隨機策略和確定性策略。確定性策略表示針對某一狀態采取的動作是確定的;而在隨機策略中,策略是一個關于狀態和動作的函數,其返回值為在某一狀態下采取某一動作的概率。一般而言,隨機策略要比確定性策略更加魯棒,訓練起來也更加容易。因此在實際應用中,智能體在某一狀態下采取的動作需根據策略π(s,a)的概率分布進行采樣給出。相應地,價值函數作為累積回報的期望,也需要通過蒙特卡洛方法采樣進行估計。
智能體的策略模型或價值模型在狀態和動作是維度較低的離散值時可以使用表格法進行儲存,但是對于連續空間或維度較大的情形,則需要使用人工神經網絡(Artificial Neural Networks, ANN)對價值函數或策略進行建模(記模型的參數矢量為θ,φ),此時稱作深度強化學習。參數化策略記為πθ(s,a),價值函數參數化模型記作Vφ(s)或Qφ(s,a)。本文使用的近端策略優化(Proximal Policy Optimization, PPO)算法就是一種基于演員-評論家模式的深度強化學習算法。
無論是手動修型、優化設計還是強化學習過程都需要對設計對象進行幾何參數化。對于翼型而言,Class Shape function Transformation(CST)方法能夠使用盡可能少的控制參數,高精度且光滑地表達翼型幾何[9]。但是由于CST的基函數在整個弦長范圍內都有貢獻,因此通過CST參數調整來進行局部幾何的修改是困難的,反而需要多個參數的協同調整才能實現。Straathof等[10]提出將CST結合B-splines來實現局部修型,雖然能夠有效保持局部修型后的幾何光滑性,但實現相對復雜且控制參數較多,因此實際應用較為有限。
鼓包函數是一種常用的局部修型手段,通過在基礎幾何之上添加外凸或內凹的幾何增量,實現對局部幾何的修改。最常用的鼓包函數Hicks-Henne函數具有高階連續光滑的特點,能夠在保證光滑的前提下對幾何進行修型[11]。Hicks-Henne鼓包對單位弦長的翼型進行修型可以表示為
y=ybasis+∑yb,i
式中:ybasis為基礎翼型縱坐標;yb,i為鼓包函數縱坐標。Hicks-Henne鼓包修型通過在原始幾何ybasis的基礎上疊加若干個鼓包函數實現對幾何的改變,每個鼓包函數均可表示為
其中:t1∈(0,1)為鼓包的最高點位置;hb為鼓包的高度;x∈[0,1]為翼型的橫坐標。定義鼓包的寬度sb為yb函數最高點兩側高度為0.01hb位置的間距,根據sb和hb可求得t2的值。使用Hicks-Henne鼓包修型時,一般在翼型弦長方向上等間距布置鼓包的最高點位置t1,并保持決定鼓包控制范圍的參數t2一致。本文為了精準表達設計師的修型過程,修型中疊加的各個鼓包的位置、高度和寬度均由強化學習模型給出,不預先指定。圖1展示了不同中心位置t1、寬度sb和高度hb對應的鼓包幾何,可以看出通過控制鼓包寬度可以實現更加精確的局部控制。

圖1 Hicks-Henne鼓包形式Fig.1 Hicks-Henne bump distribution
為保證鼓包函數修型結果的光滑性,可以進一步使用CST方法對鼓包修型后幾何進行最小二乘法擬合。擬合目標為最小化CST翼型和鼓包修型幾何的差量,從而在盡可能體現鼓包修型的基礎上保證翼型幾何的合理性。圖2展示了在基礎翼型(黑色虛線)上直接疊加鼓包(t1=0.3,sb=0.4,hb=0.02)后的翼型(綠色實線),以及對鼓包修型幾何使用6階CST方法進行擬合的結果(藍色實線)。從圖中可以看出從翼型整體來看CST擬合準確表述了鼓包修型后的幾何差別,但直接疊加鼓包函數后翼型會出現局部的曲率波動,而經CST擬合得到的幾何曲率變化則十分光滑。

圖2 翼型上表面添加鼓包前后的幾何和曲率分布Fig.2 Geometry and curvature distributions of airfoil upper surface before and after bump modification
優化算法,無論是確定性算法(如梯度算法)還是隨機性算法(如差分進化算法),數學上都可以描述為
minf(x)
s.t.g(x)≤0,x∈D?Rnx
式中:f為優化目標;g為約束函數矢量;D為nx維設計變量x的定義域。優化過程相當于在定義域中搜索最優的x*使得目標最小,每一個x對應一個個體。以CST參數作為設計變量為例,每一個個體都由相應的x決定實際的幾何。
相比之下,設計師在手動設計時,幾何的改變都是通過增量的形式進行疊加,因此稱為增量修型(Incremental modification)。增量修型對設計對象和設計過程的描述與優化不同。在傳統的試錯法中,設計師通過對當前設計對象的性能進行分析,結合壓力分布或其他流動結構特征進行判斷,對不合理的區域進行修型,并根據修型后的表現決定下一步的修型操作[1]。以翼型設計為例,設計師的修型操作并不是對優化所使用的CST參數進行調整,而是直接對幾何進行了局部調整,比如說增加了鼓包。此時設計師操作的參數是鼓包的參數(如鼓包位置、高度、寬度),不妨稱這些參數為動作參數a。這一過程可以記作:
增量修型過程相當于在一個樹形結構的設計空間內進行搜索(見圖3)。樹中的每個節點都是一個可能出現的幾何xi,都可以從若干動作中選取一個而進入到相應的下一級節點,而設計師的一系列動作就形成了一條修型軌跡(見圖3中紅色軌跡)。設計師根據第t步修型結果決定下一步的動作at時,只利用了修型軌跡中采用的動作{a0,a1,…,at-1}和相應的收益與代價。雖然如前所述,在每個動作后獲得的幾何仍可以使用CST擬合進行光滑,但設計師并不需要關心這個過程和它涉及的參數。
需要額外指出的是,當動作是正交可疊加的,或者說動作調換先后順序而不影響最終幾何時,樹形結構的不同節點對應的幾何可能是相同的,因此到達某一幾何的動作路徑可能不唯一。另外,在實際設計過程中,設計師如果發現某一動作得到的結果不合理,是可以退回上級節點重新選取動作或節點的(見圖3中綠色軌跡)。

圖3 增量修型的樹形結構Fig.3 Tree structure of incremental modification
相比優化而言,增量修型更接近設計師手動修型的過程,有以下幾點優勢:① 增量修型的設計變量(即動作空間,如鼓包參數等)相比優化(如CST參數)大幅減少,因此每一步修型的動作選擇的搜索空間要小得多;② 增量修型一般是局部修型,從流動結構的角度而言,修型的針對性強、目的更明確,因而對流動結構的改善效率更高;③ 基 于流動結構對幾何進行修型的策略更有物理基礎,相關物理機制的引入使得策略更容易具有普適性,相比于基于數據庫構建響應面會擁有更強的推廣和遷移能力;④ 訓練增量修型使用的策略和通過強化學習形成的策略都與設計師的設計經驗直觀對應,因此既可以便捷地利用設計師的經驗來提高增量修型的效率,也可以通過強化學習等工具來幫助設計師學習和總結新的設計策略。
當然,增量修型可遵循不同數學方法的指導,以獲得更高的效率并獲得最優的性能。類比梯度算法,當算法從初始位置(x0)向最優值位置(x*)出發時,基于貪心算法的最速下降法(圖4[12]綠線)試圖在當前步的梯度方向獲得最大改進后再確定下一步的前進方向,往往優化效率較低。相比而言,牛頓法、共軛梯度法等梯度算法都利用其他信息對每一步的前進方向進行調整,從而提高優化效率(見圖4紅線)。同樣,增量修型的挑戰也主要來自于搜索空間的樹形結構帶來的軌跡依賴特性,即當前步采取的動作和相應的回報都與之前的軌跡相關。因此,為避免陷入局部最優或損失效率,增量修型中選取每一步的動作時同樣不應使用最大化當前回報的貪心算法。強化學習可以看作一種可行的非貪心算法,因為其目標是最大化整條軌跡的累積回報,而不是最大化每一步的當前回報。

圖4 最速下降法與牛頓法優化路徑對比[12]Fig.4 Comparison of optimal paths between gradient descent method and Newton method[12]
近端策略優化(PPO)算法是OpenAI推出并首選的強化學習算法[13],近期已經在很多復雜的問題中取得了很多成果,如在多人在線游戲DOTA2中取得戰勝世界冠軍團隊,與人類選手對抗達到94%勝率的成績[14]。PPO算法是一種基于演員-評論家模式的深度強化學習算法,該算法源自于對置信域策略優化方法(TRPO)[15]、能高效采樣的帶有經驗回放的表演者-評論者算法(ACER)[16]和廣義優勢估計(GAE)[17]的結合和改進,做到了算法實現復雜程度、參數調試和訓練代價之間的良好平衡。使得在每一步策略優化過程中,既能實現策略的改進,又不至于使策略變化過大而導致崩潰。PPO算法中的一個常用形式PPO-clip算法見附錄A算法A1。
本文中策略模型和價值函數模型均使用含有2層隱藏層的人工神經網絡模型,隱藏層節點數為128。GAE算法中的“偏差-方差平衡參數”(Bias-variance tradeoff)取為0.8,PPO-clip算法的參數ε取0.05。
強化學習中智能體通過與環境持續交互來學習策略,而環境則需要在輸入當前狀態和動作后,輸出當前回報和下一狀態。在翼型減阻設計中,環境包括了翼型參數化造型與幾何變形,CFD計算和結果輸出2個部分。
本文使用CST方法對翼型上下表面進行參數化造型,在增量修型中使用Hicks-Henne鼓包函數在翼型上表面幾何進行疊加。使用以9階CST方法對鼓包修型幾何進行最小二乘法擬合,從而充分體現鼓包修型對翼型性能的影響,并保證翼型幾何的合理性。本文采用的動作是對翼型的上表面添加鼓包,動作參數為鼓包最高點的弦向位置xb、最高點的高度hb(使用弦長進行單位化)和鼓包寬度sb。為便于算法調試和驗證,對鼓包動作空間進行離散,其中xb=0.01, 0.1, 0.2, …, 0.9;hb=-0.010, -0.005, 0.005, 0.010;sb=0.2, 0.4。對動作離散后,每步可采用的動作有80種可能。
本文中的強化學習在訓練過程中使用基于RAE2822生成的4層完全翼型樹,即前3層中每個節點均含有全部80個子節點(Child)。因此該完全翼型樹共有518 481個節點,涵蓋了從RAE2822翼型出發的三步修型中所有可能出現的狀態。翼型樹中各節點的最大厚度tmax、來流馬赫數Ma∞、升力系數CL與基礎翼型相同,均采用定升力系數進行計算。計算工況和基礎翼型的狀態參數見表1。

表1 計算工況和基礎翼型的狀態參數
翼型使用橢圓迭代生成的C型網格,翼型上下表面共分布201個網格點,高度方向分布73個網格,總網格量約20 000。計算采用基于有限體積方法的可壓縮RANS方程求解器NSAWET進行求解,該求解器求解精度和魯棒性在大量應用情形中得到了檢驗[18]。本文的主要目的是打通強化學習在氣動設計中使用的道路,為了縮短計算時間, 翼型氣動計算使用了Euler方程分析,這不會影響強化學習能夠習得減阻修型策略的一般性結論。計算使用MUSCL重構格式和Roe通量格式,采用LU-SGS隱式時間推進進行求解。從計算結果中提取阻力系數CD,激波位置Xsw,激波波前壁面馬赫數Maw1,翼型前緣吸力峰壁面馬赫數MawLE,以上流動結構參數的定義參見文獻[18]。
強化學習環境的實現如算法A2所示。由于計算量隨修型步數迅速增加,因此同樣從發展方法的角度出發,本文在訓練中限制修型步數為3。這一限制不會影響本文的相關結論。
為方便強化學習的調試和分析,首先完成翼型樹中所有節點的計算,以查表法代替算法A2中的2~3步,從而搭建強化學習的快速訓練環境。翼型樹中單激波翼型所占比例為83%,其中相對基礎翼型減阻的最大值為17.6 counts(1 count=0.000 1),減阻量在16 counts以上的比例為0.1%, 在15 counts 以上占0.28%,在12 counts以上占2.3%, 減阻量大于0的占40.7%。由于訓練環境使用預先獲得的三步修型翼型完全樹,且每個修型步的幾何改變量有限,因此翼型樹中阻力最小的節點不是無激波翼型,但這并不影響本文關于強化學習方法的研究和結論的正確性。
強化學習是一種通過與環境持續交互獲得狀態和獎勵,從而學習合理策略的一種通用算法。強化學習算法具有很強的泛化能力,能夠在多種環境中進行學習。但是這種泛化能力也導致強化學習算法從零開始學習(即隨機生成初始策略),沒有針對特定問題的特點和先驗知識來幫助模型進行學習,導致學習效率較低。預訓練(Pretraining)是一種有效提升強化學習效率的方法,如對圖像特征提取部分進行預訓練[19],利用已有的策略模型進行預訓練[20],基于示例軌跡的模仿學習(Imitation learning)[21]等。
其中,基于模仿學習的預訓練是指在強化學習之前,使用監督學習方法對策略模型進行初始化的過程。這一過程實際上是一個構建策略模型的“狀態-動作”映射的擬合過程,而示例軌跡中每一步的{狀態,動作}都作為用來擬合的樣本。本文針對PPO算法提出一種基于模仿學習的預訓練算法(見算法A3),通過人工提供若干優秀的動作軌跡示例(擁有高累積回報的動作序列),訓練策略模型盡可能復現這些示例,從而為強化學習算法提供較為合理的初始策略模型和價值函數模型。
在RAE2822的完全樹中選取若干個總回報較高的軌跡作為示例,詳見表A1。表A1中每個修型步的參數以{t1,hb,sb}的形式給出。圖5顯示了示例5的各個修型步的鼓包函數分布和相應翼型的壁面馬赫數Maw分布,其中上方的封閉曲線為壁面馬赫數分布,下方的鼓包曲線為修型中的鼓包函數幾何。示例5為總回報較高且壁面馬赫數分布較為光滑的一個示例,可以看出其修型策略為:首先在前緣附近向外凸起以提高吸力平臺對升力的貢獻,從而可以減弱激波;其次在激波前方下凹,試圖減弱波前的流動加速;最后在波后上凸,以增大波后背壓,從而減弱激波。

圖5 修型過程中的壁面馬赫數分布和 相應的鼓包幾何Fig.5 Wall Mach number distributions and bump geometries during bump modification
圖6給出了預訓練中的模型擬合殘差收斂過程,其中各曲線分別使用表A1中前10組、4組和1組 示例來擬合策略模型,圖中3條殘差收斂曲線均為10次預訓練過程的平均值。預訓練的學習率(Learning rate)為0.005,迭代步數(Iteration)為200,模型初始參數為隨機生成得到,訓練算法為適應性矩估計算法(Adam)。由于預訓練使用的模擬學習是一個對“狀態-動作”映射的擬合過程,因此應該保證一個狀態有且只有一個動作與之相對應,這樣才有可能使訓練誤差有效下降。否則,若相同的狀態對應2個不同的動作,那么擬合模型不可能同時準確表達2個樣本,則訓練誤差較大。因此,在選取示例時,在相同狀態下盡可能地選取相近的動作,以保證策略初始化中神經網絡訓練的有效性。從圖6中可以看出使用較少的示例可以降低樣本中同一狀態對應不同動作的可能性,因此可以有效地降低訓練誤差,而使用更多的示例時,訓練誤差很難進一步下降。

表A1 模仿學習中的鼓包修型示例Table A1 Bump modification examples for imitation learning

圖6 預訓練中模型殘差收斂曲線Fig.6 Loss convergence of pretraining process
另一方面,更多的示例能涵蓋更多的狀態,而過少的樣本更容易導致過擬合。將上述預訓練得到的初始策略模型在訓練環境中進行測試,統計結果見表A2。表A2記錄了10次預訓練的結果,其中最后1行是10次的平均值。表A2中每行記錄該次預訓練得到的模型在訓練環境中500次測試的累積回報的平均值和最優值。表A2中的6列數據分為3組,分別是使用不同數量示例時的預訓練結果,與圖6中的殘差收斂過程相對應。
可以看出使用不同數量示例時,表A2最后1行數據中的最優累積回報都能達到較高的值,即各個模型都有一定概率能夠復現示例演示的軌跡。但由于使用了隨機策略,因此有很大可能會進入示例未涵蓋的狀態。這些狀態下的動作是由擬合得到的初始策略模型預測給出,因而需要避免模型過擬合以保證動作預測的合理性。使用10組示例時樣本數量更多,更不容易過擬合,因而平均累積回報更高。但是總體而言,表A2中各個初始策略模型的魯棒性都不是很好,平均累積回報都較低。因此,需要使用強化學習算法對策略模型進行進一步改進。
將4.1節中預訓練得到的初始策略模型在訓練環境中進行強化學習,迭代步數為200。強化學習的每一步迭代(Iteration)中,基于當前策略完成nτ=50條軌跡,并統計每一步迭代中nτ條軌跡的累積回報的平均值。每一步迭代在獲得nτ條軌跡后,基于PPO算法利用這些軌跡對策略模型進行改進,其中Adam算法步數為10,學習率為 0.000 01。
圖7中展示了強化學習過程中減阻量的提升過程,圖中曲線為重復10次強化學習的平均值。圖7縱坐標的平均累積回報即為每一步迭代中nτ條修型軌跡的減阻量的平均值;橫坐標表示迭代步數(Iteration,在強化學習中也稱一條軌跡為一個Episode,因此強化學習研究中Episode值為nτ×Iteration)。圖7中的不同顏色曲線表示基于不同初始策略的強化學習過程。雖然從圖6中可以看出使用不同數量的示例對預訓練模型的平均累積回報影響較小,但圖7表明示例選取對于強化學習訓練過程有較大影響。示例數量更多,多樣性適度增加有利于提高強化學習的效率,減小訓練過程的方差。

圖7 強化學習訓練過程的平均累計回報收斂曲線Fig.7 Convergence curves of average cumulative reward during reinforcement learning process
表A3展示了在表A2的10個初始策略模型的基礎上進行強化學習的結果,其中最后1行是10次強化學習的平均值。表A3中每行都是該次強化學習得到的模型在訓練環境中500次測試的累積回報的平均值和最優值。表A3中的6列數據分為3組,與表A2相對應。可以看出,強化學習后的最優累積回報都可能達到較高的值,但使用較少示例時累積回報平均值較低,方差較大,也就是說策略模型的魯棒性較差,隨機性過強。因此,使用更多的示例進行預訓練對強化學習形成更為魯棒的策略更有利。

表A2 預訓練模型的累積回報Table A2 Cumulative rewards of pretrained models

表A3 強化學習模型的累積回報Table A3 Cumulative rewards of reinforcement learning models
強化學習獲得的策略是根據當前翼型的激波位置、強度和前緣吸力峰來選擇鼓包參數,從4.1節預訓練中的示例軌跡可以看出,這種策略有一定的物理基礎,因而在類似的問題中具有遷移能力。本節對增量修型中基礎翼型的來流馬赫數Ma∞、升力系數CL、厚度和彎度進行改變,形成相應的測試環境,討論強化學習得到的策略的遷移能力。此時,測試環境的算法2中的2~3步無法通過查表法實現,只能使用CFD計算。
在遷移應用中,為提高策略的魯棒性,將隨機策略的高斯分布標準差由訓練中使用的0.03提高至0.05,增量修型步數取為5。使用策略模型在每個測試環境下進行20次測試,記錄每次測試獲得軌跡的最大減阻量,并統計20條軌跡的最優值和平均值。
表A4展示了RAE2822作為基礎翼型在其他工況下的阻力系數CD0,策略遷移應用的最大減阻量的最優值、平均值和步數。表A4中最大減阻量的步數反映了該策略模型在測試環境中實際起作用的步數,即有效修型步數。也就是說,在有效修型步數之后,策略模型給出的動作無法進一步減阻,策略失效。表A4中編號0是強化學習模型在其訓練環境中的表現,其余各行的測試環境與訓練環境有不同的來流馬赫數或升力系數,相應的基礎翼型的壁面馬赫數分布見圖8。從圖中可以看出在不同的工況下,基礎翼型的流動形態比較相似,但是激波位置和強度、前緣吸力峰有所區別。表A4結果顯示相比于訓練環境有更強激波的工況下,減阻量更大,有效的修型步數更多。對于激波更弱的情形,強化學習模型也能夠實現減阻,但在5步修型中一般只有前1~2步有效,后續的修型步對阻力沒有改善。

表A4 強化學習模型在其他工況下的修型累積回報和修型步數Table A4 Cumulative rewards and steps of reinforcement learning models in other flight conditions

圖8 RAE2822翼型在不同工況下的壁面馬赫數分布Fig.8 Wall Mach number distributions of RAE2822 airfoil in different flight conditions
表A5展示了在Ma∞=0.73,CL=0.70工況下不同基礎翼型的結果。其中通過對翼型上下表面進行等比例放縮改變基礎翼型的最大相對厚度tmax。對翼型彎度的改變是對翼型上表面CST參數放縮rcamber倍,保持下表面CST參數不變。由于得到的翼型的相對厚度發生了變化,對該翼型上下表面再等比例放縮,將最大相對厚度調整到原始值。圖9展示了相應編號的基礎翼型幾何。與改變工況的測試環境類似,強化學習模型在RAE2822翼型幾何變形后的測試環境中大多能夠獲得有效的減阻修型效果。在激波較弱的情形下減阻量相對較小,尤其是第5組測試中策略失效,說明在使用由單個基礎翼型的三步修型構成的翼型樹作為訓練環境時,強化學習得到的修型策略適用范圍有一定的局限性。但對于大部分情形,尤其是激波較強的情形,修型有效步數更多,減阻量更大。

圖9 不同翼型的幾何和壁面馬赫數分布Fig.9 Geometries and wall Mach number distributions of different airfoils
從上面的測試環境中強化學習模型的遷移應用可以看出,不同基礎翼型和工況下的軌跡經歷的流動形態是不同的,因此策略模型會根據具體的狀態參數(即激波位置、強度和前緣吸力峰)選取鼓包的位置、寬度和高度進行修型,因此采取的動作與預訓練中的示例也會有所不同。圖10展示了表A5中編號1和8兩組測試中的最優修型軌跡,可以看出策略模型根據所處狀態對動作的調整。其中上方的封閉曲線為壁面馬赫數分布,下方的鼓包曲線為修型中的鼓包函數幾何。圖10(a) 中第1步試圖抬高前緣附近的吸力,但前緣吸力峰反而下降,因而第2步采用相反動作,進而在第3步增大吸力平臺逆壓梯度,從而減弱激波和減小阻力。圖10(b)則在波前連續使用下凹的鼓包,從而有效減弱激波。以上2種策略與預訓練中的示例均有所不同,體現出強化學習的策略對不同狀態的適應能力和模型的遷移能力。

表A5 強化學習模型在其他翼型幾何上的修型累積回報和修型步數Table A5 Cumulative rewards and steps of reinforcement learning models for other baseline airfoils


圖10 策略測試中軌跡的壁面馬赫數分布 和鼓包幾何Fig.10 Wall Mach number distributions and bump geometries during policy tests
本文針對設計師在氣動修型中的經驗積累過程,提出并實現了基于強化學習獲得氣動修型策略模型的訓練方法。整理了強化學習在氣動優化設計中應用的相關概念,并針對翼型減阻問題給出了強化學習環境的搭建方法,最終獲得了幾何增量修型的策略模型,并對策略模型進行了分析與遷移應用測試,得到了以下幾點結論:
1) 預訓練中,使用基于示例的模仿學習獲得的初始策略模型在訓練環境中的修型表現方差很大,且平均減阻量只有3~4 counts。不同數量的示例對策略的魯棒性改進有限,且提供合理、優秀的示例較為困難。
2) 預訓練能夠有效提高強化學習的訓練效率。使用較少的示例容易導致預訓練時模型過擬合,強化學習效率無法提高;雖然更多的示例會導致預訓練的訓練誤差難以降低,但能夠有效提高強化學習效率。強化學習得到的策略模型的表現更加魯棒,能夠實現三步修型平均減阻12 counts的減阻效果。
3) 強化學習得到的策略模型具有一定的推廣能力。將得到的策略模型遷移使用到其他來流工況或基礎翼型的環境中進行測試,在大部分情形能夠實現有效減阻。
上述研究結果表明,強化學習具有學習氣動修型策略的能力,且能夠根據不同的翼型和工況采取相應的動作實現減阻。因此,在經過更加充分的訓練后,強化學習有潛力獲得能夠適用任意超臨界翼型的修型策略,從而極大提高優化設計效率。