ホームページ >テクノロジー周辺機器 >AI >生成モデル VAE、GAN、およびフローベース モデルの詳細な比較
Ian Goodfellow と他の研究者が論文で敵対的生成ネットワークを紹介してから 2 年後、Yann LeCun は敵対的トレーニングを「過去 10 年間で ML で最も興味深いアイデア」と呼びました。 GAN は興味深く有望ですが、まったく異なる観点から従来の AI の問題を解決する生成モデルのファミリーの一部にすぎません。この記事では、3 つの一般的な生成モデルを比較します。
機械学習について考えるとき、おそらく最初に思い浮かぶのは判別アルゴリズムです。識別モデルは、入力データの特性に基づいて入力データのラベルまたはカテゴリを予測するもので、すべての分類および予測ソリューションの中心となります。これらのモデルとは対照的に、生成アルゴリズムは、データについてのストーリーを伝え、データがどのように生成されたかについて考えられる説明を提供するのに役立ちます。特徴をラベルにマッピングする判別アルゴリズムとは異なり、生成モデルは、ラベルが与えられた特徴を予測しようとします。
ラベル y とモデルによって定義された特徴 x の間の関係を区別し、「y をどのように取得するか」という質問に答えるモデルを生成します。生成モデルのモデルは P(観測値/原因) であり、ベイズの定理を使用して P(原因/観測値) を計算します。このようにして、p(x|y)、y が与えられた場合の x の確率、またはラベルまたはクラスが与えられた場合の特徴の確率を取得できます。実際、生成アルゴリズムは、おそらく個々のクラスの分布をモデル化するため、分類器としても使用できます。
生成アルゴリズムは数多くありますが、ディープ生成モデルのカテゴリに分類される最も人気のあるモデルは、変分オートエンコーダー (VAE)、gan、およびフローベースのモデルです。
変分オートエンコーダ (VAE) は、「潜在空間における観測の確率的記述を提供する」生成モデルです。簡単に言えば、これは、VAE が潜在属性を確率分布として保存することを意味します。
変分オートエンコーダ (Kingma & Welling、2014) または VAE のアイデアは、変分ベイジアンおよびグラフィカル モデル手法に深く根ざしています。
標準のオートエンコーダは、エンコーダとデコーダという 2 つの同様のネットワークで構成されます。エンコーダーは入力を受け取り、それをより小さい表現に変換します。デコーダーはそれを元の入力に変換するために使用できます。入力を変換する潜在空間と、エンコード ベクトルが存在する空間は連続的ではない可能性があります。誰もが潜在空間からランダムにサンプリングしたり、連続潜在空間から入力画像のバリエーションを生成したりしたいと考えているため、これは生成モデルにとって問題です。
変分オートエンコーダには連続的な潜在空間があり、ランダム サンプリングと補間がより便利になります。これを実現するために、エンコーダの隠れノードはエンコード ベクトルを出力せず、代わりに同じサイズの 2 つのベクトル (平均ベクトルと標準偏差ベクトル) を出力します。各隠れノードは、それ自体がガウス分布であるとみなします。ここで、平均および標準偏差ベクトルの i 番目の要素は、i 番目の確率変数の平均および標準偏差の値に対応します。この分布ベクトルからサンプリングし、デコーダは入力ベクトルの確率分布からランダムにサンプリングします。このプロセスはランダム生成です。これは、同じ入力であっても、平均と標準偏差が一定に保たれる場合、実際のエンコードは各パスで異なることを意味します。
オートエンコーダの損失は、再構築損失 (出力が入力にどれだけ似ているか) と潜在損失 (隠れたノードが法線ノードにどれだけ近いか) を最小限に抑えることです。分布)。潜在的な損失が小さいほど、符号化できる情報が少なくなるため、再構成損失が増加するため、潜在的な損失と再構成損失の間にはトレードオフの関係があります。潜在的な損失が小さい場合、生成された画像はトレーニング画像に類似しすぎて、パフォーマンスが低下します。再構成損失が小さい場合、トレーニング中の再構成画像の効果は向上しますが、生成された新しい画像は再構成画像とは大きく異なるため、適切なバランスを見つける必要があります。
VAE は、シーケンシャルと非シーケンシャル、連続または離散、ラベル付きまたはラベルなしなど、さまざまなタイプのデータを処理できるため、非常に強力な生成ツールになります。
しかし、VAE の大きな欠点は、VAE が生成する出力が不鮮明であることです。 Dosovitskiy と Brox が指摘したように、VAE モデルは非現実的で曖昧なサンプルを生成することがよくあります。これは、データ分布の復元方法と損失関数の計算方法に起因します。 Zhaoらによる2017年の論文では、出力品質を向上させるために変分ベイジアン法を使用せずにVAEを修正することが提案されている。
敵対的生成ネットワーク (GAN) は、新しいコンテンツを生成できる深層学習に基づく生成モデルです。 GAN アーキテクチャは、Ian Goodfellow らによる 2014 年の論文「Generative Adversarial Networks」で初めて説明されました。
GAN は、2 つのサブモデルを使用した教師あり学習アプローチを採用しています。1 つは新しいサンプルを生成するジェネレーター モデル、もう 1 つはサンプルを本物か偽物 (生成されたもの) として分類しようとするディスクリミネーター モデルです。
ジェネレーター: 問題領域から新しい妥当な例を生成するために使用されるモデル。
Frequency Discriminator: サンプルを本物 (ドメインから) または偽物 (生成) として分類するために使用されるモデル。
2 つのモデルは競合相手としてトレーニングされます。ジェネレーターはサンプル データを直接生成します。その対戦相手であるディスクリミネーターは、トレーニング データから抽出されたサンプルとジェネレーターから抽出されたサンプルを区別しようとします。この競合プロセスは、識別子モデルが半分以上の時間で真か偽かを判断できないまで、トレーニング中に継続します。これは、ジェネレーター モデルが非常に現実的なデータを生成していることを意味します。
#ディスクリミネーターが本物か偽物のサンプルを識別することに成功すると、パラメーターは変更されずに報酬が与えられます。ジェネレーターが間違いを犯した場合、罰せられ、パラメーターが更新されます。理想的な世界では、ディスクリミネーターが違いを区別できず、「不確実」(たとえば、50% の真か偽) を予測するときはいつでも、ジェネレーターは入力ドメインから完全なコピーを生成できます。
しかし、ここでは各モデルが他のモデルを圧倒する可能性があります。弁別器が良すぎる場合、0 または 1 に非常に近い値が返され、ジェネレーターは更新された勾配を取得するのに問題が発生します。ジェネレーターが優秀すぎると、ディスクリミネーターの弱点が悪用され、偽陰性が発生します。したがって、2 つのニューラル ネットワークは、それぞれの学習率を通じて達成される同様の「スキル レベル」を持っている必要があり、これが GAN のトレーニングが難しい理由の 1 つでもあります。
ジェネレーターは、固定長のランダム ベクトルを入力として受け取り、定義されたドメイン内でサンプルを生成します。このベクトルはガウス分布からランダムに抽出されます。トレーニング後, この多次元ベクトル空間内の点は問題領域内の点に対応し, データ分布の圧縮表現を形成します. このステップは VAE に似ています. このベクトル空間は潜在空間またはベクトルと呼ばれます潜在変数で構成される空間。 GAN のジェネレーターは、潜在空間内の選択されたポイントを平均します。潜在空間から抽出された新しい点は、ジェネレーター モデルへの入力として提供され、新しい異なる出力例を生成するために使用できます。トレーニング後、ジェネレーター モデルは保持され、新しいサンプルの生成に使用されます。
識別子モデルは、サンプル (トレーニング データセットからの実際のサンプル、またはジェネレーター モデルによって生成されたサンプル) を入力として受け取り、real または fake( のバイナリ クラス ラベルを予測します)生成されます)。識別子は、通常の (そして理解しやすい) 分類モデルです。
トレーニング プロセスの後、ジェネレーターに興味があるため、ディスクリミネーターは破棄されます。もちろん、弁別器は他の目的にも使用できます。
GAN は実行可能なサンプルを生成できますが、元の GAN にも欠点があります:
フローベースの生成モデルは、扱いやすいサンプリングと潜在変数推論を備えた正確な対数尤度モデルです。フローベースのモデルは、観測値の正確な対数尤度を計算できるように、事前のサンプルに一連の可逆変換を適用します。前の 2 つのアルゴリズムとは異なり、このモデルはデータ分布を明示的に学習するため、損失関数は負の対数尤度になります。
非線形独立成分分析では、流れモデル f は、標準ガウス潜在変数 z=f(x) への高次元確率変数 x の可逆マッピングとして構築されます。 。フロー モデルの設計における重要なアイデアは、それが任意の全単射関数であり、単純な可逆変換を重ね合わせることによって形成できるということです。要約すると、流れモデル f は、f(x) =f1�����fL(x) のような一連の可逆流れで構成され、各 fi は扱いやすい逆行列と扱いやすいヤコビアン行列を持ちます。
フローベースのモデルには、2 つの大きなカテゴリがあります。正規化されたフローを使用するモデルと、ベース モデルのパフォーマンスを向上させる自己回帰フローを使用するモデルです。
適切な密度推定を実行できることは、多くの機械学習の問題にとって不可欠です。しかし、これは本質的に複雑です。深層学習モデルでバックプロパゲーションを実行する必要がある場合、導関数を効率的に計算できるように、埋め込まれた確率分布は十分に単純である必要があります。従来の解決策は、潜在変数生成モデルでガウス分布を使用することですが、実際の分布のほとんどははるかに複雑です。 RealNVP や Glow などの正規化フロー (NF) モデルは、分布の堅牢な近似を提供します。一連の可逆変換関数を適用することにより、単純な分布を複雑な分布に変換します。変数変換定理に従って、一連の変換を通じて元の変数を新しい変数に繰り返し置き換えることができ、最終的に最終的なターゲット変数の確率分布が得られます。
正規化されたフローにおけるフロー変換が自己回帰モデルとしてフレーム化され、ベクトル変数の各次元が前の次元で条件付けされる場合、フロー モデルはこの変更になります。は自己回帰フローと呼ばれます。これは、標準化されたプロセスを備えたモデルと比較して一歩前進です。
一般的に使用される自己回帰フロー モデルは、画像生成には PixelCNN、1 次元オーディオ信号には WaveNet です。これらはすべて、一連の因果的畳み込み、つまり順序を考慮した畳み込み演算で構成されます。特定のタイムスタンプでの予測は、過去に観察されたデータのみを使用します。 PixelCNN では、因果的畳み込みはマスクされたカーネルによって実行されます。そして、WaveNet は、いくつかのタイムスタンプを通じて出力を将来の時間にシフトします。
フローベースのモデルは、概念的には複雑な分布のモデル化に非常に適していますが、最先端の自己回帰モデルの限界と比較すると、密度推定のパフォーマンスに問題があります。フロー モデルは最初は GAN の代替として優れた出力を生成するかもしれませんが、フロー ベースのモデルは同じ解像度の画像を生成するのに GAN よりも数倍の時間がかかるため、フロー モデル間のトレーニング計算コストには大きな差があります。
各アルゴリズムには、精度と効率の点で利点と限界があります。 GAN とプロセスベースのモデルは一般に、VAE よりも優れた、または実際に近い画像を生成しますが、後者はプロセスベースのモデルよりも時間がかかり、パラメーター効率が優れています。ここでは 3 つのモデルの比較概要を示します:
GAN は並列処理により非常に効率的であることがわかりますが、可逆的ではありません。対照的に、フロー モデルは可逆的ですが効率的ではありません。一方、vae は可逆的で効率的ですが、並列計算できません。これらの特性に基づいて、出力、トレーニング プロセス、および実際の使用における効率の間でトレードオフを行うことができます。
以上が生成モデル VAE、GAN、およびフローベース モデルの詳細な比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。