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

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

オートエンコーダ(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 つの値が混乱しているのに対し、分離された変分オートエンコーダはそれらをより明確に表示でき、最終的に生成される画像はより鮮明でクリアであることが示されました。これまで、オートエンコーダからノイズ除去オートエンコーダ、変分オートエンコーダ、分離変分オートエンコーダまでのプロセスを非常にシンプルかつ明確な方法で紹介してきました。

<<:  アルゴリズムがバグをキャッチ:ディープラーニングとコンピュータービジョンが昆虫学を変える

>>:  ディープラーニングを使用した音声分類のエンドツーエンドの例と説明

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

ナレッジグラフの紹介と応用

[[376661]]人間は知識を獲得する過程で、物事の本質にますます注意を払うようになります。人工知...

会話型AI: パンデミック時代の最先端技術

パンデミックの発生により、世界中の労働システムが危険にさらされています。コンタクト センターの従業員...

初心者向けガイド: Numpy、Keras、PyTorch を使用した単純な線形回帰

[[433966]]図 1 に示すように、さまざまな種類の機械学習技術は、さまざまなカテゴリに分類で...

...

Gizwits Cloud はスマートホームが機械にユーザーをよりよく理解するのを助けます

[51CTO.com からのオリジナル記事] 2016年、国内投資家のVRへの熱意はまだ薄れていなか...

...

AIのジレンマをどう解決するか?

今日の大手企業が AI におけるいくつかの大きな課題をどのように克服しているか。概要:多くの企業はビ...

せっかちなGoogleのハードウェアから、中国と米国がAI商業化の問題をそれぞれどのように解決できるかまで

建国記念日の休日中は家にいて、Google カンファレンスを視聴しました。これらの製品のいくつかを見...

...

マッキンゼーの中国人工知能レポートは3つの大きな課題に直面している

BAT の幹部は、先日終了した IT リーダーシップ サミットで人工知能に焦点を当てました。ロビン・...

...

PyTorch を学ぶには?簡単すぎる

多くの友人から、PyTorch の学習方法を尋ねられました。長期間の練習を経て、初心者が知っておく必...

家庭用ロボットを作り、独自の研究開発の道を歩む

ロボットを作ることは私の子供の頃からの夢でした。 2011年に私はハルビン工業大学に入学し、そこが私...

オックスフォード大学の科学人気記事、数分でわかる「機械学習とは何か」

[[389147]]人間は経験を通して学び、成長する能力を持っている学習能力と経験を通じてタスクを...

人工知能はいつか本当に人間の教師に取って代わることができるのでしょうか?

中国は教育における人工知能の応用において徐々に優位に立っています。顔認識からスタートアップ、医療教育...