以前のサイト
レッスン 8 / 8

AIはどうやって犬と猫を見分けるの?

画像を分類するAIを学習させて、その予測結果をロボットの動きにつなげよう。

13–15歳
使うアプリCuroAI · 機械学習Web版
AIはどうやって犬と猫を見分けるの?

AIについて知ろう

教師あり学習ってなに?

AIは「犬」「猫」というラベルが付いたたくさんの写真から、2つのクラスを見分けるためのパターンを学ぶよ。このように、正解のラベルが付いた例から学ぶ方法を「教師あり学習」というんだ。

参考動画を見る(韓国語) ↗

AIは犬と猫をどうやって学ぶの?

  1. 1. 例を集める犬と猫の写真をたくさん集める。
  2. 2. パターンを見つける耳の形や顔の形などの特徴を比べる。
  3. 3. パターンを学ぶ犬と猫を見分けるのに役立つパターンを学ぶ。
予測結果
犬92%
猫8%
数字はスコアの例で、正解率ではないよ。写真が少なかったり、ぼやけていたりすると、AIは迷ってしまうことがあるよ。

組み立てる

犬と猫を作ろう!

DCモーターブロック ×2犬と猫のしっぽを動かす
命令はたらき
モーターを回す:左に回転左に回り続ける。
モーターを回す:右に回転右に回り続ける。
1秒間、左に回転決めた時間だけ左に回る。
1秒間、右に回転決めた時間だけ右に回る。
モーターをオフにするモーターを止める。
サウンドブロック犬の鳴き声(効果音)を出す
命令はたらき
音を鳴らすドレミの音を1つ鳴らす。
0.25拍のあいだ音を鳴らす音の長さを拍で決める。
効果音を鳴らすブザーの効果音を鳴らす。
0.25拍のあいだ効果音を鳴らす効果音の長さを拍で決める。
LEDブロック猫の気持ちを表す
命令はたらき
LEDのドットを表示好きなドット絵をかく。
文字を表示:ALEDブロックに文字を表示する。
数字を表示:1LEDブロックに数字を表示する。
アイコンを表示:ハート用意されたアイコンを表示する。
LEDの表示を消すLEDのドットをすべて消す。

犬と猫を組み立てる

AIに教える

CuroAIを開く

CuroAI Studioを開く ↗

機械学習の拡張機能を追加する

「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」を押そう。

Group Number33

プログラムして動かす

どのブロックが何をする?

  • 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.

  1. Show a dog photoA sound effect plays and the dog's tail (motor 1) wags left and right.
  2. Show a cat photoA heart appears on the cat's face (LED) and the cat's tail (motor 2) wags.
  3. 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が、クラスのラベルが付いた例から学ぶ方法だよ。

組み立てて、プログラムして、ためしてみたかな? タップして記録しよう。