DiT (Diffusion Transformer)
๐ ๊ด๋ จ ๋ ผ๋ฌธ: [ICCV 2023] Scalable Diffusion Models with Transformers
DiT๋ ๊ธฐ์กด ๋ํจ์ ๋ชจ๋ธ์์ ํ์ค์ฒ๋ผ ์ฌ์ฉ๋๋ U-Net ๋ฐฑ๋ณธ์ Transformer ์ํคํ ์ฒ๋ก ๋์ฒดํ ๋ชจ๋ธ์ด๋ค.
DiT ๋ชจ๋ธ์ ํ์ดํ๋ผ์ธ์ ๋ค์๊ณผ ๊ฐ๋ค.
DiT ๋ํ LDM์ฒ๋ผ latent ๊ณต๊ฐ์์ ๋์ํ๊ธฐ ๋๋ฌธ์, VAE ์ธ์ฝ๋๋ฅผ ๊ฑฐ์น feature๊ฐ ์ ๋ ฅ๋๋ค.
Patchify
์ ๋ ฅ์ผ๋ก ๋ค์ด์จ ๋ ธ์ด์ฆ๊ฐ ์์ธ latent $x_t \in \mathbb{R}^{C \times I \times I}$๋ฅผ ViT์ ๋์ผํ ๋ฐฉ์์ผ๋ก $p \times p$ ํฌ๊ธฐ์ ํจ์น๋ค $x_{t,i}$๋ก ๋ถํ ํ๋ค.
์ดํ ๊ฐ ํจ์น๋ค์ Flattenํ๊ณ Linear Projection์ ๊ฑฐ์ณ 1์ฐจ์ ํ ํฐ ์ํ์ค๋ก ๋ณํํ๋ค.
\[\vx_{t,i}=\text{MLP}(x_{t,i}) \tag{1}\]Positional Embedding
ํธ๋์คํฌ๋จธ๋ ์ ๋ ฅ ํ ํฐ์ ์์๋ฅผ ๋ณธ์ง์ ์ผ๋ก ์ ์ ์๊ธฐ ๋๋ฌธ์, ํ ํฐ ์ํ์ค์ ์์น ์ ๋ณด๋ฅผ ๋ํด์ค๋ค.
๋ ผ๋ฌธ ์๋ณธ์์๋ 2D Sine-Cosine ์๋ฒ ๋ฉ์ ์ฌ์ฉํ์๋ค.
Conditioning ๋ฐฉ์
๋ ผ๋ฌธ์์๋ Noise timestep $t$์ ์กฐ๊ฑด $c$ (ํ ์คํธ ํ๋กฌํํธ, ํด๋์ค ๋ผ๋ฒจ ๋ฑ)๋ฅผ ๋คํธ์ํฌ์ ๊ฐ์ฅ ํจ๊ณผ์ ์ผ๋ก ์ฃผ์ ํ๊ธฐ ์ํด ๋ค์ํ Conditioning ๋ฐฉ๋ฒ์ ์คํํ์๋ค.
\[\ve_{t}=\text{Embed}(t)\quad,\quad\ve_{c}=\text{Embed}(c) \tag{2}\]๋ ผ๋ฌธ์์ ์ต์ข ์ ์ผ๋ก ์ ํํ ๋ฐฉ๋ฒ์ adaLN-Zero์ด๋ค.
In-Context Conditioning
Timestep ์๋ฒ ๋ฉ๊ณผ Condition ์๋ฒ ๋ฉ์ patch token sequence์ ๋จ์ํ concatํ๋ ๋ฐฉ์์ด๋ค.
\[\begin{bmatrix} \vx_{t,1}, & \vx_{t,2}, & \cdots, & \vx_{t,T}, & \ve_{t}, & \ve_{c} \end{bmatrix} \tag{3}\]- ์ฅ์ : ํ์ค ViT Block์ ๊ตฌ์กฐ์ ์์ ์์ด ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๊ณ , ๋ชจ๋ธ์ ์ถ๊ฐ๋๋ ์ฐ์ฐ๋์ด ๋งค์ฐ ์๋ค.
- ๋จ์ : 3๊ฐ์ง ๋ฐฉ์ ์ค ์ฑ๋ฅ์ด ๊ฐ์ฅ ๋จ์ด์ง๋ค.
Cross-Attention Block
DiT block์์ Self-Attention ๋ค์ Cross-Attention layer๋ฅผ ์ถ๊ฐํด, Conditioning์ key์ value๋ก, Input token์ query๋ก ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.
- ์ฅ์ : ๊ธฐ์กด LDM์์ ์ฌ์ฉ๋ ํ์ค์ ์ธ Conditioing ๋ฐฉ์๊ณผ ์ ์ฌํ์ฌ ์ง๊ด์ ์ด๋ค.
- ๋จ์ : 3๊ฐ์ง ๋ฐฉ์ ์ค ๊ฐ์ฅ ๋ง์ ์ฐ์ฐ๋์ ์ถ๊ฐ (๋๋ต 15%์ Gflops ์ค๋ฒํค๋)ํ๋ฉฐ, ์ฐ์ฐ ๋น์ฉ์ด ๊ฐ์ฅ ํผ์๋ ๋ถ๊ตฌํ๊ณ adaLN-Zero ๋ฐฉ์๋ณด๋ค FID๊ฐ ๋ฎ๋ค.
adaLN-Zero (Adaptive LayerNorm with Zero-initialization)
Adaptive LayerNorm
Transformer block ๋ด๋ถ์ LayerNorm ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค.
\[y=\gamma\odot\frac{x-\mu}{\sqrt{\sigma^2+\epsilon}}+\beta \tag{4}\]Adaptive LayerNorm์ ํ์ค Layer Norm์ ์กฐ๊ฑด๋ถ๋ก ๋ง๋ค๊ธฐ ์ํด, ์กฐ๊ฑด ์๋ฒ ๋ฉ์ ํฉ์ผ๋ก๋ถํฐ scale parameter $\gamma$, $\alpha$์ shift parameter $\beta$๋ฅผ ํ๊ทํด๋ด๋ ๋ฐฉ์์ด๋ค.
\[\gamma,\beta,\alpha=\text{MLP}(\ve_{t}+\ve_{c}) \tag{5}\]์ฆ, ์ด MLP๋ ์ ๋ ฅ๋ $t$๋ $c$์ ๋ง์ถฐ, ๊ฐ ํ ํฐ์ด ์ด๋ป๊ฒ ์ ๊ทํ๋์ด์ผ ํ๋์ง๋ฅผ ๋คํธ์ํฌ ์ค์ค๋ก ์กฐ์ ํ๋๋ก ๋ง๋ ๋ค.
์ฌ๊ธฐ์ ๊ฐ scale parameter $\gamma$์ $\alpha$๋ ์ ์ฉ๋๋ ์์น์ ๋ชฉ์ ์ด ๋ค๋ฅด๋ค.
- $\gamma$ : Sub-Block์ผ๋ก ๋ค์ด๊ฐ๊ธฐ ์ ์ LayerNorm ์ฐ์ฐ ๋ด๋ถ์์ ์ ๊ทํ๋ ๋ฐ์ดํฐ์ ์ง์ ๊ณฑํด์ง๋ฉฐ, Condition์ ๋ฐ์ดํฐ์ ์ฃผ์ ํ๋ ์ญํ ์ ํ๋ค.
- $\alpha$ : Sub-Block์์ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ์ ์๋ณธ ๋ฐ์ดํฐ์ Residual Connection ์ง์ ์ ๊ณฑํด์ง๋ฉฐ, ์ฐ์ฐ ๋ธ๋ก์ ์ถ๋ ฅ๊ฐ์ ์๋ณธ์ ์ผ๋งํผ ๋ฐ์ํ ์ง ์กฐ์ ํ๋ ์ญํ ์ ํ๋ค.
Zero-initialization
Zero-initialization์ Residual Connection ์ง์ ์ ๊ณฑํด์ง๋ scale parameter $\alpha$๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ ๋ฐฉ์์ด๋ค.
์ด ๋๋ถ์ ํ์ต ๊ทน์ด๊ธฐ์๋ Sub-Block ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ 0์ด ๋์ด ๋ฌด์๋๊ณ , ๋คํธ์ํฌ ์ ์ฒด๊ฐ ๋ฐ์ดํฐ ์๋ณธ์ ๊ทธ๋๋ก ํต๊ณผ์ํค๋ Identity function์ฒ๋ผ ์๋ํ๊ฒ ๋ง๋ค์ด ํ์ต ๋ถ์์ ์ฑ์ ๋ง๋๋ค.

