ML ボードヘルプ

ML Board Help

ML ボードヘルプ

はじめに

これは、ML ボードおよびそのトレーニングに関する各画面について解説しているヘルプドキュメントです。各画面に「ヘルプ」と書かれたリンクがあり、そのリンク先がこのドキュメントです。

ML ボードの使い方については、以下のドキュメントを参考にしてください。

ML ボードとは何か

ML ボードは、機械学習を誰にでも簡単に扱えるようにする MAGELLAN BLOCKS の機能です。

BLOCKS の機械学習は、「学習」と「予測」の 2 つのステップからなります。

  1. 学習ステップで過去のデータから学習を行います。

  2. 予測ステップで学習結果を使って未来のデータから予測(分類や回帰)を行います。

ML ボードは、この機械学習における 1 の学習ステップをサポートするボードです。2 の予測ステップは、Big Data ボードの「MLボード予測(オンライン)」ブロックでサポートします。

ML ボードでは、この学習のステップを「トレーニング」と呼びます。トレーニングでは、訓練データと検証データを使って学習し、最適な学習結果(トレーニング結果)を導き出します。

訓練データと検証データは、トレーニング用に用意する過去のデータを適切に分けたものです。

ML ボードは、Google Cloud Machine Learning Engine (Cloud ML Engine) を活用して機械学習の機能を実現しています。

GCP サービスアカウント設定画面のヘルプ

セルフサービスプランのみの機能です。

この画面では、GCP のサービスアカウントキーファイルの設定と Google Cloud Machine Learning を利用するための API を有効にします。

GCP サービスアカウント設定画面

GCP サービスアカウント選択

ML ボードは、お客さまの GCP プロジェクトに、環境を構築し運用します。これには、MAGELLAN BLOCKS がお客さまの GCP プロジェクトを使用する権限が必要です。これを可能にするのが、GCP サービスアカウントです。

API の有効化

「確認」ボタンの前にチェックマークが付いていない API がある場合は、以下の操作を行います。

  1. チェックマークが付いていない API のリンクをクリックします。
  2. 「Google API Console」画面上部の「有効にする」ボタンをクリックします。
  3. 「有効にする」ボタンが「無効にする」ボタンに切り替わったら、Google API Console の画面を閉じて、BLOCKS の画面に戻ります。

すべての API について、上記操作が終わったら、「確認」ボタンをクリックします。「確認」ボタンの前にチェックマークが付くことを確認してください。

もし、チェックマークが付かない場合は、しばらく時間をおいてから「確認」ボタンをクリックしてください。状況によっては、なかなかチェックが付かない場合もあります。その場合は、チェックマークが付くまで、しばらく時間をおく→「確認」ボタンをクリックする操作を繰り返してください。

が表示される原因としては、以下のことが考えられます。

  • 対象となる API が有効化されていない。
    API 名横の をクリックして、表示されるページで確認します。もし、有効となっていない場合は、有効にします。
  • GCP サービスアカウントの役割が「編集者」となっていない。
    GCP コンソール メニュー(GCP コンソール左上の )の「IAM と管理」をクリックし、「IAM」で確認します。もし、役割が「 編集者」となっていない場合は、「編集者」を選択します。
  • 対象となる GCP プロジェクトの課金が有効になっていない。
    GCP コンソール メニュー(GCP コンソール左上の )の「お支払い」で確認します。もし、課金が有効になっていない場合は、課金を有効にします。

ストレージ設定画面のヘルプ

セルフサービスプランのみの機能です。

この画面では、トレーニング結果を格納するための Google Cloud Storage (GCS) のバケットを設定します。

ストレージ設定画面

GCS バケットを選択する

バケットは、ML ボード専用のバケットを用意して、そのバケットを選択してください。用意するバケットは、ML ボードを最適な状態で使用するために、以下の設定で作成してください。

オプション
デフォルトのストレージクラス Regional
Regional のロケーション us-central1

GCS バケット内のディレクトリを指定する

ディレクトリは、複数の ML ボードで共有することを想定し、ML ボードごとにディレクトリを分けて使用します。ディレクトリは、事前に準備する必要はありません。ここに指定したディレクトリ名でディレクトリが作成されます。

トレーニングデータ設定画面のヘルプ

この画面では、トレーニングに使用するデータの情報を設定します。

トレーニングデータ設定画面

