๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

CS/์ธ๊ณต์ง€๋Šฅ

Generative Adversarial Network

728x90

Discriminative vs generative models

Discriminative ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ ์ธ์Šคํ„ด์Šค๋“ค ๊ฐ„์˜ ๊ฒฝ๊ณ„๋ฅผ ํ•™์Šตํ•˜๋Š”๋ฐ ์ค‘์ ์„ ๋‘”๋‹ค.

์ด๋Š” ํŠน์ง• X๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ ˆ์ด๋ธ” y์˜ ํ™•๋ฅ  P(y|X)์„ ์ง์ ‘ ๋ชจ๋ธ๋งํ•˜์—ฌ ๊ฒฐ์ • ๊ฒฝ๊ณ„๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค.

์ด ๋ชจ๋ธ๋“ค์€ ์˜ˆ์ธก ์˜ค๋ฅ˜๋ฅผ ์ธก์ •ํ•˜๋Š” ๋น„์šฉ ํ•จ์ˆ˜๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ํ›ˆ๋ จ๋˜๊ณ , ํ›ˆ๋ จ ๊ณผ์ •์—์„œ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์กฐ์ •ํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค.

ex) ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€, CNN, RNN

 

Generative model ์€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒ์„ฑ ๋ชจ๋ธ์€ ํŠน์ง•๊ณผ ๋ ˆ์ด๋ธ”์˜ ๊ฒฐํ•ฉ ํ™•๋ฅ  ๋ถ„ํฌ

P(X,y)๋ฅผ ํ•™์Šตํ•˜๋Š”๋ฐ ์ค‘์ ์„ ๋‘”๋‹ค.

 

โ“๊ฒฐํ•ฉ ํ™•๋ฅ  ๋ถ„ํฌ ๐‘ƒ(๐‘‹,๐‘ฆ)

ํŠน์ง• ๐‘‹์™€ ๋ ˆ์ด๋ธ” ๐‘ฆ ์˜ ๊ฒฐํ•ฉ ํ™•๋ฅ  ๋ถ„ํฌ ๐‘ƒ(๐‘‹,๐‘ฆ)๋Š” ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ง•๊ณผ ๋ ˆ์ด๋ธ”์ด ๋™์‹œ์— ๋ฐœ์ƒํ•  ํ™•๋ฅ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ„ํฌ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๊ณ , ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐํ•ฉ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ๋‘ ๊ฐ€์ง€ ํ™•๋ฅ , ์ฆ‰ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  ๐‘ƒ(๐‘ฆโˆฃ๐‘‹)์™€ ์‚ฌ์ „ ํ™•๋ฅ  ๐‘ƒ(๐‘‹)์„ ํ•จ๊ป˜ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

P(X,y)=P(yโˆฃX)P(X)

P(yโˆฃX)๋Š” ์ฃผ์–ด์ง„ ํŠน์ง• ๐‘‹X์— ๋Œ€ํ•ด ๋ ˆ์ด๋ธ” y๊ฐ€ ๋‚˜ํƒ€๋‚  ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์ด๋‹ค.P(X)๋Š” ํŠน์ง• X์˜ ์‚ฌ์ „ ํ™•๋ฅ ์ด๋‹ค.
์ด ๋ถ„ํ•ด๋ฅผ ํ†ตํ•ด ๊ฒฐํ•ฉ ํ™•๋ฅ  ๋ถ„ํฌ๋Š” ํŠน์ง•๊ณผ ๋ ˆ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ X๋Š” ์ด๋ฏธ์ง€์˜ ํ”ฝ์…€ ๊ฐ’๋“ค์ด๊ณ  y๋Š” ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋ ˆ์ด๋ธ”(์˜ˆ: ๊ณ ์–‘์ด, ๊ฐœ ๋“ฑ)์ด๋‹ค. P(X,y)๋ฅผ ๋ชจ๋ธ๋งํ•˜๋ฉด ์ฃผ์–ด์ง„ ์ด๋ฏธ์ง€ X๊ฐ€ ์žˆ์„ ๋•Œ, ๊ทธ ์ด๋ฏธ์ง€๊ฐ€ ํŠน์ • ๋ ˆ์ด๋ธ” y๋ฅผ ๊ฐ€์งˆ ํ™•๋ฅ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๊ณผ ๋”๋ถˆ์–ด, ์–ด๋–ค ์ด๋ฏธ์ง€๊ฐ€ ๋“ฑ์žฅํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š”์ง€๋ฅผ ๋ชจ๋‘ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์€ ๋‹จ์ˆœํžˆ ๋ ˆ์ด๋ธ”์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

