データが足りない場合はどうなりますか?コンピュータビジョンデータ拡張手法の概要

データが足りない場合はどうなりますか?コンピュータビジョンデータ拡張手法の概要

データが足りない場合はどうすればいいですか?学者たちは、ディープラーニングモデルにおけるデータ不足の問題を回避するために、この問題に対するさまざまな巧妙な解決策を開発してきました。最近、生体検知をしたり、Kaggle のコンペに参加したりしながら、関連する文献や資料をたくさん探しました。それらを整理したので、皆さんと共有したいと思います。一般的に、データ量が少ない問題を解決する方法はいくつかあります。

転移学習: 大規模なデータセット (ImageNet など) でネットワークをトレーニングし、その重みを新しい分類タスクの初期重みとして使用することで機能します。通常、完全に接続された層を含むネットワーク全体ではなく、畳み込み層の重みのみがコピーされます。多くの画像データセットは低レベルの空間特徴を共有しており、ビッグデータはこれらの特徴をよりよく学習できるため、これは非常に効果的です。

自己/半教師あり学習: 従来は、教師ありルートを選択してラベル付きデータのみを学習するか、教師なしパスを選択してラベルを破棄して自己教師あり学習を行っていました。半教師あり学習法では、モデルをトレーニングするときに少量のラベルと大量のラベルなしデータのみが必要です。

少数/ワンショット学習とゼロショット学習: 少数/ワンショット学習は、各カテゴリの少数のサンプル/ 1 つのサンプルからオブジェクトの特性を学習することを目的としていますが、ゼロショット学習の主な目標は、トレーニング済みモデルを使用して、トレーニング セットに表示されていないカテゴリに対応する予測を行うことです。近年、Few/One-Shot Learning や Zero-Shot Learning 技術が急速に発展し、モデルのパフォーマンスが大幅に向上しました。

正規化技術: ドロップアウトやバッチ正規化などの正規化方法は、データが少なすぎるために発生する過剰適合現象を軽減することもできます。

データ拡張: データ拡張は、既存のデータに基づいて新しいデータを生成するプロセスです。上記の手法とは対照的に、データ拡張はソース (トレーニング データセット) からの問題に対処します。データ拡張手法を使用してデータセットを拡張すると、限られたデータを活用するのに役立つだけでなく、トレーニング セットの多様性が高まり、過剰適合が減り、モデルの一般化能力が向上します。

この記事では、コンピュータ ビジョンが最も活発な研究分野の 1 つであるため、データ拡張に焦点を当てます。したがって、この記事では画像の強化に重点を置いていますが、多くの手法は他の分野にも適用できます。画像データ拡張は次の 4 つのカテゴリに分類されます。

  • 基本画像

    • 幾何学的変換

    • 色空間変換

    • ランダムレイズ/グリッドマスク

    • ミックスアップ/カットミックス

    • モザイク

  • 特徴空間拡張

    • 外為

  • GANベースのデータ拡張

  • NAS

    • 自動拡張

    • 高速自動拡張

    • ダダ

  • 他の

    • ユーダ

[[340547]]

基本的な画像処理の増幅

一般的な手法には、幾何学的変換、画像の反転、切り取り、回転、変換などがあります。また、コントラスト、シャープ化、ホワイト バランス、カラー ジッター、ランダム カラー処理など、さまざまな手法を使用して、画像の色空間を変更することもできます。

さらに、CutOut、RandomRrase、GridMask などのオクルージョン メソッドを使用することもできます。 Cutmix は、領域の一部を切り取りますが、0 ピクセルで埋めるのではなく、トレーニング セット内の他のデータの領域ピクセル値をランダムに埋めます。分類結果は、一定の比率に従って分散されます。CutMix 操作により、モデルは画像上のローカル ビューから 2 つのターゲットを識別できるため、トレーニングの効率が向上します。