トレーニングに使用するデータは、コンマ区切りの CSV ファイル(BOM なし、UTF-8)として準備してください。

  • データは、学習のために必要となる1つ以上の「因子データ」と、その「結果となる値」をセットにします。 「結果となる値」とは、数値分類の場合は「回答値」、数値回帰の場合は「実績値」です。
  • 1 行ごとに「因子データ」と、「結果となる値」をセットにして並べます。
  • 1 行のデータの並び順は、「因子データ」、「結果となる値」の順です。
  • 「結果となる値」の型は、数値のみです。
  • 訓練データと検証データは同一形式にします。

因子データの設定

この画面では、「因子データ」についてのみ設定します。因子データの各データは、左から順に、項目 1、項目 2、・・・と呼びます。

「結果となる値」については設定しないでください。

「因子データ」の設定は、「項目を追加する」ボタンをクリックして、項目数分の項目名と型に関する情報を設定していきます。

設定項目 説明
項目名 項目を内容を示す名称を入力します。英数字と _ が使用できます。
項目のデータの種類を指定します。数値 / 月 / 曜日 / 文字列列挙 / 時系列の 5 種類の型をサポートしています。型について詳しくは、下の表を参照してください。

型の種類:

説明
数値 整数や小数です。型が数値の場合は、さらに次元数が指定できます。1 つの項目に、複数の数値が列挙される場合は、列挙される数値の数を指定します。例えば、98,1.3,0,"A" というデータのうち、98,1.3 を 1 つの項目として扱いたい場合は、2 と指定します。次元数の例を示した図
月を表す数値です。数値の範囲は、0 から 11 もしくは、1 から 12 です。
曜日 曜日を表す数値です。数値の範囲は、0 から 6 です。
文字列列挙

文字列です。文字列では、さらに「キーワードリスト」か「おおよその件数を指定」かを選択します。

文字列列挙のオプション 説明
キーワードリスト 項目に出現する文字列のパターンが明確な場合に選択します。また、そのパターンをカンマ区切りで列挙します。
おおよその件数を指定 項目に出現する文字列のパターンが不明瞭な場合に選択します。また、項目に出現するであろうおおよそのパターン数を指定します。
時系列

数値データの並び順に意味があるときに使用します。

時系列は 1 つのトレーニングデータに 1 つのみ指定できます。

下図のように過去 1 週間分の気象データ(最低気温・最高気温・降水量)のパターンを使って何かを学習・予測させたいとします。

時系列型の概念図

このとき、7 日前の気象データ・6 日前の気象データ・...・1 日前の気象データという並び順に意味がある場合に、この時系列型を使用します。

時系列型の場合は、「時系列の数」と「種類の数」を指定します。

「時系列の数」とは、並び順に意味があるデータの個数です。この例の場合は、1 週間分の気象データがそれに該当するため、時系列の数は 7 個です。

時系列の数の例

「種類の数」とは、「時系列の数」でカウントした各データ内のデータの個数です。この例の場合は、気象データ内のデータの個数がそれに該当するため、種類の数は 3 個です。

種類の数の例

この例では、時系列の名称どおりの時間経過に沿った並びのデータとなっていますが、必ずしもその必要はありません。時間経過にかかわらず、データの並び順に意味があるときに使用します。

この時系列型のデータを CSV で表現するときは、下図のようにそのままコンマ区切りでデータを並べます。

CSV の例

分類する数の設定

数値分類タイプの場合は、「分類する数」に結果となる値(回答値)のパターン数を設定します。

出力次元数の設定

数値回帰タイプの場合は、「出力次元数」に結果となる値(実績値)の次元数(値の個数)を設定します。

例えば、実績値が地球上の位置を表す緯度、経度および高さを持つような場合は、3 と設定します。

JSON テキストを使ったトレーニングデータ情報の設定

トレーニングデータの情報は、JSON テキストでも設定できます。

データ項目」の「JSONを直接編集する」をクリックすると、JSON テキストを編集する領域(下図の赤枠部分)が表示されます。この領域に、JSON テキストを指定します。

トレーニングデータの JSON テキスト編集方法の図

フォームで編集」をクリックすると、GUI でデータ項目を設定する表示に切り替わります。

