Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

変換とリスト

多くのモデル間で複数のオーグメンテーション戦略を簡単に比較できるよう、DataRobotには、オーグメンテーションリストを作成する機能があります。 このセクションでは、このリストとリストを構成する設定および変換について説明します。

オーグメンテーションリスト

オーグメンテーションリストには、特定のオーグメンテーション戦略のすべてのパラメーター設定が格納されます。 これらのパラメーターは特徴量セットと同様の働きをし、DataRobotはリストを作成、名前変更、および削除する機能を提供します。

モデリングの前高度なオプションリンクから変換パラメーターを設定すると、初期オーグメンテーションリストが自動的に作成されます。 リストはモデリング後に追加することもできます。 いずれの場合も、モデリングが完了するとリストを表示することができます。

保存したオーグメンテーションリストを表示するには、リーダーボードでモデルを開き、評価 > 高度なチューニングに移動します。

ここから新しいリストを作成することや、既存のリストを管理することができます。 プレビューを表示をクリックして、グラフ画像を画像変換のプレビューで置き換えることや、プレビューを非表示をクリックして、高度なチューニンググラフに戻ることができます。

新しいリストの作成

新しいリストを作成するには、新しいリストを作成をクリックします。 変換パラメーターのリスト(それぞれ以下で説明)とプレビューが表示されます。 デフォルト設定からパラメーターの設定を開始するか、ドロップダウンから既存のリストを開始点として選択できます。 スライダーを使用せずに手動で値を入力する場合は、変更が登録されて保存される前に、ボックスの外側をクリックする必要があります。 プレビューには、元の画像と変換された画像のサンプルが表示されます。

変換パラメーターを設定し(スクロールしてすべてのオプションにアクセス)、必要に応じてオーグメンテーションをプレビューし、新しいリストとして保存をクリックします。 変更を破棄するには、矢印をクリックして高度なチューニングに戻ります。

既存のリストの管理

リストのドロップダウンからリストを管理するを選択して、オーグメンテーションリストの名前を変更することや削除することができます。

編集()または削除()アイコンを使用すると、リストの名前を変更または削除できます。 以下の点に注意してください。

  1. 「初期リスト」(高度なオプション設定から作成されたもの)など、モデリングに使用されたリストは削除できません。
  2. 「初期リスト」の名前を変更することはできません。

オーグメンテーションリストのコンポーネント

以下に、オーグメンテーションリストの各コンポーネントについて説明します。 値を設定した後、オーグメンテーションのプレビューを使用して、値を微調整できます。 プレビューでは、データセットのすべての画像が、すべての可能な変換を伴って表示されるわけではありません。 その代わりに、データセットのオリジナル画像と、トレーニングに使用したデータに表示される変換例からなる行が含まれています。

元の画像ごとの新規画像

元の画像ごとの新しい画像には、DataRobotが作成する元の画像のバージョン数を指定します。 基本的に、オーグメンテーション後にデータセットを拡張する大きさを設定します。 たとえば、元のデータセットに1000の行があり、「新しい画像」の値が3の場合、モデルをトレーニングすると4000行になります(元の1000行および変換された画像を含む3000の新しい行)。

元の画像ごとの新しい画像の最大許容値は動的です。 つまり、DataRobotが元の行の数に基づく値を決定し、メモリー制限を超えずにモデルを構築するために安全に使用できるようにします。 簡単に言えば、1つのプロジェクトでは、(現在の特徴量セットに関係なく)最大値は300,000 / (number_of_rows * feature_columns)か1の、どちらか大きい方になります。

微調整されたモデルの場合、元の画像ごとの新しい画像パラメーターには何の効果もありません。 代わりに、高度なチューニングタブのepochearlystop_patienceのパラメーターを使用してトレーニングデータのサイズを制御します。

変換確率の選択

