1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

StableDiffusionに使われているVAE(変分オートエンコーダー), U-Netについて解説

Posted at

こんにちは、すきにーです。

去年発表されたStableDiffusionに 使われている vae と U-Net について書きたいと思います。

①VAEとは
VAEは教師なし学習であるオートエンコーダーの一種です。
オートエンコーダーとは、入力されたデータを一度圧縮し、重要な特徴量だけを残した後、再度もとの次元に復元処理をするアルゴリズムのことを言います。
入力したデータの次元数をいったん下げ、再び戻して同じデータを出力するので、次元圧縮によく使われます。

オートエンコーダーとVAEの違いは、隠れ層の潜在変数に確率分布を使っているかどうかです。
オートエンコーダーの隠れ層には圧縮された特徴量が潜在変数として存在します。Xというデータを入力したら、隠れ層にはXの圧縮された特徴量が入っているということですね。
VAEの隠れ層では、潜在変数を取得するのに確率分布を使っています。

オートエンコーダーの出力層では、隠れ層の潜在変数を使って元のデータを作成しています。
この流れでVAEはオートエンコーダーのデコーダー部分を使って画像を生成しています。その時に使用する潜在変数を確率分布を使って取得しているという流れです。

②U-netとは
U-Netは、セマンティックセグメンテーション用のモデルです。

図を見るとわかるようにUの字の構造になっていることから、U-netと名付けられました。
image.png

U-netはエンコーダーとデコーダーから成るモデルです。
エンコーダー部分で畳み込み、特徴の抽出を行っています。
デコーダー部分では、エンコーダーによって抽出された特徴を受け取り、逆畳み込みを行います。
逆畳み込みでは通常の畳み込みの逆の処理を行います。
逆畳み込みによって特徴マップを大きくします。これをアップサンプリングといいます。

U-netはエンコーダーの特徴マップをデコーダーの特徴マップに連結させるのが特徴になります。
連結させることで、エンコーダーの情報をデコーダーに伝え、分類精度を高めることができます。

参考
オートエンコーダー_Auto Encoder (Vol.21)
https://products.sint.co.jp/aisia/blog/vol1-21

VAE
https://ai-kenkyujo.com/term/what-is-vae/

U-Netとは | スキルアップAI
https://www.skillupai.com/blog/tech/segmentation2/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?