トレーニングデータの情報を指定する JSON テキストの仕様は、以下のとおりです。

  • トレーニングデータの情報は、配列値([項目1, 項目2, ..., 項目n])で指定します。
    項目の並びは、トレーニングデータ(CSV ファイル)の項目(カラム)の並びに合わせます。
  • 各項目は、オブジェクト値({...})で指定します。オブジェクト値の各メンバーの規則は、以下のとおりです。
    • 項目名は、"name": "項目名" と指定します。
    • 型は、"type": "型" と指定します。"型" の部分は、以下のいずれかを指定します。
      • 数値型: "number"
      • 月: "month"
      • 曜日: "weekday"
      • 文字列列挙型: "enum"
    • 数値型の場合は、次元数を "count": 次元数 で指定します。
    • 文字列列挙型でキーワードリストの場合は、"keys": "キーワードリスト" を指定します。
    • 文字列列挙型でおおよその件数を指定の場合は、"size": おおよその件数 を指定します。

以下は、JSON テキストの指定例です。

[
  {
    "name": "item1",
    "type": "number",
    "count": 1
  },
  {
    "name": "item2",
    "type": "month"
  },
  {
    "name": "item3",
    "type": "weekday"
  },
  {
    "name": "item4",
    "type": "enum",
    "keys": "A, B, O, AB"
  },
  {
    "name": "item5",
    "type": "enum",
    "size": 4
  }
]

ラベルの設定(アルファ版限定公開機能)

画像物体検出タイプでは、トレーニングの前にトレーニング対象の画像に対して、ラベル付けを行います。

下図は、犬と猫にそれぞれ、「dog」・「cat」とラベル付けしている例です。

補足説明図:ラベル付けの例

ここでは、このラベル付けで使用するラベルの登録を行います。この例の場合は、「dog」・「cat」をラベル登録します。

ラベルの登録は、ラベル一覧のテキスト入力フィールドにラベルを入力し、[]ボタンをクリックします。この操作を登録するラベル数分繰り返します。

ラベルの規則は、以下のとおりです。

  • 半角英数字とアンダースコア(_)が使用可能
  • 64 文字以内

ラベルを削除したい場合は、削除したいラベル右端のゴミ箱アイコン()をクリックします。

ラベルの登録・削除は、ボード作成後の変更はできません。

トレーニング詳細画面のヘルプ

この画面では、以下のことができます。

トレーニング詳細

画像のラベル管理(アルファ版限定公開機能)

画像物体検出タイプのみの機能です。

画像物体検出タイプでは、トレーニングの前にトレーニング対象の画像に対して、ラベル付けの作業が必要です。

ラベル付けとは、画像中の物体に対して、その物体を囲む矩形範囲を明示して、そこに名前(ラベル)を付けます。1 つの画像中の複数の物体に対して、同時にラベルが付けられます。

補足説明図:ラベル付けの例

ラベル付けするトレーニング画像は、あらかじめ GCS 上の 1 つのフォルダー内にフラットな状態で集約してください(フォルダー分けによる階層化は不可)。

error_outline ラベル付けするトレーニング画像は、100 枚程度は必要です。枚数が少ないと、トレーニングで失敗する可能性があります。

ラベルの付け方
  1. ラベルをつける]ボタンをクリックします。
  2. GCS 上の画像フォルダーを選択し、[選択]ボタンをクリックします。

    補足説明図:GCS 上の画像フォルダーを選択する手順例
  3. ラベル付けの画面になります。

    ラベル付け画面
  4. ラベル付けの画面で、画像とラベルを選択し、ラベル付けする物体の範囲をマウスのドラッグ操作でマーキングします。

    補足説明図:ラベルの付け方
    • 範囲右上の×ボタンをクリックすると、範囲選択を解除します。
    • 範囲右下の四角いマーカーをドラッグすると、範囲のサイズが変更できます。
    • 範囲内をドラッグすると、範囲の位置を調整できます。
    補足説明図:ラベルの編集方法
  5. 保存]ボタンをクリックして、ラベル付けの情報を保存します。

  6. ファイル一覧のすべての画像に対して、この操作を繰り返します。

  7. 終わったら、画面右上の[閉じる]ボタンをクリックします。

トレーニングを開始する

[トレーニング開始] ボタンをクリックすると「トレーニング開始」画面が表示されます。

トレーニング開始画面で、トレーニングに必要な情報を項目を設定して、トレーニングを開始します。

トレーニングを一覧する

トレーニングが 1 つ以上あるとトレーニングが一覧表示されます。トレーニングの一覧では、トレーニングごとに以下の情報が確認できます。