Trilemma of Generative Models

์ƒ์„ฑ ๋ชจ๋ธ์˜ ์‚ผ์ค‘ ๋”œ๋ ˆ๋งˆ(Trilemma of Generative Models)๋Š” ์ƒ์„ฑ ๋ชจ๋ธ์ด ๋™์‹œ์— ์„ธ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ํŠน์„ฑ์„ ๋ชจ๋‘ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์„ธ๊ฐ€์ง€ ํŠน์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. ์ƒ˜ํ”Œ์˜ ์งˆ : ์ƒ์„ฑ๋œ ์ƒ˜ํ”Œ์ด ์–ผ๋งˆ๋‚˜ ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ์œ ์‚ฌํ•˜๊ณ  ์ž์—ฐ์Šค๋Ÿฌ์šด์ง€

 

2. ๋‹ค์–‘์„ฑ : ์ƒ์„ฑ๋œ ์ƒ˜ํ”Œ์ด ์–ผ๋งˆ๋‚˜ ๋‹ค์–‘ํ•œ์ง€. ๋†’์€ ๋‹ค์–‘์„ฑ์€ ์ƒ์„ฑ๋œ ์ƒ˜ํ”Œ๋“ค์ด ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด ๋ถ„ํฌ๋ฅผ ์ž˜ ๋ฐ˜์˜ํ•˜๊ณ , ์„œ๋กœ ๋‹ค๋ฅด๋ฉฐ, ๋‹ค์–‘ํ•œ ํŠน์ง•๋“ค์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

 

3. ์—ฐ์‚ฐ ํšจ์œจ์„ฑ : ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ณ  ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์—ฐ์‚ฐ ์ž์›(์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ)์˜ ํšจ์œจ์„ฑ

๊ณ ํ’ˆ์งˆ์˜ ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธ์€ ์ข…์ข… ๊ณผ์ ํ•ฉ ๋ฌธ์ œ๋กœ ์ธํ•ด ์ƒ˜ํ”Œ์˜ ๋‹ค์–‘์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๋†’์€ ํ’ˆ์งˆ์˜ ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋ณต์žกํ•œ ๋ชจ๋ธ ๊ตฌ์กฐ์™€ ๋งŽ์€ ์—ฐ์‚ฐ ์ž์›์ด ํ•„์š”ํ•œ๋ฐ, ์ด๋Š” ์—ฐ์‚ฐ ํšจ์œจ์„ฑ์„ ์ €ํ•˜์‹œํ‚จ๋‹ค.

๋‹ค์–‘ํ•œ ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธ์€ ์ „์ฒด ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ์ž˜ ํ•™์Šตํ•ด์•ผํ•˜๋ฏ€๋กœ, ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ์™€ ๋ณต์žกํ•œ ํ•™์Šต๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ์—ฐ์‚ฐ ์ž์›์„ ๋งŽ์ด ์†Œ๋ชจํ•˜๊ฒŒ ๋˜์–ด ํšจ์œจ์„ฑ์„ ๋–จ์–ด๋œจ๋ฆฐ๋‹ค.

 

GAN ์€ ๊ณ ํ’ˆ์งˆ์˜ ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ์—๋Š” ํƒ์›”ํ•˜์ง€๋งŒ, ๋ชจ๋“œ ๋ถ•๊ดด(mode collapse) ๋ฌธ์ œ๋กœ ์ธํ•ด ๋‹ค์–‘์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

VAE ๋Š” ๋น„๊ต์  ์•ˆ์ •์ ์œผ๋กœ ํ›ˆ๋ จ๋˜๋ฉฐ ๋‹ค์–‘ํ•œ ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ƒ˜ํ”Œ์˜ ํ’ˆ์งˆ์ด GAN์— ๋น„ํ•ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

Diffusion model ์€ ๋งค์šฐ ๋†’์€ ํ’ˆ์งˆ์˜ ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด ๋ถ„ํฌ๋ฅผ ์ž˜ ํ•™์Šตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•˜์ง€๋งŒ,

๋ฐ์ดํ„ฐ๋ฅผ ์ ์ง„์ ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ํ•„์š”๋กœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋งค์šฐ ๋†’๋‹ค.

Key Idea of GAN

Police-Criminal Analogy

 

