AI をつかったお話ロボットを作るには、
ぬいぐるみがさまざまに動くのを認識するようにMLモデルをトレーニングします。
次に、このモデルをプログラムと組み合わせて、さまざまな音を鳴らしたり
micro:bit の LED ディスプレイにさまざまなアイコンを表示します。
そしてMLモデルとプログラムを micro:bit にダウンロードし、
ぬいぐるみにつけて、お話を一緒に表現してもらいましょう。
私たちが選んだのは、ルーシーというクマのお話ですが、
好きなお話に変えてプロジェクトをつくってください。
[音楽]
クマのルーシーです。
彼女は大きくなったら体操選手になりたいと思っています。
だから、毎日朝起きるとジャンプの練習をしています。
彼女は天井に届くほど高くジャンプします。
朝ごはんが終わった後は、でんぐり返しの練習をします。
彼女は、世界全体がまわるほど、ぐるぐると転がります。
それから彼女は休憩に、少しお昼寝をします。
AI をつかったお話ロボットを作るには
「micro:bit CreateAI で開く」をクリックしてプロジェクトを起動します。
このプロジェクトには、データサンプルが8つずつ
ジャンプ、転がる、寝るという3 つのアクションそれぞれに記録されています。
micro:bit CreateAI は、micro:bit の動きを検知する加速度センサーを使用して、 動きのデータサンプルを収集します。
自分のデータサンプルを追加するには、データ収集用micro:bit を用意する必要があります。
コンピュータで Bluetooth が有効になっている場合、必要なのは micro:bit 1つとUSBケーブルだけです。
Bluetooth 接続がない場合は、micro:bit を2つ用意する必要があります。
画面の指示に従って接続します。
データ収集用 micro:bit が接続されたら、このようにぬいぐるみに取り付けます。
おもちゃを動かすと、ライブ グラフ上の線が変化するのがわかります。
このプロジェクトにはすでにかなりの量のサンプルがあるので
今はアクションごとに 1 つのサンプルを追加し、
さらにデータを収集するのは後回しにすることをおすすめします。
「ジャンプ」アクションをクリックすると、データ サンプルを追加できます。
1 秒間の録音が開始される前にカウントダウンが表示されます。
「記録」をクリックしてすぐにおもちゃを動かし始めて、きれいなサンプルを取りましょう。
きれいなサンプルとは、サンプル全体にわたって動きが記録され、
開始が遅くなったり、移動が早く終了したりしないサンプルのことです。
次に、追加のデータサンプルを「転がる」と「寝る」にも追加してみます。
ぬいぐるみが「寝る」とき、
micro:bit の向きに応じて x、y、z 線の位置が変わることに気づくでしょう。
[モデルのトレーニング] をクリックして ML モデルを構築します。
このツールは、micro:bit を動かすときのさまざまなアクションを認識する数学的モデルを構築します。
モデルのトレーニングが完了すると、すぐに [モデルのテスト] ページが表示されます。
データ収集用 micro:bit を使って、モデルがどの程度機能しているかをテストできるようになりました。
まだツールに接続されているはずです。
micro:bit が動くと、CreateAI がユーザーの動きを推定していることがわかります。
ぬいぐるみをいろいろと動かして、推定される動きと確実性の棒グラフの変化を確認します。
パーセンテージは、MLモデルが各アクションを実行していることを
どの程度確信しているか、または確信しているかを示します。
モデルが一部のアクションを正確に推定していないことに気づくかもしれません。
その場合は、[データ サンプルの編集] をクリックして
モデルを改善することをおすすめします。
MLモデルは通常、データの数が増えれば増えるほど効果的に機能するため
それぞれのアクションにサンプルを追加するか、
テストで問題があったアクションに重点をおいてデータを集めます。
きれいなデータサンプルは、ML モデルの機能を向上させるのにも役立ちます。
データセットを調べて、MLモデルを混乱させる可能性のあるサンプルを特定します。
X を押すと削除できます。
データを追加してデータセットを確認したら、[モデルのトレーニング] を再度クリックします。
「モデルのテスト」ページでモデルを再度テストします。
ML モデルの動作に満足したら、あらかじめ用意されているプロジェクトで使ってみます。
[MakeCodeで編集] をクリックすると、特別なバージョンの Microsoft MakeCode のコードブロックが表示されます。
画面左上の矢印をクリックして いつでも CreateAI に戻れます。
このブロックは、作成したMLモデルをプログラムに使うものです。
「MLが… を開始したとき」ブロックは、ぬいぐるみが
特定の動きやアクションを行っているとMLモデルが判断したときに反応します 。
動きに応じて、micro:bit の LED ディスプレイにアイコンを表示したり、
スピーカーから音を出したりもできます。
ぬいぐるみがどのような動作をしているか不明な場合には、画面が消されます。
各アクションが停止すると、プログラムは micro:bit の音を止めます。
プログラムと MLモデルを micro:bit で実行するには、
micro:bit にダウンロードするだけです。
「ダウンロード」を押して、画面の指示に従います。
さあ、micro:bit をぬいぐるみにつけて、完成したプロジェクトをテストしましょう。
ぬいぐるみの動きに応じて正しい音が鳴ったり、アイコンが表示されたりしていますか?
他の人がおもちゃを動かしても同じように機能しますか?
そうでない場合は、戻ってさらにデータを収集し、モデルを再トレーニングできます。
おめでとうございます！自分で収集したデータを使用して
さまざまな動きに反応するようにモデルをトレーニングし 、
プログラムと組み合わせてインタラクティブなお話ロボットを作ることができました。
物語を伝える上で、他にどのような動きを追加できそうですか？
micro:bit と CreateAI を使って追加できそうですか?