新しく作成されるどの画像についても、オーグメンテーションリストで有効にした各変換が適用される確率は、このパラメーターに等しくなります。 したがって、回転およびシフトを有効にし、個々の変換確率を0.8に設定すると、新規画像の約80%に少なくとも回転が適用され、約80%に少なくともシフトが適用されます。 各変換の確率は独立しており、かつ新しい各画像にはいずれの変換も適用されない可能性、いずれか一方の変換が適用される可能性、または両方の変換が適用される可能性があるため、新しい画像は次のように分布されます。

シフトなし Shift(シフト)
回転なし 4% 16%
回転 16% 64%

変換

次のセクションでは、画像で使用できる変換オプションについて説明します。

利用可能な変換に慣れるための最良の方法は、DataRobotでそれらを探索し、オーグメンテーションのプレビューを使用して、変換された画像を確認することです。 以下の説明は、コンテキストと実装の詳細を説明しています。

変換の主な目的は2つあります。

  1. 元のデータに合理的に含まれていたように見える新しい画像を作成する。 通常、変換の適用は、より多くのデータを収集してラベルを付けるよりもコストがかからないため、元の画像とほぼ同じくらいの画像でトレーニングセットのサイズを増やすための優れた方法です。

  2. 画像から一部の情報を意図的に削除し、画像のさまざまな側面に焦点を合わせるようにモデルをガイドして、それによって画像のより堅牢な表現を学習する。 これは、ぼかし切り抜きのセクションの例で説明します。

Shift(シフト)

Shift(シフト)変換は、検出するオブジェクトが中央に配置されていない場合に役立ちます。 選択した後、Maximum Proportion(最大比率)も設定します。

最大比率のパラメーターでは、画像が上、下、左、または右にシフトされる最大量を設定します。 0.5の値は、画像を画像の幅の半分まで左または右に、または画像の高さの半分まで上下にシフトできることを意味します。 実際のシフト量は画像ごとにランダムであり、シフト個々の変換確率に等しい確率で各画像にのみ適用されます。 画像は反射パディングで埋められます。 この変換は通常、上記の目的を果たし、撮影者が一歩前進したか後退したか、またはカメラを上げ下げしたかをシミュレートします。

スケール

Scale(スケール)は次の場合に役立つ可能性があります。

  • 検出対象のオブジェクトがカメラから一定の距離ではない。
  • 検出対象のオブジェクトのサイズが一定ではない。

選択したら、最大比率 のパラメーターを設定して、画像がスケールインまたはスケールアウトされる最大量を設定します。 画像ごとにスケーリングされる実際の量はランダムで、スケール個々の変換確率に等しい確率で各画像にのみ適用されます。 スケールアウトすると、画像は反射パディングで埋められます。 この変換は通常、1番目の目的を満たし、撮影者が一歩前進したか後退したかをシミュレートします。

回転

Rotate(回転)は次の場合に役立つ可能性があります。

  • 検出対象のオブジェクトがさまざまな方向に配置されている可能性がある。
  • 検出対象のオブジェクトに放射状の対称性がある。

設定されている場合は、Maximum Degrees(最大度)パラメーターを使用して、画像が時計回りまたは反時計回りに回転する最大度を設定します。 画像ごとに回転される実際の量はランダムであり、回転個々の変換確率に等しい確率で各画像にのみ適用されます。 回転は、キャプチャしたオブジェクトが回転していた場合、または写真家がカメラを傾けていた場合に最適なシミュレーションになります。

ぼかし

Blur(ぼかし)およびそれに付随するMaximum Filter Size(最大フィルターサイズ)は次の場合に役立ちます。

  • 画像にはさまざまな不明瞭性があります。
  • モデルは、精度の高い予測を行うために、大規模な特徴量を認識することを学習する必要があります。

最大フィルターサイズ のパラメーターは、画像を滑らかにするために画像に渡されるGaussianフィルターの最大サイズを設定します。 たとえば、フィルターサイズが3の場合、新しい画像の各ピクセルの値は、元のピクセルを囲む3x3の正方形の集合体になります。 フィルターサイズを大きくすると、画像がぼやけます。 画像ごとにフィルターされる実際のサイズはランダムであり、ぼかし個々の変換確率に等しい確率で各画像にのみ適用されます。

