๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ› Research/Generative AI

[๊ธฐ์ˆ  ์†Œ๊ฐœ] Text-to-Image Generation | ์ด๋ฏธ์ง€ ์ƒ์„ฑ AI | DALL-E | GPT | dVAE

by ๋ญ…์ฆค 2023. 4. 6.
๋ฐ˜์‘ํ˜•
Text to Image Generation

Text to Image ์˜ˆ์‹œ (์ถœ์ฒ˜ : ํ—ˆ๊น…ํŽ˜์ด์Šค)

 
Text to Image generation์€ ํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„์„œ ํ•ด๋‹น ํ…์ŠคํŠธ์— ํ•ด๋‹นํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ˆ ์˜ ๋ฐœ์ „์œผ๋กœ ์ธํ•ด 2010๋…„๋Œ€ ์ค‘๋ฐ˜๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๋˜๊ธฐ ์‹œ์ž‘ํ•ด 2022๋…„์—๋Š” OpenAI์˜ DALL-E 2 , Google Brain์˜ Imagen , StabilityAI์˜ Stable Diffusion ๊ณผ ๊ฐ™์€ ์ตœ์ฒจ๋‹จ ํ…์ŠคํŠธ-์ด๋ฏธ์ง€ ๋ชจ๋ธ์˜ ์ถœ๋ ฅ๋ฌผ์ด ์‹ค์ œ ์‚ฌ์ง„๊ณผ ์‚ฌ๋žŒ์ด ๊ทธ๋ฆฐ ์˜ˆ์ˆ ํ’ˆ์˜ ํ’ˆ์งˆ์— ์ ‘๊ทผํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.
 
Text to Image generation์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ GAN(Generative Adversarial Networks) ๋ชจ๋ธ์„ ํ…์ŠคํŠธ์™€ ์ด๋ฏธ์ง€๋ฅผ ์Œ์œผ๋กœ ์ด๋ฃจ๋Š” ๋ฐ์ดํ„ฐ์…‹์„ ํ•™์Šต์‹œ์ผœ์„œ ๊ตฌํ˜„ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "A brown dog is sitting on a green grass field"๋ผ๋Š” ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์œผ๋ฉด, ์ด์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๊ฐ€ ์ดˆ๋ชฉ๋ฐญ์— ์•‰์•„ ์žˆ๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ํ•™์Šต๋œ GAN ๋ชจ๋ธ์€ ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ Text to Image generation ๊ธฐ์ˆ ์€ ์ปดํ“จํ„ฐ ๋น„์ „ ๋ถ„์•ผ์—์„œ ๋งŽ์€ ์‘์šฉ ๋ถ„์•ผ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ๋Ÿฌ์ŠคํŠธ๋‚˜ ๋””์ž์ธ ์ž‘์—…์„ ๋Œ€์‹ ํ•ด ์ž๋™์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฒŒ์ž„, ์ธํ…Œ๋ฆฌ์–ด ๋””์ž์ธ, ํŒจ์…˜, ๊ด‘๊ณ  ์‚ฐ์—… ๋“ฑ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ณ , ๊ฐ€์ƒํ˜„์‹ค(VR) ๋ถ„์•ผ๋‚˜ ์ž์œจ ์ฃผํ–‰ ๊ธฐ์ˆ ์—๋„ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.
 
GAN์€ ์ƒ์„ฑ์ž(Generator)์™€ ํŒ๋ณ„์ž(Discriminator)๋ผ๋Š” ๋‘ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ, ์ƒ์„ฑ์ž๋Š” ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜จ ๋žœ๋คํ•œ ์žก์Œ ๋ฒกํ„ฐ(noise vector)๋ฅผ ๋ฐ›์•„์„œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ํŒ๋ณ„์ž๋Š” ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“  ์ด๋ฏธ์ง€์™€ ์ง„์งœ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์–ผ๋งˆ๋‚˜ ์ง„์งœ ๊ฐ™์€์ง€๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ํ•™์Šต ๊ณผ์ •์—์„œ ์ƒ์„ฑ์ž๋Š” ํŒ๋ณ„์ž๊ฐ€ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ง„์งœ ์ด๋ฏธ์ง€๋กœ ์ธ์‹ํ•˜๋„๋ก ํ•™์Šตํ•˜๊ณ , ํŒ๋ณ„์ž๋Š” ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“  ์ด๋ฏธ์ง€๋ฅผ ์ง„์งœ ์ด๋ฏธ์ง€์™€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•™์Šตํ•œ๋‹ค.
 
 

