ニューラルネットワークの学習

すべてのビューが正しくラベル付けされ、学習画像とテスト画像に分割された後、ニューラルネットワークの学習は、次の一般的な方法で実行されます。

  1. ツールのパラメータを設定し、学習を開始します。[ブレイン] アイコンを押して、ツールを学習させます。アーキテクチャが フォーカス の場合、学習に使用されている画像セット内の各画像 ([学習セット] ダイアログで定義) が、指定された特徴のサイズを使用して全体でサンプリングされます。
  2. 結果のサンプルが、VisionPro Deep Learning ディープニューラルネットワークに入力として提供されます。
  3. ニューラルネットワークは、サンプルごとに特定の応答 (ツールの種類に応じて) を生成し、この応答が、学習画像内のサンプルの位置に関連付けられた画像のラベル付けと比較されます。
  4. サンプルが処理され、再処理されるにつれて、ネットワーク内部の重みが繰り返し調整されます。ネットワーク学習システムは、ネットワークの応答とユーザによって提供されたラベル付けの間の誤差 (差異または不一致) を低減することを目標にして、ネットワークの重みを絶えず調整します。
  5. すべての学習画像サンプルが、エポック数パラメータで指定された回数以上含まれるまで、このプロセス全体が何度も繰り返されます。

 

 

  1. サンプリング領域。

  2. ユーザが描画したラベル付き欠陥領域。

  3. ニューラルネットワーク。

  4. ネットワークによる応答。

  5. ラベル付き欠陥 (黄) とネットワークの応答 (青) の間の不一致 (つまり、誤差) を低減するために重みを繰り返し調整するプロセス。

 

ニューラルネットワークの学習の特性は、学習させているツールの種類に応じて多少異なります。位置決め (青) ツールのネットワークの学習目標は、画像のラベル付けによって定義された実際の特徴のポーズおよび ID と、検出されたポーズおよび ID の間の不一致を低減することです。位置決め (青) の場合、ネットワークには、画像内の特徴を見つけて識別することを学習させます。ユーザによる青ツールのラベル付けによって、画像内にあるすべての対象の特徴の位置と ID を識別します。画像内の特定のサンプリング領域の場合、ネットワークの学習目標は、サンプリング領域内にある特徴のポーズを正確に返すことです。サンプリング領域に特徴が含まれていない場合、ネットワークはそのサンプルに対する応答を生成しない必要があります。

 

  • サンプリング領域とサンプリングパラメータ

    位置決め (青) は、ユーザがサンプリングパラメータで定義したサンプリング領域に関連付けられたサンプラーでピクセルをサンプリングするため、学習を開始する前にサンプリングパラメータを設定してサンプリング領域を決定する必要があります。サンプリング領域に特徴ピクセルが含まれていない場合は、ネットワークが応答を生成しない必要があります。

  • 検証を使用した学習

    位置決め (青) は、検証スキームを使用した学習をサポートしていないため、検証データセットを持たず、ツールパラメータで検証セットを設定する必要もありません。検証データを採用する目的は、学習した各ニューラルネットワークを検証し、この検証データの結果に基づいて、指定された学習セットで最もパフォーマンスが高く安定したニューラルネットワークを選択することです。

 

ツールのパラメータの設定

ツールが追加された後は、ツールのパラメータにアクセスして学習前のツールのパフォーマンスと、ツールがランタイム操作中に画像をどのように処理するかを微調整できます。VisionPro Deep Learning ツールのパラメータは、ニューラルネットワークモデルの学習方法とツールの統計結果の処理方法を調整します。ほとんどのアプリケーションで、調整する最も一般的なツールのパラメータは次のとおりです。

  • 特徴のサイズ
  • 学習セット
  • 摂動
  • サンプリング密度

 

Tip: 一般的に、デフォルトのパラメータ設定は、ほとんどの画像セットに対して適切に機能します。初期学習の場合は、パラメータを調整せずに学習を試みてください ([特徴のサイズ] パラメータの設定を除く)。

 

アーキテクチャパラメータ

