Skip to content

活動

AI 說故事的朋友

中等級數 | MakeCode | LED 螢幕, 加速計, 揚聲器 | Speaking & listening, 機器學習, 瞭解人工智慧, 輸入輸出

這是一種運用孩子們已經知曉的敘事及角色發展知識來支援新的人工智慧學習的好方法。

逐步專案指南

步驟 1:了解它

它是如何運作的?

在這個專案中,您將訓練機器學習(ML)模型來識別移動接附有 BBC micro:bit 的毛絨玩具的不同方式。 您將選擇移動方式來幫助您重述故事。

然後,您將機器學習模型與 Microsoft MakeCode 程式結合起來,當偵測到這些移動時,micro:bit 將會播放聲音或顯示圖像。

什麼是機器學習?

機器學習 (ML) 是人工智慧 (AI) 的一種,電腦可以根據數據進行學習並做出決策。

ML 模型經過人類訓練來幫助它們做出這些決策,例如,當您以不同方式移動您的 micro:bit 時辨識不同的「動作」。

我將需要做些什麼?

人工智慧系統需要人類來設計、建造、測試和使用它們。

首先,您需要決定是否要使用我們提供的移動方式,或者選擇適合您自己的故事的不同動作。 我們的故事是關於一隻名叫露西的熊,她想成為體操運動員,所以我們選擇適合這個主題的移動方式:跳躍、翻滾和睡覺。

然後,您將利用 micro:bit 和 micro:bit CreateAI 網站收集資料來訓練 ML 模型、測試它、改進它,並且將其與電腦程式碼結合來製作一個運用 AI 的說故事裝置。

我們也納入一些評估問題來比較這個人工智慧專案與只運用普通演算法及程式碼的專案。

步驟 2:建立它

你需要的東西

收集數據樣本

當您在 micro:bit CreateAI 中開啟專案時,您會看到我們為您提供了一些針對您的毛絨玩具的建議移動方式(跳躍、滾動和睡覺)的資料樣本:

您可以新增您自己的毛絨玩具移動樣本,方式是利用 micro:bit 的移動感應器,其加速度計

在 micro:bit CreateAI 中,點擊「連線」按鍵來連線您的資料收集 micro:bit 並依照指示進行操作。

將資料收集 micro:bit 接附到您的毛絨玩具上。 重要的是,所有樣本都是在 micro:bit 在毛絨玩具上的相同位置處記錄。 如果您想在專案中使用現成的樣本,請將 micro:bit 朝前掛附在毛絨玩具的脖子上,如下圖所示。 如果您想改變玩具佩戴 micro:bit 的方式,請將所有提供的資料樣本替換為您自己的資料樣本。

脖子上戴著 micro:bit 的絨毛玩具熊。

新增您自己的跳躍、滾動和睡覺的移動資料樣本。 依序點擊各個動作,然後點擊「記錄」以取得各個動作的簡短樣本。

如果您犯了錯誤,您可以刪除任何您不需要的樣本。 您也可以按下 micro:bit 上的按鍵 B 開始錄製。

檢查資料樣本:所有「跳躍」樣本都看起來類似嗎? 所有「滾動」樣本看起來與「跳躍」和「睡覺」樣本是否不同?

訓練和測試模型

點擊「訓練模型」按鍵來訓練模型,然後測試它。

上下彈動您的毛絨玩具,看看估計的動作是否顯示為「跳躍」。 將毛絨玩具放下,看看是否估計為「睡覺」。 測試當您將毛絨玩具頭翻過來時是否偵測到「滾動」。

請其他人移動這個玩具,看看對於他們是否也能良好運作。

改進您的模型

大多數模型都可以藉由更多數據進行改進。 如果模型需要改進以辨識您的動作,點擊「← 編輯數據樣本」。

您可以透過刪除任何您認為不適合的樣本來清理您的資料集(因為它們看起來與相同動作的其他樣本完全不同)。 您也可以藉由新增更多來自您自己和其他人的樣本來改進模型。

考慮一下您的毛絨玩具可能「睡覺」的所有位置,您會注意到 x、y 和 z 線的順序會根據 micro:bit 的角度而改變。

再次訓練模型,然後再次測試。

將模型及程式碼放置在您的 micro:bit 上

在 micro:bit CreateAI 中,點擊「在 MakeCode 內編輯」以在 MakeCode 編輯程式中查看專案程式碼。

您可以像在任何 micro:bit MakeCode 專案中一樣修改程式碼,或者直接嘗試。

使用 USB 數據纜線接附 micro:bit,點擊 MakeCode 畫面中的「下載」按鍵,然後依照指示將您的 AI 模型和程式碼區塊傳輸到 micro:bit。

拔下 micro:bit 的插頭,裝上電池組,將其放在您的毛絨玩具上並進行測試。

程式碼區塊如何運作

當 ML 模型決定您的玩具已開始其經過訓練來偵測的其中一個動作時,就會觸發「ML… start」區塊。 根據 micro:bit 估計您的毛絨玩具正在進行的動作,micro:bit 的 LED 顯示器上會播放不同的聲音並且顯示不同的圖示。

當 ML 模型決定您的玩具已完成一項動作時,會觸發「on ML… stop」區塊。 各個區塊內的程式碼都會清除螢幕並停止所有聲音。

如果模型不確定您的玩具正在進行哪個動作,一個額外的「on ML unknown start」區塊會清除螢幕。

評量

比較這個專案與感官玩具專案,那個專案也是利用加速度計感應器來對不同的移動做出反應,但是並未運用機器學習或任何其他類型的人工智慧。

  • 感官玩具專案可以對哪些類型的移動或動作做出反應?
  • 關於 AI 說故事的朋友專案能夠做出反應的動作種類有什麼差異? 它們是比較簡單還是比較複雜?
  • 您還希望訓練 ML 模型辨識哪些其他動作?
  • 哪個專案比較能夠幫助您述說您的故事?

步驟 3:擴展它

  • 與您的 AI 說故事朋友一起探索不同的移動方式,並且變更動作以適應於著名的民間故事或童話故事。
  • 利用「show LEDs」區塊來取代「show icons」區塊來自訂圖示以匹配於您的故事。 您可以規劃您的自訂圖示,方式是利用 LED 規劃表
  • 如果您有班級吉祥物,請利用 CreateAI 來訓練吉祥物以向學生提供回饋的移動做出回應,例如給予讚美或是獎勵班級積分。