DALL-E

 

DALL-E

 
์ตœ๊ทผ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ Text to Image ๋ถ„์•ผ์˜ ๋…ผ๋ฌธ ์ค‘ ํ•˜๋‚˜๋Š” "DALL-E: Creating Images from Text"์ด๋‹ค. ์ด ๋…ผ๋ฌธ์€ OpenAI์—์„œ 2021๋…„ 1์›”์— ๋ฐœํ‘œํ•œ ๊ฒƒ์œผ๋กœ, ํ…์ŠคํŠธ ์ž…๋ ฅ์— ๋Œ€ํ•ด ์ƒ์„ธํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋Œ€ํ™”์‹ ๋ชจ๋ธ์„ ์ œ์•ˆํ•œ๋‹ค. "DALL-E"๋Š” "Wall-E"์™€ "Salvador Dali"์˜ ์ด๋ฆ„์„ ํ•ฉ์ณ ๋งŒ๋“  ์ด๋ฆ„์œผ๋กœ, ๋‹ค์–‘ํ•œ ํ…์ŠคํŠธ ์ž…๋ ฅ์„ ๋ฐ›์•„ ์ด์— ํ•ด๋‹นํ•˜๋Š” ๊ณ ํ’ˆ์งˆ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์ด๋‹ค. 
 
DALL-E ๋ชจ๋ธ์€ 120์–ต ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง„ GPT-3(Generative Pre-trained Transformer 3)์™€ ์ด๋ฏธ์ง€ ์ƒ์„ฑ์„ ์œ„ํ•œ Discrete VAE์— ๊ธฐ๋ฐ˜ํ•˜๋ฉฐ ์•ฝ 2.5์–ต๊ฐœ์˜ ๋ฐ์ดํ„ฐ์…‹(ํ…์ŠคํŠธ ์ด๋ฏธ์ง€ ์Œ)์œผ๋กœ ํ•™์Šต๋˜์—ˆ๋‹ค. 
 
๋ชจ๋ธ์˜ ํ•™์Šต ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ๋‘ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด ์ง„๋‹ค.
 

DALL-E ํ•™์Šต ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„ (์ž…๋ ฅ ์ด๋ฏธ์ง€์™€ ๋ณต์› ์ด๋ฏธ์ง€)

 

Stage 1

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ด๋ฏธ์ง€์˜ ์••์ถ•-๋ณต์› ๊ณผ์ •์„ ํ†ตํ•ด dVAE ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 256x256 ํฌ๊ธฐ์˜ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ 32x32 ํฌ๊ธฐ์˜ ์ด๋ฏธ์ง€ ํ† ํฐ์œผ๋กœ ์••์ถ•ํ•˜๊ณ  ๋‹ค์‹œ ๋ณต์›ํ•œ ์ด๋ฏธ์ง€๊ฐ€ ์›๋ž˜ ์ž…๋ ฅ ์ด๋ฏธ์ง€์™€ ์œ ์‚ฌํ•˜๋„๋ก ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ํ’ˆ์งˆ์˜ ํฐ ์†์‹ค์—†์ด transformer์˜ ์ž…๋ ฅ ํ† ํฐ ์‹œํ€€์Šค๋ฅผ ์ž‘๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋ฉด ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ๋””ํ…Œ์ผ์ด ์•ฝ๊ฐ„์”ฉ ์†์‹ค๋˜์ง€๋งŒ ์ „์ฒด์ ์œผ๋กœ ๊ต‰์žฅํžˆ ์ž˜ ๋ณต์›๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ ์ดˆ๊ธฐ piror transformer ๋Š” ๊ณ ์ •ํ•œ ์ƒํƒœ์ด๋‹ค.
 
