- 「VAE(変分オートエンコーダー)」について学びたいけど理解できるか不安・・・
- 「VAE(変分オートエンコーダー)」についてどこから学んでいいか分からない?
- 「VAE(変分オートエンコーダー)」を体系的に教えて!
「VAE(Variational Auto-Encoder、変分オートエンコーダー)」は、通常のオートエンコーダーの場合、何かしら潜在変数zにデータを押し込めているのものの、その構造がどのような状態かわからないという課題を解決したものです。ここで興味があっても難しそうで何から学んだらよいか分からず、勉強のやる気を失うケースは非常に多いです。
私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。
そこでこの記事では、「VAE(変分オートエンコーダー)」による事前学習のポイントについて解説します。
この記事を参考に「VAE(変分オートエンコーダー)」による事前学習のポイントが理解できれば、E資格に合格できるはずです。
<<「VAE(変分オートエンコーダー)」による事前学習のポイントを今すぐ知りたい方はこちら
目次
1.Auto-Encoder(オートエンコーダー:自己符号化器)
Auto-Encoder(自己符号化器)とは・・・
- 事前学習法の一種(生成モデル)
制限ボルツマンマシン(Restricted Boltzmann Machine, RBM)と双璧を成す
参照元:Zenn 制限ボルツマンマシンの基礎 ~概念編~ - 教師なし学習
・学習時の入力データは訓練データのみ
・入力と出力が直接近くになるように重みとバイアスを確率的勾配降下法(SDG)で調整 - 具体例
MNISTの場合、28×28の数字の画像を入れて、同じ画像を出力するニューラルネットワーク
〈参考URL〉:https://www.tensorflow.org/tutorials/generative/autoencoder?hl=ja
学習方法 | Auto-Encoder | 制限ボルツマンマシン |
---|---|---|
共通項 | 出力値で入力値を再現することで、中間層にて情報圧縮を行うことができる教師なし学習 | 左記に同じ |
最適化の方法 | ・入力と出力が直接近くなるように重みとバイアスを確率的勾配降下法で調整していく。 ・決定論的に決まる。 | ・確率的な生成モデルを学習する。 ・入力値の分布がデータの生成分布に近くなるように学習を行う。 |
構成 | 最小構成は入力層・中間層×1・出力層の3層 | ・入力層・中間層×1の2層から成るニューラルネットワークと同じ構造 ・結合は双方向 ・制限ボルツマンマシンの「制限」とは、入力層のノードは互いに接続せずに中間層のみと接続することを指す。 |
Auto-Encoderの構造
2.VAE(Variational Auto-Encoder)
Auto-Encoderの課題
通常のAuto-Encoderの場合、何かしら潜在変数zにデータを押し込めているのものの、
その構造がどのような状態かわからない?
↓ 解決策
VAE(Variational Auto-Encoder、変分オートエンコーダー)
VAEとは・・・
VAEの学習とは・・・
- サンプリングした潜在変数zを「decode」したものが入力と近くなるようにする。
- 潜在変数zが確率分布z~N(0,I)(=正規分布(ガウス分布))に従っていると仮定
→ データを潜在変数zの確率分布という構造に押し込めることが可能 - 潜在変数zが平均μ、標準偏差σのガウス分布 ⇒ 平均0、標準偏差Iのガウス分布に近くなるようにする。
↓
誤差逆伝搬法を利用して入力層の変数まで最適化が可能
VAEの構成とは・・・
- 再構成誤差+正則化項
- 再構成誤差:
Auto-Encoder における出力データと入力データの誤差 - 正則化項:
DKL(N(μ,σ)|N(0,I))
事前分布 事後分布
※DKL:KLダイバージェンス
↑VAEによって次元削減されたデータの集合の中心は原点付近
※KLダイバージェンスは、事前分布と事後分布の情報量の差を表す。DKL(事前分布|事後分布)が原点に近づくということは、事前分布と事後分布が以下のようになる。
事前分布:平均=μ、標準偏差=σ
事後分布:平均=0、標準偏差=I
3.まとめ
最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!
コメント