以前のサイト

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

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

中学生★★★★★CuroAI · 機械学習

学ぶこと

  • ラベルが付いた例から学ぶ「教師あり学習」を理解する
  • 犬・猫・背景の3つのクラスで画像分類AIを学習させる
  • 予測結果ごとにロボットの動きをプログラムする

じゅんびするもの

  • DCモーターブロック ×2
  • LEDブロック
  • サウンドブロック
  • CuroAI Studio(Webアプリ)
AIはどうやって犬と猫を見分けるの?

AIについて知ろう

教師あり学習ってなに?

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

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

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

  1. 1. 例を集める犬と猫の写真をたくさん集める。
  2. 2. パターンを見つける耳の形や顔の形などの特徴を比べる。
  3. 3. パターンを学ぶ犬と猫を見分けるのに役立つパターンを学ぶ。

AIが新しい写真を分類する

  1. 1. 新しい写真を見せるAIがまだ見たことのない写真を見せる。
  2. 2. パターンを比べる学んだパターンと比べる。
  3. 3. 予測するクラスを1つ選んで、予測結果を表示する。
比べるパターン耳の形目の形鼻の形顔の形
予測結果
犬92%
猫8%
数字はスコアの例で、正解率ではないよ。写真が少なかったり、ぼやけていたりすると、AIは迷ってしまうことがあるよ。

💡 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枚以上学習させよう。ラベルの切り替わり、タイミング、モーターの向きを確認しよう。

ミニクイズ

Qラベルが付いた例を使う学習方法は何?

答えを見る

教師あり学習 — AIが、クラスのラベルが付いた例から学ぶ方法だよ。

レッスンクリア!

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