偵測入侵者 | INTRUDER DETECTION

在前面的例子中 , 我們使用過中間神經元層來處理一些非常複雜的訊息。在這裡 , 我們將使用一個更簡單的例子讓大家理解這些中間神經元層的用處。

導入「Supervised Learning - Intruder Detection」

或自行選擇所需的參數 :

  • 在 AI tab :

- 「learning type」選擇 「supervised learning」, 「algorithm」選擇「neural network」 ,

  取消剔選「neurons have bias」 , 將「buffer size」設成「1000」

  • 在 Sensor tab :

- 先按「ultrasound 」再選「distacne to obstacle」

  • 在 Action tab :

-  選擇 「Buzzer」及「Stop」

測試階段 :

把機器人放置到可以在不移動的情況下轉動車輪的位置。

  • 將機器人放到牆壁或類似的平面物體(e.g. 盒子)前 , 並在機器人跟牆壁之間保留一些空間。
  • 我們希望告知機器人這個情況是正常的 ; 啟動機器人(按下 self-drive)

在實驗中 , 被機器人偵測的「入侵者」將會以一個平坦物體作展示 , 例如一個盒子。假如你沒有其他東西也能用手來表示。

  • 把入侵者放在機器人與牆壁之間 ,並且與牆平行擺放 , 然後按下數次「Buzzer」圖標。
  • 移除/拿走入侵者。

機器人會繼續轉動它的車輪 (事實上不應這樣做) , 為了解決這個問題 , 我們需要增加一個神經網絡。

  • 在 AI 視窗中勾選「neurons have bias」 (如上圖)
  • 重新訓練機器人 (跟之前一樣做法)
  • 當機器人訓練有素時就可以把入侵者放到機器人和牆壁之間 , 但這次不能平排擺放,要形成一個角度。這一次機器人將無法辨認出入侵者。

因為入侵者的擺法形成一個角度 , 超聲波會被折射而不是直接發回機器人。為了解決這個問題 , 機器人需知道超聲波所計算的距離是太長還是太短(誤差) , 從而判斷有沒有入侵者。為了考慮這種更複雜的問題 , 必須添加一層中間神經元層。

  • 在 AI 視窗的「hidden neurons layers 」輸入「5」 , hidden neurons layers 的意思跟 intermediate neural layers一樣

教導機器人以下行為

  • 當沒有入侵者時 , 按「Stop」圖標
  • 當有入侵者時 , 無論它與牆壁是平行還是傾斜成某個角度地擺放 , 均按下數次「Buzzer」圖標

訓練完成後 , 機器人應該具備以上的可預見行為。

學到的概念 :

添加中間神經元( Intermediate neurons / hidden neurons) 以進一步處理資訊 , 再一步可以使用線性函數(linear function) 進行處理。