Google Teachable Machine は、機械学習モデルを作成するための便利なツールです。本記事では、Google Teachable Machine の基本的な使い方を解説します。
Google Teachable Machine は、Google が提供する機械学習ツールです。このツールを使用することで、ユーザーは簡単に機械学習モデルを作成することができます。
Google Teachable Machine は、初心者でも簡単に使えるインターフェースが特徴です。ユーザーは、画像やビデオをアップロードし、ラベルを付けるだけで機械学習モデルを作成することができます。また、作成したモデルはウェブカメラやマイクを使ってリアルタイムにテストすることもできます。
Google Teachable Machine は、機械学習の基礎を学ぶためのツールとしても利用されています。ユーザーは、実際に手を動かしながら機械学習の仕組みや原理を体験することができます。さらに、Google Teachable Machine はオープンソースで公開されており、ユーザーは自分でカスタマイズや拡張を行うこともできます。
Google Teachable Machine には、以下のような主な機能があります。
1. ラベル付け: ユーザーは画像やビデオをアップロードし、それぞれのデータにラベルを付けることができます。ラベル付けによって、機械学習モデルがデータを正しく分類することができるようになります。
2. モデルの作成: ユーザーはラベル付けされたデータを使用して機械学習モデルを作成することができます。Google Teachable Machine は、自動的に最適なモデルを選択し、学習させることができます。
3. テスト: ユーザーは作成したモデルをウェブカメラやマイクを使ってリアルタイムにテストすることができます。テストすることで、モデルの性能や精度を確認することができます。
4. エクスポート: ユーザーは作成したモデルをエクスポートして、他のプロジェクトやアプリケーションで使用することができます。エクスポートされたモデルは、TensorFlow や JavaScript 形式で保存されます。
これらの機能を活用することで、ユーザーは簡単に画像分類などの機械学習モデルを作成することができます。
Google Teachable Machineの使い方は以下の通りです。
データの準備: 認識させたいクラス、カテゴリごとのサンプルデータを準備します。例えば、カメラで自分の顔の表情を撮影したり、既存の画像やビデオを使用することができます。
モデルの作成: 準備したデータを使用して機械学習モデルを作成します。Google Teachable Machine は、適切なアルゴリズムを自動的に選択し、学習させることができます。作成したモデルはウェブカメラやマイクを使ってリアルタイムに評価することができ、テストの結果を元に、モデルの改善や調整を行うことができます。
エクスポート: 作成したモデルはエクスポートできます。エクスポートされたモデルは、TensorFlow や JavaScript 形式で保存され、他のプロジェクトやアプリケーションで使用することができます。
以上がGoogle Teachable Machineの基本的な使い方です。これらの手順に従って、今回は人の顔の写真から表情の分類を行う機械学習モデルを作成します。
データは Kaggle のオープンデータを使用します。
https://www.kaggle.com/datasets/msambare/fer2013
「angry, disgust, fear, happy, neutral, sad, surprise」の7つのクラスがあり、今回はこのうちから「happy」、「angry」、「sad」、「surprise」の4クラスを使用したいと思います。
データの準備ができたのでモデルの作成に入りたいと思います。
まず Google Teachable Machine にアクセスし、「使ってみる」をクリックします。
以下のページに遷移するので、プロジェクトのタイプを選択します。本プロジェクトでは画像分類を行うので、「画像プロジェクト」>「標準の画像モデル」と選択します。
こちらがプロジェクトの画面になります。ここで画像のアップロード、トレーニング、テストを行います。
「アップロード」をクリックし、トレーニングデータをドラッグ&ドロップします。
アップロードできれば以下のようにアップロードした写真の一部と枚数が表示されます。確認出来たら左上の鉛筆マークからクラス名を変更しておきます。
同じようにして、4クラス分のデータをアップロードし、名称もそれぞれ変更しておきます。
右の「モデルをトレーニングする」をクリックすればトレーニングが開始します。
「タブを切り替えないでください」と表示されるのでしばらく待ちます。
完了後、「詳細」をクリックすると下のように、学習の設定を確認できます。このエポック、バッチサイズなどを変更して再度トレーニングを実施することもできます。
「?」にカーソルをのせればそれぞれの解説を確認できます。
エポック:トレーニングデータセット内のすべてのサンプルをトレーニングモデルに供給した回数を指します。50ならデータ全体を50回学習したことになります。数が多いほど適切に学習するため、正しい予測が得られるまで、数値を調整(通常は大きく)します。
バッチサイズ:バッチとは、トレーニングの1回の反復で使用するサンプルのセットです。画像が80枚、バッチサイズが16なら、80÷16=5で、データは5つのバッチに分割されます。5「バッチすべて供給すると1エポック完了したことになります。
学習率:学習率とは、1回の学習でパラメータをどの程度修正するかを決定する値です。学習率が大きいと学習が早く進みますが、正確な値に調整することが難しくなります。一方、学習率が小さいと細かい調整が可能ですが、収束に時間がかかります。
トレーニングの一番下「舞台裏」をクリックすると、モデルの評価画面が表示されます。
「クラスごとの精度を計算」、「混同行列を計算」をクリックすることで、分類モデルの評価に用いる精度や、混同行列を確認できます。
それぞれの用語の説明は、この舞台裏の一番上「用語の説明」をクリックすることで表示できますので、これらを確認しながら、前述のエポック、バッチサイズ、学習率を変更し、再トレーニングしていることで、モデルの性能を改善させることができます。
次はモデルをテストします。
テストに使用するデータのソースを選択します。「Webcam」を選択すれば、実際にウェブカメラを使ってライブデータでテストできます。今回はテスト用の画像を使用するので、「Webcam」をクリック、「ファイル」に変更し、テストに使用する画像を選択します。
「happy」から1枚選択してみます。
精度はまあまあですが、「Happy」に分類できました。
他のも試してみます。
「Angry」
「Sad」
「Surprise」
今回作成したモデルでは「Angry」と「Sad」の判別が苦手のようです。
最後にモデルのエクスポートを行います。プレビューの「モデルをエクスポートする」をクリックします。
以下のウィンドウが出るので、出力形式を「Tensorflow.js」、「Tensorflow」、「Tensorflow Lite」選択します。今回は「Tensorflow.js」を選択し、[モデルをアップロード] をクリックします。
モデルのアップロードが完了すると、「共有可能なリンク」にURLが表示されるのでコピー、ブラウザの新しいタブに張り付けて開きます。
下の画面が表示されるので、画面左の「Preview this model live」で先ほどのプレビューと同様に、新たに推論を行うことができます。
作成したモデルはドライブにも保存可能で、先ほどのプロジェクトの画面の左上「≡」>「ドライブにプロジェクトを保存」をクリックします。
Googleドライブへのログイン要求が出るので、ログイン、プロジェクト名の設定を経て、ドライブへの保存が完了します。
本記事では、Google Teachable Machine の使い方について解説しました。Google Teachable Machine は、分類などの機械学習モデルを簡単に作成できる便利なツールです。初心者でも簡単に使えるインターフェースや機能が特徴です。Teachable Machine のリンクへ行けばすぐに使え、データのアップロード、トレーニング、エクスポートとかなり手軽なツールです。このプロジェクトでは画像分類でしたが、使えるデータとしては、音声、動画もあるので、そういったデータを使ったモデルなども面白そうです。