0221035

強化學習應用於深孔機加工參數優化

Optimization of Machining Parameters of EDM Using Reinforcement Learning

陳國榕、張晉蒝、李慶鴻

Guo-Rong Chen, Chin-Yuan Chang, Ching-Hung Lee

加工產品的製程中,加工參數對於產品成品的加工品質有相當大的影響,通常需要選擇一組適合的參數來達到指定的加工品質。這樣的工作往往需要仰賴少數有經驗的老師傅或一份鉅細靡遺的加工操作手冊才能進行,要不然就只能透過反覆的試誤來試出希望的組合。隨著人工智慧時代的來臨,本文介紹透過強化學習 (reinforcement learning) 實現了自動加工參數調整的方法來找到需求的加工品質。此外,本文也採用多目標演算法提供了一個針對多性能指標的性能偏好選擇方式,並將結果實際在深孔放電加工 (hole drilling electric discharge machining, HEDM) 機台上驗證。

During the process to machining a product, machining parameters have huge impacts on the quality of the product. We need to adjust to a proper parameter set to obtain a desired quality. This parameter tuning task often relying on a few experienced engineers or an elaborate operating manual. Otherwise, it is only possible to find the desired parameter set through try-and-error experiments. With the advent of the artificial intelligent (AI) era, we have implement an automatic parameter tuning method with reinforcement learning to obtain a desired machining quality. The method also offers a way to choose the quality preferences under multiple performance indexes, and the result is validated on a hole drilling electric discharge machining machine.

一、背景介紹

航太產業所需的零組件均有特殊的要求與特性,如外型和內部結構複雜、特殊材料、厚度輕薄,但對成品品質的要求則採用極高標準,以致加工的難度極高,目前加工型態主要為大量鋁合金的切削和移除、複合材料加工等,所使用的工具機以五軸以上精密加工、精密放電加工為主。隨著航太零件在追求輕量化與高剛性前提下,過去航太零組件加工主要是以切削功能的精密工具機為主,現在利用放電加工具機進行精密雕模與貫孔的加工需求,有越來越多的趨勢,因此,放電加工具機未來在航空產業的應用顯得愈來愈形重要。

深孔放電加工機將欲鑽孔工件放在介電液中或者以介電液不斷沖刷,以電極透過火花放電使介電液電離,陽離子與電子撞擊正負極 (電極與工件) 後動能轉成熱能,產生高熱進而熔融工件,由於高熱使介電液汽化膨脹,進而達到排除熔融的工件殘渣,從而能夠進行鑽孔加工。

放電加工的性能結果隨著不同的加工參數會有所不同,若要能使加工性能結果滿足期待,研究參數與性能結果間的關係就變得十分重要,本文應用機台為慶鴻 H32C 深孔放電加工機,其機台上可設置的參數有:

‧放電持續時間 Ton:放電持續時間為介電液絕緣狀態破壞,電極與工件形成通路後放電的時間,又稱為脈衝時間。

‧放電休止時間 Toff:放電休止間為放電持續時間結束後至下次放電的間隔時間,此段時間提供介電液恢復絕緣狀態,以及介電液沖刷排出加工殘渣,需要適當的休止時間來幫助放電加工。

‧放電電流 La:放電加工形成通路時,機台設置的最大的峰值電流,是影響加工結果的重要參數。

‧電容 CF:由於放電加工時須控制電路高頻的開關,目前多透過電容實現,參數值為電容大小。

‧放電間隙 Gap:放電間隙為電極與工件間打穿介電液形成通路的間距,不確定此數值是控制短路後後退的距離還是放電時前進的速度。

‧高壓 Hv:加工時引弧電壓的設定。

‧低壓 Lv:加工時引弧電壓的設定。

‧進給 Servo:影響伺服進給速度。

在放電加工中,加工穩定度為重要觀察指標,本文以真圓度 (circularity) 和加工時間兩種加工性能指標為討論標的。真圓度透過雷射顯微鏡量測鑽孔的同心最小外切圓與最大內切圓的直徑差即為真圓度的數值,數值小則越接近理想圓,如圖 1。加工時間則計算時間從電極在工件上開始放電至破孔現象出現,越長則代表加工速度越慢。

圖 1. 真圓度量測。

二、常用的加工參數優化

