子どもたちがすでに知っている物語と登場人物を利用した人工知能に関する新しい学習方法
ステップ 1: 理解する
どんな仕組み?
このプロジェクトでは、BBC micro:bit が取り付けられたぬいぐるみを動かすさまざまな方法を認識できるように機械学習 (ML) モデルをトレーニングします。 ストーリーを語り継ぐための動きを選ぶ。
その後、機械学習モデルをマイクロソフトのMakeCodeプログラムと組み合わせると、これらの動きが検出されたときにmicro:bitが音を鳴らしたり、画像を表示したりする。
機械学習とは何ですか?
機械学習 (ML) は、コンピュータがデータに基づいて学習し、意思決定できる人工知能 (AI)の一種です。
ML モデルは、たとえば micro:bit をさまざまな方法で動かしたときに、さまざまな「アクション」を認識するなど、決定を下すのに役立つよう人がトレーニングします。
必要なこと
AIシステムの設計、構築、テスト、使用には人間が必要だ。
まず、私たちが用意した動きを使うのか、それとも自分のストーリーに合った別の動きを選ぶのかを決める必要がある。 ルーシーというクマが体操選手になりたいというお話なので、このテーマに合った動きを選びました:ジャンプ、転がる、寝る。
その後、MLモデルを訓練するためのデータを収集し、それをテストし、改良し、コンピューターコードと組み合わせて、micro:bitとmicro:bit CreateAIウェブサイトを使って、AIを使ったストーリーテリングデバイスを作ります。
また、このAIプロジェクトと通常のアルゴリズムやコードを使用したプロジェクトを比較するための評価問題も用意しました。
ステップ2: プログラムする
必要なもの
- micro:bitと単4電池2本が入る電池ボックス
- ChromeまたはEdgeウェブブラウザを使用して、micro:bit作成AIのウェブサイトにアクセスできるコンピューター(デスクトップ、ラップトップ、またはChromebookなど)
- コンピュータにBluetoothが搭載されていない場合は、micro:bit V2が別途必要になります。
- ぬいぐるみとストラップとホルダー、またはmicro:bitをおもちゃに取り付ける別の方法(柔軟なクラフト用の茎やゴムひもなど)
- 気づくかもしれませんmicro:bitのCreateAIを教えるヒントが役に立つことに
データサンプルの収集
micro:bit CreateAIでプロジェクトを開くと、ソフトトイに推奨される動き(ジャンプ、転がる、寝る)のデータサンプルが表示されます:
micro:bitの動作センサーを使って、あなたが持っているぬいぐるみの動作サンプルを追加することができます、そして加速度センサーを使って。
jumping
rolling
sleeping
micro:bit CreateAIで「接続」ボタンをクリックしてデータ収集用のmicro:bitを接続し、指示に従ってください。
データ収集用micro:bitをぬいぐるみに装着します。 すべてのサンプルが、ソフトトイ上のmicro:bitの配置を同じにして録音されることが重要です。 既製のサンプルをプロジェクトで使用する場合は、下の写真のように、micro:bitをソフトトイの首の周りに前向きに取り付けます。 micro:bitのおもちゃの装着方法を変更したい場合は、提供されているデータサンプルをすべて自分のものに置き換えてください。
ジャンプ、寝返り、睡眠など、独自の動作データサンプルを追加できます。 各アクションを順番にクリックし、「記録」をクリックしてそれぞれの短いサンプルを撮る。
間違えた場合は、不要なサンプルを削除できます。 micro:bit のボタン B を押して記録を開始することもできます。
データサンプルを調べる:すべての 「ジャンプ 」サンプルは似ているか? すべての「ローリング」サンプルは、「ジャンプ」や「スリーピング」と違って見えますか?
モデルのトレーニングとテスト
「モデルのトレーニング」(Train model)ボタンをクリックしてモデルをトレーニングし、テストします。
ぬいぐるみを上下に跳ねさせ、「ジャンプ」が推定動作として表示されるかどうかを確認する。 ぬいぐるみを寝かせて、『寝る』と推定されるかどうかを確認する。 ぬいぐるみをひっくり返したときに「ローリング」が検出されるかどうかをテストする。
他の人におもちゃを動かしてもらい、同じように動くかどうかを確認する。
モデルの改善
ほとんどのモデルは、より多くのデータを学習させることで精度を上げることができます。 アクションを認識するためにモデルの改善が必要な場合には、「← データ サンプルを編集」(← Edit data samples)をクリックします。
データセットのクリーニングは、適合しないと思われるサンプルを削除することで行うことができます(同じアクションの他のサンプルと全く異なって見えるため)。 また、自分自身や他の人からのサンプルを追加してモデルを改善することもできます。
あなたのソフトトイが「眠る」かもしれないあらゆるポジションを考えてみてください。micro:bitの角度によって、x、y、zラインの順番が変わることに気づくでしょう。
モデルを再度トレーニングし、再度テストします。
モデルとプログラムをmicro:bitに入れる
micro:bit CreateAI で、「MakeCode で編集」(Edit in MakeCode)をクリックすると、MakeCode エディターでプロジェクトのプログラムが表示されます。
他の micro:bit MakeCode プロジェクトと同じようにプログラムを変更したり、そのまま試したりできます。
USB データ ケーブルで micro:bit を接続し、MakeCode 画面の 「ダウンロード」ボタンをクリックして、指示に従って AI モデルとプログラムを micro:bit に転送します。
micro:bitのプラグを抜き、バッテリーパックを装着し、ソフトトイに装着してテストしてください。
プログラムの仕組み
「on 機械学習... 開始」ブロックは、あなたのおもちゃが検出するように訓練されたアクションのいずれかを開始したと機械学習モデルが判断したときにトリガーされます。 micro:bitのLEDディスプレイには、あなたのぬいぐるみが行っていると推定されるアクションに応じて、異なるサウンドが流れ、異なるアイコンが表示されます。
「on ML...開始」ブロックは、あなたのおもちゃがアクションを終了したと機械学習モデルが判断したときにトリガーされます。 各ブロック内のコードは画面をクリアし、すべての音を止める。
追加ブロックの「機械学習上で不明なものが開始」は、モデルがあなたのおもちゃがどのアクションをしているのかわからない場合に画面をクリアします。
評価
このプロジェクトと、同じく加速度センサーを使ってさまざまな動きに反応するものの、機械学習やその他の種類のAIを使用していないセンサリー・トイ・プロジェクトを比べてみてほしい。
- センサリー・トイ・プロジェクトは、どのような動き(アクション)に反応できるのか?
- AIストーリーテリングフレンドプロジェクトが反応できるアクションの種類は何が違うのか? もっと単純なのか、それとも複雑なのか?
- 機械学習モデルに認識させるために、他にどのようなアクションを学習させたいですか?
- あなたのストーリーを伝えるのに、どちらのプロジェクトが適していますか?
ステップ 3: 拡張する
- AIストーリーテリングのお友達と一緒にさまざまな動きを探検し、よく知られた民話やおとぎ話に合わせてアクションを変えてみましょう。
- 「show icons」ブロックの代わりに「show LEDs」ブロックを使って、ストーリーに合ったアイコンにカスタマイズできます。 LEDプランニングシートを使って、カスタマイズしたアイコンを計画することができる。
- クラスのマスコットがいる場合は、CreateAIを使用してマスコットを訓練し、生徒へのフィードバック(褒め言葉やクラスポイントのご褒美など)を与える動きに反応させます。
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.