๊ฒฐ๊ตญ ํ…์ŠคํŠธ ์ž…๋ ฅ์„ ํ†ตํ•ด ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ…์ŠคํŠธ ํ† ํฐ์„ ์ž„๋ฒ ๋”ฉ(ํŠธ๋žœ์Šคํฌ๋จธ์— ํฌ์›Œ๋”ฉ)ํ•œ ๊ฒฐ๊ณผ์ธ ์–ด๋–ค ๊ฐ’์„ dVAE ๋””์ฝ”๋”์— ์ž…๋ ฅํ•ด์„œ ์ ์ ˆํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๋•Œ๋ฌธ์— stage 1์€ ์ด๋ฏธ์ง€๋ฅผ ์••์ถ•ํ•œ ๊ฐ’(32x32)์ด dVAE ๋””์ฝ”๋”๋ฅผ ํ†ตํ•ด ์ž˜ ๋ณต์›๋˜๋„๋ก ํ•™์Šตํ•ด์„œ ์ถ”ํ›„์— ํ…์ŠคํŠธ ํ† ํฐ์„ ์ž„๋ฒ ๋”ฉํ•œ ๊ฐ’(prior transformer๋ฅผ ํ†ตํ•ด) ๋˜ํ•œ dVAE ๋””์ฝ”๋”๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
 

Stage 2

๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ ํ•™์Šตํ•œ dVAE๋Š” ๊ณ ์ •ํ•˜๊ณ  prior transformer๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. 256 ๊ฐœ์˜ ํ…์ŠคํŠธ ํ† ํฐ๊ณผ dVAE๋กœ ์••์ถ•ํ•œ 1024๊ฐœ(32x32)์˜ ์ด๋ฏธ์ง€ ํ† ํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ transformer๋ฅผ autoregressiveํ•˜๊ฒŒ ํ•™์Šตํ•˜์—ฌ ํ…์ŠคํŠธ ํ† ํฐ๊ณผ ์ด๋ฏธ์ง€ ํ† ํฐ์˜ joint distribution์„ ํ•™์Šตํ•œ๋‹ค.
 
๋ฌด์Šจ ๋ง์ธ์ง€ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์–ธ์–ด ๋ชจ๋ธ์˜ ํ•™์Šต ๊ณผ์ •๊ณ  ๋น„๊ตํ•ด ๋ณด์ž.
์–ธ์–ด ๋ชจ๋ธ์˜ ๊ฒฝ์šฐ '๋‚˜๋Š”' - '์˜ค๋Š˜๋„' ๋ผ๋Š” ํ…์ŠคํŠธ๋ฅผ ๋ชจ๋ธ์— ์ฃผ์ž…ํ•˜๋ฉด '๋‚˜๋Š”' - '์˜ค๋Š˜๋„' - 'ํ•™๊ต์—' ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๋‹ค์‹œ  '๋‚˜๋Š”' - '์˜ค๋Š˜๋„' - 'ํ•™๊ต์—' ๋ฅผ ๋ชจ๋ธ์— ์ž…๋ ฅํ•ด์„œ  '๋‚˜๋Š”' - '์˜ค๋Š˜๋„' - 'ํ•™๊ต์—' - '๋“ฑ๊ตํ•œ๋‹ค' ๋ผ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์–ป๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค.
 
