今回は、たくさんのデータからAI自身がルールを見つけられるようになった機械学習のほんの入り口を紹介します。
画像認識
画像認識とは、写真や動画に写っている人物や物、文字などをAIが人間の目のように読み取り、「それが何であるか」を瞬時に判断する技術を言います。
画像認識はどうやって動くの?
コンピュータは、そのままでは写真を見てもただの「色のついた点の集まり」としか認識できません。コンピュータは次のようなステップで物事を理解します。
- 特徴を学ぶ:AIに「これは犬」「これはリンゴ」という正解の画像を大量に見せます。
- パターンを見つける:AIは「丸い形」「赤い色」「輪郭の線」などの特徴をデータとして記憶します。
- 判別する:新しい画像を見たときに、自分の記憶と照らし合わせて「これはリンゴである確率が99%だ」と判断します。
身近な活用例
画像認識の技術は、すでに私たちの生活のさまざまな場所で活躍しています。
- バーコードやQRコード:古くからある画像認識技術の一つで、スーパーのレジなどで商品の情報を瞬時に読み取ります。
- カメラ翻訳:英語や外国語のメニューにスマホのカメラをかざすだけで、画面上で日本語に翻訳してくれる機能です。
- 自動運転:車に搭載されたカメラが道路の白線、信号、歩行者を認識し、安全に走るためのサポートをします。
- 顔認証:スマホのロック解除や、学校・会社入り口で顔をカメラに向けるだけで本人確認をする技術です。
画像認識技術は、人の目視による確認作業をAIが肩代わりすることで、人間をサポートする非常に便利な技術として進化しています。
GoogleのTeachable Machine
機械学習の理解に役立つサイトに、Googleが無料で公開しているTeachable Machineがあります。以降ではTeachable Machineを使って、ペンの違いを認識するモデルを実際に作ってみましょう。
とはいえ、全然恐れる必要はありません。プログラミングはゼロ、カメラつきのChromeブラウザがインストールされたPCさえあれば、無料で体験できます。
機械学習モデルとは、人間の脳のような役割を果たすもので、コンピュータが大量のデータからパターンや規則性を学習し、未知のデータに対する予測や判断を行うためのプログラム(数式やルールの集まり)を言います。Teachable Machineでは、画像認識のために非常に厳しい特訓を受けたスーパーモデルが用意されています。

画像認識モデルの作成
画像認識モデルはTeachable MachineのWebサイトで作成します。なお以下で作成するモデルは次回、スクラッチに読み込んで使用します。決して難しくないので、ぜひ作成してみてください。
- ChromeブラウザでTeachable Machineのサイトにアクセスします。
- [使ってみる]ボタンをクリックします。
- [画像プロジェクト]ボタンをクリックします。
- [新しいイメージプロジェクト]が表示されるので、左の[標準の画像モデル]をクリックして選択します。
- 下図に示すメイン画面が表示されます。
- 1つめの認識させたい物(ピンクのペン)を用意します。
- [Class1]をクリックし、「Pink Pen」と入力します。
- [ウェブカメラ]をクリックします。カメラの使用許可を求めるパネルが表示されたら[今回のみ許可]をクリックします。
- カメラがオンになり、カメラからの映像が表示されます。
- 1つめの認識させたい物(ピンクのペン)をカメラに映して、[長押しして録画]ボタンを長押しします。
- 右側に撮影された画像が表示されます。
- つづいて2つめの認識させたい物(緑のペン)を同様に、Green Penとして登録し、撮影します。
- 満足のいくサンプルが撮影できたら、学習(トレーニング)に移ります。つまりこれはPink Pen、これはGreen Penだとモデルに学習させるわけです。[トレーニング]の[モデルをトレーニングする]をクリックします。
- 準備に少し時間がかかります。また「タブを切り替えないでください」と表示されるので、その画面を最前面にしたままキープします。
- トレーニングが終わると[プレビュー]にカメラからの映像が表示されます。ここに認識させたい物を映すと、AIがそれが何かを%の精度で表示します。
- ではさらにClass3とClass4を追加します。Class3はBlack Pen、Class4はNo Penにします。No Penはペンが移っていない画像です。
- クラスが2つ追加できたら、再度トレーニングします。
- 結果を確認します。



このボタンを押している間、写真が高速で連射できます。

撮影した画像は、モデルの精度を上げるためにできるだけ「良いサンプル」である必要があります。そのためには、ペンを動かしながら、さまざまな角度や大きさで、100枚から200枚ほど撮影します。[長押しして録画]ボタンの右にある歯車の[設定]ボタンでは、録画の設定が行えます。撮影コマ数が多すぎる場合には、[FPS]を小さくします。

[出力]には、映っている物が〇〇である確率はXX%という形式で表示されます。
[トレーニング]の下の[詳細]をクリックすると、下図の左に示すような学習に関係する数値(パラメータ)を見ることができます。「エポック」や「バッチサイズ」、「学習率」といった単語は、みなさんが本格的に学ぶようになったら目にする用語です。


うまく認識できないときは、そのクラスのサンプルを削除します。各Classの右端にある[…]ボタンをクリックして[サンプルをすべて削除]を選びます。そして再度「良いサンプル」画像を撮影し、再トレーニングします。うまくいくまでこれを繰り返します。
優秀なモデルを作成するには膨大な量のデータが要ります。Teachable Machineでは前もって画像認識用のモデルに大量のデータを学習させてあるので、何百枚、何千枚ものペンの画像を用意する必要はありません。
モデルの保存
作成したモデルは自分だけの独自のモデルです。これはGoogleのサーバー上に保存することができます。そしてそれを、Scratchからインターネットを経由して利用することもできます。
- [プレビュー]の横にある[モデルをエクスポートする]ボタンをクリックします。
- [モデルをエクスポートしてプロジェクトで使用する]パネルが表示されるので、[モデルをエクスポートする]の[モデルをアップロード]をクリックします。
- [共有可能なリンク]に詳細なURLが入力されるので、右の[コピー]をクリックし、テキストエディタ(メモ帳など)に貼り付けます。
- モデルのURLを開くと、作成したモデルが動作するWebアプリを見ることができます。

これは作成したモデルのURLです。次回使用するのでしっかりと保存しておいてください。