【Scratchではじめる機械学習】スクラッチでお手軽に人工知能(AI)を体験!

Scratchではじめる機械学習

このページにはアフィリエイトリンクが含まれています。

最近、人工知能(AI)や機械学習というワードを聞く機会が増えました。

子どもに「人工知能(AI)って何?」ときかれて、困った経験はないでしょうか?

何となく知っているけれど、言葉で説明するのは難しいですよね。

 

本記事では『Scratchではじめる機械学習』という本を紹介します。

この本は、小学校高学年くらいから読める機械学習の超入門書。

敷居の高い機械学習をお手軽に体験することができますよ。

子どもだけでなく、

  • 機械学習のしくみを知りたい。
  • AIや機械学習の本ってむずかしい!ムリ!
  • 数学…統計学…うっあたまが……
  • Pythonなどのプログラミング言語をイチから勉強するのはちょっと……

という大人にもオススメの本です。

Scratchでゲーム以外のプログラムを作ってみたい人にもオススメですよ。

Scratchの拡張機能を使って機械学習のしくみを学べる

今回紹介するのは、

Scratchではじめる機械学習
(著者:石原 淳也、倉本 大資/監修:阿部 和広)

という本です。


 

Scratchの拡張機能を使って、画像認識や音声認識などを利用したプログラムを作り、機械学習のしくみを学ぶことができます。

  • 1章:画像認識編 ジャンケンゲームを作ろう
  • 2章:音声認識編 声を聞き分けるデジタルペットを作ろう
  • 3章:姿勢推定編 体を使ったプログラムを作ろう
  • 4章:知識編 機械学習について学ぼう
  • 5章:上級編 遺伝的アルゴリズムでネコの動きを進化させよう

 

数学の知識不要、プログラミング初心者でもOK!

1~3章では、画像認識や音声認識、姿勢推定のしくみを使ったプログラムを作って機械学習を体験することができます。

細かい説明は後!まずはやってみよう!ということですね。

プログラムは、少しでもScratchを使ったことがある人なら問題なく作れるレベルです。

 

機械学習についての解説は4章になっています。

機械学習の本というと、数学や統計学の話が出てきてチンプンカンプンになってしまいますが、こちらの本では分かりやすく説明されていました。

 

5章は上級編。

コンピューターが学習するための動作をScratchを使ってプログラムします。機械学習の理解をさらに深めたい人向けの内容です。

 

そもそも機械学習って何?

そもそも機械学習とは何でしょう?

Scratchではじめる機械学習』では、

大量のデータを高速に処理することができる「機械」(コンピューター)を使って、
人間が得る「経験」の代わりに、データを使って「学習」する技術

と説明しています。

 

どのようにコンピューターが学習するのかというと、

例えば、コンピューターにネコとイヌの写真を見分けてもらおうとした場合、

  1. たくさんのネコの写真のデータを使って、
    コンピューターに「これはネコです」と教える。
     
  2. 同じようにたくさんのイヌの写真のデータを使って、
    コンピューターに「これはイヌです」と教える。
     
  3. 学習に使わなかったネコかイヌの写真をコンピューターに見せる。
     
  4. コンピューターは学習したデータからネコとイヌの特徴を見つけ出し、
    導き出した特徴を元にネコかイヌか判定する。

このように、コンピューターに正解のデータを教えてあげます。「教師あり学習」という方法です。

他にも「教師なし学習」「強化学習」という方法もあります。

 

人工知能(AI)、機械学習、深層学習(ディープラーニング)のちがい

機械学習とセットでよくきく言葉、人工知能(AI)深層学習(ディープラーニング)とのちがいもおさえておきましょう。

人工知能と機械学習の違い

 

  • 人工知能(AI)
    人間に代わって知的な活動を行うことのできる人工的な知能を作ろうとする研究分野。
     
  • 機械学習
    人工知能にふくまれるひとつの分野で、特定の問題だけを解決するための人工知能。
    大量のデータを使ってコンピューターに学ばせ、特徴を見つけ出す。
     
  • 深層学習(ディープラーニング)
    機械学習にふくまれるひとつの技術。
    人間の脳のしくみをマネして作られている(人工ニューラルネットワーク)

人工知能(AI)>機械学習>深層学習(ディープラーニング)の関係であることを
おさえておきましょう。

 

人工知能はどんなことに使われている?

人工知能は、

  • 検索エンジン
  • ショッピングサイトなどの おすすめ(レコメンド)機能
  • お掃除ロボット
  • 自動車の自動運転

などなど、私たちの生活の身近なものに活用されています。

 

じゃんけんゲームを作ってみた!

1章で紹介されている「じゃんけんゲーム」を紹介します。

この章では「ML2Scratch」という拡張機能を使って、機械学習による画像認識を体験することができますよ。

 

拡張機能はカスタマイズされたScratchから使うことができます。

カスタマイズされたScratch

見た目は普通のScratchとほぼ同じです。

 

拡張機能「ML2Scratch」を追加します。

拡張機能「ML2Scratch」

 

パソコンのカメラに、グー、チョキ、パーを見せて学習させます。

ジャンケンの手をコンピューターに学習させる

スプライトで顔をかくしたので手がちょっと見えにくくなってます。ごめんなさい。

「ラベルを学習する」というブロックでグー、チョキ、パーそれぞれ20枚ほど学習。

その後、カメラに手を写すと、学習したデータから一番近いものをコンピューターが判断して、そのラベルの番号を表示します。

 

これで画像認識できるようになりました。

あとはジャンケンゲームをプログラミングして完成!

ジャンケンゲームをプログラミング

 

まとめ:子どもだけでなく大人も読む価値アリ!

Scratchではじめる機械学習』という本を紹介しました。

数学の知識がない私でも、アレルギーを起こすことなく読み進めることができました。

敷居の高い機械学習をお手軽に体験できるので、子どもだけでなく大人も読む価値があると思います。


 

タイトルとURLをコピーしました