單元六:神經網絡(二)

學習目標

本單元是單元五的延續,如果未完成單元五,請回到及完成單元五。

本單元的目標是學習究竟神經網絡是如何運作的。除了重溫神經網絡的重要組成部份,例如輸入神經元、輸出神經元及神經連接外,我們會觀看及驗證訓練完成之後的權重如何使機器擁有智能?

 **本單元需要學生擁有小數的加減及乘運算的能力。

**本單元篇幅比較長,如果有需要,可以分兩堂學習。

 

學習內容

一個訓練完成的神經網絡,連接上的權重(weights) 已經被調效到一組數值。當這人工智能(AI) 被使用時,這一組數值的功用就是去模仿(imitate) AI 訓練員所作出的決定,去完成任務。訓練完成後,這一組權重的數值將不會再作改變。

究竟訓練完成之後的神經網絡如何運作呢?

 

  • 權重:
    • 訓練完成的神經網絡會擁有一組調校好的權重數值,每一個神經連接有一個調校好的權重。
    • 這一組的權重數值就代表智能。
  • 𨌺入:
    • 當有一個影像被輸入,例如紅色咭,機械人的相機會透過電腦視覺獲得影像的各個像素及它們的光亮度。
    • 這些不同像素的光亮度將會被轉化到一些 0 至 1 的數值,並且傳到不同的輪入元。輸入元的數量是等於像素(pixels/zones) 的數量。
  • 那一個決定呢? 那一個移動的動作呢?
    • 根據影像轉化到每一個輸入元的數值和訓練完成之後神經網絡內的每一個連接的權重值,神經網絡會計算每一個輸出元的合計乘積數值。
    • 假如有兩個輸出元,便會計算兩個輸出值。
    • 擁有最大數值的輸出元就是神經網絡揀算的決定了。

 

活動一:單元五 “紅燈、綠燈” 的延續課

目標:

  • 驗證神經網絡的計算運作。
  • 這一個活動是單元五的延續,我們會用在單元五已經訓練完成的神經網絡去繼續這個活動。
  • 假如你手上沒有已訓練好的單元五神經網絡,你可以根據單元五的活動工作紙,去訓練一個。

 

設置到”使用”階段

  • 關閉 “學習” <learning> 按鈕
  • 啟動 “自由駕駛” <self drive> 按鈕

*這時,你的神經網路應該已有一組訓練完成之後的權重。

 

(A) 用紅色咭去測試,並且計算輸出的兩個數值。看看那一個比較大。

用下圖去完成部份A 的活動。

  • 在AlphAI 的螢光幕上,找出權重 w11、w21、w12、及w22 的數值。
    • 它們應該在各個連接的附近。這些值是在 0 與 1 之間,有一些可能是負數。
    • 將它們記載在下圖內適當的位置上。

 

  • 將紅色咭放在架上。
    • 當感應到輸入改變了,輸入元上的數字亦會改變。
    • 這些值是在 0 與 1 之間,有一些可能是負數。將它們記載在下面圖內的適當位置上。
    • 在圖的上面部份,用提供的公式計算出輸出值1 (O1)。
    • 在圖的下面部份,用提供的公式計算出輸出值2(O2)。

 

那一個數值比較大呢?

  • 兩個數值是否與螢光幕上顯示的數值相近?
  • 比較大的那一個是否就是 AlphAI 神經網絡所揀選的決定呢?
  • 你計算的答案是否正確?

 

(B) 用綠色咭去測試,並且計算輸出的兩個數值。看看那一個比較大。

用下圖去完成部份B 的活動。

  • 在AlphAI 的螢光幕上,找出權重 w11、w21、w12、及w22 的數值。
    • 它們應該在各個連接的附近。這些值是在 0 與 1 之間,有一些可能是負數。
    • 將它們記載在下圖內適當的位置上。

 

  • 將綠色咭放在架上。
    • 當感應到輸入改變了,輸入元上的數字亦會改變。這些值是在 0 與 1 之間,有一些可能是負數。
    • 將它們記載在下面圖內的適當位置上。
    • 在圖的上面部份,用提供的公式計算出輸出值1 (O1)。
    • 在圖的下面部份,用提供的公式計算出輸出值2(O2)。

 

