Workshop 3 - Blocked vs. Motion (Elementary Level)
Blocked vs Motion| 阻塞 vs 移動
這個實驗將介紹 Reinforcement learning (強化學習) , 它是一個進階的 AI 訓練方法。
原理是設定獎勵(Reward)以訓練機器人在不撞到牆壁/物件下自由移動。
材料 :
- 已經在電腦安裝 AlphAI software (每一隻 AlphAI 需一台電腦)
- 具備藍牙或Wi-Fi功能的電腦以和 AlphAI 進行溝通
- AlphAI 機器人 (最少一隻)
- 擁有足夠的材料建構場地 (最基本是建造出四面牆壁)
上圖為 AlphAI (Learning Robots) 的場地套件(SMALL RACING CIRCUIT)。
需時 :
30分鐘 至 2小時 (視乎訓練程度)
開機及連接 :
→ 安裝 AlphAI software , 點擊「AlphAI」圖示以開啟軟件
→ 開啟 AlphAI 的電源 (電源掣在底部)。需時約20-30秒 , 它會輕輕移動幾步, 當它準備好連接時會亮起白光。
→ 記下 AlphAI 底板的編號 ( 應該3位數 e.g 197 )
→ 選擇以WiFi 或 藍牙接駁 ( 當超過4個 AlphAI 或房間已有多個 WiFi 網絡時 , 建議使用藍牙接駁)
Wi-Fi : | 藍牙 : |
---|---|
- 將電腦連接至 AlphAI 的 Wi-Fi :找出以 AlPHAI 開頭並以機械人編號結尾的 Wi-Fi 網絡 : 密碼與Wi-Fi名稱相同 (包括大小寫)- 在「Tools」工具欄中選擇「wifi」 | - 在 「Tools」工具欄中選擇「Bluetooth」,選擇相應的 AlphAI (對應機身編號)- 如果你的 AlphAI 不在列表中 , 點擊「pari a new robot via Bluetooth」並在該 AlphAI 出現時選擇 它 , 然後將它添加到您可以選擇的列表中。 |
→ 點擊「connection」 button 來連接你的 AlphAI 。連接後你將在右下角能看到它的電量。
連接常見問題可查閱 : AlphAI 連接常見問題
Reinforcement Learning (加強學習) 是什麼 ?
強化學習(機器人的自我學習)的原理是通過給予獎勵和懲罰來鼓勵機器人做某些動作(Output)。 然後機器人將不斷訓練這個行動以最大化得到的 Level (等級) 。
AlphAI 行駛得越快,它得到的獎勵就會越多,但如果它停下來或向後行駛,它就會受到懲罰。
為了最大化它的 Level (等級),機器人應盡可能地向直行駛,並且儘可能減少地停止和向後行駛。
Level (等級) 是指是過去2分鐘內獎勵的平均值。
獎勵與等級 (Reward and Level)
- 獎勵的動作 :
向前行駛 +100
向前左轉 , 向前右轉 +30
- 懲罰 :
速度變成0 (被阻擋) 或 向後行駛 : -50
- Level (等級) 是指是過去2分鐘內獎勵的平均值。
導入「Paramaters - Blocked vs Motion」
→ 在「Parameters」中選出「load demo parameters...」然後導入「Reinforcement learning - Blocked vs Motion」
Parameters 是 AlphAI 預設的 Demo Configuration setting , 方便用家直接導入使用。
設定完成的介面 :
(A) 實驗 1 - Self Drive without Learning (沒有學習的自我駕駛)
1. 點擊 <reset learning> 一次
按下圖設定各個按鈕 :
1. 關上 <learning> button
2. 關上 <exploration> button
3. 點擊 <self drive> button
- 觀察 AlphAI 的行為
討論 :
- 描述 AlphAI 的行為
- Reward 跟 Level 有什麼改變 ?
- 有涉及「學習」嗎?
(A)實驗 2 - Learning without Exploration (沒有探索的學習)
1. 點擊 <reset learning> 一次
按下圖設定各個按鈕 :
1. 開啟 <learning> button
2. 關上 <exploration> button
3. 點擊 <self drive> button
- 觀察 AlphAI 的行為
討論 :
- 描述 AlphAI 的行為
- Reward 跟 Level 有什麼改變 ?
- 有涉及「學習」嗎?
- 機器人滿足於現在的 Reward 及 Level 嗎 ?
- 你滿意於現在的 Reward 及 Level 嗎 ?
(C) Experiment 3 - Learning with Exploration (包括探索的學習)
1. 點擊 <reset learning> 一次
按下圖設定各個按鈕 :
1. 開啟 <learning> button
2. 開啟 <exploration> button
3. 點擊 <self drive> button
- 觀察 AlphAI 的行為
- 觀察 AlphAI 的行為
- 它有獲得高分數的獎勵嗎 ? 例如+100.
- 當 Output 的箭嘴變成藍色即是機器人正在探索新的 Output , 你有觀察到什麼 ?
- 當 Level 到達50 , 暫停(關上) learning button
測試 :
- 關上<learning> button。點擊 <self drive> button. AlphAI 將根據學習完的經驗開始移動。
- 測試它能達到的最高 Level 是多少 ?
- 訓練後的 AlphAI 運作得順利嗎 ? 它移動得順暢嗎 ? 有撞到牆壁嗎 ?
討論 :
- 它移動得順暢嗎 ?
- 訓練有達成目的嗎 ? AlphAI 在學習後有獲得「智慧」嗎 ?
- 討論 reinforcement learning 的概念。
- exploration 在自我學習中的重要性。
- 為了使強化學習成功,有什麼是重要的 ?
**對於想深入了解強化學習和神經網絡的同學,可以繼續 Intermediate Level 。