学習・モデル作成

はじめに

このドキュメントでは、「データ取得・データセット作成」で作成したデータセットを利用し、ABEJA Templateを利用して、ノンコーディングで機械学習モデル作成を解説します。

ステップ1 学習データを用意する

学習データはデータ取得・データセット作成を実施後を想定しております。

もし、個別で学習データを利用したい場合、以下のドキュメントをご参考の上、学習データを用意ください。

■データレイクへファイルをアップロードし、アノテーションツールを使ってデータセットを作成する

■アノテーション済みのデータを既にお持ちの場合

ステップ2 データを使って学習する

学習データを元にABEJA Templateを利用して機械学習モデルを作成します。まずは、コンソールのTrainingのJob Definitionのページから、Job Definitionを作成します。no sampleを選択します。

その後、バージョンを作成します。タブのTemplatesをクリックして、Image ClassificationのCPUまたはGPUを選択します。この例では GPU を選択します。Datasetには、モデルに学習させるデータセット名を指定します。aliasには、trainと入力します。

JobのVersion 1が作成されました。

続いて、Jobsをクリックして、学習ジョブを作成します。Job Definition Versionとして、先ほど作成したバージョン1を選択します。今回はGPUを使うので、インスタンスタイプとして、gpu-1を選択します。

学習ジョブが実行されました。

学習開始後にTensorBoardのボタンをクリックすると、TensorBoardの画面が開き、Training Loss, Training Accuracy, Validation Loss, Validation Accuracyのデータを可視化できます。

TensorBoardを眺めながら、学習が終わるのを待ちます。今回は16エポック目で学習がSuccessとなりました。EarlyStoppingが実装されているため、Validation Lossに変化がなくなるとその時点で学習が終了します。

なお、このテンプレートは、各種ハイパーパラメーターをチューニングすることができます。やり方は非常に簡単で、学習ジョブを作成する画面にて、環境変数としてパラメーターを指定するだけです。指定できる環境変数の一覧は、こちらを参照下さい。

Dropoutを0.7に変えると、Validation Accuracyが85.4%まで上がりました。

次は、”デプロイメント” です。