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