ベストプラクティス:ディープラーニングニューラルネットワークのトレーニング

導入

ディープラーニングシステムの有効性にとって最も重要な決定要因とは、開発者がトレーニングに使用するデータセットです。 高品質のトレーニングデータセットにより推論の精度と速度が向上する一方、システムリソースが低減され学習プロセスが促進されます。

開発者が非常に限られたリソースを用いてシステム上でディープラーニング推論を実行する必要がある場合、トレーニングされたニューラルネットワークを最適化し、ホストシステムの必要性を排除することができます。 Movidius™ Myriad™ 2処理装置を搭載した近く発売予定のFLIR® Firefly®カメラなどのはるかに小さなデバイスにより、自分のニューラルネットワークで推論を実行できます。

本記事では、画像を各カテゴリに分類・ソートするためのデータセットの作成方法について説明します。

 

私が必要なトレーニングデータ量は?

 必要なトレーニングデータ量は以下の要素に左右されます:

  1. 識別対象のデータクラスの数(例:「アップル」、「葉」、「枝」))
  2. 識別対象のクラスの類似性(例:「アップル」対 「梨」は      「アップル」対「葉」以上に複雑です )
  3. 実際の適用シナリオにおける変動に対してよりロバストな各クラス内の意図される変動(例:多様な色と形状のアップル)。
  4. 画像データにおける望ましくないばらつき、例えばノイズや、ホワイトバランス、明るさ、コントラスト、オブジェクトのサイズ、視野角の相違など。

 

簡単な用途では、妥当な結果を提供するのに数百枚の画像で十分かもしれませんが、より複雑な用途では、100万枚以上の画像が必要となる可能性があります。 自らのトレーニング要件を決定する最良の方法とは、データを収集して自身のモデルをテストすることです。 また、解決を図ろうとしているような問題の発見 はデータセットのサイズの推定にあたっての良き出発点です。

あなたのネットワークは、最終的に、付加的データがモデルの精度を改善しないポイントに達することになります。 あなたのモデルは、トレーニング・データセットの大きさとは無関係に、100%の精度を実現しそうもありません。 自分自身の特定の用途によって要求される速度と精度のバランスを理解することが、追加トレーニングデータが有用かどうかを判断するうえで不可欠です。

 

 

照合データによる試験

あなたのイメージ・データセットはデータ照合に十分な長さで、トレーニングの進行に応じ、ネットワークの精度と速度を査定するのに用いられます。 こうしたイメージはデータセットから無作為に選択され、可能な限り、代表的なものであることを徹底します。

データセットが小規模の場合、または十分な時間と算定パワーを利用できる場合、認識パフォーマンスを多様な照合で決定することも可能です。 ここでは、データセットが、例えば、5つの無作為セグメントに分割されます。 よって、ニューラルネットは4つのセグメントでトレーニングされ、残りのセグメントで照合されます。 このトレーニングと照合は5つのトレーニングと照合セグメント全てについて反復されます。 認識レートの中間値は予期されるパフォーマンスを示します。 標準偏差は、データセットがどの程度代表的なものかを教えてくれます。

 

データセットの改善

ディープラーニングは反復プロセスです。 ネットワークがトレ―ニングデータについて行う予測が、ネットワーク改善に使用されます。 このプロセスですが、ネットワークが希望する精度レベルに達するまで繰り返されます。データセットが大きいほど、ターゲット用途にて生じる変動が大きく、このことはディープライニングのアルゴリズムに提示されます。 極めて小規模のデータセットはアルゴリズムが適切に作動するのに十分な情報を提供しません。 結果、トレーニングデータに優れた認識パフォーマンスを確認できるかもしれないものの、認識レートは照合データについての推測可能性に依存します。 不必要な変動を最小限に抑えつつ正確にラベル付けされた画像を生み出す十分に練られたトレーニングデータ取得段階により、必要なトレーニングデータ量が低減し、トレーニングが迅速になり、推論の精度と速度が向上します。

 

トレーニングイメージと生産イメージの乖離の最小化

