モデルのトレーニング
ラベル付けを完了したらモデルをトレーニングします。本節では、「トレーニング」パレットでは、トレーニングのパラメータとトレーニングモデルを設定し、トレーニングに関する情報を確認する方法を説明します。
トレーニングパラメータを設定する
トレーニングする前に、ディープラーニングモデルのトレーニングを設定します。パラメータ設定をクリックして「トレーニングパラメータ設定」ウィンドウを開きます。このウィンドウではデータ拡張、トレーニングパラメータ、微調整の設定が実行できます。(ただし、開発者モードにのみ使用可能。)
最適なパラメータ設定のためには、何回も調整することが必要です。初めてトレーニングする場合に、Mech-DLK が提供するパラメータ初期値(ほとんどのシーンに対応可能)を使用することを推奨します。 |
データ拡張
モデルトレーニングのデータに現場のあらゆる状況を反映する必要がありますが、現場では、異なる角度や移動範囲を反映する画像を全部取得するのは困難です。その場合、データ拡張機能を使用し、元画像に基づいてより多様なデータを生成します。拡張のパラメータは、現場の状況と併せて調整してください。例えば、ワークが回転しない現場で、回転のパラメータを入れるとモデルの精度が落ちます。
カーソルを に合わせるとパラメータ調整の効果が確認できます。 |
-
輝度
画像の明るさです。照明が激しく変化する現場では、輝度 を調整し、異なる照明環境のデータセットを作成します。
-
コントラスト
画像の明暗の差です。対象物が背景に溶け込む場合、コントラスト を調整して、対象物がはっきり見えるようにします。
-
並進
画像の全てのピクセルを指定したオフセットで移動します。物体(箱やパレットなど)の位置が大幅に変わる場合、並進 パラメータで縦と横方向の並進量を調整します。
-
回転
画像がある点を中心に一定の角度回転して新たな画像になります。普通、初期値を使用すればいいです。対象物の姿勢変化が大きい場合、回転 パラメータを調整して様々な角度回転した画像データを作成します。
-
スケーリング
画像をある比例で縮小、拡大します。対象物が配置されている高さの変化が大きい場合、スケーリング パラメータを調整して異なる高さで撮影する対象物の画像を生成します。
-
左右反転
画像を左右 180° 反転します。対象物が左右対称する場合、左右反転 をオンにします。
-
上下反転
画像を上下 180°反転します。対象物が上下対称する場合、上下反転 をオンにします。
トレーニングパラメータ
-
入力画像のサイズ
トレーニング時にニューラルネットワークに入力する画像の幅と高さ(単位:ピクセル)。普通はデフォルトのパラメータ値を使用すればいいです。画像にある対象物または欠陥領域が小さい場合に 入力画像のサイズ を大きくする必要があります。画像のサイズが大きいほどモデルトレーニングの精度は向上しますがトレーニングの速度は遅くなります。
-
バッチサイズ
ニューラルネットワークのトレーニングを実行するたびに使用するサンプル数です。デフォルトの設定を使用すればいいです。トレーニングの速度を向上させたい場合に バッチサイズ パラメータ値を大きく調整します。ただし、あまり大きく調整したらメモリ使用量も高くなります。
-
モデルタイプ
「欠陥セグメンテーション」モジュール
標準
ほとんどの場合に適用可能
「インスタンスセグメンテーション」
標準 (GPU 使用を推奨)
トレーニングの精度が高い
軽量(CPU 使用を推奨)
トレーニングの速度が高い
-
評価間隔
モデルトレーニング時、毎回評価するまで実行するトレーニングのエポック数です。初期値を使用することを推奨します。評価間隔 を大きく調整するとトレーニングのスピードは速くなり、小さく調整するとトレーニングのスピードは遅くなりますが最適なモデルの選出に役立ちます。
-
エポック合計数
モデルトレーニングのエポックの合計数です。通常は初期値を使用しても構いません。対象物の特徴が複雑な場合、この数を増やしてください。モデルがより良く収束しますが、一方で学習時間が長くなります。
エポック合計数が大きいほど効果は良くなるわけではありません。合計数が大きすぎると過学習が起きるかもしれません。 -
学習率
学習率は 1 回のトレーニングでニューラルネットワーク内の重みやバイアスを更新する量の調整値です。デフォルトの設定を使用することを推奨します。チャートの損失曲線がゆっくりと収束する場合は、学習率を適切に上げます。曲線の変化が激しい場合は学習率を下げます。
-
GPU ID
お使いのデバイスのグラフィックカード情報です。複数の GPU がある場合、GPU を指定することができます。
-
モデルの簡略化
ニューラルネットワークを簡略化します。デフォルトでチェックが外れています。トレーニングセットが簡単な場合、これをチェックしてトレーニングと推論の速度を向上させることができます。
-
トレーニング目標の最大数
認識可能な目標の最大数を限定します。デフォルトではチェックが外れています。チェックして値を設定すると推論の速度を上げられます。普通、このパラメータは GPU 使用率を下げられます。
モデルの微調整
モデルを使用して現場のニーズを満たさない場合、モデルの反復を行います。従来はデータセットを追加して再度トレーニングを行いますが、全体の正確度が落ちるほか、時間もかかります。 「モデルの微調整」を使用して反復すると、全体の正確度を確保でき、時間の削減も可能です。
このステップは、「開発者モード」にのみ使用できます。 |
以下のようにモデルを微調整します。
-
認識の効果を改善し画像を収集します。
-
Mech-DLK でモデルのプロジェクトを開きます。
-
で「開発者モード」を有効にします。
-
取得した画像をトレーニングセットと検証セットに追加します。
-
追加された画像をラベル付けします。
-
で微調整をオンにします。
-
トレーニングパラメータで「学習率」を低くし、「エポックの合計数」を 50~80 に設定します。
-
確認をクリックして保存します。
-
トレーニングとエクスポートを行います。
インスタンスセグメンテーションでは、スーパーモデルを微調整する場合に、「スーパーモデルの微調整」をオンにしてからパスを選択してください。 |