5a. Reinforcement Training - Blocked vs Motion 強化式學習法 (被阻了/撞牆了vs 行走中)
學習目標 :
在這一個單元,會為大家介紹一種高階的AI 學習法 - 強化式學習法。
學習內容 :
- 透過正確設定奬勵(和懲罰)機制,機械人可以自學得到智力。
- 實驗的目標是要訓練機械人可以在四方形的埸地內不停地走動。
所需準備 :
材料: | Parameter 參數 : “使用Demo參數 “Blocked vs Motion” |
|
Racing Circuit | 場地大小不限 |
導入 demo parameter 「Blocked vs Motion」 :
在工具欄中選擇「parameters」再按「load demo parameters」 。
在「Reinforcement Learning」中選擇「Blocked vs Motion」
1. 手動編輯網絡 (Manual Edit)
停止選用「learning」並開啟「manual edit」
- 試將綠色「Motion」連至向前 , 紅色 「blocked」連至轉向
- 啟用「self-drive」觀察「Reward」與「Level」的變化
Reward : 機械人向前為 100 , 被阻、轉向為 - 50
Level : 過去1分鐘 Reward 的平均值
* 它有智能嗎 ?
2. 沒有學習 (No Learning)
停止選用「manual edit」並按下「reset learning」 ,
然後按「self-drive」
AlphAI 怎樣行動 ? Reward 跟 Level 的數值是 ?
⇒ 不停自轉 , 2個數值都保持在 35
3. 強化式學習 (Reinforcement Learning)
停止選用「manual edit」並按下「reset learning」 ,
選用「learning」然後按「self-drive」
3b . 觀察學習
留意 AlphAI 行動跟 Reward 及 Level 的關係
⇒ AlphAI 在一段時間後會「滿足」現在的 Level 跟 Reward 不再提升 , 例如 : 35 , 保持自轉
⇒ 這樣的學習好嗎 ? 可以更好嗎 ?
4. 強化式學習 (with exploration 探索)
按下「reset learning」 , 增加選用「exploration」 , 然後按「self-drive」
4b. 觀察學習
留意 AlphAI 行動跟 Reward 及 Level 的關係
⇒ AlphAI 會出現隨機的 Output (探索時會變成藍色)
- Level 最後的數值會較高 , 但花的時間會較長
- 試觀察 Weight 與選擇 Output 的關係
- 它會撞牆嗎 ? 為何 ?
總結 :
- 強化式學習法(機械人自學)的原理是透過奬勵和懲罰去鼓勵機械人去做對某些動作。
- 機械人會去改變它的行為從而獲取最高的累積的平均獎勵分數。
- 向前行走得越快越多,會得到更多奬勵。
- 相反,停頓或向後行,就會被懲罰(被扣分)。
- 要將等級提升,機械人要盡力向前行,同時間要減少停頓或向後行。