将来の生産システムで使用されるのと同じカメラ、光学装置、照明を用いた画像の取得により、トレーニングデータセットにおける形状、照度、スペクトル応答の差を補正する必要性がなくなります。 Pregius®センサを搭載した高品質カメラ、GenICam®インタフェースおよび豊富なGPIO機能により、優良トレーニングデータセット取得の自動化が容易になります。

 

制御環境を用いたデータセットの縮減

 優れたトレーニングデータセットには予測される変動例が含まれ、変動を最小化しますが、こうした変動はシステム設計によって除去可能です。 例えば、まだ樹上にあるりんごの検査は、コンベヤベルト上にある同じりんごの検査よりもはるかに複雑です。 屋外システムには、さまざまな距離、向き、角度でのりんごを認識するようにするトレーニングが必要となり、日照条件や気象条件の変化を考慮する必要があります。 一貫して作動するモデルには極めて大規模のデータセットが必要です。

制御された環境でりんごの画像を撮像することにより、システム設計者は多くのばらつきの発生源を排除し、はるかに小さなデータセットを用いて高い精度の推論を達成できるようになります。 そして、ネットワークのサイズを縮減し、Intel Movidius Myriad 2起動のFLIR Fireflyのようなコンパクトでスタンドアロンのハードウェア上での起動を可能にします。

記述説明    

図1. 制御条件下で記録されるイメージ (A) 制御条件下で記録されるイメージより変動の少ないイメージ (B)。

 

正確にラベリングされたデータによる結果の改善

ラベルは、トレーニング中に行われる予測をテストするのに使用されます。 ラベルは帰属するイメージを表する必要があります;不正確または「ノイズのある」ラベルが、インターネット画像検索を用いて組み立てられたデータセットに共通の問題となっています。 画像ファイル名へのラベルの付加は、トレ―ニングデータを管理し使用する間に生じうる混乱が低減されるため、良いアイデアです。

       

図2. 「アップル」カテゴリーでの優良(A)・不良(B)画像の例。

 

セグメント化に関するデータのラベル付けは、分類よりもはるかに複雑で時間がかかります。

図 セグメント化に関する画像のラベル付けは、分類よりもはるかに複雑です。

 

既存データセットの品質と数量の改善

データセット拡大にあたっての増強

果樹検査用のものなどの一部のシステムでは、向きが制御されていないオブジェクト(物体)を調べます。 こうしたシステムの場合、データ拡張が、アフィン変換や射影変換を用いてデータセットを迅速に拡大するのに便利な方法です。 色変換によっても、ネットワークが多種多様な画像に接するようにすることができます。 開発者は、ニューラルネットワークで必要となる入力寸法を維持するため、変換された画像を切り取る必要があります。

図5. 回転、規模調整、せん断などの変換の例。

精度向上のための正規化

データの正規化により、ニューラルネットワークのトレーニングが効率的になります。  正規化画像は人間には不自然に見えますが、高精度ニューラルネットワークのトレーニングにはより効果的です。 開発者は、ピクセル値と数値を同じように正規化できます。

          

図6. 原画像(A)と一般的なY = (x - x.mean()) / x.std() 正規化手法を用いた画像の対比

 

合成データ

データセット拡張では作成できない大量のトレーニングデータを必要とする状況では、合成データが強力なツールとなります。 合成データは人工的に生成された画像で、大量の予めラベル付けされ完全にセグメント化されたデータを迅速に生成するのに使用できます。 ただし、合成データだけでは、正確な実世界の結果を提供するネットワークをトレーニングするのには不十分です。  合成データのリアリズム(現実性)を高めるには、後処理が必要となります。

 

結論

高品質のトレーニングデータセットにより推論の精度と速度が向上する一方、システムリソースが低減され学習プロセスが促進されます。 データセットの量と質双方を向上させる方法があります。 FLIR Fireflyカメラは、システムサイズを最小限に抑え、高精度の推論を達成し、トレーニングデータセットを獲得し、そのニューラルネットワークを展開したいと考えている設計者にはすばらしい選択肢です。

詳細については、www.flir.com/fireflyをご覧ください。