情報 説明
トレーニング名 トレーニング開始」で設定したトレーニング名です。
トレーニング開始日時 トレーニングを開始した日時です。
トレーニング終了日時 トレーニングが終了した日時です。
ステータス トレーニングの状況です。トレーニングの状況に応じて、準備中 / トレーニング中 / 中断済み / 成功 / 失敗 のいずれかが表示されます。
正確率 / 誤差 トレーニングの評価結果です。分類の場合は正確率、数値回帰の場合は誤差で表します。
詳細 トレーニングの詳細な情報が確認できます。
アクション トレーニングの中断とトレーニング結果の適用ができます。トレーニング結果は 1 つのみ適用できます。適用するとトレーニング結果を使った予測ができます。

トレーニングの詳細を確認する

トレーニングの[詳細を見る]リンクをクリックすると、そのトレーニングの詳細な情報が確認できます。

項目 説明
トレーニング結果

トレーニングの開始日時・終了日時・ステータス・正確率もしくは誤差が確認できます。

画像分類の場合は、[分類に失敗した画像]が表示されることがあります。

画像分類では、画像フォルダーのデータをおよそ 8:2 の割合で訓練用のデータと検証用のデータに自動的に仕分けして、トレーニングを行います。

トレーニングでは、訓練用のデータで学習を行い、その学習の成果を検証用のデータで検証します。この検証で、分類結果が想定と異なっていると[分類に失敗した画像]が表示されます。

分類に失敗した画像]が表示された場合は提示された各画像を確認してください。画像に誤りがあったときは、適切なフォルダーに配置しなおすか、削除してから再度トレーニングを行ってください(画像に誤りがなければ、その画像はそのままで構いません)。

設定内容

トレーニングデータ開始」で設定した内容が確認できます。

エラーログ トレーニング失敗時のエラーメッセージが確認できます。失敗の原因を調べる際の参考にしてください。

ML ボードの情報を確認する

「設定内容」の項目で ML ボードの情報が確認できます。

項目 説明
ボード名 ML ボード作成」で設定した ML ボードのボード名です。
タイプ ML ボード作成」で設定した ML ボードのタイプです。
GCP サービスアカウント ML ボードが使用する GCP プロジェクト ID です。
モデル名 トレーニングのモデル名(トレーニング結果)です。
トレーニングデータ設定 トレーニングデータ設定」で設定した内容です。

ボードを削除する

「ボード削除」項目の「ボードを削除する」をクリックすると ML ボードが削除できます。

トレーニング開始画面のヘルプ

この画面では、トレーニングに必要な項目を設定して、トレーニングを開始します。

数値分類タイプ・数値回帰タイプ

トレーニング開始

設定項目は以下のとおりです。

設定項目 説明
トレーニング名 トレーニングに名前をつけます。
トレーニングデータアップロード

トレーニングデータのアップロード先に使用する Google Cloud Storage (GCS) の場所が「gs://バケット名」の形式で表示されます。

リンクをクリックすると、ウェブブラウザーの別タブで Google Cloud Console が開き、この GCS にアクセスできます(プロジェクト設定の GCP アクセスで登録した Google アカウントによるログインが必要)。

フルサービスプランのときのみ表示されます。

訓練データ URL

