1. 概要

このチュートリアルでは、データ拡張に敵対的生成ネットワーク(GAN)を使用する方法について説明します。最初に、データ拡張とGANを紹介し、次に、生成を管理するGANアーキテクチャを紹介します。非常に現実的なサンプル。

2. データ拡張

ディープラーニングは多くの分野に革命をもたらし、テキスト翻訳、画像セグメンテーション、自動音声認識などの多くの複雑なタスクに対する最先端のアプローチになりました。 ディープラーニングモデルではトレーニングに多くのデータが必要になるため、大きな注釈付きデータセットがこの成功に重要な役割を果たします。 ただし、大量のトレーニングデータに注釈を付けることは困難で費用がかかる場合があります。 したがって、適切なデータ拡張は、モデルのパフォーマンスを向上させるのに役立ちます。

例を使用して概念をよりよく説明するために、画像のデータ拡張に焦点を当てますが、方法はドメインに関係なく同じです。 一般に、データ拡張の目的は、既存のデータのプロパティを変更するか、完全に新しい合成データを生成することによって、データセットのサイズを増やすことです。

通常、前者のアプローチに従い、画像の色相、彩度、明るさ、コントラストを反転、回転、またはランダムに変更します。手順は簡単で、モデルのトレーニング中にオンラインで実行できます。 これらの手法を使用することの欠点は、モデルに新しい合成データを導入せず、同じサンプルを異なる状態で含めるだけであるということです。したがって、モデルはすでにこれらのサンプルを認識しており、一般化可能性への影響は限定的です。

新しい現実的な合成データの生成は、データセットの元の分布を模倣することを学ぶことを含む難しい作業です。 これから説明するように、GANは現実的なサンプルを生成し、モデルのパフォーマンスを向上させることができます。

3. ギャン

まず、2つの部分で構成される構造について簡単に紹介します。

もっともらしいデータの生成を学習するジェネレーター。固定長のランダムベクトルを入力として受け取り、元のデータセットの分布を模倣するサンプルの生成を学習します。 生成されたサンプルは、ディスクリミネーターのネガティブな例になります。

ジェネレーターの合成データを実際のデータと区別することを学習する識別器。入力としてサンプルを受け取り、それを「実際の」(元のデータセットからのもの)または「偽物」(ジェネレーターからのもの)に分類します。 。 弁別器は、信じがたいサンプルを生成するためにジェネレータにペナルティを課します。

画像の場合、ジェネレーターとディスクリミネーターはどちらもCNNであり、ジェネレーターの目的は、ディスクリミネーターが本物であると考えるほどリアルな画像を生成することです。 次に、 時間の経過とともにこれらのモデルの重みとバイアスを更新するためのバックプロパゲーションにより、ジェネレーターは、元のデータセットの物理的および数学的分布を模倣するサンプルの作成をゆっくりと学習します。

モデルは2人用ミニマックスゲームをプレイするため、ディスクリミネーターの目的関数を最適化すると、ジェネレーターの目的関数に悪影響を及ぼします。その逆も同様です。 具体的には:

  • ジェネレーターは、ジェネレーターへのランダム入力がどこにあるかを最小限に抑えたいと考えています。 この項を最小化することにより、ジェネレータは、偽のサンプルを実際のサンプルとして分類する際に識別器をだます。
  • 弁別器は、元のデータセットからのサンプルがどこにあるかを最大化することを望んでいます。 この項は、実際のサンプルとジェネレーターからのサンプルの両方に正しいラベルを割り当てる確率に対応します。

4. 条件付きGAN

数ショットの学習設定で、限られた数のサンプルに基づいて予測用のモデルをトレーニングしたいとします。たとえば、犬との画像を入力として受け取るモデルを作成するとします。その品種を予測します。 利用可能な動物の膨大なデータセットがありますが、犬の品種で注釈が付けられたデータの量は非常に限られています。 ここでの解決策は、GANを使用してデータセットを拡張することです。

通常のGANは、膨大な量のデータでトレーニングされている場合、非常に現実的なサンプルを生成できますが、特定のラベルを持つサンプルを生成することはできません。 条件付きGANは、元の発電機ネットワークを変更してその出力を制御することにより、この問題に対処します。具体的には、ネットワークには2つの大きな変更があります。

ジェネレータの入力にラベルを追加し、対応するデータポイントの生成を試みます。

弁別器は、サンプルと対応するラベルの両方を入力として受け取ります。

条件付きGANでは、ジェネレータは、識別器をだますために特定のクラスの例を生成するように教えられています。 このようにして、条件付きGANは、特定のタイプのドメインからサンプルを生成できます。 paper では、1つのラベルに条件付けられた各行に対して生成された数字の例をいくつか見ることができます。

5. 制限事項

GANの機能は、入力データの基礎となる分布を効果的に学習し、非常に現実的なサンプルを生成できるため、データ拡張に優れています。 ただし、いくつかの制限があります:

  1. 生成されたサンプルの品質を評価するための固有のメトリックはありません。いくつかの実験的なメトリックが提案されていますが、その方向に向けてさらに調査を行う必要があります。
  2. GANのトレーニングは通常不安定です、多くの計算リソースを必要とします。

6. 結論

この記事では、データ拡張にGANを使用する方法について説明しました。最初に、データ拡張と生成モデルのトピックを紹介し、次に、非常に現実的なサンプルを生成するために使用できる条件付きGANを紹介しました。 。 最後に、GANのいくつかの制限を強調しました。