Figure 1: “An astronaut riding a horse” (軽いモデルを使って生成した画像)
Figure 2: U-net のアーキテクチャーのイメージ
Diffusion 系のモデルは基本的に
Figure 3: U-net のニューラルネットワークは Noisy な画像のノイズを予測している
Figure 4: U-net のインプットは、画像さえ持ってれば簡単に作れる
@startuml
scale 1.5
!define DIRECTION left to right direction
skinparam componentStyle rectangle
skinparam backgroundColor #FFFFFF
skinparam package {
BorderColor #000000
BackgroundColor #FFFFFF
}
skinparam component {
BorderColor #000000
BackgroundColor #F0F0F0
ArrowColor #000000
}
[インプット\n512x512x3] as input
[Latents\n64x64x4] as latent #FFFFD0
[アウトプット\n512x512x3] as output
package "VAE" {
package "エンコーダー" {
[512x512x3] as enc1
[256x256x6] as enc2
[128x128x12] as enc3
[64x64x24] as enc4
}
package "デコーダー" {
[64x64x24] as dec1
[128x128x12] as dec2
[256x256x6] as dec3
[512x512x3] as dec4
}
}
input -right-> enc1
enc1 -down-> enc2
enc2 -down-> enc3
enc3 -down-> enc4
enc4 -down-> latent
latent -right-> dec1
dec1 -up-> dec2
dec2 -up-> dec3
dec3 -up-> dec4
dec4 -right-> output
@enduml
Figure 5: VAE の構造
Figure 6: Latent Diffusion の全体図 (Rombach et al. 2022)
Figure 7: プロンプト:Happy sea turtle on beach in the style of Paul Signac
もちろんノイズだけじゃなくても、sketch とかをベースにして作成する こともできる
Figure 8: Before: My masterful turtle at the beach sketch
Figure 9: After: “Turtle chilling at the beach in the style of Keith Haring”.