モザイク データ強化法は、YOLOV4 論文で提案されました。主なアイデアは、4 枚の写真をランダムに切り取り、トレーニング データとして 1 枚の画像につなぎ合わせることです。この方法の利点は、写真の背景を豊かにできることです。

基本的なグラフ拡張手法は、Torchvision などの多くのディープラーニング フレームワークに実装されています。 Albumentations など、より包括的で豊富なデータ拡張ライブラリもいくつかあります。

[[340548]]

特徴空間拡張

論文タイトル:特徴正規化とデータ拡張について (MoEx)

論文リンク: https://arxiv.org/abs/2002.11102

コードリンク: https://github.com/Boyiliee/MoEx

上記の例では、画像空間で変換を実行しましたが、特徴空間で変換を実行することもできます。ニューラル ネットワークの助けを借りて、画像を低次元または高次元の形式で非常に効率的に表現できます。これにより、中央の潜在テンソルにデータセットに関するすべての情報が含まれ、それを抽出してデータ拡張などのさまざまな操作を実行できます。この MoEx 記事の著者は、機能空間の拡張を試みています。具体的な手順は以下の図に示されています。

1. hAをhˆAに正規化し、hBのµB、σBを計算する

2.次にhˆAを次のように非正規化する。

3. 新しい損失関数を使用して損失を計算します。

MoEx 実験には、ImageNet、Speech Commands、IWSLT 2014、ModelNet40 などが含まれます。画像、NLP、音声の3大分野を網羅していると言えます。その利点は明らかです。データ強化は特徴空間で行われるため、入力データの種類に制限されず、画像、音声、テキストなどのデータに汎用的です。

[[340551]]

GANベースのデータ拡張

生成モデリングは現在最も注目されているテクノロジーの 1 つです。生成モデルはデータ間の境界ではなくデータの分布を学習するため、まったく新しい画像を生成できます。

GAN は、ジェネレーターとディスクリミネーターの 2 つのネットワークで構成されます。ジェネレーターの役割は、ノイズのみを入力として偽のデータを生成することです。識別器は、実際の画像と偽の画像(ジェネレータによって生成されたもの)を入力として受け取り、画像が偽物か本物かを識別することを学習します。

2 つのネットワークが互いに競争し、敵対的トレーニングの過程で、ジェネレーターは、最終的な目標が識別器を騙すことであるため、画像生成がどんどん上手くなり、識別器は、騙されないことが目標であるため、偽造画像と本物の画像を区別するのがどんどん上手くなり、最終的にジェネレーターは信じられないほどリアルな偽データを生成します。

GAN によって生成されたデータは、ローカル条件に合わせて調整する必要があることに注意してください。この記事の右下をダブルクリックすると奇跡的な効果があると言われています(笑)。

論文タイトル:生成的敵対ネットワークを使用したデータ拡張による感情分類。

論文リンク: https://arxiv.org/abs/1711.00648

この論文では、感情認識におけるデータ拡張における GAN の有効性を検証します。感情認識データセット FER2013 には、怒り、嫌悪、恐怖、幸福、悲しみ、驚き、中立の 7 つの異なる感情が含まれています。これらのクラスは不均衡です。この論文では、CycleGAN を使用して他のいくつかのカテゴリの画像を少数クラスのサンプルに変換し、モデルの精度を 5 ~ 10% 向上させます。

論文タイトル: GAN によって生成されたラベルなしサンプルが、in vitro での人物再識別ベースラインを改善する

論文リンク: https://arxiv.org/abs/1701.07717

コードリンク: https://github.com/layumi/Person-reID_GAN

この記事のアイデアは、当時の状況下では比較的良いものでした。 ReID GAN がない場合は、元のデータを使用して GAN をトレーニングし、画像を生成します。ラベルがない場合は、ReID ネットワークを使用して疑似ラベルを生成します。このようにして、教師あり学習は半教師あり学習に変換されます。

[[340552]]