アーキテクチャパラメータ は、使用されるニューラルネットワークモデルのタイプを選択します。このオプションは、精度の高い結果の取得に有用ですが、学習およびプロセス時間が長くなります。High Detail モード設定および High Detail Quick アーキテクチャ設定では、画像全体が公平に考慮されるようツールが構成されます。一方、フォーカスアーキテクチャ設定は選択的で、有用な情報を含む画像の部分に照準が合わされます。そのため、特に画像のあらゆる場所に重要な情報が存在する場合、重要な情報を十分にネットワークで伝送できない可能性があります。

 

ネットワークモデルパラメータ

ネットワークモデルパラメータを使用すると、学習ツールネットワークのサイズを削減できます。それによって、処理に必要な時間も短縮されます。デフォルト値 (大規模) は、標準のツールの動作とパフォーマンスを保持します。他の 2 つの値である [小規模] と [中程度] は、より高速なランタイム実行時間を提供します。

[大規模] 以外の値を選択すると、ツールの結果が異なる場合があります。これらの違いは通常はささいなものですが、このオプションを使用する場合は、独自のラベル付きデータを使用してツールのパフォーマンスを検証する必要があります。

 

学習パラメータ

学習処理を制御する学習機能ツールのパラメータ。ツールの学習が終了した後に学習機能ツールのパラメータを変更すると、学習が無効になり、ツールの再学習が必要になります。

パラメータ 説明

学習セット

[学習セット] ダイアログを表示します。このダイアログは、新しい学習が行われるたびにニューラルネットワーク用の学習サンプルとしてランダムで選択するサンプルセットおよびラベル付けされた画像のパーセンテージを指定するために使用します。

エポック数

学習中に行われる最適化の反復数を指定します。アプリケーションがあまり複雑でないか、異なるパラメータ設定をテストする際に品質の低いモデルが役に立つような場合は、この設定を低くすることができます。

エポックとは、学習セット全体をニューラルネットワークに渡すための用語です。

ツールは通常、約 50 倍の学習画像セットデータが必要になります (微調整領域内)。これはデフォルトの設定であり、ほとんどの標準アプリケーションでは通常はこれで十分です。

使用するエポック数を減らすと、ニューラルネットワークの学習が不十分になったり、問題を正確に解決できなくなる場合があります。一方、エポックが多すぎると、結果のオーバーフィッティング (過剰学習) が生じる場合があります (学習された画像のみが取り込まれ、学習された画像以外のものは無効と見なされます)。ネットワークは、それが学習画像セットの汎化されたものとなる時点まで学習させることが重要です。エポックを増加しすぎると、学習画像セットデータの過剰学習とオーバーフィッティングが生じる恐れがあります。

Tip:
  • 学習画像セットに多数の画像が含まれているか、学習画像セット内の画像のサイズが特徴のサイズと比較して大きい場合には、[エポック数] 設定を増加する必要が生じる場合があります。
  • 学習画像セットが非常に小さい場合は、オーバーフィッティングが生じる恐れがあります。大きい学習画像セットがあり、ネットワークがセット内のすべてのサンプルに対応している場合は、小さい学習セットがあり、ネットワークにその小さなサンプルセットが入力される場合よりもはるかに汎用的になります。

 

学習パラメータの詳細:エポック数

[エポック数] パラメータを使用すると、実施するネットワーク調整の度合いを制御することができます。「ニューラルネットワークの学習」のトピックで説明したように、学習プロセスでは、ネットワークを通して入力サンプルを繰り返し処理して、ネットワークの結果をユーザが提供するラベル付けと比較し、エラーを減らす目的でネットワークの重みを調整します。ネットワークノード (重み) が多数存在するため、このプロセスはほとんど無限に繰り返すことができ、繰り返す内に、わずかながら徐々にエラーを改善することができます。[エポック数] パラメータ設定を上げると、実施される学習の繰り返し回数が増えます。これによって、学習に要する時間は長くなりますが、学習画像のネットワークエラーを減らすことができます。

ただし、ネットワークを学習させる目的は、学習に使用される画像だけでなく、すべての画像で正確に動作することなので注意してください。エポック数を上げると、ネットワークはオーバーフィット (用語) する傾向があり、未学習画像におけるエラーが増え、学習された画像におけるエラーは減ります。このために、エポック数を調整しながら、すべての画像におけるネットワークパフォーマンスを注意深くモニタする必要があります。最適値はデータセット、特にデータセットの統計的多様性によって異なるため、データセットに最適なエポック数を選択する必要があります。

 

