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๋ฅผ ์„œ์„œํžˆ ์ค„์ด๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ฒˆ์— ๊ฑธ์ณ์„œ ํ•จ์œผ๋กœ์จ ํ€„๋ฆฌํ‹ฐ๋ฅผ ๋†’์ž„.