那一個數值比較大呢?

  • 兩個數值是否與螢光幕上顯示的數值相近?
  • 比較大的那一個是否就是 AlphAI 神經網絡所揀選的決定呢?
  • 你計算的答案是否正確?

 

 

學習內容

上面的計算及揀選決定的方法就是神經網絡運作的方法。

究竟訓練完成之後的神經網絡如何運作呢?

  • 訓練完成的神經網絡會擁有一組調校好的權重數值,每一個神經連接都有一個調校好的權重。
  • 這一組的權重數值就代表智能。

 

  • 當有一個影像被輸入,例如紅色咭,機械人的相機會透過電腦視覺獲得影像的各個像素及它們的光亮度。
  • 這些不同像素的光亮度將會被轉化到一些 0 至 1 的數值,並且傳到不同的輪入元。
  • 輸入元的數量是等於像素(pixels/zones) 的數量。

 

  • 根據影像轉化到每一個輸入元的數值和訓練完成之後神經網絡內的每一個連接的權重值,神經網絡會計算每一個輸出元的合計乘積數值。
  • 假如有兩個輸出元,便會計算兩個輸出值。
  • 擁有最大數值的輸出元就是神經網絡揀算的決定了。

 

活動二(延伸活動) - 驗証神經網絡對應左咭及右咭的計算

目標:

  • 驗證神經網絡的計算

 

材料:

  • 三張 10厘米x10厘米的咭。一張是左邊黑、另一張是右邊黑、最後一張是全黑(左邊和右邊都是黑色的)。

 

  • 全黑咭是用來控制車輪停止轉動的。

設置

  • 將 AlphAI 機械人放在小積木上,讓它的車輪可以在空中自由轉動而機械人仍然可以停止不動。
  • 將AlphAI 機械人(鏡頭)放在距離咭紙架大約 4至5厘米的地方。

AI 設置參數

  • 參考附件A1

開始實驗

  • 啓動AlphAI 機械人及聯線到你的電腦。需要時按螢光幕上的”聯線” <Connection> 按鈕。
  • 如果設定參數正確,螢光幕將會顯示以下的神經網絡。

標籤輸出

  • 左邊黑色的咭 - 左轉
  • 右邊黑色的咭 - 右轉
  • 全黑的咭 - 停止

訓練

  • 點擊 “重設學習” <reset learning> 的按鈕。
  • 啓動 “學習” <learning> 按鈕。
  • 將”左邊黑色”的咭放在架上。
    • 觀看螢光幕,看看卡紙是否放置正確。
    • 如果放置正確,根據輸出標籤點擊代表這咭的輸出動作(左轉)。
    • 重覆 4至5次。
  • 將”右邊黑色”的咭放在架上。
    • 觀看螢光幕,看看卡紙是否放置正確。
    • 如果放置正確,根據輸出標籤點擊代表這咭的輸出動作(右轉)。
    • 重覆 4至5次。
  • 將”全黑色”的咭放在架上。
    • 觀看螢光幕,看看卡紙是否放置正確。
    • 如果放置正確,根據輸出標籤點擊代表這咭的輸出動作(停止)
    • 重覆 4至5次。

測試

  • 仍然保持啓動 “學習” <learning> 按鈕。在測試途中,這樣,如果有需要時,我們會增加訓練。
  • 測試 “左邊黑色” 的咭。
    • 機械人答對嗎?如果不對,請增加數次訓練量,直至答對為止。
  • 測試 “右邊黑色” 的咭。
    • 機械人答對嗎?如果不對,請增加數次訓練量,直至答對為止。
  • 測試 “全黑色” 的咭。
    • 機械人答對嗎?如果不對,請增加數次訓練量,直至答對為止。
  • 你需要足夠及平衡的訓練才能夠獲得全對的智能。為此,耐性很重要。必要時,是需要幾輪平衡的訓練才能成功的。
  • 請繼續測試直到三張咭都能夠成功被辨認正確。

 

  • 關閉 “學習” <learning> 的按鈕,代表訓練已經完成。
  • 啓動 “自由駕駛” <self drive>。機械人將會用已經學習到的智能去分辨。

 