參數優化常見透過實驗設計或使用機器學習的方法,設計實驗並從中找尋最適參數的手法大致上有試誤法、全因子實驗、正交實驗、均勻法實驗幾種。

1. 試誤法 (trial and error):此方法是在生活當中常使用的方法,不需要任何資料的分析,亦無系統性的方法,主要依靠個人的直覺與經驗,一再反覆嘗試並且觀察是否與預期的結果相符,如果結果與預期的結果不符便更換一組新的想法與組合,直到結果符合預期,此種方法雖然較為簡單,但卻是一種較沒有效率的方法,過程中會浪費許多時間與成本,因此在工程上較少使用此種方法進行解決問題與改善。

2. 全因子實驗 (full factorial design):此方法將所有因子的所有水準全部組合都至少進行一次實驗,估計所有因子的主效應和交互效應,缺點是需進行的實驗次數較多,當因子與水準多時,缺點十分明顯。

3. 正交實驗 (orthogonal experimental design):此方法根據正交性從全因子試驗中挑選出部分有代表性的點進行實驗,這些點具備均勻散齊整可比的特點,透過正交表安排實驗,可大大的減少實驗次數。

4. 均勻法實驗 (uniform design):此方法只考慮試驗點在試驗範圍內均勻散佈,挑選試驗代表點的想法是均勻分散而不考慮整齊,使每個實驗點更具代表性,創造一種適合用於多因子多水準的實驗設計。

透過以上實驗後,可以根據需求性能從已獲得的參數中找尋最適合參數。也可根據實驗後的加工結果,透過機器學習建立最適合參數對應加工品質的估計模型,再利用適當的最佳化演算法由目標品質找到最適合的加工參數。以下是幾種常用的機器學習建模方式。

1. 多元線性回歸 (multiple linear regression)。研究多個自變量與一個應變量間存在的線性關係,並用多元線性回歸方程式來表達這種關係,可透過多元線性回歸建構參數與加工性能的虛擬系統(1)

2. 倒傳遞類神經 (back propagation neural network, BPNN)。神經網路透過基於數學統計類型的學習方法來近似參數與加工性能間的關係,是一種非線性統計性資料建模的工具,若參數過多時,可先透過降維或特徵選取來提高倒傳遞類神經的準確度(2)

3. 模糊邏輯 (fuzzy system)。模糊邏輯系統能將語意推論,轉為數值運算後,得到結果,可將取得的數據根據主效應的分析結果轉化為模糊規則,或透過全因子實驗數據建立以數據驅動的模糊系統(3)

4. 模糊類神經 (fuzzy-neural system, FNS)。模糊類神經為模糊系統與倒傳遞類神經的結合,可將主效應的分析結果轉為模糊規則,並透過倒傳遞類神經修改模糊邏輯前件部 (precondition part) 或後件部 (consequent part) 使系統更近似真實系統(4-6)

三、使用強化學習的方法

強化學習是一般認為最接近通用人工智慧 (artificial general intelligence) 的一種學習方法(7),基本策略是透過不斷地與環境互動來獲得反饋,以及累積過去嘗試過的經驗來幫助決策。就如同剛出生懵懂無知的小嬰兒,即使沒有明確的教導,仍然可以透過視覺、觸覺、味覺等感知能力,學習到如何辨識物體、移動手腳、抓取玩具等動作。毫無疑問的,這樣的互動的方式是人類終其一生認識環境的主要知識來源,而強化學習正是基於這種探索的概念,利用演算法從環境互動中學習的方法。

強化學習基本上可以看成如圖 2 的馬可夫決策過程 (Markov decision process) 的模型,決策過程的結構中包含代理人 (agent) 和環境 (environment) 兩個主要的互動角色,一個學習的代理人必須要能夠某種程度感知 (sensation) 環境的狀態 (state),而且能夠反應影響環境狀態的行為 (action)。代理人也要設定一個本身或與環境相關的目標 (goal),對於有利或不利於目標的行為給予適當的獎勵或懲罰 (reward),而最簡單的馬可夫決策過程就建立在感知、行為、和目標三個層面上。

‧感知:能夠得知環境的狀態,以及行為對於環境狀態的改變。

‧策略與行為:為了達成目標,因應不同環境的狀態會採取不同的策略 (policy),而不同的策略又會相對影響不同的行為反應。