- Criminal ( Generator ) : ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ Police ๋ฅผ ์†์ด๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ง„์งœ ๋ฐ์ดํ„ฐ์™€ ๊ตฌ๋ณ„๋˜์ง€ ์•Š๋Š” ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค. ์ดˆ๊ธฐ์—๋Š” ๋ฒ”์ฃ„์ž๊ฐ€ ๋งŒ๋“  ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋Š” ๋งค์šฐ Low-quality ์ด๊ณ , ๋”ฐ๋ผ์„œ Police ์— ์˜ํ•ด ์‰ฝ๊ฒŒ ์žกํžŒ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ฒ”์ฃ„์ž๋Š” Police๋ฅผ ์†์ด๊ธฐ ์œ„ํ•ด ์ ์  ๋” ์ •๊ตํ•œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋œ๋‹ค.

- Police : ๋ฐ์ดํ„ฐ๊ฐ€ ์ง„์งœ์ธ์ง€ ๊ฐ€์งœ์ธ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ง„์งœ ๋ฐ์ดํ„ฐ์™€ ๋ฒ”์ฃ„์ž๊ฐ€ ๋งŒ๋“  ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ณ„ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ฒฝ์ฐฐ๋„ ์•„์ง ์ดˆ๋ณด๋ผ์„œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ ์  ๋” ๊ฒฝํ—˜์ด ์Œ“์ด๋ฉด์„œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ์‹๋ณ„ํ•˜๊ฒŒ ๋œ๋‹ค.

Generative Adversarial Network

1. ์ดˆ๊ธฐ ๋‹จ๊ณ„

- ์ƒ์„ฑ์ž๋Š” ๋ฌด์ž‘์œ„ ๋…ธ์ด์ฆˆ๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

- ํŒ๋ณ„์ž๋Š” ์ง„์งœ ๋ฐ์ดํ„ฐ์™€ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฒ•์„ ํ•™์Šตํ•œ๋‹ค.

2. ๊ฒฝ์Ÿ์  ํ•™์Šต

- ์ƒ์„ฑ์ž๋Š” ํŒ๋ณ„์ž๋ฅผ ์†์ด๊ธฐ ์œ„ํ•ด ์ ์  ๋” ์ง„์งœ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ํ•™์Šตํ•œ๋‹ค.

- ํŒ๋ณ„์ž๋Š” ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“  ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์ž˜ ๊ตฌ๋ณ„ํ•˜๋„๋ก ํ•™์Šตํ•œ๋‹ค.

3. ๊ท ํ˜• ์ƒํƒœ

- ์ด์ƒ์ ์œผ๋กœ, ํ•™์Šต์ด ์ถฉ๋ถ„ํžˆ ์ง„ํ–‰๋˜๋ฉด ์ƒ์„ฑ์ž๋Š” ์ง„์งœ ๋ฐ์ดํ„ฐ์™€ ๊ฑฐ์˜ ๊ตฌ๋ณ„๋˜์ง€ ์•Š๋Š” ๊ณ ํ’ˆ์งˆ์˜ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๊ณ , ํŒ๋ณ„์ž๋Š” ์ง„์งœ์™€ ๊ฐ€์งœ๋ฅผ 50:50์˜ ํ™•๋ฅ ๋กœ ๊ตฌ๋ถ„ํ•˜๊ฒŒ ๋œ๋‹ค.

- ์ด ์ƒํƒœ๊ฐ€ ๋˜๋ฉด, ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋Š” ์ง„์งœ ๋ฐ์ดํ„ฐ์™€ ๊ฑฐ์˜ ๋™์ผํ•œ ํ’ˆ์งˆ์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

์ƒ์„ฑ์ž์™€ ํŒ๋ณ„์ž๊ฐ€ ์„œ๋กœ ๊ฒฝ์Ÿํ•˜๋ฉฐ ์ƒํ˜ธ ๋ฐœ์ „ํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด, GAN์€ ๋งค์šฐ ์ •๊ตํ•˜๊ณ  ํ˜„์‹ค์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด ๊ฒฝ์Ÿ์  ํ•™์Šต ๊ณผ์ •์ด GAN์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด์ด๋‹ค.

์ˆ˜์‹

1. ์ƒ์„ฑ์ž G

- ์ž…๋ ฅ์œผ๋กœ ์ž ์žฌ๊ณต๊ฐ„(latent space) z์—์„œ ์ƒ˜ํ”Œ๋งํ•œ ๋ฒกํ„ฐ z~pz(Z)๋ฅผ ๋ฐ›๋Š”๋‹ค.

