交大CGI實驗室的學生朱詠嘉(Roger),去年在拉斯維加斯的AWS DeepRacer League中獲得第三名,今天也在一場活動中分享參賽的經驗秘訣。

圖片來源: 

攝影/翁芊儒

交大資工系電腦遊戲與智慧實驗室(CGI)的學生朱詠嘉(Roger),繼去年6月獲得AWS自動駕駛迷你車競賽(AWS DeepRacer League)臺北場的冠軍後,同年12月更在拉斯維加斯舉行的世界盃比賽中,打敗一眾頂尖的AI工程師,獲得全球第三的佳績。由交大資工系教授吳毅成領導的CGI團隊,如何設計出能適應現實環境的演算法、提高強化學習模型的表現?昨天一場活動上,CGI團隊現身說法,分享了參賽半年的經驗秘訣。

AWS的DeepRacer是一款原比例1/18的模型賽車,搭載Intel Atom CPU、400萬像素的深度學習鏡頭,專為強化學習(Reinforcement Learning)驅動的賽車比賽所設計。選手參賽前,需先使用Amazon SageMaker RL平臺,線上訓練強化學習模型,再以USB傳輸直接部署到迷你小車中,讓車子能根據輸入的影像來做出相應決策。

要訓練出RL模型,參賽者可以直接選用平臺上提供的模型進行訓練,也能選擇自行以獎勵函數(Reward Function)來開發,根據賽車是否正確轉彎、超出賽道、速度快慢等行為,來給定正負回饋,定義各項行為的參數數值越精細,就有機會訓練出能力越強的模型。朱詠嘉說明,官方預設提供了7個方向與3種速度可用來訓練模型,這個參數組合可以訓練出能預測21種行為分布機率的模型,車子再選擇機率最高的行為,作為最後採取的行為。

CGI團隊成員陳源灝也舉例說明,若要讓車子維持在中心線,可以將函數設定成,當車子距離賽道中心小於0.1的值時,就給一分的獎勵,反之則不給獎勵,「這種設定方法是希望車子待在賽道中心以防出界,但訓練出來的AI也較保守,轉彎的時候不會切西瓜、速度比較慢。」但這時,如果在獎勵的部分多加上「速度」的參數,就可能再優化AI的表現。

除了獎勵函數的設定之外,要讓模型表現更好,還得再進一步調整深度強化學習演算法PPO(Proximal Policy Optimization)的超參數,但朱詠嘉也表示,AWS在SageMaker中有提供RL、獎勵函數等初階課程,但對於調整PPO超參數等進階課程的資源較少,「初學者從獎勵函數下手比較有趣一點。」

實體賽虛擬賽雙料冠軍!CGI團隊揭露參賽的經驗秘訣

CGI團隊首先參加了去年6月在臺北舉辦的實體賽車比賽。準備過程中,由於團隊訓練的多個模型只有在模擬器中測試過,並無在實體場域運行的經驗,因此產生了sim2real(從虛擬到真實)的問題,「這是我們當時遇到的最大挑戰。」陳源灝說明,RL模型的訓練過程中,得經過幾百萬次的試錯過程,但因只能用虛擬環境來訓練,不會遭遇到真實環境的情況,例如光影變化,也不會有震動造成的影像模糊問題,這些特殊情況,都可能影響訓練好的RL模型無法適應實際上場時的場地條件。

為了解決這個問題,團隊決定在訓練過程的輸入影像中,隨機加上光影,先取中心點當陰影中心,再隨機製造出角度、周長、光影深度不同的橢圓形,來模擬實體環境中可能出現的雜訊。訓練完的模型,盡管沒有任何實體賽車的經驗,仍順利為4名團隊成員分別奪得一、三、五、七名的佳績。

在訓練過程的輸入影像中,隨機加上光影,來克服sim2real(從虛擬到真實)的問題。

接著,團隊也報名了10月舉行的線上虛擬賽,同時也是6場全球虛擬賽中的最後一場。虛擬賽的賽制,是讓參賽者在為期一個月的時間內,能無限次的提交訓練完的模型,並以最快的秒數作為最終成績。而且,不同於先前實體賽中,訓練用的賽道與比賽用的賽道相同,虛擬賽使用兩個不同的賽道,就是要考驗參賽者模型應變的能力,「所以不能只是死背賽道。」CGI團隊成員黃勁博表示。

