ロング体験会 ご応募受付中です

AIを用いたプログラムをつくろう

AIって何?

そんなのぼくたちにできるの?

AIは誰でも使うことができます
”食わず嫌い”せず、簡単なプログラムからつくってみましょう

こんにちは。サポーターのもつさんです。

ScratchでAIを使う方法を解説します。

AIって誰しも聞いたことはあると思いますが、なんとなく難しそうと思っている人が多いと思います。

AIをつかったプログラミングは、Scratchで簡単につくることができます。

是非最後までご覧ください。

目次

AIとは

AI, Artificial intelligence. Ai digital brain. Robotics concept. Human face made from polygon. Illustration vector

AI(Artificial Intelligence : 人工知能)とは

人工知能(AI)とは、人間の知的ふるまいの一部をソフトウェアを用いて人工的に再現したものです。

経験から学び、新たな入力に順応することで、人間が行うように柔軟にタスクを実行します。チェスをプレイするコンピューターから自動運転車まで、最近耳にするAIの事例のほとんどは、ディープ・ラーニングと自然言語処理に大きく依存しています。

これらのテクノロジーを応用すると、大量のデータからパターンを認識させることで、ビジネスや生活における様々な難しいタスクをこなせるようにコンピューターをトレーニングすることができます。

SAS https://www.sas.com/ja_jp/insights/analytics/what-is-artificial-intelligence.html

AIありとAIなしでは何が違うのか?
コンピュータ自身が学習するかどうかです

簡単に一言で言うと、学習するかどうかということになります。

AIを搭載しないコンピュータは言われたことしかしません。
つまり、予めプログラムされた動きしかしないということです。

イヌとネコの違いをAIが学習する

イヌとネコの違い分かりますか?

わかりますよね。

でも、生まれてすぐのころ、赤ちゃんの頃には分からなかったはずです。

イヌとネコにたくさん出会う中で、「あれはイヌだよ」「あれはネコだよ」とお父さんお母さんに教えてもらって、
イヌとネコの違いが分かるようになってきます。

AIを搭載したコンピュータでも同じようにイヌとネコを学習することができます。

通常のコンピュータは、見たことないイヌの写真を見せられても、それがイヌなのか何なのか判別することはできません。

しかし、人間と同じように、学習することで判別することができるようになります。

たくさんのイヌの写真とたくさんのネコの写真を教えることで、
コンピュータが学習します。

学習したあとにイヌの写真を見せると、コンピュータはそれがイヌだと判別することができます。

AIが学習する
  1. たくさんのイヌの写真をコンピュータに見せる
  2. たくさんのネコの写真をコンピュータに見せる
  3. コンピュータがイヌとネコの特徴を学習する
  4. 新しいイヌの写真を見せると、それはイヌだ。と判別することができる

このように、たくさんのデータから学習して、共通するパターン(イヌとネコの特徴)を導き出すことを機械学習といいますが、難しい用語はあとで覚えればいいです。

機械学習とは、コンピューターがデータから反復的に学習し、そこに潜むパターンを見つけ出すことです。そして学習した結果を新たなデータにあてはめることで、パターンにしたがって将来を予測することができます。人手によるプログラミングで実装していたアルゴリズムを、大量のデータから自動的に構築可能になるため、さまざまな分野で応用されています

SAS https://www.sas.com/ja_jp/insights/analytics/machine-learning.html

AIレジをつくってみよう

機械学習をつかって、AIレジをつくってみましょう

AIレジは、バーコードをピッとしなくとも、商品を見ただけで、お会計してくれます。

鉛筆とはどんなものか
消しゴムとはどんなものか
ノートとはどんなものか

AIが学習しているからです

AIレジをつくる準備

開発環境

いつも(通常のScratch)とは違う環境でつくっていきますが、
見た目はまったく同じです

Stretch3

左下の「拡張機能を追加」から、ML2Scratchを追加します

ML2Scratchは、Scratchの拡張機能の一つで、MachineLearning(機械学習)をするためのコマンド(ブロック)を提供してくれます。

拡張機能 ML2Scratch

※カメラの許可を求められたら、「許可」するようにしてください

ここまでで、準備はおわりです。

AIに商品を教えます(AIに学習させます)

AIに商品を教えていきます。

STEP
4つのラベルを用意する
STEP
それぞれ20回ずつAIに教える
STEP
学習した結果を確認する

4つのラベルを用意する

なにもなし
ペン
のり
ノート
の4つを教えるので、4つのラベルを用意します

ラベル1を学習する
ラベル2を学習する
ラベル3を学習する
ラベル4を学習する
の4つを用意します

※つなげずに離して並べることがポイントです

次にラベルの枚数という変数にチェックを入れて、画面に表示させます

ここまででラベルの準備、つまり学習の準備はおわりです

それぞれ20回ずつAIに教える

4つのラベルに対して、それぞれ20回ずつ教えていきます。

ラベル
なにもなし の状態を教えます

商品が写っていない状態で[ラベル1を学習する]をクリックします

ラベル1の枚数が20になるまでくりかえします

商品がなにもない状態の学習

※最初の学習にはしばらく時間がかかるので、何度もクリックしないで下さい。
と表示された場合は、OKをクリックします

ラベル
ペンを教えます

ペンが写っている状態で[ラベル2を学習する]をクリックします
ラベル2の枚数が20になるまでくりかえします

ペンの学習
ラベル
のりを教えます

のりが写っている状態で[ラベル3を学習する]をクリックします
ラベル3の枚数が20になるまでくりかえします

のりの学習
ラベル
ノートを教えます

ノートが写っている状態で[ラベル4を学習する]をクリックします
ラベル4の枚数が20になるまでくりかえします

ノートの学習

ここまでで学習はおわりです

学習した結果を確認する

(MLラベル)という変数にチェックを入れて画面に表示します

ML ラベルを表示する

ペン、のり、ノートを画面に写していきます

ペンなら2
のりなら3
ノートなら4
になるはずなので、そうなっていればきちんと学習できていることになります

学習した結果の確認

このようにラベルの数字が変われば成功です

ML2Scratchを使ってプログラミングしていきます

ペンとのりとノートを判別するAIが完成したので
ここからは通常のScratchと同じように、プログラミングしていきます

ML2Scratchのコマンド(ブロック)の使い方をいくつかご紹介します

ラベル2を受け取ったときというブロックを使って
ペンが写ったときに「ペンですね」と言うプログラムをつくることができます

ラベル2を受け取ったとき

(MLラベル)という変数に、ラベル1~4が入っているので
このように条件文として使うことができます

こららのコマンド(ブロック)を使って、好きなようにつくってみましょう

これ以降は通常のScratchプログラミングですので、本記事では割愛します。

まとめ

今回はML2Scratchを用いたAIのつくりかたについて解説しました。

簡単にAIをつかえることが分かっていただけたと思います。

今回はAIレジを題材にしましたが、いろんなことができますので、どんなものをつくりたいかぜひ考えてみてください。

Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。https://scratch.mit.edu から自由に入手できます。

シェアおねがいします
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

もつさん
プログラミングスクールLの代表
妻、息子、娘の4人家族
プログラミング教育は、子どもの将来を変え、社会を変えるという信念のもと、日々子どもと向き合っています。

目次