NASベースのデータ拡張

データ拡張手法はさまざまな分野で広く使用されています。ただし、特定のデータセットに適したデータ拡張手法が見つかったとしても、通常、これらの手法を他のデータセットに効果的に転送することはできません。

たとえば、データセットによって対称性の要件が異なるため、トレーニング中に画像を水平に反転することは、CIFAR-10 データセットでは効果的なデータ拡張方法ですが、MNIST には適用できません。そのため、ネットワークが自律的にデータ強化方法を見つけられるようにすることが、学術界と工学界の両方で徐々に不可欠な要件になってきました。

Google DeepMind は、データセットを使用してデータ強化戦略検索空間内の特定の戦略の品質を評価し、適切なデータ強化戦略を自動的に検索する NAS を使用した AutoAugment 手法を初めて提案しました。その他の関連文献には、Fast AutoAugment や DADA などがあります。

論文タイトル:

AutoAugment: 関心のあるデータセット上で最適な拡張ポリシーを直接検索

論文リンク:

https://arxiv.org/abs/1805.09501

コードリンク:

https://github.com/tensorflow/models/tree/master/research/autoaugment

AutoAugment は、Google が提案した、最適なデータ拡張ソリューションを自動的に選択する研究です。その基本的な考え方は、強化学習を使用してデータ自体から最適な画像変換戦略を見つけ、さまざまなタスクに合わせてさまざまな強化方法を学習することです。プロセスは次のとおりです。

AutoAugment のコントローラーは、現在どの拡張ポリシーが最も適しているかを決定し、データセットの特定のサブセットでサブ実験を実行して、そのポリシーがどの程度一般化されているかをテストします。サブ実験が完了したら、近似ポリシー最適化アルゴリズム (PPO) を使用して、検証セットの精度を更新信号として使用し、コントローラーを更新します。

一般に、コントローラーには 5 つのサブポリシーの決定をそれぞれ予測するための 30 個のソフトマックスがあり、各サブポリシーには 2 つのアクションがあり、各アクションにはアクションの種類、大きさ、確率が必要です。

データ拡張操作には、ShearX/Y、TranslateX/Y、回転、自動コントラスト、反転、イコライズ、ソラリゼーション、ポスタリゼーション、コントラスト、色、明るさ、シャープネス、カットアウト、サンプルペアリングの合計 16 個の検索スペースがあります。

実験では、AutoAugment が既存のデータ拡張の組み合わせ戦略を学習したことがわかりました。家番号認識などのタスクでは、せん断や平行移動などの幾何学的変換が最良の結果を達成できることが研究で示されています。 ImageNet の画像分類タスクでは、AutoAugment は、画像の歪みを引き起こす可能性があるため、せん断や色の完全な反転を使用しないように学習しました。 AutoAugment が学習するのは、色と色相の分布を微調整することに重点を置いています。

AutoAugment メソッドは、多くのデータセットで最先端のレベルに達しています。 CIFAR-10 では、エラー率はわずか 1.48% に抑えられ、これは従来の最先端の方法よりも 0.65% 高い値です。

SVHN では、最先端のエラー率が 1.30% から 1.02% に改善され、一部の縮小データセットでは、ラベルなしデータを使用せずに半教師あり方式に匹敵するパフォーマンスを達成しました。ImageNet では、前例のない 83.54% の精度を達成しました。

[[340553]]

他の

上記では、教師ありデータのデータ拡張のいくつかの手法を紹介しましたが、教師ありデータのデータ拡張は、安定的ではあるがパフォーマンスの向上が限られているため、主に「ケーキの上のチェリー」と見なされています。次に、半教師ありテクノロジにおけるデータ拡張手法を紹介します。

論文タイトル: 一貫性トレーニングのための教師なしデータ拡張 (UDA)

論文リンク: https://arxiv.org/abs/1904.12848

コードリンク: https://github.com/google-research/uda

