AIについて知ろう
教師あり学習ってなに?
AIは「犬」「猫」というラベルが付いたたくさんの写真から、2つのクラスを見分けるためのパターンを学ぶよ。このように、正解のラベルが付いた例から学ぶ方法を「教師あり学習」というんだ。
AIは犬と猫をどうやって学ぶの?
1. 例を集める犬と猫の写真をたくさん集める。
2. パターンを見つける耳の形や顔の形などの特徴を比べる。
3. パターンを学ぶ犬と猫を見分けるのに役立つパターンを学ぶ。
組み立てる
犬と猫を作ろう!


| 命令 | はたらき |
|---|---|
| モーターを回す:左に回転 | 左に回り続ける。 |
| モーターを回す:右に回転 | 右に回り続ける。 |
| 1秒間、左に回転 | 決めた時間だけ左に回る。 |
| 1秒間、右に回転 | 決めた時間だけ右に回る。 |
| モーターをオフにする | モーターを止める。 |

| 命令 | はたらき |
|---|---|
| 音を鳴らす | ドレミの音を1つ鳴らす。 |
| 0.25拍のあいだ音を鳴らす | 音の長さを拍で決める。 |
| 効果音を鳴らす | ブザーの効果音を鳴らす。 |
| 0.25拍のあいだ効果音を鳴らす | 効果音の長さを拍で決める。 |

| 命令 | はたらき |
|---|---|
| LEDのドットを表示 | 好きなドット絵をかく。 |
| 文字を表示:A | LEDブロックに文字を表示する。 |
| 数字を表示:1 | LEDブロックに数字を表示する。 |
| アイコンを表示:ハート | 用意されたアイコンを表示する。 |
| LEDの表示を消す | LEDのドットをすべて消す。 |
犬と猫を組み立てる

AIに教える
CuroAIを開く
機械学習の拡張機能を追加する
「Extensions」(拡張機能)を開いて、「Cubroid Machine Learning」を選ぼう。
クラスを3つ作る
「犬」「猫」「背景」の3つのクラスを作ろう。
ラベルとは? その例に何が写っているかをAIに教える、クラスの名前だよ。
クラスごとにいろいろな例を15枚以上



3つのクラスに名前をつける
ラベルごとに名前を入力して、「名前をつける」ブロックをそれぞれ1回クリックして保存しよう。
なぜ「背景」も学習させるの? 犬も猫もいない場面のためのクラスが、AIには必要だからだよ。
ラベル[1 v]の名前を[犬]にする :: #52b98a ラベル[2 v]の名前を[猫]にする :: #52b98a ラベル[3 v]の名前を[背景]にする :: #52b98a
いろいろな学習用の例を集める
「ラベルを学習する」ブロックで、クラスごとに15枚以上の例を集めよう。角度や背景を変えて、いろいろな写真にしよう。
1つのクラスを集めているあいだは、ほかの動物が画面に入らないようにしよう。
ラベル[1 v]を学習する :: #52b98a ラベル[2 v]を学習する :: #52b98a ラベル[3 v]を学習する :: #52b98a
ブロックを接続する(グループ番号)
ブロックの電源を入れて、ブロックに貼ってあるシールと同じ番号を「Group Number」に入力し、「OK」を押そう。

プログラムして動かす
どのブロックが何をする?
DCモーター1犬のしっぽ
DCモーター2猫のしっぽ
LEDブロック猫の表情
サウンドブロック犬の鳴き声
予測結果を動きにつなげる
犬- 効果音を鳴らす
- モーター1を左・右に動かす
- モーター1を止める
猫- LEDにハートを表示する
- モーター2を左・右に動かす
- モーター2を止めて、LEDを消す
背景- モーター1を止める
- モーター2を止める
- LEDの表示を消す
完成したプログラムを確認する
まず「名前をつける」ブロックと「ラベルを学習する」ブロックをクリックして実行しよう。そのあとは、AIがクラスを見分けるたびに「ラベルを受け取ったとき」ブロックが自動で動くよ。
ラベル[1 v]の名前を[犬]にする :: #52b98a ラベル[1 v]を学習する :: #52b98a ラベル[1 v]を受け取ったとき :: hat #52b98a [小さな効果 v] の音符を :: sound DCモーターブロック1を回します 1 (1) 秒間回します [左に回転 v] :: motion (1) 秒待つ :: control DCモーターブロック1を回します 1 (1) 秒間回します [右に回転 v] :: motion (1) 秒待つ :: control DCモーターブロック1をオフにします :: motion
ラベル[2 v]の名前を[猫]にする :: #52b98a ラベル[2 v]を学習する :: #52b98a ラベル[2 v]を受け取ったとき :: hat #52b98a 表示 [♥ v] :: looks DCモーターブロック1を回します 2 (1) 秒間回します [左に回転 v] :: motion (1) 秒待つ :: control DCモーターブロック1を回します 2 (1) 秒間回します [右に回転 v] :: motion (1) 秒待つ :: control DCモーターブロック1をオフにします :: motion 画面を消す :: looks
ラベル[3 v]の名前を[背景]にする :: #52b98a ラベル[3 v]を学習する :: #52b98a ラベル[3 v]を受け取ったとき :: hat #52b98a DCモーターブロック1をオフにします :: motion DCモーターブロック1をオフにします :: motion 画面を消す :: looks
試す前に、クラスごとにいろいろな例を15枚以上学習させよう。ラベルの切り替わり、タイミング、モーターの向きを確認しよう。
Try it out
Turn on the camera and show a dog photo, then a cat photo, to the camera. You can print the photos or show them on another device's screen. Check that the robot's movement changes with the label the AI recognises.
Show a dog photoA sound effect plays and the dog's tail (motor 1) wags left and right.
Show a cat photoA heart appears on the cat's face (LED) and the cat's tail (motor 2) wags.
Take the photo awayWith no dog or cat (background), the motors stop and the LED display clears.
If the movement doesn't change reliably, collect more example photos for that class and train again. Try a few more times at different distances and lighting.
ミニクイズ
Qラベルが付いた例を使う学習方法は何?
答えを見る
教師あり学習 — AIが、クラスのラベルが付いた例から学ぶ方法だよ。
組み立てて、プログラムして、ためしてみたかな? タップして記録しよう。
