G1.3 LV3 監督式學習(模仿) | Supervised ("imitative") Learning

現在我們將進入問題的核心,了解AI人工智能的最重要概念! 監督式學習的原理 : 在第一個訓練階段AI演算法會根據收到的輸入給出它(AI)應該做出決策的例子。 演算法從這些示例中學習並在第二階段變得自動/自主化。 最終它將能夠對新的輸入數據做出正確的決定。

訓練 :

搭建一個環形場地。 為了簡化機器人的學習,請在地而與牆壁之間對比度良好且照明均勻的環境下進行。 AlphAI 的原裝場地使用白色地面、紅色外牆和黑色內牆,如下圖所示。

在「Parameters」選擇「load demo parameters...」而且選擇「supervised lerning - navigation with camera (robot race) , 取消勾選「self-drive」button  , 這樣 AlphAI 便不會自行移動。

按「Start」然後通過點擊 dashboard 上的箭頭或使用鍵盤上的方向鍵來引導 AlphAI 做出正確的決定。與早前駕駛(Level 1 : Remote Control) 的不同之處在於現在 AlphAI 會記住你對它選擇的動作。

不要試圖讓 AlphAI 行得太快 , 每次做決定前都花一點時間來做選擇。注意不要混淆 AlphAI 的左右!

教它正確地圍繞賽道行駛幾個圈 , 同時避免與牆壁發生碰撞。

將 AlphAI 放至障礙物前並教它在這些情況下要怎麼做。

用途 : 自走車比賽 (Autonomous robot(s) race

完成訓練後 , 將 AlphAI 改回 「Self-Drive」Mode , 這樣它就會自動行駛。

假如你有時間,你可以組織一場 AlphAI 之間的賽前試跑。在這場比賽,可以進一步提高訓練水平。實際上,機器人很有可能會出現當初訓練期間未曾遇到的情況(例如 : 卡在比賽場地的邊緣或另一台 AlphAI 上)。

您可以在 dashboad 上的箭頭或鍵盤來控制它(無需關閉autonomous mode |自主模式),糾正它去做正確的動作(通常是把它駛回正確方向) : 透過發現新狀況AI將增加新的訓練數據。

在任何情況下 , 你都能完成一個「正式」比賽。在開始時 , 所有 AlphAI 都會排在起跑線上等待參加者啟動 , 當然是能使用 SELF-DRIVE MODE 來進行比賽。假如 AlphAI 卡在障礙物上超過5秒 , 老師(裁判) 將會把它放回賽道。這樣的比賽是非常具挑戰性的 , 當然訓練得最好的 AlphAI 最終會勝出比賽。

在只有一台 AlphAI 的課程/研討會的情況下當然是無法組織比賽的 , 但我們也能夠簡單地展示 AlphAI 是如何學會在賽道上行駛。

討論

在剛剛的活動我們使用了監督式學習演算法 ( supervised learning algorithm)。這個演算法是基於在 dashboard 上顯示的人工神經網絡(artificial neural network) (但其實還有其他不基於神經網絡的演算法, 例如 : K-nearest neighbours algorithm" KNN: Algorithm)。所有監督式演算法的運作原理如下 :

第一階段為訓練 , 我們將向演算法提供大量的決策示例 i.e. 機器人通過鏡頭看到的圖像及鏡頭看到這些圖像時應該選擇的動作。在訓練期間,人工神經網絡會透過學習演算法(Learning algorithm)進行修改(更具體來說就是一些增加連接 , 另一些連接數量降低了 , 因此神經網絡可以變得能夠模仿相同的決策)

第二階段為用法(usage) , 演算法能夠對新圖像做出正確/好的決策。

我們將看到並非所有機械人都會學到相同的東西,有些在比賽的表現會更好 , 有些表現則欠佳。但由於所有參賽者都使用相同的演算法 , 我們可以看到自主決策(autonomous-decision-making)的質素是取決定訓練數據的質素。

我們可以互相討論還有什麼因素會影響訓練數量的質素。

建議答案 : 

  • 在訓練時沒有錯誤
  • 數據的數量Amount of data.
  • 情景的完整性(在訓練期間提供足夠情景)
  • 我們建議在此討論「AI有多聰明」,接下來的部份將提供建議答案

機械人的質素(除了以上) | Qualities of Robot (In addition of above) :

  • 記住人類給出的例子(數以百計)
  • 學習編程來改變機械人的「腦袋」

訓練數據質素的重要性 | Necessary Qualities of training data :

  • 沒有錯誤
  • 情景的完整性
  • 數量

與日常生活相似的地方 :

  • 記憶 , 在睡眠時的累積及回放
  • 學習 , 改變連接
  • 重複/堅持

機械人不具的品質 / 效能 :

  • 機器人只是簡單地再現了人類決定的行為 , 它仍舊是沒有主動學習/判斷的能力。
  • 意想不到的事情/未曾經歷的事情可能會發生 , 尤其是訓練量不足的時間將會發出錯誤。

監督式學習的例子 :

列出例子以向參加者說明監督式學習的用途是非常重要的。

更進一步 , 更多活動 :

如果你有充裕的時間,可以把活動分佈在不同課節中,這樣便可以更詳細地解釋「演算法的運作原理」。

我們建議由K-nearest neighbours algorithm開始介紹 , 因為它是一種直觀而且容易理解的演算法。Demo 請選擇「supervised learning - KNN camera」, 請參考 KNN Algorithm tutorial 以作解釋。

你亦可能想對神經網絡有一些初步的理解 , 你可在Demo Parameters選擇「supervised learning - intruder detection」並參考 Intruder detection tutorial (入侵者) 來解釋。