この変換は、上記の両方の目的に役立ちます。 第一の目的に関して、画像にさまざまなぼかしがある場合は、ぼかしを追加すると、さまざまなレベルのフォーカスで新しい画像をシミュレートできます。 2番目の目的は、ぼかしを追加することによって特定の小さなピクセルグループではなく、画像内のより大規模な形状や色に焦点を合わせるようにモデルをガイドします。 たとえば、モデルが全体の形状を考慮するのではなく、毛皮の1つの部分だけで猫を識別することを学習しているのではないかと懸念される場合、ぼかしを追加すると、モデルが小規模な特徴量と大規模な特徴量の両方に焦点を合わせるのに役立ちます。 ただし、製造上の小さな欠陥を認識するようにモデルをトレーニングしていいて、ぼかしを適用すると、トレーニングに役立つ貴重な情報が排除されるだけの場合があります。

切り抜き

切り抜き(Cutout)は次の場合に役立つ可能性があります。

  • 検出対象のオブジェクトが、他のオブジェクトによって部分的に遮られていることがある。
  • 画像内の複数の特徴量に基づいて予測を行う方法をモデルが学習する必要がある。

選択したら、設定できる追加のパラメーターがいくつかあります。

  • Number of Holes(穴の数)は、画像上にランダムに貼り付ける黒い長方形の 数を設定します。
  • Maximum Height in Pixels(ピクセル単位の最大高さ)およびMaximum Width in Pixels(ピクセル単位の最大幅)は、長方形ごとの最大の高さと幅を示します。ただし、各長方形の値はランダムになります。

切りぬきは、個々の変換確率に等しい確率で各画像に適用されます。

この変換は、上記の両方の目的に役立ちます。 最初に、検出するオブジェクトが他のオブジェクトによって部分的に遮られている場合、切り抜きを追加すると、部分的に隠されているオブジェクトを使用して、新しい画像をシミュレートできます。 2番目の目的に関して、切り抜きを追加すると、予測を行うためにオブジェクトの同じ部分を常に見るとは限らないようにモデルをガイドします。 たとえば、モデルをトレーニングして、さまざまな車種を区別できます。 モデルは、ボンネットの形状が80%の精度に達するのに十分であることを学習する可能性があるため、ボンネットからの信号がトレーニングの他の情報を上回る可能性があります。 切り抜きを適用することにより、モデルは常にボンネットを見ることができるとは限らなくなるので、車の他の部分を使用して予測を行うことを学習する必要があります。 これで画像内のさまざまな特徴量を使用して予測を行う方法が学習されるので、モデル全体の精度がより高くなる可能性があります。

左右反転

以下は、左右反転変換が役立つ可能性があるシナリオです。

  • 検出対象のオブジェクトが垂直線に関して対称。
  • カメラが地面に対して平行。
  • 検出対象のオブジェクトが左または右のいずれかから来ている可能性がある。

この変換にはパラメーターはなく、50%の確率で新しい画像が反転します(個々の変換確率の値は無視されます)。 これは通常、上記の目的を果たし、オブジェクトが右からではなく左から来ているのか、またはその逆であるのかをシミュレートします。

上下反転

以下は、左右反転変換が役立つ可能性があるシナリオです。

  • 検出対象のオブジェクトが水平線に関して対称。
  • カメラが地面に対して垂直(たとえば、地面、テーブル、またはコンベヤーベルトの下から、または空の上からの撮影)。
  • 画像は重力の影響をほとんど受けない微細な物体。

この変換にはパラメーターはなく、50%の確率で新しい画像が反転します(個々の変換確率の値は無視されます)。 これは通常、オブジェクトが垂直に反転したかどうか、またはオーバーヘッド画像が反対方向からキャプチャされたかどうかをシミュレートする目的で使用されます。


更新しました June 6, 2023