GCS 上の訓練データファイルのパス(gs://バケット名/ファイル名.csv のような URL)を指定します。

パスに指定できる文字は、英数字・アンダースコア(_)・ハイフン(-)・スラッシュ(/)などのアスキー(ASCII)文字のみです。

アイコンをクリックして表示される GCS ファイルセレクターを使ってファイルを選択すると、この形式でパスが展開されます。

検証データ URL

GCS 上の検証データファイルのパス(gs://バケット名/ファイル名.csv のような URL)を指定します。

パスに指定できる文字は、英数字・アンダースコア(_)・ハイフン(-)・スラッシュ(/)などのアスキー(ASCII)文字のみです。

アイコンをクリックして表示される GCS ファイルセレクターを使ってファイルを選択すると、この形式でパスが展開されます。

トレーニングの経過制限時間

ML ボードのトレーニングでは、最良のトレーニング結果を導き出すために、試行を繰り返します。

トレーニングの経過制限時間は、1 回の試行にかける最大の時間を指定します。

1 回の試行に時間制限をかけない場合は、0 を設定します。

試行の途中でトレーニング結果(正確率や誤差)が悪化する(トレーニングの過剰状態になる)と、「トレーニングの経過制限時間」を待たずに試行を止めます。

トレーニングの最大試行回数

トレーニングの試行回数は、試行の回数を 1 以上の値で指定します。

「トレーニングの経過制限時間 × トレーニングの最大試行回数」が、トレーニングにかかるおおよその時間です。実際には、付加的・間接的な処理による時間もあるため、もう少し時間がかかる可能性もあります。

マシンタイプ

トレーニングに使用するマシンの種類を選択します。

  • BASIC

    標準的なマシンを使ってトレーニングを行います。

  • BASIC GPU

    GPU (Graphic Processing Unit) を使ってトレーニングを行います。GCP の料金が BASIC に比べて 3 倍ほどかかりますが、 BASIC に比べて高速なトレーニングが望めます。

    ただし、トレーニングデータの内容によっては、思ったほど高速にならないことや BASIC より遅くなることもあります。

トレーニングの説明 トレーニングの説明を記入します。

画像分類タイプ

画像分類タイプのトレーニング開始画面

設定項目は以下のとおりです。

設定項目 説明
トレーニング名 トレーニングに名前をつけます。
トレーニングデータアップロード

トレーニングデータのアップロード先に使用する Google Cloud Storage (GCS) の場所が「gs://バケット名」の形式で表示されます。

リンクをクリックすると、ウェブブラウザーの別タブで Google Cloud Console が開き、この GCS にアクセスできます(プロジェクト設定の GCP アクセスで登録した Google アカウントによるログインが必要)。

フルサービスプランのときのみ表示されます。

画像フォルダー

トレーニングに使用する GCS 上の画像フォルダーへのパス(gs://バケット名/フォルダー/ のような URL)を指定します。パスの末尾は必ず / とします。

アイコンをクリックして表示される GCS ファイルセレクターを使ってフォルダーを選択すると、この形式でパスが展開されます。

画像フォルダーの仕様は、以下のとおりです。

画像フォルダーの形式
  • トレーニング用画像ファイルをまとめるためのフォルダーを GCS 上に用意します。これを画像フォルダーと呼びます。
  • 画像フォルダーの直下に、分類する種類ごとのフォルダーを用意します。このフォルダー名が分類名として扱われます。
  • 画像ファイルは、分類ごとのフォルダー内に配置します。
  • 対応する画像ファイルの形式は、JPEG のみです。
  • 極端な縦横比の画像は、正しく分類できない可能性があります。
  • 分類ごとのフォルダー内には、画像ファイルのみを配置します(更にフォルダーを作って整理しないでください)。

たとえば、犬と猫の画像を分類する場合は、犬用のフォルダーと猫用のフォルダーを分けてそれぞれに犬と猫の画像ファイルを配置します。

トレーニングの経過制限時間

トレーニングにかける最大の時間を指定します。

トレーニングの最大試行回数

トレーニングの試行回数は、試行の回数を 1 以上の値で指定します。

「トレーニングの経過制限時間 × トレーニングの最大試行回数」が、トレーニングにかかるおおよその時間です。実際には、付加的・間接的な処理による時間もあるため、もう少し時間がかかる可能性もあります。

マシンタイプ

トレーニングに使用するマシンの種類を選択します。

  • BASIC

    標準的なマシンを使ってトレーニングを行います。

  • BASIC GPU

    GPU (Graphic Processing Unit) を使ってトレーニングを行います。GCP の料金が BASIC に比べて 3 倍ほどかかりますが、 BASIC に比べて高速なトレーニングが望めます。

    ただし、トレーニングデータの内容によっては、思ったほど高速にならないことや BASIC より遅くなることもあります。

トレーニングの説明 トレーニングの説明を記入します。

画像物体検出タイプ(アルファ版限定公開機能)

画像物体検出タイプのトレーニング開始画面

設定項目は以下のとおりです。

設定項目 説明
トレーニング名 トレーニングに名前をつけます。
画像フォルダー

ラベル付けを行ったトレーニング画像のフォルダーへの GCS URL を指定します。

error_outline ラベル付けしたトレーニング画像は、100 枚程度は必要です。枚数が少ないと、トレーニングで失敗する可能性があります。

画像のラベル管理に表示されているフォルダー横のコピーアイコンをクリックすると、GCS URL がクリップボードにコピーされます。GCS URL の指定は、これをペーストすると便利です。

トレーニングの説明 トレーニングの説明を記入します。

GCP サービスの利用料金

ML ボードは、お客さまの GCP プロジェクトに各種 GCP サービスを利用した環境を構築します。

このため、MAGELLAN BLOCKS の料金とは別に GCP の料金が発生します。適用される料金は、サービスごとに異なります。詳しくは、ML ボードで使用する各サービスごとの料金ページを参照してください。