摂動パラメータ

VisionPro Deep Learning ニューラルネットワークには、実際に見た画像内の特徴だけを学習させることができます。学習画像セットには、すべての標準的な画像およびパーツのばらつきを表す典型的な画像のセットが含まれていることが理想です。ただし、多くの場合は、典型的ではない画像セットを使用して学習を実行する必要があります。特に、画像セットは短期間で収集される場合が多いため、時間の経過による標準的なパーツや照明のばらつき、およびカメラの光学的特性や外的特性の変化や調整が反映されません。

VisionPro Deep Learning 学習システムでは、次のような摂動パラメータを使用して、操作中に予想される外観のばらつきの種類を指定することによって画像セットを補うことができます。

  • 輝度
  • コントラスト
  • 回転
  • スケール

 

The Perturbation parameters allow the VisionPro Deep Learning tools to artificially generate images to be trained on, improving results for applications with high amounts of variance.これらのパラメータは、すべてのツール間で共通しています。摂動パラメータは、組み合わせることもできます。パラメータを個別に使用したり、組み合わせて使用することで、さらに複雑な画像を生成できるようになります。

Tip: ランタイム中にパーツによって示されるすべてのバリエーションが学習画像セットに含まれていない場合は、摂動パラメータを使用できます。たとえば、パーツが +/-45 度回転される場合は、[回転] パラメータを設定できます。それによって、学習中にその角度だけ画像が回転されます。ただし、最適な結果を得るには、パーツのバリエーションの実際のサンプル画像を使用することをお勧めします。パーツが回転する場合は、異なる影が存在する場合があります。回転が人工的な画像の回転に基づいている場合には、それらの影はツールによって取り込まれません。
Note: 摂動は、実際の画像の収集および学習の代わりにはなりません。特に、画像の摂動は実際のパーツやシーンの外観における実際の変化を模倣したものにすぎません。

 

摂動の種類ごとに、摂動の範囲を指定できます。

パラメータ 説明

回転

摂動回転角度が引き出される区分的な均一分布を定義する、可能な回転を指定します ([0°,0°] に設定すると、回転摂動は使用されません)。

たとえば、[-10°, 10°] または [170°, 190°] の設定では、パーツは -10 ~ 10 度または 170 ~ 190 度の範囲で検出できます。これらのタイプの設定は、パーツに標準の回転、または角度のバリエーションが少ない、上下を逆にした回転を適用できる場合に特に役立ちます。ですが、これらの中間の回転には役に立ちません。

スケール

摂動スケール係数が引き出される、1 前後の正規分布を指定します (0% に設定すると、使用されません)。

たとえば、100% の [スケール] 設定は、元のサイズの半分の画像を 2 倍にします (元の 0.5 倍から 2.0 倍)。

オリジナル = 可能な摂動 =

アスペクト比

摂動アスペクト比係数が引き出される、1 前後の正規分布を指定します (0% に設定すると、使用されません)。

せん断歪

摂動せん断歪係数が引き出される、1 前後の正規分布を指定します (0% に設定すると、使用されません)。

反転

サンプリング中に、画像を垂直方向または水平方向、あるいはその両方の方向にランダムに反転するかを指定します。これは、オブジェクトまたは表面が対応する対称性を示す場合に役立ちます。

この設定は、学習データの量を大幅に増加する上で役立ちます。

水平
垂直
両方

輝度

摂動輝度係数が引き出される、1 前後の正規分布を指定します (0% に設定すると、使用されません)。.

コントラスト

摂動コントラスト係数が引き出される、1 前後の正規分布を指定します (0% に設定すると、使用されません)。

コントラストの反転

学習サンプルでコントラストの反転をシミュレートするために、コントラストをランダムに反転するかどうかを指定します。

Note: [コントラストの反転] パラメータは、[エキスパートモード] が有効になっている場合にのみ利用できます。これは、[ヘルプ] メニューで有効にできます。

 