‧目標:學習的目的為何,根據狀態的改變,強化有利於達成目標的行動給予獎勵,對於不利的行動給予懲罰。

‧模型 (model):用來學習及預測環境狀態與不同行為間的獎勵與懲罰值,使得策略運用在適合的反應行為上。

圖 2. 強化學習流程示意圖。

強化學習所在的環境,同樣會對代理人的行為做出反應,並將反應後的新狀態反饋給代理人。代理人根據目前環境的狀態透過模型預測獎懲,策略根據獎懲決定新的行為,新的行為影響環境產生新的狀態,代理人收到狀態及獎懲後將歷史的狀態、行為及獎懲儲存用以訓練模型,然後繼續以模型預測獎懲,策略根據獎懲選擇新的行為,如此不斷反複。

強化學習的流程根據不同的模型與策略的建構方式,目前主要分為三類:value based,policy based 和前兩者混合的 actor critic。而 value based 根據策略可分為 on-policy 的 Sarsa 與 off-policy 的 Q-learning 與衍伸的 DQN,policy based 則為 Policy Gradient 與衍伸的 Actor Critic。

‧Q-Learning

以一表格紀錄狀態 S、動作 A 與獎勵 R,當代理人處於 S0 採取 A0 獲得獎勵 R1 並處於S1,且在 S1 採取 A1 獲得了獎勵 R2 並處於 S2,且在 S2 採取 A2 獲得了獎勵 R3 並處於 S3 則表格如下,此表稱為 Q 表:

表 1. 儲存狀態、動作與獎勵的 Q 表。

當狀態與動作組合是有限的時候,在理想狀態下,完成訓練後我們會獲得一個包含所有狀態與動作的完美 Q 表,Q 值與當下的獎勵及未來動作的獎勵有關,根據當前狀態 S 尋找該狀態最大的 Q 值即可在每個狀態間獲得最大效益,而 Q 值與的更新公式如下:

其中 a 學習率 (0 < a ≤ 1),g 為衰減細數 (0 ≤ g ≤ 1)。根據公式可以看出,學習率 a 愈大,g 數值愈大時,愈重視未來行動獲得的獎勵,g 愈小時,愈在乎目前可獲得的獎勵,Q-learning透過 Epsilon greedy 進行動作的決策,舉例來說:epsilon = 0.9 意味著,即使知道下一步行動最大的 Q 值為 A1,他有 90% 的機率會按照 Q 表最優值選擇行為,有 10% 的機率會隨機選擇行為,雖然可能會繞遠路,但較能保證找到全域最優解。

‧Deep Q Network (DQN)

用 Q 表訓練類神經網路,並以經驗池將其 Q 表儲存,一般有兩種形式的類神經:輸入 S 輸出每個 A 的 Q 值及輸入 SA 輸出 Q,並透過一個 Q 估計來實現網路的更新,目前的強化學習發展為透過一個未更新的類神經做為 Q 估計(8)

‧Sarsa

與 Q learning 類似,使用 Q 表紀錄狀態 S 動作 A 與獎勵 R,與 Q-learning 不同點在於只會依照當前的 Q 最佳值進行下一步動作。

‧Policy Gradient

目標為使獎勵最大,透過設定目標函數並訓練他,得到一個參數化的策略函數:

pθ (s,a) = P[a|s, q],透過獎懲將有利的行動概率提高,不利的行動概率調低,因此仍需計算 Q 值做為標籤的功能,最後獲得一個對於某狀態的行動概率網路,對於連續動作的問題中十分有用,通常使用高斯策略。

‧Actor Critic

Actor 由 Policy Gradient 演化而來,透過獎懲來調整不同狀態下採取動作的概率而傳統的 Policy Gradient 中學習速率很慢,需要花很長的時間,而 Critic 由 Q-learning 演化而來,可以計算每一步的獎懲值,為了能夠在連續動作中選取合適動作,Actor 來選擇動作,Critic來告訴 Actor 該動作是否合適,在兩者不斷的疊代下完善。

1. 在實境中使用強化學習優化參數