- ์ด๋ฅผ ํ†ตํ•ด ๊ฐ€์งœ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ G(z)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

2. ํŒ๋ณ„์ž D

- ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ x๊ฐ€ ์ง„์งœ ๋ฐ์ดํ„ฐ์ธ์ง€ Pdata(x)์—์„œ ์ƒ˜ํ”Œ๋งํ•œ ๊ฒƒ์ธ์ง€, ์•„๋‹ˆ๋ฉด ๊ฐ€์งœ ๋ฐ์ดํ„ฐ G(z)์ธ์ง€ ๊ตฌ๋ณ„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

- D(x)๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ x๊ฐ€ ์ง„์งœ์ผ ํ™•๋ฅ ์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

๋ชฉ์  ํ•จ์ˆ˜ V(D,G)

์ฒซ๋ฒˆ์งธ ๊ธฐ๋Œ“๊ฐ’

 

 

 

- ์ง„์งœ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ x ์— ๋Œ€ํ•ด ํŒ๋ณ„์ž๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ง„์งœ๋ผ๊ณ  ํŒ๋‹จํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•œ๋‹ค.

 

Q. ์ง„์งœ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ x๋ฅผ ๊ฐ€์งœ๋ผ๊ณ  ํŒ๋ณ„ํ•  ํ™•๋ฅ ๋„ ์žˆ๋‚˜? 

 

- logD(x) ๋Š” ํŒ๋ณ„์ž๊ฐ€ ์ง„์งœ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ถœ๋ ฅํ•˜๋Š” ํ™•๋ฅ ์˜ ๋กœ๊ทธ ๊ฐ’์ด๋‹ค.

 

๋‘๋ฒˆ์งธ ๊ธฐ๋Œ“๊ฐ’

 

 

- ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“  ๊ฐ€์งœ ๋ฐ์ดํ„ฐ G(z)์— ๋Œ€ํ•ด ํŒ๋ณ„์ž๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ฐ€์งœ๋ผ๊ณ  ํŒ๋‹จํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•œ๋‹ค.