驗證人工網絡應用時的計算方式

(A) 計算當輸入是 “左邊黑色”的咭時3個輸出的數值。那一個輸出值最大?

  • 將 “左邊黑色”的咭放在架上。
  • 在螢光幕上顯示的 AlphAI 人工網絡上,找出 2個輸入元的數值 及 6 個權重數值,並填寫入下圖內。
  • 根據提供的公式,計算 3個輸出元的數值。
  • 比較一下,那一個是最大呢?
  • 看看螢光幕,這一個是否 AlphAI 所揀選的答案呢?

(B) 計算當輸入是 “右邊黑色”的咭時3個輸出的數值。那一個輸出值最大?

  • 將 “右邊黑色”的咭放在架上。
  • 在螢光幕上顯示的 AlphAI 人工網絡上,找出 2個輸入元的數值 及 6 個權重數值,並填寫入下圖內。
  • 根據提供的公式,計算 3個輸出元的數值。
  • 比較一下,那一個是最大呢?
  • 看看螢光幕,這一個是否 AlphAI 所揀選的答案呢?

(C) 計算當輸入是 “全黑色”的咭時3個輸出的數值。那一個輸出值最大?

  • 將 “全黑色”的咭放在架上。
  • 在螢光幕上顯示的 AlphAI 人工網絡上,找出 2個輸入元的數值 及 6 個權重數值,並填寫入下圖內。
  • 根據提供的公式,計算 3個輸出元的數值。
  • 比較一下,那一個是最大呢?
  • 看看螢光幕,這一個是否 AlphAI 所揀選的答案呢?

學習內容

上面的計算及揀選決定的方法就是神經網絡運作的方法。

  • 訓練完成的神經網絡會擁有一組調校好的權重數值,每一個神經連接有一個調校好的權重。
  • 這一組的權重數值就代表智能。
  • 當有一個影像被輸入,機械人的相機會透過電腦視覺獲得影像的各個像素及它們的光亮度。
  • 這些不同像素的光亮度將會被轉化和傳到不同的輪入元。
  • 根據影像轉化到每一個輸入元的數值和訓練完成之後神經網絡內的每一個連接的權重值,神經網絡會計算每一個輸出元的合計乘積數值。
  • 假如有三個輸出元,便會計算出三個輸出值。
  • 擁有最大數值的輸出元就是神經網絡揀算的決定了。

當輸入是 “左邊黑色”的咭時,兩個輸入元數值及六個權重數值會被用來計算三個輸出元的數值,然後作比較。最大的輸出元數值,就會被揀選作為決定。如果訓練正確,對於 “左邊黑色”的咭,最大的值應該是 “左轉”,它就是訓練好的智能為你選的決定了。

同樣的道理,”右邊黑色”咕的決定應該是 “右轉”; “全黑色”咭的決定應該是 “停止”。

在訓練的過程中,基於訓練的資料,神經網絡演算法會調效出一組權重。這一組權重是可以 “模仿”AI訓練員所作出的決定。當這一組權重調效好並測試正確,智能就被建立了。我們就可以用這個智能去分辨新的輸入了。

 

討論

  • 機械人有沒有學習到智能?他是透過什麼獲得了智能呢?
  • 在這實驗內的神經網絡,總共有多少個輸入元呢?
  • 在這個實驗的神經網路,總共有多少個輸出元呢?
  • 你可以畫出這一個神經網絡嗎?你有否畫出了所有連接呢?
  • 總共有多少個連接?
  • 試講出權重的重要。

 

附件A

傳感器(輸入)

  • 2x1 像素的相機

傳感器(輸入)

  • 灰階

動作(輸出)

  • 左轉
  • 右轉
  • 停止

標籤輸出

AI 設置

顯示設置