如何將強化學習用于火箭發動機引擎研發的創新解決方案中。
機器學習(ML)在各個行業以及眾多的應用軟件中產生了令人難以置信的影響,其中包括個性化電視推薦和順風車應用中的動態價格模型等。因為它是當下科技行業各大公司成功的核心要素,所以機器學習相關理論研究和應用的發展速度十分驚人。
對于科技以外的行業,機器學習可用于用戶的個性化體驗,自動地執行繁重的任務并優化主觀決策。然而,即使是科技行業的業內人士,了解最新的機器學習進展并且知道如何最大化利用現有的先進技術依然十分困難,更不用說那些在其他領域(例如制造業)致力于優化工作的人。
然而,跨學科的產品經理能夠很好地應對這一艱巨的挑戰。通過了解行業,進程和商業價值,以及對機器學習應用廣度的深入理解,產品經理可以確定現有哪些領域的創新是成熟的。
具有產品管理、軟件工程和數據科學經驗的他們具有獨特的視角,使他們自己能夠促進那些尚未廣泛應用機器學習的行業與先進技術應用之間的融合。通過與跨學科的各領域專家合作,產品經理可以重塑制造流程,全面提升其效率、安全性和可靠性。
作為Insight的數據產品管理研究員,我曾與機器學習工程研究員,Nina Lopatina,仿真工程師Saeed Jahangirian以及Jordan Noone的動力工程師一起工作,研究提高火箭發動機引擎的生產效率。硬件設計人員和制造商的最大成本來自于控制系統的測試、驗證和校準。
我們提出了一個概念,并驗證可以將強化學習用于自動調整火箭引擎中的子組件,以滿足驗證和協作中對大量時間和資源的需求問題。我們的解決方案可以節省數千美元,從而避免在昂貴的測試設備上進行長達三個月的手動測試。傳統的程序也十分危險,很小的錯誤也會對昂貴的硬件造成重大損害,更重要的是,會對參與測試的技術人員構成危害。
測試,驗證和校準是硬件開發中最昂貴,最耗時的任務
在制造過程中開發控制軟件的過程是非常繁瑣的
在我上一份工作中,我是一名軟件和控制工程師,為一個大型金屬3D打印機開發控制回路。控制回路是一臺機器控制軟件的別稱。控制汽車巡航的控制軟件就是一個相當簡單的例子。它監控車輛的速度并控制油門直至達到目標速度。對于3D金屬打印機這個項目,控制算法相對更復雜一些。我們開發的打印機是一個連接機器人手臂的焊工。機器人逐層跟蹤零件,而焊工將新的一層焊接到先前的一層并構建零件。
在逐層追蹤零件的同時,熱源熔化金屬絲并將新層融合到前一層 - 圖片由Sciaky Inc.提供
控制軟件可控制熱量的輸入,遍歷速度,送絲速度以及其他一些旋鈕,以確保零件符合規格要求。規范包括最終部件的質量,例如缺陷的數量和尺寸,以及部件的尺寸,每層的寬度和高度。如果一切正常,結果將符合規范。但是如果控制算法沒有正確地完成其工作,則該部件會變形、斷裂或撕裂,并具有許多裂縫和毛孔。
開發控制算法包括三個階段:
控制器法則設計:在這個階段,目標是理解管理過程的物理學。開發了該過程的模擬仿真并用于創建控制軟件,而無需進行昂貴且冗長的物理試驗。
軟件開發:在此階段,我們使用不同的建模技術來定義過程中輸入和輸出之間的關系。此步驟需要工程師將問題分解為更小的部分并為每個部分開發相對應的模型。然后使用這些模型創建可以控制過程以達到預期結果的軟件。
控制校準:一旦軟件成功通過模擬仿真測試,工程師就會花幾個月的時間在物理系統上對軟件進行調整優化,以解釋模擬仿真和物理現實之間的差異。
問題是每個階段可能需要數周到數年,并且在大多數情況下,包括微調過程模型或微調控制軟件以實現所需輸出的種種試驗。這是許多試驗所做的優化問題。更智能的方法是將系統分解為更容易建模的子組件,然后使用直接和迭代方法來找到控制子組件的最佳方法。這種方法仍然需要工程師的聰明才智來解決問題,并且最終需要通過多次試驗來優化各個子組件之間的交互。它還遠遠不是一個全自動化的過程。
為了尋找解決這一問題的自動化方法,我們將強化學習作為開發復雜機械控制回路的端到端解決方案。
強化學習
強化學習(RL)正在學習如何最大化獎勵功能。從某種意義上說,強化學習是學習環境中代理的控制算法的自動化過程。
1. 一個代理在一個環境中運行,它可以使用我們稱為“動作”的執行器來執行環境。
2. 然后環境響應代理所采取的操作,這樣會將代理和環境置于一個新的狀態。
3. 然后根據代理的狀態和環境定義獎勵函數。
4. RL的目標是學習采取行動的最佳策略,使未來的回報總和最大化。
強化學習的組成部分
例如,像俄羅斯方塊這樣的電子游戲可以被認為是一個環境,游戲中的玩家可以被認為是一個代理。
1.動作是玩家可以采取的動作,比如旋轉形狀。
2. 這些動作改變了游戲的狀態,游戲狀態可以定義為在每個時間點上顯示器上的所有像素。
3.我們可以將獎勵函數定義為玩家清除的每一行的+1和輸掉游戲的-100。
4. 強化學習的目的是提出一個將狀態映射到操作的函數,從而使總回報最大化。
類似地,金屬3D打印機控制回路的開發也可以表示為強化學習問題。
1. 所采取的動作是改變熱輸入的強度、遍歷速度、送絲速度等。
2. 這些操作改變了打印的幾何形狀及其質量,我們稱之為打印狀態。
3.獎勵函數可以被定義為這樣一種函數:它顯示了打印結果在任何時刻與它的規格的接近程度。
4. 其目標是提出一個函數,告訴打印機如何控制其執行器,給定其當前打印狀態,以獲得最佳打印結果。
所有控制的問題都可以描述為強化學習問題。目的是估計一個稱為“策略”的函數。策略將狀態映射到操作,從而使獎勵函數最大化。如果函數域是有限的,那么你可以探索和存儲每個輸入和輸出映射,但是如果函數具有復雜的動態和很大或無限的域,那么這時機器學習就可以發揮作用了。
最近,強化學習研究人員一直致力于解決棘手的問題。他們跟隨深度學習的腳步,解決了經典算法無法解決的任務(圖像分類),得到了很多的牽引和關注。他們著手解決目前經典算法幾乎無法解決的非常困難的問題。谷歌的DeepMind專注于在圍棋等非常復雜的游戲中擊敗人類,而OpenAI專注于開發通用的人工智能。
另外,強化學習也可以用來自動解決更簡單的問題,而不是專注于困難的問題,這些問題目前都是人工完成的,需要花費大量的時間和精力來解決,比如為3D打印機或其他復雜的機械部件開發一個控制循環。這種影響不如開發通用智能具有新聞價值,但它可以為許多制造組織中的許多控制工程師節省時間和精力。
用RL調整火箭發動機
我們制作了火箭發動機或燃氣輪機中遇到的流體動力學問題的簡化版本。為這樣的系統開發控制算法可能需要長達3個月的設計、測試和驗證。這是一個非線性控制問題,需要工程師的智慧和時間來解決,可以證明強化學習在解放工程師時間方面的可行性。
以流體動力學中的一個非線性控制問題為例,說明了用強化學習開發控制算法的可行性
這是一個跨學科的項目,需要推動工程師之間的合作來定義問題,仿效工程師來構建一個準確的系統模擬,以及一個培訓代理的機器學習工程師。最后,結果表明強化學習算法可以產生與控制工程師一樣好的控制策略,并且可以節省數月的試驗時間。
針對流體動力學控制問題,策略優化過程中的模擬狀態快照。
一個使用深度增強學習(Proximal Policy Optimization)訓練過的代理對一個新目標做出反應。代理平均通過4個步驟自動更改輸入參數以匹配所需的輸出。結果與由工程師開發和調整的控制算法一樣好。
結論
我們使用強化學習來為火箭發動機的制造提供一個有效的解決方案,而不是使用機器學習技術來解決以前幾乎不可能完成的任務。使用機器學習解決更簡單的問題是一種適用于許多領域的方法,如制造業、汽車和航空航天工業。強化學習研究人員通常是看不到這些行業所面臨的困難,同樣地,這些行業往往也不熟悉強化學習領域的進展。這種脫節更突出了機器學習產品經理在機器學習與產品需求之間的聯系,以及彌合學科之間的差距方面所起到的作用。
Insight的數據產品管理研究項目(The Insight Data Product Management Fellowship)提供了一個協作學習環境來彌補這一差距。產品經理、工程師和數據科學家通過利用各自在這些領域的專長,共同構建交叉學科的產品。Insight吸引了來自工程、科學和產品領域的不同背景的學者,當他們聚在一起時,我們看到機器學習的新應用成功地解決了各個行業的問題。
-
火箭發動機
+關注
關注
0文章
11瀏覽量
9382 -
強化學習
+關注
關注
4文章
266瀏覽量
11247
原文標題:如何利用強化學習設計出更好的火箭發動機
文章出處:【微信號:BigDataDigest,微信公眾號:大數據文摘】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論