VAE(2/4)実施例の説明

はぐれ弁理士 PA Tora-O です。前回(第1回)では、オートエンコーダの概要について説明しました。改めて復習されたい方は、こちらのリンクから確認をお願いします。今回(第2回)は、VAEの実施例について、ネットワーク構造を中心に説明します。

ネットワーク構造

まず、VAE(Variational Autoencoder)のネットワーク構造について説明します。以下、[1]学習フェーズ、[2]生成フェーズ、の2つの演算フェーズに分けて図解します。

【図1】学習フェーズ時のネットワーク構造

図1は、学習フェーズ時のネットワーク構造を示しています。学習を行う際には、VAEは、一般的なオートエンコーダと外観上同一の構造を有します。特別な説明は不要と思われますが、あえてポイントを挙げれば、入力画像と正解画像が同一である点でしょうか。

【図2】生成フェーズ時のネットワーク構造

図2は、生成フェーズ時のネットワーク構造を示しています。ここでのポイントは、オートエンコーダの前段、つまりエンコーダ部分が取り除かれた状態で用いられる点です。前回で説明した通り、連結層では、入力画像の潜在的特徴を示すL次元ベクトルを出力します。つまり、VAEでは、L次元ベクトルを用いて様々な画像を生成することになります。

連結層の周辺構成

続いて、エンコーダとデコーダを連結する連結層の周辺構成について、図3を参照しながら説明します。

【図3】連結層の周辺構成

エンコーダを構成する畳み込みニューラルネットワーク(CNN)の下流側には、L次元の特徴ベクトル{z}を生成する特徴ベクトル生成部が設けられています。この特徴ベクトル生成部は、ミュー演算器と、シグマ演算器と、標本値生成器と、座標演算器を備えています。これらの各演算器の機能は以下の通りです。

[1]ミュー演算器
 入力側がCNN最下流層に、出力側が座標演算器に接続される演算器です。ミュー演算器は、荷重和演算及び活性化関数の作用により、L個の{μ}を出力します。{μ}は、平均値に相当します。
[2]シグマ演算器
 入力側がCNN最下流層に、出力側が座標演算器に接続される演算器です。シグマ演算器は、荷重和演算及び活性化関数の作用により、L個の{σ}を出力します。{σ}は、標準偏差に相当します。
[3]標本値生成器
 出力側が座標演算器に接続される演算器です。標本値生成器は、標準正規分布に従う確率で標本値{ε}を出力します。標準正規分布は、平均値が0、標準偏差が1であるガウス分布に相当します。
[4]座標演算器
 入力側が上記した3つの演算器に、出力側が連結層に接続される演算器です。座標演算器は、z=μ+σ・ε の演算を行って、L個の座標値{z}を出力します。

 

以上、今回(第2回)は、VAEの実施例について説明しました。次回(第3回)は、算出したパラメータや特徴ベクトルに関する数学的意味について説明します。学習パラメータが固定であるという前提の下、AEでは画像が入力されると必ず同じ特徴ベクトルが生成されるが、VAEではそのようにならない、というのがヒントです。

↓ブログランキングに参加しています。よろしければ1クリックお願いします。

にほんブログ村 士業ブログ 弁理士へ
にほんブログ村

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村