AIはどうやって犬と猫を見分けるの?
画像を分類するAIを学習させて、その予測結果をロボットの動きにつなげよう。
学ぶこと
- ラベルが付いた例から学ぶ「教師あり学習」を理解する
- 犬・猫・背景の3つのクラスで画像分類AIを学習させる
- 予測結果ごとにロボットの動きをプログラムする
じゅんびするもの
- DCモーターブロック ×2
- LEDブロック
- サウンドブロック
- CuroAI Studio(Webアプリ)

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


| 命令 | はたらき |
|---|---|
| モーターを回す:左に回転 | 左に回り続ける。 |
| モーターを回す:右に回転 | 右に回り続ける。 |
| 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枚以上学習させよう。ラベルの切り替わり、タイミング、モーターの向きを確認しよう。
ミニクイズ
Qラベルが付いた例を使う学習方法は何?
答えを見る
教師あり学習 — AIが、クラスのラベルが付いた例から学ぶ方法だよ。
レッスンクリア!
組み立てて、プログラムして、ためしてみたかな? タップして記録しよう。