目前使用 DQN 的方式在尋找最佳參數,加工一次的加工數據在經驗池中添加一筆,輸入類神經網路為狀態 (參數) 與動作 (調整參數) 目標則為加工性能轉換的獎懲,以經驗池數據訓練網路後,透過 eplison-policy 的方式選擇最佳動作,期待強化學習能有效的在實際加工中透過少量的加工次數找到需求性能的加工參數。由於無法直接在深孔放電加工機上量測後取得數據,透過先前對深孔放電加工機進行的 4 因子 (放電持續時間、放電電流、電容和放電間隙) 3 水準全因子實驗 81 筆數據做為虛擬系統,81 筆數據為 4 因子中每因子 3 水準的所有組合,可粗略代表著所有參數組合的範圍,若強化學習能以少量次數將參數調整至最適參數也許能代表強化學習確實能在少量次數中學習到調整參數的方法,在虛擬系統中,一次加工則從中取一筆,試驗強化學習的可行性,我們的強化學習流程如下圖 3。

圖 3. 強化學習流程圖。

2. 透過柏拉圖最適 (Pareto-optimality) 提供多性能選擇

柏拉圖最適是指資源分配的一種理想狀態。給定固有的一群人和可分配的資源,如果從一種分配狀態到另一種狀態的變化中,在沒有使任何人境況變壞的前提下,使得至少一個人變得更好,這就是柏拉圖改善。柏拉圖最適的狀態就是不可能再有更多的柏拉圖改善的狀態;換句話說,不可能在不使任何其他人不受損的情況下再改善某些人的境況。在本研究中,欲使用柏拉圖進行多目標優化最適提供使用者性能權重的偏好的對應參數,下圖 4、5舉例說明柏拉圖最適,圖 4、5 均為 81 筆加工參數對應的加工性能,橫軸代表加工時間,縱軸代表真圓度,最靠近 XY 軸的藍色曲線 rank1 即為找到的柏拉圖最適參數點,該條線上的任一點均滿足:加工時間比該點短的範圍內,該點必為真圓度最小值,且真圓度比該點小的範圍內,該點必為加工時間最短值。

圖 4. 柏拉圖最適示意圖。

圖 5. 柏拉圖最適示意圖。

四、結果

1. 強化學習結果

次數為記錄找到滿足需求性能的參數時所花費的次數,在 200 次測試中的結果如表 2 強化學習在 81 筆數據中重複測試 200 次的平均、最大次數與標準差的表格表格 2 所示,不論是單一性能要求或雙性能要求,均能在極短的加工次數取得有效參數,設定尋找 81 筆參數中的加工時間最小值時在 200 次測試內的平均花費的次數為 22 次,最大次數也只有 36 次,而尋找真圓度的最小值時平均次數為 16.735 次,最大次數則為 46 次,這可能代表強化學習確實能在現實系統中以有效率的方式找到最適參數。

表 2. 強化學習在 81 筆數據中重複測試 200 次的平均、最大次數與標準差的表格。

2. 柏拉圖最適

下圖 6 為以 81 筆數據透過柏拉圖最適找到的最適參數,最靠近 X 與 Y 軸的 rank1 曲線即為可供加工性能偏好選擇的參數點,越往右下代表真圓度偏好越多,越往左上代表加工時間篇好越多 (愈多代表愈小)。而下圖 7 為透過 81 參數建模後預測的柏拉圖最適,可由最外圍的紅色曲線上找尋性能偏好的參數。

圖 6. 81 筆數據的柏拉圖最適。

圖 7. 81 筆數據建模後預測的柏拉圖最適。

柏拉圖最適也可提供三總加工性能時使用,下圖 8 為 81 筆數據對應的三個加工性能:加工時間、真圓度、電極削耗計算後繪製的柏拉圖最適,紅色點即為柏拉圖最適的參數點可供加工性能偏好的選擇。

圖 8. 81 筆參數對應的三個加工性能的立體圖的柏拉圖最適。

五、結論

與傳統的實驗找到最佳參數或透過實驗取得數據後建模預測最佳參數不同,強化學習透過實際加工中找尋最適參數,且已在虛擬的 81 筆參數中得到證實確實能有效率的以平均約 18 次的次數中找到 81 筆中的最佳解,期待能在虛擬系統或實際加工中以有效率的方式獲得最佳解達到參數優化的效果,我們仍在為此努力,並嘗試不同的強化學習架構。同時提供一個多目標性能的選擇方式,能在最優的加工性能中,提供性能偏好的選擇。