UDA トレーニング プロセスを次の図に示します。

1. ラベルなしデータと拡張ラベルなしデータの予測分布間の KL ダイバージェンスを最小化する。

このうち、x は元のラベルなしデータの入力であり、x^ はラベルなしデータが強化された後のデータ(画像の切り取りや回転、テキストの逆翻訳など)です。

2. ラベル付きデータとラベルなしデータの両方を使用するために、ラベル付きデータの教師ありクロスエントロピー損失と、(1)で定義された一貫性/滑らかさのターゲットである教師なし一貫性損失を追加します。重み係数λはトレーニングターゲットです。最終ターゲットの一貫性損失関数は次のように定義されます。

さらに、ラベルなしデータとラベル付きデータの不均衡によって生じるデータの過剰適合の問題を解決するために、UDA は新しいトレーニング手法であるトレーニング シグナル アニーリング (略して TSA) を提案しました。TSA の考え方は、モデルがラベルなしデータでトレーニングされるにつれて、ラベル付きデータのトレーニング シグナルを徐々に減らし、過剰適合を起こさないというものです。実験結果では、UDA は既存の半教師あり学習法を大幅に上回りました。

[[340555]]

要約する

ご存知のとおり、ディープラーニング モデルのトレーニングには大量のデータが必要です。トレーニング データがなければ、最高のアルゴリズムでもほとんど役に立ちません。この記事では、少量のデータで問題を解決するための一般的な方法をいくつかまとめ、データ拡張について詳しく説明します。お役に立てば幸いです。

<<:  人工知能の応用、開発、影響についての考察

>>:  TikTokの買収者は、コアアルゴリズムの削除を含む4つの買収オプションについて議論している

ブログ    
ブログ    

推薦する

...

...

AIが業界全体でビジネス成果をどのように変革しているか

昨年末以来、人工知能の発展の勢いは止められないようです。 GPT-4 のような並外れた認知能力を備え...

すべては可能だ:コンピュータビジョンCVとNLPの分野はますます融合している

[[347900]] 2020年10月、ディープラーニング分野のトップカンファレンスであるICLR ...

2018年のAIトレンドはこちら

ビッグデータの計算分析は決して時代遅れではありません。それどころか、データ量が増え続けるにつれて、デ...

2024年の製造業の現状:完全デジタル化

世界全体、特に製造業は、パンデミック中に発生した問題や数年前の大規模なサプライチェーンの混乱から脱し...

シェア | Meituanのディープラーニングシステムのエンジニアリング実践

背景ディープラーニングは、AI時代の中核技術として、さまざまなシナリオに適用されてきました。システム...

機械は人間に取って代わるでしょうか?人工知能技術の倫理的リスクを解明する

現在の人工知能技術の発展は、主にコンピュータを媒体として活用し、自動化技術の発展を促進しています。デ...

Ant GroupとCVPR22 Workshopが共同でビジュアルインテリジェンスコンテストを開催し、1,300以上のチームが参加した。

6月19日、第17回IEEEコンピュータ協会バイオメトリクスワークショップ(CVPR22)とAnt...

自動運転分野における機械学習アルゴリズムの応用に関する包括的なレビュー

機械学習は、車内外のセンサーからのデータを融合して、運転者の状態を評価し、運転シナリオを分類するため...

「知的障害ロボット」が解雇に直面

最近、ストレンジという日本のロボットホテルが「ロボット従業員」の半数を解雇した。ロボットに仕事を奪わ...

ソフトウェア開発プロセスの近代化における生成AIの役割

近年、ソフトウェア エンジニアリングでは、自動化の強化と開発プロセスの合理化に向けて大きな変化が見ら...

最新のClaude2.1とLlama 2をご利用いただけます。アマゾンが生成型AI開発の参入障壁を下げる

良いニュースです。生成 AI アプリケーションの敷居が大幅に下がりました。先ほど、Amazon We...