Image Analyst ライセンスで利用できます。
ディープ ラーニング モデルのトレーニング ウィザードは、収集したトレーニング データを使用してディープ ラーニング モデルをトレーニングできる補助ワークフローです。 トレーニング データを用意したら、[画像] タブの [ディープ ラーニング ツール] ドロップダウン メニュー の下にあるディープ ラーニング モデルのトレーニング ウィザード を開きます。
このウィザードには、[はじめに]、[トレーニング]、および [結果] の 3 つのページがあります。
ディープ ラーニング モデルのトレーニング ウィザードを使用するには、次の手順を実行します。
- [画像] タブをクリックします。
- [ディープ ラーニング ツール] ドロップダウン メニュー をクリックして、[ディープ ラーニング モデルのトレーニング] を選択します。
[ディープ ラーニング モデルのトレーニング] ウィザード ウィンドウが表示されます。
はじめに
ウィザードの [はじめに] ページで、ディープ ラーニング モデルのトレーニング方法を指定する必要があります。
- モデルのトレーニング方法を指定します。
- [パラメーターを自動的に設定] - モデルのタイプ、パラメーター、およびハイパーパラメーターが自動的に設定され、最適なモデルが構築されます。
- [独自のパラメーターを指定] - モデルのタイプ、パラメーター、およびハイパーパラメーターをユーザー自身で設定してモデルを構築します。
- [次へ] ボタンをクリックすると、[トレーニング] ページに移動します。
トレーニング
[トレーニング] ページで、トレーニングに使用するパラメーター情報を設定します。 [はじめに] ページで指定したオプションによって、パラメーターが異なる場合があります。
- 必要なパラメーターを指定します。
入力トレーニング データ
モデルのトレーニングに必要な画像チップ、ラベル、統計情報を含むフォルダー。 [ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールからの出力です。
出力モデル
(自動トレーニング)
ディープ ラーニング パッケージ (.dlpk ファイル) として保存される出力トレーニング済みモデル。
出力フォルダー
(手動トレーニング)
トレーニング済みモデルが格納される出力フォルダーの場所。
- 必要に応じて、他のパラメーターを設定します。
自動トレーニング パラメーター
パラメーター 説明 事前トレーニング済みモデル
新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力は、Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) です。
類似したクラスを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。
合計時間の制限 (時間)
AutoDL モデルのトレーニングにかかる合計時間の制限 (時間単位)。 デフォルトは 2 時間です。
自動 DL モード
使用される AutoDL モードと、AutoDL 検索の集約度を指定します。
- 基本 - ハイパーパラメーター調整を行わずに、選択されたすべてのネットワークをトレーニングします。
- 高度 - 上位 2 つの実行モデルにハイパーパラメーター調整を行います。
ニューラル ネットワーク
モデルのトレーニングに使用されるアーキテクチャを指定します。
デフォルトでは、すべてのネットワークが使用されます。
評価済みモデルの保存
すべての評価済みモデルを保存するかどうか指定します。
- オン - すべての評価済みモデルを保存します。
- オフ - 最善モデルのみを保存します。 これがデフォルトです。
手動トレーニング パラメーター
パラメーター 説明 最大エポック
モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポックを 1 に設定すると、データセットがニューラル ネットワークを通って前後に 1 回渡されます。 デフォルト値は 20 です。
事前トレーニング済みモデル
新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力は、Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) です。
類似したクラスを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。
モデル タイプ
ディープ ラーニング モデルのトレーニングに使用されるモデル タイプを指定します。
さまざまなモデル タイプの詳細については、「ディープ ラーニング モデルのアーキテクチャ」をご参照ください。
モデル引数
[モデル タイプ] パラメーターの情報は、このパラメーターに値を取り込むために使用されます。 これらの引数はモデル アーキテクチャによって異なります。 ArcGIS でトレーニングされるモデルのサポート対象モデル引数を以下で説明します。 ArcGIS 事前トレーニング済みモデルとカスタム ディープ ラーニング モデルでは、このツールでサポートされている追加の引数を利用できることがあります。
各モデル タイプで利用可能な引数の詳細については、「ディープ ラーニングの引数」をご参照ください。
データ拡張
使用されるデータ拡張のタイプを指定します。
データ拡張は、既存のデータを使用してデータセットの変更済みコピーを作成することで人為的にトレーニング セットを増やす手法です。
- デフォルト - デフォルトのデータ拡張パラメーターとデフォルト値が使用されます。 デフォルトのデータ拡張手法は、crop、dihedral_affine、brightness、contrast、zoom です。 これらのデフォルト値は通常、衛星画像に適しています。
- なし - データ拡張は行われません。
- カスタム - [拡張パラメーター] パラメーターで、ユーザーが定義するデータ拡張値を指定します。
- ファイル - トレーニング データセットと整合チェック データセットのデータ拡張のための fastai の変換を指定します。 これらは transforms.json という .json ファイルで指定され、トレーニング データと同じフォルダーに格納されています。 さまざまな変換に関する詳細については、「fastai ビジョンの変換」をご参照ください。
拡張パラメーター
拡張パラメーター内の各変換の値を指定します。
- rotate - 画像は、確率 (p) の分だけ無作為に (角度単位で) 回転します。 角度が範囲 (a,b) の場合、値は、a から b の範囲で均等に割り当てられます。 デフォルト値は 30.0; 0.5 です。
- brightness - 画像の明るさは、確率 (p) を適用して、変化の値に応じて無作為に調整されます。 変化が 0 の場合は画像が最も暗くなり、変化が 1 の場合は画像が最も明るくなります。 変化が 0.5 の場合は、明るさは調整されません。 変化が範囲 (a,b) の場合、拡張によって a から b の範囲の値が均等に割り当てられます。 デフォルト値は (0.4,0.6); 1.0 です。
- contrast - 画像のコントラストは、確率 (p) を適用して、スケールの値に応じて無作為に調整されます。 スケールが 0 の場合は画像がグレー スケールになり、スケールが 1 より大きい場合は画像がスーパーコントラストになります。 スケールが 1 の場合は、コントラストが調整されません。 スケールが範囲 (a,b) の場合、拡張によって a から b の範囲の値が均等に割り当てられます。 デフォルト値は (0.75, 1.5); 1.0 です。
- zoom - 画像がスケールの値に応じて無作為にズーム インされます。 ズームの値は、scale(a,b); p の形式を取ります。 デフォルト値は (1.0, 1.2); 1.0 で、p は確率です。 スケールが 1.0 を超える場合のみ、画像のズーム インが行われます。 スケールが範囲 (a,b) の場合は、a から b の範囲の値が均等に割り当てられます。
- crop - 画像が無作為にトリミングされます。 トリミングの値は、size;p;row_pct;col_pct の形式を取り、p は確率を表します。 位置は (col_pct, row_pct), によって与えられ、col_pct と row_pct は 0 ~ 1 に正規化されます。col_pct または row_pct が範囲 (a,b) の場合は、a から b の範囲の値が均等に割り当てられます。 デフォルト値は chip_size;1.0; (0, 1); (0, 1) で、224 がデフォルトのチップ サイズとなります。
バッチ サイズ
1 回のトレーニングで処理されるトレーニング サンプルの数。
バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。
設定されたバッチ サイズに対して GPU メモリが足りない場合、ツールが最適なバッチ サイズを計算して使用するよう試みます。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。
検証 %
モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。
チップ サイズ
モデルをトレーニングするための画像のサイズ。 画像は、指定のチップ サイズにトリミングされます。 画像サイズがパラメーター値より小さい場合は、画像サイズが適用されます。 デフォルト サイズは 224 ピクセルです。
サイズ変更
画像のチップのサイズを変更します。 チップのサイズを変更したら、チップ サイズのピクセル ブロックがトリミングされ、トレーニングに使用されます。 このパラメーターは、オブジェクト検出 (PASCAL VOC)、オブジェクト分類 (ラベル付きタイル)、super-resolution データにのみ適用されます。
サイズ変更の値は、多くの場合、チップ サイズの半分です。 このサイズ変更の値がチップ サイズの値より小さい場合、サイズ変更の値は、トレーニング用ピクセル ブロックの作成に使用されます。
学習率
トレーニング処理全体で、既存の情報を新たに取得した情報に上書きする割合。 値を指定しないと、トレーニング プロセス中に最適な学習率が学習曲線から抽出されます。
バックボーン モデル
新しいモデルをトレーニングするアーキテクチャとして使用する、事前構成済みのニューラル ネットワークを指定します。 この方法は「転移学習」と呼ばれます。
また、たとえば timm:resnet31、timm:inception_v4、timm:efficientnet_b3 などのように timm を接頭辞として使用することで、PyTorch Image Models (timm) でサポートされている畳み込みニューラル ネットワークを指定できます。
監視指標
チェックポイントおよび早期停止中に監視する指標を指定します。
モデルが改善しなくなったら停止
早期停止を実施するかどうかを指定します。
- オン - 早期停止が実施され、指定した [最大エポック] パラメーター値にかかわらず、モデルの改善がなくなった時点でモデルのトレーニングを停止します。 これがデフォルトです。
- オフ - 早期停止は実施されず、[最大エポック] パラメーター値に到達するまで、モデルのトレーニングが続行されます。
モデルの固定
事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、ウェイトとバイアスが本来の設計どおりになります。
- オン - バックボーン レイヤーが固定され、事前定義済みのウェイトとバイアスを [バックボーン モデル] パラメーターで変更しません。 これがデフォルトです。
- オフ - バックボーン レイヤーは固定されず、[バックボーン モデル] パラメーターのウェイトとバイアスを、トレーニング サンプルに合わせて変更できます。 この処理には時間がかかりますが、通常は優れた結果が得られます。
加重初期化スキーマ
レイヤーの重みが初期化される Scheme を指定します。
マルチスペクトル データを使用してモデルをトレーニングするには、モデルが使用可能なさまざまなタイプのバンドに対応する必要があります。 これは、モデルの第 1 レイヤーを再度初期化することで行われます。
- ランダム - 非 RGB バンドでは、ランダムな重みが初期化され、RGB バンドでは、事前トレーニング済みの重みが維持されます。 これがデフォルトです。
- Red バンド - 非 RGB バンドでは、事前トレーニング済みモデルのレイヤーの Red バンドに対応する重みのクローンが作成され、RGB バンドでは、事前トレーニング済みの重みが維持されます。
- すべてランダム - RGB バンドと非 RGB バンドで、ランダムな重みが初期化されます。 このオプションは、マルチスペクトル画像にのみ適用されます。
このパラメーターは、マルチスペクトル画像がモデルで使用される場合のみ適用されます。
- [次へ] ボタンをクリックすると、[結果] ページに移動します。
結果
[結果] ページには、ユーザーが確認できるよう、トレーニングされたモデルの主要な情報が表示されます。 また、トレーニングされたモデルを他のモデルと比較することもできます。 推論時にディープ ラーニング モデルを使用する前に、ディープ ラーニング モデルを理解することが重要です。 モデルを確認することで、モデルがどのようにトレーニングされたのか、どのように実行されるかがわかります。 多くの場合、複数のモデルを比較することになります。
アイテム | 説明 |
---|---|
モデル | [参照] ボタン を使用すると、確認したいモデルを探すことができます。 関連付けられたすべてのモデルが [モデル] ドロップダウン リストに追加されます。 モデルを切り替え、ドロップダウン リストからモデルを削除できます。 |
モデル タイプ | モデル アーキテクチャの名前。 |
バックボーン | トレーニング モデル用のアーキテクチャとして使用された事前構成済みのニューラル ネットワークの名前。 |
学習率 | ニューラル ネットワークのトレーニングに使用される学習率。 この値を指定しなかった場合は、トレーニング ツールにより値が計算されます。 |
トレーニング ロスと検証ロス | このセクションには、モデルのトレーニング中に発生したトレーニング ロスと検証ロスを示すグラフが表示されます。 |
モデルの解析 | モデル アーキテクチャに応じて指標または数字。 たとえば、ピクセル分類モデルには、各クラスについて精度、再現率、F1 スコアの各指標が表示されます。 オブジェクト検出モデルには、平均精度スコアが表示されます。 |
サンプル結果 | 地上参照データと予測のペアの例を表示します。 |
エポックの詳細 | トレーニング ロス、検証ロス、時間、その他の指標など、各エポックの情報を格納したテーブル。 |