DALL-E ๋ชจ๋ธ์€ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ…์ŠคํŠธ ํ† ํฐ์„ ์ž…๋ ฅํ•˜๊ณ  1024(32x32)๊ฐœ ์˜ ์ด๋ฏธ์ง€ ํ† ํฐ์„ autoregressiveํ•˜๊ฒŒ ์ถœ๋ ฅํ•˜๋Š” ๊ณผ์ •์œผ๋กœ ํ•™์Šตํ•œ๋‹ค. ๋˜๋Š” ํ…์ŠคํŠธ ํ† ํฐ๊ณผ ์ด๋ฏธ์ง€ ํ† ํฐ์˜ ์ผ๋ถ€๋ฅผ ์ž…๋ ฅํ•˜๋ฉด์„œ ๋‹ค์Œ ์ด๋ฏธ์ง€ ํ† ํฐ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ถœ๋ ฅํ•˜๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, transformer ๋””์ฝ”๋”์— ํ…์ŠคํŠธ ํ† ํฐ๊ณผ ์ด๋ฏธ์ง€ ํ† ํฐ์„ ์ž…๋ ฅํ•˜๊ณ  ์ถœ๋ ฅ๋œ ๋‹ค์Œ ์ด๋ฏธ์ง€ ํ† ํฐ์„ ๋‹ค์‹œ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํ† ํฐ์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋””์ฝ”๋” ํฌ์›Œ๋”ฉ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” transformer๊ฐ€ ์ž…๋ ฅ ํ…์ŠคํŠธ์— ๋”ฐ๋ผ ์–ด๋–ค ์ด๋ฏธ์ง€ ํ† ํฐ์„ ์ƒ์„ฑํ•˜๋ฉด ๋˜๋Š”์ง€๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์ด๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
 
์ตœ์ข…์ ์œผ๋กœ 1024๊ฐœ์˜ ์ด๋ฏธ์ง€ ํ† ํฐ์ด ๋ชจ๋‘ ์Œ“์ด๊ฒŒ ๋˜๋ฉด dVAE์— ๋„ฃ์–ด์„œ ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
 
 

DALL-E 2

DALL-E 2

๋ฌผ๋ก  ์ง€๊ธˆ์€ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฒ„์ „์ธ DALL-E 2 ๊นŒ์ง€ ๋ฐœํ‘œ๋˜์—ˆ๋‹ค. DALL-E ๋ชจ๋ธ์€ ์ด์ „ ๋ชจ๋ธ๊ณผ ๋‹ฌ๋ฆฌ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๊ณผ์ •์—์„œ text-to-image ์™ธ์—๋„ image-to-image ์ƒ์„ฑ๊ณผ super-resolution ๋“ฑ ๋‹ค์–‘ํ•œ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ  ์ƒ์„ฑํ•˜๋Š” ์ด๋ฏธ์ง€์˜ ํ•ด์ƒ๋„ ๋˜ํ•œ 512x512๋กœ ํ–ฅ์ƒ๋˜์—ˆ๋‹ค. 
 
DALL-E2๋Š” GPT ๋ชจ๋ธ๊ณผ Transformer ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๋Œ€๊ทœ๋ชจ์˜ ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ์‚ฌ์ „ ํ•™์Šต๋œ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ณ  ์บก์…˜์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” CLIP ๋ชจ๋ธ์˜ ๋ฐ˜๋Œ€๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ž์—ฐ์–ด ํ˜•ํƒœ์˜ ์บก์…˜์„ ๋ณด๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋‹ˆ๊นŒ. 
 
ํ•™์Šต๋œ ๋ชจ๋ธ์€ ์ฃผ์–ด์ง„ ํ…์ŠคํŠธ ์„ค๋ช…์— ๋Œ€ํ•ด ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ฃผ์–ด์ง„ ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ ์„ค๋ช… ์Œ์œผ๋กœ๋ถ€ํ„ฐ ํŠน์ • ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ, ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ์ง€๋„ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ด๋ฏธ์ง€์˜ ํŠน์ • ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์—์„œ ์ด์ „ ๋ฒ„์ „์— ๋น„ํ•ด ํ™œ์šฉ ๊ฐ€์น˜๊ฐ€ ํ›จ์”ฌ ๋†’์•„์กŒ๋‹ค.
 

*Text to Image ๋ถ„์•ผ ์‚ฌ์ „ ์ง€์‹

- ๊ธฐ๋ณธ์ ์ธ CV & NLP ์ง€์‹
- Transformer
- Large Language Model (LLM), GPT
- Autoregressive training
- Generative Adversarial Networks (GAN)
- Auto-Encoder (AE), Variational Auto-Encoder (VAE), Vector Quantised-Variational AutoEncoder (VQ-VAE), VQ-VAE-2

 

๋ฐ˜์‘ํ˜•