摂動パラメータの詳細:[スケール調整済み] または [回転済み] (特徴パラメータ) が有効な場合

特徴パラメータ[スケール済み] パラメータが有効になっており、[均一] に設定されている場合は、スケール摂動パラメータが削除され、サイズ範囲の処理パラメータが追加されて、ランタイム中にスケールを変更できるようになります。

[スケール済み] パラメータが有効になっており、[不均一]に設定されている場合は、スケールアスペクト比の摂動パラメータが削除され、サイズ範囲アスペクト比範囲の処理パラメータが追加されて、ランタイム中にこれらを変更できるようになります。

[回転済み] パラメータが有効になっている場合は、回転摂動パラメータが削除され、角度範囲の処理パラメータが追加されて、ランタイム中に角度範囲を変更できるようになります。

Note: [スケール調整済み] パラメータの詳細については、「スケール調整済み」を参照してください。
Note: [回転済み] パラメータの詳細については、「回転済み」を参照してください。

 

最後のパラメータの回復:パラメータの復元

[パラメータの復元] ボタンは、ツールのパラメータ値を最後の学習タスクで選択した値に簡単に戻すための機能です。最後の学習セッションで使用されたツールパラメータのすべての値が記憶されています。したがって、その値のいずれかを変更し、その変更を元に戻したい場合は、このボタンをクリックして、最後の学習で使用されたツールパラメータ値にロールバックすることができます。ツールを学習させていない場合、またはツールパラメータ値の初期セットから変更していない場合は、このボタンは無効になっています。

次の手順では、パラメータの復元がどのように機能するかを説明します。

  1. 現在のツールを学習させていない場合、[パラメータの復元] ボタンは常に無効です。

  2. 現在のツールを学習させると、パラメータロールバックのチェックポイントが最後の学習セッションのツールパラメータの値に設定されます。この時点で、ツールパラメータの値を変更した場合、ボタンが有効になります。

  3. [パラメータの復元] ボタンをクリックすると、変更した値がチェックポイントの値に戻ります。

  4. ツールパラメータをいくつか変更して現在のツールに再び学習させた場合、パラメータロールバックのチェックポイントは変更後のパラメータ値に更新されます。この場合も、ツールパラメータの値をさらに変更しない限り、ボタンは無効です。

  5. さらに変更して [パラメータの復元] ボタンをもう一度クリックすると、変更した値が更新後のチェックポイントの値に戻ります。

処理パラメータの値を変更した後に学習済みツールを再処理する場合、パラメータロールバックのチェックポイントは更新されないため、[パラメータの復元] は有効なままになります。チェックポイントは、ツールの学習が完了した後にのみ更新されます。

無効

有効

Note: やむを得ない理由により、最後の学習セッションに復元できないパラメータがあります。
  1. これらのパラメータを変更するとツールがリセットされる不可逆的なパラメータ

    1. [ネットワークモデル]、[排他的]、[特徴のサイズ]、[マスキングモード]、[カラー]、[中心]、[スケール調整済み]、スケール調整済みのモード ([均一]/[不均一])、[レガシーモード]、[回転済み]、[詳細]

  2. 本質的に可逆的ではない不可逆的なパラメータ

    1. [低適合率]、[単純領域]

  3. その他の不可逆的なパラメータ

    1. 分類 (緑) High Detail および 分類 (緑) High Detail Quick の [学習セット]、[ヒートマップ] (このパラメータは予測パフォーマンスに影響しません)

    2. 読み取り (青) のマスキングモードの [オーバーレイ] パラメータ

 

ニュートラルネットワークの学習の制御

位置決め (青) の学習は、ツールのパラメータと学習セットを設定することで制御できます。

 

学習セット

ネットワークの学習フェーズに影響を与える最大で唯一の決定要素は、学習セットの構成です。ネットワークの学習フェーズを制御するための最善の方法は、ツールに適切な学習セットを構築することです。この方法で、ツールが画像/ビューを正しく汎化しているかどうかをユーザが判断できるカテゴリに分類します。

Note: 学習や処理を高速化する方法については、「速度の最適化」を参照してください。
Note: 学習や処理に関する一般的なヒントとコツについては、「アプリケーション設定 」を参照してください。