はじめに
VAEという生成モデルを理解するためにオートエンコーダ(Auto Encoder) を理解する必要があります。
その後にVAE(変分オートエンコーダ)をどのような特徴かを見ていきましょう。
オートエンコーダとは
オートエンコーダは日本語で言うと自己符号化器と呼ばれるニューラルネットワークの仕組みの1つとなります。
と言われてもいまいち分からないので、もう少し詳しくみていきます。
以下のイメージで、入力➡エンコーダ(圧縮されていく過程)➡特徴量の抽出(圧縮された特徴)➡デコーダ(圧縮を復元する過程)➡出力の流れとなります。
エンコーダ・デコーダと呼ばれるものを使って、特徴量(潜在変数)を算出するイメージですね(^ ^)
補足ですが、エンコーダは圧縮されていく過程を示し、デコーダはその圧縮を復元していく過程を示します。
ここで注意する点としては、入力と出力が同じになると言う点です。
オートエンコーダの利用方法
入力と出力が同じになるオートエンコーダは何に使われるか分かりますか?
次でその応用例を見ていきましょう。
以下の3つが大きくあります。
- 異常検知
- ノイズの除去
- クラスタリング
イメージしにくい部分もありますので、これもイメージで確認していきましょう。
以下のような感じかなと思います。
オートエンコーダでは入力と出力が同じであったと言う事を利用して、入出力の比較します。
- 異常検知は今回の場合はお札に偽札という文字が入っていることを見分けることができます。
- ノイズの除去として、比較した結果より星マークの汚れがノイズとして入っていたことが検知できました。
- クラスタリングでは星マークだけでなく丸とか四角とかの汚れがあった場合にパターン分けをすることができるというイメージです。
このような感じでオートエンコーダが応用されている技術となります。
VAEとは
オートエンコーダを元とした技術となります。
そのため、先ほどと同様にエンコーダ・デコーダと呼ばれるものを使って、特徴量(潜在変数)を算出することに変わりはありません。
平均、分散より指標がバラバラの特徴量を正規化してマッピング結果を可視化することもできます。
正規化とは何かは以下の記事を参考にしてみてください。
スケーリングとは例えば、体重、身長、年齢などの複数の異なる単位をそのまま扱ってしまうと尺度が異なってしまいます!それによりうまく学習できない場合があります。そこでデータをある基準に沿って変[…]
今回の例では何種類かの色分けがあるかと思います。これが特徴量を表します。
なんとなく、イメージはできたでしょうか。VAEを用いると色々な特徴量より様々な画像も作ることができる技術です。
今後も注目ですね!
まとめ
今回はVAEの仕組みも含めてざっくりと見てきました。
特徴量がわかれば、異常やノイズ除去も出来ますし、新たな画像も作成できるという訳です。
今回の話が少しでも役に立てば嬉しいです(^ ^)