這次虛擬賽中,團隊遇到的問題,則是每次提交了模型去比賽時,無法看到賽車在模擬器中實際比賽的狀況,只會得到一個秒數成績及log檔,「這是很大的問題,因為我們不知道比賽過程發生什麼事,是跑太快、太慢,或是模型已經過適(Overfitting)導致特定的彎都出錯?」

黃勁博表示,為了解決問題,團隊開發出一個可以從log檔畫出賽車路徑的分析工具,不僅能視覺化行進路線,每一段的車速還能根據高、中、低速以不同顏色標記出來,比如從最後以7.172秒得冠的路徑中,可看到大多數的路段都以高速完成。

該工具能從log檔畫出賽車路徑,路徑每一段的車速還能根據高、中、低速以不同顏色標記出來。

另一個分析工具,則是為了持續監測模型更新前後的表現差異。如圖示,左圖的每一軌,就是每個模型在模擬器中運行50次後的平均速度比例分布圖,綠色代表高速、橘色是中速、藍色是低速,協助團隊觀察該模型較常用哪種速度去比賽;右上方的圖表則代表模型的平均完成進步圖,隨著迭代次數增加而持續進步;右下方圖表則是平均完圈率,「透過以上三種工具,我們更容易選擇出要用哪個模型去比賽。」黃勁博說。

藉著本身的實力以及輔助的小工具,團隊最後分別獲得了1、2、4、5名的成績,其中獲得第一名7.172成績的陳源灝(Eric),更是虛擬賽中有史以來最好的成績,順利晉級獲得參加AWS世界盃決賽的資格。

買錯實體賽道!世界盃決賽前緊急調整作戰策略

為了在最後的實體賽中脫穎而出,團隊也決定要購入一張實體賽道,來演練在實體場域中的可能遇到的問題,並藉此測試出表現最好、最適合上場參賽的模型。然而,十月取得賽道時,才發現帆布材質的賽道造成了嚴重的反光,導致模型無法根據輸入影像來有效做出判斷,朱詠嘉甚至把臺北場的冠軍模型放上去測試,「結果連半圈都跑不完。」後來,團隊又花費約8萬元來製作一張實體賽道,才解決了反光問題。

除了實體場域的建置,團隊也再開發了兩個視覺化的分析工具,分別是模型注意力分布圖,以及模型決策的分析圖。前者以紅色、綠色、藍色作為注意力由高到低的表現,「從影像來,紅色在中線跟邊界的白線上,代表模型是根據這兩者來決定要不要前進,這就是正確的。」反之則代表模型訓練有問題;後者則是將模型選擇21個動作的機率視覺化,來分辨模型的決策是否正確,「算是除錯用的工具之一。」朱詠嘉表示。

模型注意力分布圖,以紅色、綠色、藍色作為注意力由高到低的表現,

模型注意力分布圖,能視覺化該模型選擇21個動作的機率,如右圖的21個指標,決策率最高的會亮紅色。

正當團隊以為軟硬體都準備完成,可以在實體場地進行模型的訓練與優化時,「我們11月中才發現,實體賽道印錯了,比賽用的是另外一個,但也來不及重印了。」對此,團隊只好重新擬定策略,改成先以錯誤賽道的虛擬模擬器來訓練模型,並放到錯誤的實體賽道中去測試,從中挑出幾組表現好的超參數後,再放進指定比賽賽道的模擬器中測試,最後到拉斯維加斯比賽場地中,再根據實際測試結果選擇比賽用的模型。

朱詠嘉表示,比賽過程很驚險,一度面臨被淘汰的危機,甚至有一場跑出8秒多的成績卻沒被裁判紀錄到,不過經歷層層關卡,最終仍奪下全球第三,在一眾AI好手中脫穎而出。他也表示,未來將鼓勵學弟妹也去參賽,並把這次累積的經驗與知識傳承下去。


Advertisement

更多 iThome相關內容