G1.2 LV2 編程 | Programming
還未正式接觸機器學習(Machine Learning) , 但我們將開始通過「編程」來熟習一個小型的人工神經網絡 (Artifical neural network)。
操縱 | Manipulation :
假如你尚未完成上一個 demo , 請按「stop」button停止 AlphAI。
在「Parameters」選擇「Load demo parameters...」然後選擇「manual edition - blocked vs. motion」 , 再按「Start」。
你將會看到一個迷你的「神經網絡 | neural netowrk」, 並且由你決定如何連接!
在神經網絡的左面會見到「紅色車輪」及「綠色車輪」的圖示 , 它們代表著 AlphAI 小車運動傳感器(Motion Sensor)的狀態。 那些細小的黑色/黃色方形是「人工神經元 | artificial neurons」。假如小車沒有被障礙物擋路 , 「綠色車輛」的神經元會亮起。另一方面 ,假如被障礙物擋住 , 「紅色(被擋住)車輪」神經元便會亮起。
透過點擊虛線 , 把這2個輸入神經元(input neurons)及5個輸出神經元(output neurons)連接成5個合理的結果。
多虧了這些連接,您可以讓AlphAI根據它是否被阻擋來選擇不同的動作(action)。
觀察底部的「Reward」及「Level」: AlphAI 走得越遠,它獲得的獎勵就越高,同時等級也越高(等級是一分鐘內獲得的獎勵的平均值)。嘗試設置 2 個連接方案以使AlphAI達到最佳水平。
解決方法 : 當不被阻擋時直行 , 當被擋住時轉右/轉左 (2種可能)
討論 :
這個活動中我們讓 AlphaAI 可以自主移動。 它不再需以依靠人類來做決定,變成了一個電腦程序,以圖像形式顯示出「sensor」輸入和「action」輸出之間的連接。 在 Scratch、Python 或任何其他通用語言中,編程的形式將會是 : 如果我被擋住了,那麼機器人就會返回,否則它會直行。 在討論中重述所涉及的其他元素,與生物的異同。
機械人特點 | Robot Features :
- Sensor 感應器
- 經過編程後,決策將由 Sensor 的狀況而決定並充許做出自主性的行為。
與日常生活相似的例子 :
- Sensor <---> Sensor Organ (器官)
- 進行決策的程序 <---> 大腦 = 指令中心
機械人不具的品質 / 效能
- 機器人只做人類預先計劃好的事情。
- 人類會提前預備所有的場景和機械人的行動。它只會做同樣的事情且不會變通。
更進一步 : 第二次操縱
假如參加者是小學或中學生而你又選擇深入的版本時 , 你可考慮分成幾節課並讓學生重覆操作「manual - edition - blocked vs movement + ultrasound」。你需決定以下4種情況以採取什麼行動 : 1) AlphAI 被阻擋而且在前方探測到障礙物 , 2) AlphAI 被阻擋但前方探測不到障礙物 , 3) AlphAI 沒被阻擋但前方探測到障礙物 , 4) AlphAI 沒被阻礙又沒探測到障礙物。 請注意超音波(Ultra-sound)有某些角度可能會「看」不到牆壁。