【E資格不合格から学ぶ】VAE(変分オートエンコーダー)による事前学習を解説!

  • 「VAE(変分オートエンコーダー)」について学びたいけど理解できるか不安・・・
  • 「VAE(変分オートエンコーダー)」についてどこから学んでいいか分からない?
  • 「VAE(変分オートエンコーダー)」を体系的に教えて!

 「VAE(Variational Auto-Encoder、変分オートエンコーダー)」は、通常のオートエンコーダーの場合、何かしら潜在変数zにデータを押し込めているのものの、その構造がどのような状態かわからないという課題を解決したものです。ここで興味があっても難しそうで何から学んだらよいか分からず、勉強のやる気を失うケースは非常に多いです。

 私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。

 そこでこの記事では、「VAE(変分オートエンコーダー)」による事前学習のポイントについて解説します。

 この記事を参考に「VAE(変分オートエンコーダー)」による事前学習のポイントが理解できれば、E資格に合格できるはずです。

<<「VAE(変分オートエンコーダー)」による事前学習のポイントを今すぐ知りたい方はこちら

目次

1.Auto-Encoder(オートエンコーダー:自己符号化器)

Auto-Encoder(自己符号化器)とは・・・

参考URL〉:https://www.tensorflow.org/tutorials/generative/autoencoder?hl=ja

学習方法Auto-Encoder制限ボルツマンマシン
共通項出力値で入力値を再現することで、中間層にて情報圧縮を行うことができる教師なし学習左記に同じ
最適化の方法・入力と出力が直接近くなるように重みとバイアスを確率的勾配降下法で調整していく。
・決定論的に決まる。
・確率的な生成モデルを学習する。
・入力値の分布がデータの生成分布に近くなるように学習を行う。
構成最小構成は入力層・中間層×1・出力層の3層
・入力層・中間層×1の2層から成るニューラルネットワークと同じ構造
結合は双方向
・制限ボルツマンマシンの「制限」とは、入力層のノードは互いに接続せずに中間層のみと接続することを指す。
オートエンコーダーと制限ボルツマンマシンの比較
Auto-Encoderの構造
  • 構造
    Encoder:入力データから潜在変数zに変換するニューラルネットワーク
    Decoder:潜在変数zをインプットとして元画像を復元するニューラルネットワーク
  • 出力層の活性化関数
    恒等写像関数(identity)f(x)=x
  • メリット
    次元削減が行える。
    ※zの次元が入力データより小さい場合、次元削減とみなすことができる。
    主成分分析(機械学習)と同様な機能を持つ)

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
再パラメータ化トリック(Reparameterization Trick)とは・・・
  • 背景
    符号化器(encoder)と復号化器(decoder)の間には潜在変数のサンプリング処理が入るため、入力層の変数まで誤差逆伝播を行うことが困難とある。
  • 再パラメータ化トリックは上記の課題を解決する手法
  • 再パラメータ化トリックの仕組み
    符号化器(encoder)層によってサンプリングに利用する変数μσを出力し、新たにサンプリング変数εを導入し、潜在変数zを下式のように再定義する。
     z=μ+εσ (ε~N(0,I))
    潜在変数z:平均μ、標準偏差σのガウス分布からサンプリングした値

3.まとめ

【Auto-Encoderの特徴】
  • 次元削減可能なニューラルネットワークのモデル
  • 事前学習モデル
  • 出力層の活性化関数は恒等写像関数
【VAE(Variational Auto-Encoder)の特徴】
  • 再構成誤差+正則化項
  • 正則化項:DKL(N(μ,σ)|N(0,1))
  • 再パラメータ化トリック(Reparameterization Trick)

最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次