( D(G(z))๋Š” G(z) ๊ฐ€ ์ง„์งœ๋ผ๊ณ  ํŒ๋‹จ๋  ํ™•๋ฅ ์„ ์ถœ๋ ฅํ•˜๋ฏ€๋กœ, 1-D((G(z)) ๋Š” G(z)๊ฐ€ ๊ฐ€์งœ๋ผ๊ณ  ํŒ๋‹จ๋  ํ™•๋ฅ ์„ ์˜๋ฏธํ•œ๋‹ค. )

-  log(1−D(G(z))๋Š” ํŒ๋ณ„์ž๊ฐ€ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ถœ๋ ฅํ•˜๋Š” ํ™•๋ฅ ์˜ ๋กœ๊ทธ๊ฐ’์ด๋‹ค.

 

โ“log ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

์ดˆ๊ธฐ ํ•™์Šต ๋‹จ๊ณ„์—์„œ D(G(z)) ๋Š” ๋งค์šฐ ๋‚ฎ์„ ์ˆ˜ ์žˆ์–ด, 1-D((G(z)) ๊ฐ€ ๊ฑฐ์˜ 1์— ๊ฐ€๊นŒ์›Œ์ง„๋‹ค. ๋งŒ์•ฝ 1-D((G(z))๋ฅผ ์ง์ ‘ ์ตœ์†Œํ™”ํ•˜๋ ค๊ณ  ํ•˜๋ฉด, ์ดˆ๊ธฐ ํ•™์Šต ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑ์ž์—๊ฒŒ ๋Œ์•„์˜ค๋Š” ๊ทธ๋ž˜๋””์–ธํŠธ๊ฐ€ ๋งค์šฐ ์ž‘์•„์ง„๋‹ค. ์ด๋กœ ์ธํ•ด ์ƒ์„ฑ์ž์˜ ํ•™์Šต์ด ๋งค์šฐ ๋Š๋ฆฌ๊ฒŒ ์ง„ํ–‰๋˜๊ฑฐ๋‚˜ ์•„์˜ˆ ๋ฉˆ์ถœ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ฉด log๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด D(G(z))๊ฐ€ ๋งค์šฐ ์ž‘์•„๋„ ๊ทธ๋ž˜๋””์–ธํŠธ๊ฐ€ ์ ์ ˆํ•œ ํฌ๊ธฐ๋ฅผ ์œ ์ง€ํ•˜์—ฌ ํ•™์Šต์ด ์›ํ™œํ•˜๊ฒŒ ์ง„ํ–‰๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด  D(G(z))๊ฐ€ 0์— ๊ฐ€๊นŒ์šธ ๋•Œ, logโก(1−๐ท(๐บ(๐‘ง)) ๋Š” ํฐ ์Œ์ˆ˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ์ƒ์„ฑ์ž๊ฐ€ ํ•™์Šต์„ ํ†ตํ•ด ์ด๋ฅผ ์ค„์ด๋ ค๊ณ  ํ•  ๋•Œ ๋” ํฐ ๊ทธ๋ž˜๋””์–ธํŠธ๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค. 

 

 

 

MinMax ๊ฒŒ์ž„

minGโ€‹maxDโ€‹V(D,G)

 

- ํŒ๋ณ„์ž D๋Š” ์ด ํ•จ์ˆ˜ V(D,G)๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ฆ‰, ์ง„์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ง„์งœ๋กœ, ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ฐ€์งœ๋กœ ํŒ๋‹จํ•˜๋„๋ก ํ•™์Šตํ•œ๋‹ค.

- ์ƒ์„ฑ์ž G๋Š” ์ด ํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ฆ‰, ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง„์งœ๋กœ ํŒ๋‹จํ•˜๋„๋ก ํ•™์Šตํ•œ๋‹ค.

Gradient descent? Gradient ascent! 

 

์ƒ์„ฑ์ž์˜ ๋ชฉํ‘œ๋Š” ํŒ๋ณ„์ž๊ฐ€ ์ƒ์„ฑ๋œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง„์งœ ๋ฐ์ดํ„ฐ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค์Œ์˜ ๊ฐ’์„ ์ตœ์†Œํ™”ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

 

 

ํ•˜์ง€๋งŒ ์ด ํ‘œํ˜„์€ ํ•™์Šต ์ดˆ๊ธฐ์— ๊ทธ๋ž˜๋””์–ธํŠธ ์†Œ์‹ค ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์œ„ ์‹์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ ์€ small grdient ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ์–ด ์ œ๋Œ€๋กœ ํ•™์Šต๋  ์—ฌ์ง€๊ฐ€ ์ค„์–ด๋“ ๋‹ค. 

 

๋”ฐ๋ผ์„œ ์‹ค์ œ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋Œ€์•ˆ์ ์ธ ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

 

 

์ด ๋Œ€์•ˆ์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์—์„œ๋Š” D(G(z)) ๊ฐ€ ๋†’์•„์ง€๋„๋ก ์ตœ์ ํ™”ํ•œ๋‹ค. ์ฆ‰, ์ƒ์„ฑ๋œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ง„์งœ ๋ฐ์ดํ„ฐ๋กœ ๋ถ„๋ฅ˜๋  ํ™•๋ฅ ์„ ์ตœ๋Œ€ํ™”ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. 

 

 

 

log(x) ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋Œ€์ ์œผ๋กœ ํฐ ๊ทธ๋ž˜๋””์–ธํŠธ๋ฅผ ์ง€๋…€ ์ œ๋Œ€๋กœ ํ•™์Šต๋  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”๋‹ค. 

 

GAN Training Alogorithm

 

 

 

 

k step ๋™์•ˆ : 

 

ํŒ๋ณ„์ž D

 - m๊ฐœ์˜ ๋ฏธ๋‹ˆ๋ฐฐ์น˜ ๋…ธ์ด์ฆˆ ์ƒ˜ํ”Œ์„ ๋ฝ‘๋Š”๋‹ค.

- ๋ฐ์ดํ„ฐ ์ƒ์„ฑ distribution Pdata(x) ๋กœ๋ถ€ํ„ฐ m๊ฐœ์˜ ์ƒ˜ํ”Œ์„ ์ƒ์„ฑํ•œ๋‹ค. 

- stochastic gradient๋ฅผ ๋†’์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํŒ๋ณ„์ž๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

 

 

์ƒ์„ฑ์ž G 

- m๊ฐœ์˜ ๋ฏธ๋‹ˆ๋ฐฐ์น˜ ๋…ธ์ด์ฆˆ ์ƒ˜ํ”Œ์„ ๋ฝ‘๋Š”๋‹ค.

- stochastic gradient๋ฅผ ๋‚ฎ์ถ”๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ƒ์„ฑ์ž๋ฅผ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค.

 

ํŠน์ง•

๋Œ€๋ถ€๋ถ„์˜ ๊ทผ๋Œ€ ์•„ํ‚คํ…์ณ๋Š” generator ์™€ disciminator ๊ฐ€ ๋ชจ๋‘ CNN ์ธ Deep Convolution GAN(DC-GAN) ์— ๊ธฐ๋ฐ˜ํ•˜๊ณ  ์žˆ๋‹ค. '

 

- ๋†’์€ ํ•ด์ƒ๋„์˜ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ์— ์œ ์šฉํ•˜๋‚˜, distribution ์„ ์–ด๋–ป๊ฒŒ ๋ชจ๋ธ๋งํ•˜๋Š”์ง€๋Š” ์•Œ๊ธฐ ํž˜๋“ค๋‹ค.

- Diffusion model ์˜ ๋“ฑ์žฅ์œผ๋กœ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

 

Cycle GAN

์ฃผ์–ด์ง„ ๋‘ ๋„๋ฉ”์ธ ๊ฐ„ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋ณ€ํ™˜(Style-transfer)ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ํ˜•ํƒœ์˜ GAN์ด๋‹ค.

์ด ๋ชจ๋ธ์€ ๊ฐ ๋„๋ฉ”์ธ์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ pair ๋กœ ์ฃผ์–ด์ง€์ง€ ์•Š์•˜์„๋•Œ์—๋„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.

 

- ๋‘๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ generator network ๋ฅผ ํ•™์Šต์‹œํ‚จ๋‹ค. ํ•˜๋‚˜๋Š” ์›๋ณธ -> ๋Œ€์ƒ ์œผ๋กœ, ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” ๋Œ€์ƒ -> ์›๋ณธ ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋„๋ก ํ•œ๋‹ค. 

- ์ด ๋•Œ, ๋Œ€์ƒ ๋„๋ฉ”์ธ์—์„œ ์ƒ์„ฑ๋œ ์ƒ˜ํ”Œ๋“ค์€ discriminator network ์˜ ์‹ค์ œ ์ด๋ฏธ์ง€๋“ค๊ณผ ๊ตฌ๋ณ„์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์•ผํ•œ๋‹ค.

- generator๋Š” cycle-consistent ํ•˜๋‹ค. ์›๋ณธ์„ ๋Œ€์ƒ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€ํ™˜ํ•œ ๋‹ค์Œ ๋‹ค์‹œ ์›๋ณธ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. 

 

ํ•™์Šต ๊ณผ์ •

 

Generator 1์€ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์›๋ณธ -> ํŠน์ • ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฐ์šด๋‹ค.

Generator 2๋Š” ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ํŠน์ • ๋„๋ฉ”์ธ -> ์›๋ณธ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฐ์šด๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  Generator ๋Š” ์›๋ณธ ์ด๋ฏธ์ง€์™€ ์žฌ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€ ๊ฐ„์˜ ์ฐจ์ด์ธ reconstruction loss ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋„๋ก ํ•™์Šต๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Disciminator ๋Š” ์‹ค์ œ(real) ์ƒ˜ํ”Œ์™€ ์ƒ์„ฑ๋œ ์ƒ˜ํ”Œ์„ ๋ถ„๋ณ„ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. 

๋ณธ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๊ทธ๋Ÿด๋“ฏํ•œ ์Šคํƒ€์ผ ๋ณ€ํ™˜ ์ด๋ฏธ์ง€๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

 

ํ™œ์šฉ

Cycle GAN์€ ์ฃผ๋กœ ์ด๋ฏธ์ง€ ๋ณ€ํ™˜ ์ž‘์—…์— ์ ์šฉ๋˜๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ์–ผ๊ตด ์‚ฌ์ง„์—์„œ ๊ทธ๋ฆผ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ์—ฌ๋ฆ„ ํ’๊ฒฝ ์‚ฌ์ง„์„ ๊ฒจ์šธ ํ’๊ฒฝ ์‚ฌ์ง„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์— ์‚ฌ์šฉ๋œ๋‹ค. ๋˜ํ•œ, Cycle GAN์€ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•(Data Augmentation) ๋ฐ ์Šคํƒ€์ผ ์ „์†ก(Style Transfer)๊ณผ ๊ฐ™์€ ์‘์šฉ ๋ถ„์•ผ์—์„œ๋„ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.