学習・モデル作成

はじめに

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

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

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

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

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

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

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

学習データを元にABEJA Template を利用して機械学習モデルを作成します。今回はImage Classificationのタスクを用います。 まずは、コンソールの学習のジョブ定義のページから、ジョブ定義を作成します。

ジョブ定義名を入力し、「サンプル無し」を選択します。

その後、バージョンを作成します。先程、作成したジョブ定義から「バージョン作成」を選択します。

タブのテンプレートをクリックして、Image ClassificationのCPUまたはGPUを選択します。この例では GPU を選択します。この際、学習ジョブに関するデフォルトのパラメータが表示されますので、必要に応じて、調整が可能となります。 (後ほどの学習ジョブ作成時に修正も可能です。)

「ジョブ定義のバージョンを作成」を選択すると、ジョブのバージョン 1が作成されました。

続いて、学習ジョブを作成します。「ジョブ」をクリックして、学習ジョブを作成します。

ジョブ定義のバージョンとして、先ほど作成したバージョン1を選択します。今回はGPUを使うので、インスタンスタイプとして、gpu-1を選択します。ここで、学習に使用するデータセットを選択します。 alias ( エイリアス )は「train」と指定してください。ここでも各パラメータを調整して学習ジョブを実行することが可能です。

「学習ジョブ作成」を実行すると、学習ジョブが実行されます。

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

学習経過のログも「ログ」より閲覧いただけます。

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

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

今回は参考にDropoutを0.7に調整し、再度学習ジョブを実行してみます。

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

これでABEJA Template (Image Classification)を利用した学習が完了しました。

次は、”デプロイメント” を解説します。