ディープラーニング入門: オートエンコーダから変分オートエンコーダまで

ディープラーニング入門: オートエンコーダから変分オートエンコーダまで

オートエンコーダ(AE)は、半教師あり学習や教師なし学習で使用される人工ニューラルネットワーク(ANN)の一種で、ディープラーニングの分野に属します。その機能は、入力情報を学習対象として、入力情報を表現し学習することです。圧縮や次元削減、スタイル転送、外れ値検出などによく使用されます。画像の場合、画像のデータ分布情報をコードとして効率的に表現できますが、その次元とデータ情報は一般に入力データよりもはるかに小さく、強力な特徴抽出器として使用でき、ディープニューラルネットワークの事前トレーニングに適しています。また、トレーニングデータに類似したデータをランダムに生成して、元のデータの重要な情報を効率的に表現することもできます。そのため、通常は生成モデルと見なされます。

ディープラーニングの発展において、ノイズ除去オートエンコーダーの進化、変分オートエンコーダー(DAE)、変分オートエンコーダー(VAE)、そして最後に分離変分オートエンコーダーなど、オートエンコーダーの多くの変種が登場しました。時代の発展とともに、将来的にはより優れたモデルが登場しますが、数学的な観点から見たその原理は、入力空間と特徴空間から始まります。オートエンコーダーは、2つの間のマッピングの類似性エラーを解決し、次の式を通じてそれを最小化します。

解法が完了すると、オートエンコーダは計算された特徴 h、つまりエンコード特徴を出力します。ただし、オートエンコード操作中に、ある程度のランダム性が混入しやすく、式ではガウスノイズとしてマークされています。エンコーダの出力は、次のデコーダの入力特徴として使用され、最終的に生成されたデータ分布情報が得られます。

変分オートエンコーダ (VAE) を例にしたシンプルなアーキテクチャを以下に示します。

次に、論理的な順序に従って1つずつ紹介します。

1. オートエンコーダ(AE):

オートエンコーダは 2 つの部分に分かれています。最初の部分はエンコーダで、通常は入力データをベクトルに圧縮して低次元に変換する多層ネットワークです。このベクトルはボトルネックと呼ばれます。 2 番目の部分はデコーダーで、ボトルネックが入力されてデータを出力します。これを入力データの再構築と呼びます。私たちの目標は、圧縮と復元の効果を実現するために、再構築されたデータを元のデータと同じにすることです。損失関数は、再構築されたデータと元のデータ間の距離を最小化するものです。損失関数は図 3 を参照します。

次の図は、一度に1つの浅いオートエンコーダをトレーニングする様子を示しています。

まず、最初のオートエンコーダーは入力を再構築することを学習します。次に、2 番目のオートエンコーダは、最初のオートエンコーダの隠し層の出力を再構築することを学習します。最後に、2 つのオートエンコーダが統合されます。デメリット: 低次元のボトルネックにより、多くの有用な情報が失われ、再構築されたデータはあまり良くありません。

2. ノイズ除去オートエンコーダ(DAE)

ここで話したいのは、きれいな画像を取得し、それがきれいな元の minst データ セットであると想像し、この時点で元のきれいな画像セットに大量のノイズを追加し、それをエンコーダーに送り、それをきれいな画像セットに復元し、AE と同じ方法でトレーニングし、得られたネットワーク モデルが DAE であるということです。

上の図に示すように、ノイズ除去エンコーダーは通常、初期入力にノイズを追加し、トレーニング後にノイズのない出力を取得します。これにより、オートエンコーダが入力を単純に出力にコピーすることがなくなり、データ内の有用なパターンが抽出されます。ノイズは、図 6 の左側でガウス ノイズを追加するか、図 6 の右側でドロップアウトを介してフィーチャのレイヤーを直接破棄することによって追加できます。

3. 変分オートエンコーダVAE

