http://adityaramesh.com/posts/dalle2/dalle2.html
์๋๋ ์์ฝ์ด๊ณ ์ ๊ธ์ ๋ณด๋๊ฒ์ ์ถ์ฒ.
1. ์ฌ์ฉํ๋ ๋คํธ์ํฌ
1) encoder (CLIP): text,image์ embedding์ ๋์์ํด.
2) prior network: text embedding์ ์ ๋ ฅ์ผ๋ก ๋ฐ๊ณ image embedding์ ์ถ๋ ฅํจ.
3) diffusion network (unCLIP): image embedding๊ณผ image๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ๊ณ image๋ฅผ ์ถ๋ ฅํจ.
2. ํ์ต๊ณผ์
ํ์ต์ ์ฐ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ (image,text) ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์
1) ๋ฐ์ดํฐ์์ text์ image์ ๋์์ ํตํด encoder ํ์ต. ์ด๋ word2vec๊ณผ ์ ์ฌํจ.
2) prior network ํ์ต. ๋ฐ์ดํฐ์ image์ embedding์์ ๋ฐ์ดํฐ์ text์ embedding์ ์์ธกํ๋๋ก ํ์ต๋จ.
3) diffusion network ํ์ต. ์ฐ์ ๋ฐ์ดํฐ์ image์์ noise๋ฅผ ์กฐ๊ธ์ฉ ์ฒจ๊ฐํด์ ์์ํ noise image๊ฐ ๋จ์๋๊น์ง ๋ฐ๋ณตํ๋ ๊ณผ์ ์ ๊ฑฐ์นจ. diffusion network๋ ์ด ๊ณผ์ ์ ์ ๋ฐ๋, ์ฆ noise๋ฅผ ์ค์ด๋ ๊ฒ์ ํ์ต.
์ฆ, ๋ฐ์ดํฐ์ image์ noise๊ฐ ๋ ๋ง์ด ์ฒจ๊ฐ๋ ๊ฒ์์ noise๊ฐ ๋ ์ฒจ๊ฐ๋ ๊ฒ์ ์์ฑํ๋๋ก ํ์ต. ๋จ, ์ ๋ ฅ์ ๋ฐ์ดํฐ์ image์ embedding์ ๊ฐ์ด ์ค์ ๊ทธ๊ฑฐ์ ๋ฐ๋ผ ์์ฑํ๋๋ก ํจ.
3. ์ค์ ์ฌ์ฉ
1) text๊ฐ ์ฃผ์ด์ง๋ฉด encoder๋ฅผ ์ฌ์ฉํด text embedding์ ์ป์.
2) ์ป์ text embedding์ผ๋ก prior network๋ฅผ ์ฌ์ฉํด image embedding์ ์ป์.
3) ์ป์ image embedding๊ณผ ์์ํ noise image๋ก diffusion network๋ฅผ ์ฌ์ฉํด image๋ฅผ ์ป์.
4) ์ป์ image embedding๊ณผ ์ป์ image๋ก diffusion network๋ฅผ ์ฌ์ฉํด ๋ค์ image๋ฅผ ์ป์. ๊ทธ๋ฆฌ๊ณ ์ด ๊ณผ์ ์ ๊ณ์ ๋ฐ๋ณต. (์๋ ์งค์ ๊ทธ ๋ฐ๋ณต ๊ณผ์ ์ ๋ํ๋)
5) ์ต์ข ์ ์ผ๋ก ์ป์ image๊ฐ ์ต์ข ๊ฒฐ๊ณผ๋ฌผ์.
4. DALLE2์ ์ฅ์
1) prior network๋ผ๋ ๊ฒ์ ๋ฐ๋ก ์ฌ์ฉํด์ ์ ํ์ฑ์ ๋์
2) image embedding์์ image๋ฅผ ์ป์ ๋, ํ๋ฒ์ ํ์ง ์๊ณ noise๋ฅผ ์์ํ ์ค์ด๋ ๊ณผ์ ์ ํตํด ์ฌ๋ฌ๋ฒ์ ๊ฑธ์ณ์ ํจ์ผ๋ก์จ ํ๋ฆฌํฐ๋ฅผ ๋์.
๋๊ธ 2