VAE と AE と DAE の違いは、元のエンコーダーは 1 つのベクトルにマッピングされていましたが、現在は 2 つのベクトルにマッピングされ、1 つのベクトルは分布の平均値を表し、もう 1 つのベクトルは分布の標準偏差を表すことです。両方のベクトルは同じ正規分布を持ちます。次に、2 つのベクトルからそれぞれサンプルを抽出し、サンプル データをデコーダーに入力します。したがって、損失関数は次のようになります。

損失関数の最初の部分は他のオートエンコーダ関数と同様に再構成損失であり、2 番目の部分は KL ダイバージェンスです。 KL ダイバージェンスは 2 つの異なる分布間の差を測定し、常に非負であるという重要な特性を持ちます。 2 つの分布がまったく同じ場合のみ、これは 0 になります。したがって、後半部分の役割は、ボトルネックの 2 つのベクトルが正規分布になるように制御することです。 (平均は0、標準偏差は1)。ここで質問ですが、2 つの分布からデータをサンプリングするときに BP を実行するにはどうすればよいでしょうか?そこで、再パラメータ化トリックと呼ばれるトリックがあります。順方向伝播中に、上記の式で z を取得します。BP 中に、ニューラル ネットワークに μ と σ を適合させます。一般的に、バッチ正規化の γ と β のように、見つけるのが難しいパラメーターをニューラル ネットワークに投げるだけです。欠点は、効果がまだ比較的曖昧であることです。

4. 分離変分オートエンコーダ

ボトルネックのベクトル、つまり低次元ベクトルが、エンコード処理で有用な次元を保持し、役に立たない次元を正規分布のノイズに置き換えることを期待します。これは、異なる次元の特徴を学習することとして理解できますが、これらの特徴は良い場合も悪い場合もあります。この目標を達成するには、損失関数に β を追加するだけです。

最後の実験では、VAE が画像を再構成するときに、<長さ、幅、サイズ、角度> の 4 つの値が混乱しているのに対し、分離された変分オートエンコーダはそれらをより明確に表示でき、最終的に生成される画像はより鮮明でクリアであることが示されました。これまで、オートエンコーダからノイズ除去オートエンコーダ、変分オートエンコーダ、分離変分オートエンコーダまでのプロセスを非常にシンプルかつ明確な方法で紹介してきました。

<<:  リアルタイムスタイル転送、モバイル端末で実行、顔エフェクトで遊ぶ新しい方法

>>:  ベクトル監視なしのベクトル画像生成アルゴリズムがCVPR 2021に選出

ブログ    
ブログ    

推薦する

インタビュアー: 「最後にアルゴリズムを書いてください。単一のリンクリストを使用して加算を実行してみましょう...」

[[286163]]質問: 空でない 2 つのリンク リストが与えられた場合、2 つの負でない整数...

...

新たな市場トレンドをリードする百度Apollo Zhituがグローバルインテリジェント運転マップをリリース

自動車の知能化の時代が到来しました。 12月8日、広州で開催された第2回百度アポロエコシステムカンフ...

アニメーション + 原理 + コード、トップ 10 の古典的なソート アルゴリズムを解釈する

ソートアルゴリズムは、「データ構造とアルゴリズム」における最も基本的なアルゴリズムの 1 つです。ソ...

...

...

カスタマー サービス チーム向けの人工知能と機械学習ツール

どのビジネスリーダーも、顧客サービスがビジネスの最優先事項になっていることを認めるでしょう。同社は、...

...

DAMOアカデミーの医療AIは、整形外科手術における歴史的課題を解決し、解剖学的位置を0.3秒で特定します。

「21世紀で最も成功した手術」として知られる人工股関節全置換術(THA)では、まもなく最新のAI技...

...

エンジニアリングチームでよく使用される 6 つの AI ツール

アレックス・オメイヤー翻訳者 | 陳俊レビュー | Chonglou人工知能(AI)の急速な進化と発...

...

AIOps の 7 つの主要機能

企業ネットワークが進化し続け、特にデジタル ビジネス アプリケーションへの移行が進むにつれて、サービ...

スマートシティが公衆衛生危機の影響を緩和する方法

IETスマートシティジャーナルに掲載された論文「COVID-19パンデミック:新たな流行に対応するた...