[Deep Learning] Deep Generative Models(2) - GAN
๐ง๐ป๐ป์ฉ์ด ์ ๋ฆฌ
Deep Generative Models
Generative Model
Generative Adversarial Nets (GAN)
์ด๋ฒ ์๊ฐ์๋ GAN์ ๋ํด ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
Generative Adversarial Nets (GAN)
์ด GAN์ ๋ฒ์ญํ๋ฉด ์ ๋์ ์์ฑ ์ ๊ฒฝ๋ง ๋ชจ๋ธ๋ก ์ง์ญ์ ํฉ๋๋ค.
2014๋ ์ ๋์ ๋์์ต๋๋ค.
์ฐ์ ๋ ๋ช ์ ํ๋ ์ด์ด๊ฐ ์๋ค๊ณ ๋ด ์๋ค.
ํ์ , ์์กฐ๋ฒ.
๊ทธ๋ฆฌ๊ณ 2๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค.
๋ฏธ์ ํ๊ณผ ๋ชจ์กฐํ.
ํ์ ์ ๋ฏธ์ ํ์ธ์ง ๋ชจ์กฐํ์ธ์ง ๋ถ๊ฐํด๋ ๋๋ค.
๋ฐ๋๋ก ์์กฐ๋ฒ์ ํ์ ์ ์์ ๋๋ค. ์์กฐ๋ฒ์ ๋ชจ์กฐํ์ ์งํ์ธ ๊ฒ์ฒ๋ผ ํ๊ฐ๋ฐ์์ผํฉ๋๋ค.
์ฒ์์๋ ํ์ต์ด ์ ๋์ง ์์, ๋ ๋ค ๋ฉ์ฒญํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ๊ณ์ํด์ ๋ชจ์กฐํ์ ์ ์ฐพ์๋ด๊ธฐ ์ํด, ๋ ์ ์์ด๊ธฐ ์ํด ๋ ๋ค ๊ณต๋ถ๋ฅผ ์ด์ฌํ ํฉ๋๋ค.
์๋ก๋ฅผ ์ด๊ธฐ๊ธฐ ์ํด์ ์๋ก ์ด์ฌํ ๊ณต๋ถ๋ฅผ ํด์,
์ฒ์์๋ 1์ ์ง๋ฆฌ ํ์ ๊ณผ ์์กฐ๋ฒ์, ๋์ค์ 99์ ์ง๋ฆฌ ํ์ ๊ณผ ์์กฐ๋ฒ์ด ๋ฉ๋๋ค.
99์ ์ง๋ฆฌ ํ์ ์ ์์ด๊ธฐ ์ํ ์์กฐ๋ฒ์ ๋ชจ์กฐํ์ ์ง์ง์ ๊ตฌ๋ถํ๊ธฐ ํ๋ค ์ ๋์ผ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฒ์ ๊ทธ ์ ๋์ ๋ชจ์กฐํ์ ๋๋ค.
์ด GAN์ด๋ผ๋ ๋ชจ๋ธ์ ์ ๋์ ์ธ 2๊ฐ์ ๋ชจ๋ธ์ด ์กด์ฌํฉ๋๋ค.
๋ ํ๋ ์ด์ด์ฃ .
๊ทธ๋ฆฌ๊ณ G๋ผ๋ generator model์ด ์์ต๋๋ค.
์ด generator์ ์ญํ ์ ๋ชจ์กฐํ์ ์์ฑํด๋ด๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๊ฒฐ๊ตญ data์ true distribution์ ์บก์ณํด๋ด๋ ๊ฒ์ด ๋ฉ๋๋ค.
์ง์ง ๋ฐ์ดํฐ๊ฐ ์ด๋ค distribution์์ ๋์๋์ง ์๋ค๋ฉด sampling์ ํตํด ๊ณ์ํด์ data๋ฅผ ๋ง๋ค ์ ์๊ฒ ์ฃ .
๊ทธ๋์ ์ด G๋ ์ต๋ํ ์ค์ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ์ ์บก์ณํด๋ด๋ ๊ฒ์ด ๋ชฉ์ ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ diiscriminative model D๋ discriminator๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ํ๋ณ์๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
์ด๊ฒ์ ์ค์ ๋ฐ์ดํฐ์ G๊ฐ generatingํด์ ์ฃผ๋ ๋ฐ์ดํฐ์ ์ ๊ตฌ๋ถํ๋ ๊ฒ ๋ชฉ์ ์ ๋๋ค.
์ค์ ์ธ training data, real data๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ ์ค๋ฉด ๋์ ํ๋ฅ ๊ฐ์ ์ฃผ๊ณ ,
generated data G, fake data๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ ์ค๋ฉด ๋ฎ์ ํ๋ฅ ๊ฐ์ ์ค๋๋ค.
์ ์ค๋ช ๊ณผ ๊ฐ์ด ์ค์ ๋ ผ๋ฌธ์ ๋์จ ๊ตฌ์ ์ ๋๋ค.
G๋ ์์กฐ ์งํ๋ฅผ ๋ง๋ค์ด fake cuurency๋ฅผ ์์ฑํฉ๋๋ค.
D๋ ๊ฒฝ์ฐฐ๋ก, ์ค์ ํํ์ G๊ฐ ๋ง๋ fake currency๋ฅผ ๊ตฌ๋ถํด๋ ๋๋ค.
์ด๋ ๊ฒ ์๋ก ์ด๊ธฐ๊ธฐ ์ํด ์์ฒญ๋๊ฒ ํ์ต์ ํ๊ณ ,
๊ต์ฅํ ํ๋ฅญํ G๊ฐ ๋ง๋ค์ด์ง๊ฒ ๋๋ฉด, ์ด๋ก๋ถํฐ ์ฐ๋ฆฌ๊ฐ ์ข์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํด๋ผ ์ ์๊ฒ ๋ฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์์์ ๋ค๋ฃฌ Generative Model์ ํ๋ฅ ๋ถํฌ๋ฅผ ์ถ์ ํ์์ต๋๋ค.
์ด ๋ถํฌ ์ถ์ ์ ์ด๋ ต๊ณ ๋ณต์กํ๊ณ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฝ๋๋ค.
๊ทธ๋์ VAE, DBN์ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค๊ณ ์๋ ค์ก์ฃ .
๊ทธ๋ฐ๋ฐ,
์ด GAN์ด๋ผ๋ ๋ชจ๋ธ์ ์ฐ๋ฆฌ๊ฐ ๊ธฐ์กด์ ์ ์๊ณ ์๋ MLP๋ฅผ ์ฌ์ฉํ๋ฉด ํด๊ฒฐ๋ฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ ์๋ NN์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
๊ทธ ์๊ธฐ๋,
์ฐ๋ฆฌ๊ฐ ์ ์ฌ์ฉํ๋ Standard Backpropagation์ผ๋ก ํ์ต์ด ๋๋ค๋ ์ด์ผ๊ธฐ์ฃ .
๊ทธ๋์ approximate inference ๋ Markov process๊ฐ ํ์ ์์ต๋๋ค.
๊ทธ๋์ ์ค์ ๋ชจ๋ธ์ด ์ด์ ๊ฐ์ด ์๊ฒผ์ต๋๋ค.
G model, D model์ด ๋ณด์ด๊ณ ,
์ prior์ noise๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด noise๋ผ๋ ๊ฒ์ random์ด๋ผ๋ ์ด์ผ๊ธฐ์ฃ .
์ด random ๊ฐ์ ๋ฐ์์, MLP๋ CNN ๋ฑ ๋ค๋ฅธ NN์ ์ญ ํต๊ณผ์์ผ์ ์ด๋ค data๋ฅผ generationํ๋ ๊ฒ ๋ชฉ์ ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด generated data๋ real data๋ฅผ ๋ฎ์ผ๋ ค๊ณ ํ๋ ๊ฒ ๋ชฉ์ ์ด๊ธฐ ๋๋ฌธ์, ์ด๊ฒ๊ณผ dimension์ ๋ง์ถฐ์ฃผ๋ฉด ๋ฉ๋๋ค.
G์์ ์ด๋ค random noise๋ฅผ ๋ฐ์์ MLP๋ฅผ ๋๋ฆฐ ํ ์ต์ข ์ ์ผ๋ก real ๊ณผ ๊ฐ์ dimension์ด ๋์ค๊ฒ ํฉ๋๋ค.
์ด ๊ณผ์ ์ด generation, ๊ทธ๋ฆฌ๊ณ ์ด generated data์ real data๋ฅผ D๋ผ๋ ๋ชจ๋ธ์ ๋ฃ์ด์ 1์ธ์ง 0์ธ์ง ๊ตฌ๋ถํ๋ ๊ฒ์ ๋๋ค.
๊ฒฐ๊ตญ G๋ ์์ random noise vector ๋ฅผ ๋ฐ์์, real data์ ๋๊ฐ์ dimension์ ๊ฐ์ง๋ output์ ์ถ๋ ฅํ๋ ๊ฒ์ ๋๋ค.
์ด output์ ์ต๋ํ real data์ ์ ์ฌํ๊ฒ ํ๋ ๊ฒ์ด ๋ชฉ์ ์ ๋๋ค.
๋ง์ผ,
๋ฐ์ดํฐ๊ฐ 100๊ฐ๊ฐ ๋ค์ด์จ๋ค๊ณ ํ๋ฉด,
์ด๊ฒ์ ๋ํด real์ธ์ง fake์ธ์ง์ ๋ํ label์ ๋ถ์ ๋๋ค.
๊ทธ๋์ ์ด ๊ณผ์ ์์ binary classification์ ํ๊ธฐ ๋๋ฌธ์ ์ sigmoid func.์ด ๋ค์ด๊ฐ๋๋ค.
training data == real data : 50๊ฐ | real, ... , real |
generated data == fake data : 50๊ฐ | fake , ... , fake |
์ ๊ตฌ์ฑ์ ๋๋ค.
๊ทธ๋์ output์ 1 or 0์ด ๋์ต๋๋ค.
๊ทธ๋์ ์ด๊ฒ์ ํ์ต์ํค๋๋ฐ,
D๋ real data x๊ฐ ๋ค์ด์ค๋ฉด 1์ ์ถ๋ ฅํ๊ณ , fake data z (noise)๊ฐ ๋ค์ด์ค๋ฉด 0์ ์ถ๋ ฅํฉ๋๋ค.
๊ทธ๋์ ๋ฐ์ดํฐ๋ x : real data / G(z) = fake data ๋ก ๋ฌถ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ z๋ noise๋ก ์ ๋ ฅ์ ๋๋ค.
๊ทธ๋์ D์ ๋ชฉ์ ์ D(x) = 1, D(G(z)) = 0์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ G์ ๋ชฉ์ ์ D(G(z)) ์ ๊ฐ์ด 1์ ๊ฐ๊น์์ง๋ ๊ฒ์ด ๋ชฉ์ ์ด ๋๊ฒ ์ต๋๋ค.
์์์ ๋ณด๋ฉด,
log ( 1 - D(G(z)))์ ๊ฐ์์ D(G(z))์ ๊ฐ์ด 1์ ๊ฐ๊น์์ง ์๋ก G์ ๋ชฉ์ ์ ์ถฉ์กฑ์ํค๋ ๊ฒ์ด์ฃ .
๊ทธ๋ผ log ( 1 - D(G(z)))์ ๊ฐ์ ์์ ์๋ก ์ข์ ๊ฒ ๋ฉ๋๋ค.
์ด์ GAN์ด ์๋์ ๊ฐ์ Loss func.์ ๋ง์กฑ์ํค๋ ํ์ต์ ํ๋ค๊ณ ๋ณด์๋ฉด ๋๊ฒ ์ต๋๋ค.
์ ์ฐ์ min max๊ฐ ๋ณด์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ log๋ monotomicํ์ฌ ๊ณ์ฐ์ ํธ์๋ฅผ ์ํด ๋์๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
์ D(x)์ D(G(z))๊ฐ ๋ณด์ ๋๋ค.
์์์ D์ ์ ์ฅ์์ ์๊ฐํด๋ณด๋ฉด, x๊ฐ ๋ค์ด์์ ๋, ํ๋ฅ ๊ฐ์ด ํฌ๋ฉด ํด์๋ก ์ข์ต๋๋ค. D(x)์ ๊ฐ์ด ํฌ๋ฉด ํด์๋ก ์ข์ฃ .
๊ทธ๋ฆฌ๊ณ fake data๊ฐ ๋ค์ด์์ ๋, ํ๋ฅ ๊ฐ D(G(z)) ๊ฐ์ด ์์ผ๋ฉด ์์์๋ก ์ข๊ณ , ์ฌ๊ธฐ์ ์ด๊ฒ์ 1์์ ๋บ์ผ๋ ์ญ์ผ๋ก ํฌ๋ฉด ํด์๋ก ์ข์ต๋๋ค.
์ฆ, Discrimininator๋ maximize ๋ฌธ์ ๋ฅผ ํ๋๋ค. ์ฆ, Loss term์ ๋ํด์ maximizeํ๋ ๋ฌธ์ ๋ฅผ ํ๋๋ค.
์ ์์์ real data, ๋ท ์์์ fake data์ ๋ํ ๊ฒ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
์ด๋ฒ์ Generator๋ฅผ ๋ด ์๋ค.
G์ ์ ์ฅ์์ ์ ์์์ ๋ํด, x์ ๋ํ ์์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ ,
์ด real data๊ฐ discriminator์ ๋ค์ด๊ฐ ๋ Generator๋ ์๋ฌด๋ฐ ์ํฅ๋ ๋ฏธ์น์ง ์์ต๋๋ค.
๊ทธ๋์ ์ด ์์ term์ generator ์ ์ฅ์์ ๊ด์ฌํ์ง ์๋ term์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ท term์ ๋ณด๋ฉด,
G๋ D(G(z))์ ๊ฐ์ด ์ปค์ง๊ธธ ๋ฐ๋๋๋ค.
์ด ๊ฐ ๋ํ 1์์ ๋นผ๋, ์ด 1 - D(G(z))์ ๊ฐ์ด ์์์ง๊ธธ ๋ฐ๋๋๋ค.
๊ฒฐ๊ตญ D ์ ์ฅ์์๋ ๋๊ฐ์ loss func.์ ๊ฐ์ง๊ณ maximize ๋ฌธ์ ๋ฅผ ํ๊ณ ,
generator ์ ์ฅ์์๋ ๋๊ฐ์ loss func.์ ๊ฐ์ง๊ณ minimize ๋ฌธ์ ๋ฅผ ํ๋๋ค.
๋จ, ์ term์ ์ํฅ์ ๋ผ์น์ง ์์ต๋๋ค.
์ด๊ฒ์ ๋ํ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ์ดํด๋ด ์๋ค.
hyperparameter ์ธ k = 1์ด ๋ฑ์ฅํฉ๋๋ค.
์ผ๋จ ํฐ for loop๋ epoch์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์ for loop๊ฐ max D์ด๊ณ , ์ด ์์ loop๋ฅผ ๋์จ ๋ถ๋ถ์ด min G๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
k๋ฒ ๋จผ์ maximization์ ํ๋ค๋ ๊ฒ์, k๋ฒ ๋จผ์ D๋ฅผ ๋๋ํ๊ฒ ๋ง๋ ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ฌ๊ธฐ์ k๋ฅผ 1์ด๋ผ ํ์ผ๋ D, G๊ฐ ๋๊ฐ์ด ํ์ต๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋จผ์ minibatch noise samples์ ๋ฝ์ต๋๋ค. ์ด๊ฒ์ fake data๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ฌ๋ฃ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ minibatch ๋๊ฐ์ size์ real data sample m๊ฐ๋ฅผ ๋ฝ์ต๋๋ค.
์๋ fake data, ์๋๋ real data.
์ด๊ฒ์ ๊ฐ์ง๊ณ ์๋ loss func.์ D์ maximize ์์ผ์ค๋ค.
๊ทธ๋ฆฌ๊ณ fake์ ์ฌ๋ฃ๋ฅผ ๊ฐ์ง๊ณ , G์ ๋ํด minimizeํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ loss func. ์ค ์ term์ generation์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ ๋ท term ๊ฐ์ง๊ณ ๋ง minimizeํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋๋จธ์ง๋ standard gradient descent (standard gradient-based learning)์ ์ฌ์ฉํฉ๋๋ค.
์ ์์๋ Adam optimizationํ๋ฉด ๋๊ฒ ์ฃ .
์์๋ฅผ ๋ณด๋,
ํ์ ํ ๋ฒ ๋๋ํ๊ฒ ๋ง๋ ๋ค, ์์กฐ๋ฒ ๋๋ํ๊ฒ ๋ง๋๋ ๊ฒ์ ํฉ๋๋ค.
์ด๋ ๊ฒ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ๋๋ํ๊ฒ ํ์ต์ํต๋๋ค.
ํํธ, k๊ฐ 1์ด ์๋ ์์๋ผ๋ฉด,
๋ง์ผ 2๋ผ๋ฉด,
max -> max -> min -> max -> max -> min -> ... ๊ณผ ๊ฐ์ด ํ ์ ์์ ๊ฒ์ ๋๋ค.
์ด ์ด์ ๋,
Discriminator์ Generator๊ฐ ๋น๋ฑ๋น๋ฑํด์ผํฉ๋๋ค.
๊ทธ ์ด์ ๋ ์๋ก ๊ธ์ด ์ ๋ง์๋ฒ๋ฆฌ๋ฉด ๋ ๋ค ๋ฐ์ ์ ๋ชปํ๊ธฐ์ ๊ทธ๋ ์ต๋๋ค.
๊ทธ๋์ ํ ์ชฝ์ ์ ๋ฆฌ์ง ์๊ณ ๋ ๋ค ๋น๋ฑ๋น๋ฑํ ์ํ์์ ๊ฒฝ์์ ํด์ผ ๋ฐ์ ์ด ๋ ์๊น๋๋ค.
๊ทธ๋ฐ๋ฐ, ๋ ผ๋ฌธ์์๋ Generator ํ ๋ฒ ๋๋ํ๊ฒ ํ์ต์ํฌ ๋, Discriminator๋ฅผ ๋ช ๋ฒ ๋ ํ์ต์์ผ์ผ ๋ฐ๋ผ์ค๊ธฐ์ ๊ทธ๋ ๊ฒ ํ ๊ฒ์ด๋ผ๊ณ ํฉ๋๋ค.
์ด๋ป๊ฒ ๋ณด๋ฉด D์๊ฒ ์กฐ๊ธ ๋ ํ์ตํ weight๋ฅผ ์ค ๊ฒ์ ๋๋ค.
์ด์งธํผ ๋ฐธ๋ฐ์ค๊ฐ ์ค์ํ๋ค๋ ๊ฒ์ ๋๋ค.
์ ๊ทธ๋ฆผ์์ ๋ณด์๋ฉด,
์ฐ๋์์ด fake data์ ๋ถํฌ๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ p๋ real, D๋ ํ์ ์ ๋๋ค.
generator์ discriminator๋ฅผ ๋ณด๋ฉด ๋ ๋ค ์ ์์ฑํ๊ณ ํ์งํด๋ด์ง ๋ชปํ๋ ๋ชจ์ต์ด (a)์์ ๋ณด์ ๋๋ค.
epoch์ ์งํํ๋ค๋ณด๋ฉด,
real๊ณผ fake๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ ํ๋ฅ ๊ฐ์ด D์ ๋๋ค.
After updating D์ด๊ธฐ ๋๋ฌธ์, ๊ทธ ๊ฐ์ด ์ (b)์์๋ ์ ๊ตฌ๋ถํฉ๋๋ค.
๊ทธ ๋ค์ ์ด๋ฐ ํ์ ๋ ์์ผ ์ ์๋ G๋ฅผ upgrade์ํต๋๋ค.
After updating, fake๊ฐ ์กฐ๊ธ ๋ real์ ๊ฐ๋ค ๋ถ๊ฒ ๋ฉ๋๋ค.
์ด๊ฒ์ ๋ฌด์ํ ๋ฐ๋ณต์ํค๋ค๋ณด๋ฉด real๊ณผ fake๊ฐ ๊ฐ์์ง๋, ์ฆ, ์ Discriminator ์ ์ฅ์์๋ real๊ณผ fake๊ฐ ๊ฐ์์ง๋,
p_g == p_data == 0.5์ธ ์์ค์ด ๋ฉ๋๋ค.
์๋ ๊ทธ๋ฆผ์ ๋ด ์๋ค.
GAN์ผ๋ก ๋ง๋ค์ด๋ธ sample์ ๋๋ค.
์ ๋ง ์ ๋ ฅ์ผ๋ก random gaussian noise๋ฅผ ๋ฃ๊ณ , network๋ฅผ ๋ฃ๊ณ ํ์ต์์ผฐ๋๋ ์์ ๊ฐ์ ๊ฒ๋ค์ด ๋์๋ค๋ ๊ฒ์ ๋๋ค.
ํ์ต์ ์ ๊ณผ์ ๊ณผ ๊ฐ์ด ์ํค๊ณ ,
random gaussian noise๋ฅผ ์ฃผ๋ฉด ์์ ๊ฐ์ ๊ทธ๋ฆผ์ ์์ฑํด๋ธ๋ค๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๊ถ๊ทน์ ์ธ ๋ชฉ์ ์, ์ข์ generator๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์๋ฌด๋ฐ random vector๋ง ์ฃผ๋ฉด, ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ด๋ ํ ๊ฒ๋ ๋ง๋ค์ด๋ผ ์ ์์ต๋๋ค.
๊ทธ๋์ GAN์ผ๋ก ์ ๋ง ๋ง์ ๊ฒ์ ํด๋ผ ์ ์์ต๋๋ค.
์ฐ์ ์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์๊ณ ์๋, MLP, CNN. Backpropagation๊ณผ ๊ฐ์ ์ด๋ฌํ technique์ด ์ฐ์ผ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋๋ก ๊ฐ์ ธ๋ค ์ฐ์ฃ .
๊ทธ๋ฌํ ๊ฒ๋ค์ ๊ฐ์ ธ๋ค ์ฐ๋ค๋ณด๋,, ๊ฐ์ , ๋ถํฌ, ๊ทผ์ฌ์ ๊ฐ์ ๊ฒ๋ค์ด ํ์์์ด์ง๋๋ค.
๋ถํฌ ์ถ์ ์ ์ด๋ ค์ด ์ ๋ค์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์๋ ์ ๋ง ์ข์ต๋๋ค.
์ฌ๊ธฐ์ ์์ฌํ๋ ์ ์, ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ MLP ๋ช ๊ฐ ๊ฐ๋ค ๋ถ์ฌ์, ์ฐ๋ฆฌ์ ๋ชฉ์ ์ ๋ง๊ฒ loss๋ง ์ ๋ง๋ค๋ฉด, ํ์ต์ Backpropgation์ด ์์์ ์ ํด์ฃผ๋, ์ ๋ง ์์ฒญ๋ ํ์ฉ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ด Neural Network๋ผ๋ ๊ฒ์ ๋ค์ ํ ๋ฒ ์ผ๊นจ์ ์ค ๊ฒ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ ๋จ์ ์ G์ D์ ๋ฐธ๋ฐ์ค๋ฅผ ์ ๋ง์ถฐ์ผ ํ์ต์ด ์ ๋๋ฏ๋ก, ๊ต์ฅํ sensitiveํฉ๋๋ค.
์ด๋ ํ๋๊ฐ ๋ ํ์ํํด์ง๋ฉด ์ ๋ฉ๋๋ค.
๋๋ํ ๋ ์๋ผ๋ฆฌ ๊ณ์ํด์ ์๋ก๋ฅผ ์์ด๋ฉฐ ๊ฐํด์ ธ์ผํฉ๋๋ค.
๊ทธ๋์ผ ํ์ต์ด ์ ์ด๋ฃจ์ด์ง๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
Model collapse๋ผ๋ ๊ฒ์, ๋๋ฌด ์์ด๊ธฐ ์ฌ์ด ๋ฐ์ดํฐ๋ง ๋ง๋ค์ด๋ธ๋ค๋ ์ง, ์ ์ฒด ๋ฐ์ดํฐ ์์ญ์ ๋ณด์ง ์๊ณ ํ ๋ถ๋ถ์ ๊ฝํ๋ฒ๋ฆฌ๋ ๊ฒ์ ๋๋ค.
๊ณจ๊ณ ๋ฃจ ๋์ง ์๊ณ ๋ค๋ฅธ model๋ค์ด ๋ค ๋ฌด๋์ง๋ฉฐ ๋ช ๊ฐ๋ง ์ด์๋จ๊ฒ ๋๋ ๊ตฌ์กฐ๊ฐ ๋ ์๊ฐ ์์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก G๋ D๋ง ์ ์์ด๋ฉด ๋๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์,
D๊ฐ ํน์ ๋ถ๋ถ์๋ง ๊ฝํ๋ฉด G๋ ๊ทธ ๋ถ๋ถ์์๋ง ์์ด๊ฒ ๋๊ฒ ์ฃ .
๊ทธ๋ฐ์์ผ๋ก, ์ด๋ฏธ์ง๊ฐ ์๋ค๋ฉด ์ด๋ฏธ์ง ์ ์ฒด์ ๋ํด ํ๋จํด์ผํ๋๋ฐ, ๊ตญ์์ ์ธ ์์ญ๋ง ๊ฐ์ง๊ณ D๊ฐ ์ข๋ค๊ฑฐ๋ G๊ฐ ์ข๋ค๊ณ ํ๋จํด๋ฒ๋ฆฌ๋ ๊ฒ์ ๋๋ค.
์ด๋ฐ์์ผ๋ก ๋ชจ๋ธ์ด ์ด์ํ๊ฒ ์๋ ด๋๋ ๊ฒ์ model collapse๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋์ ๋จ์ ์ ํ์ต์ํค๊ธฐ๊ฐ ์ด๋ ต๋ค๋ ๊ฒ ๋๊ฒ ์ต๋๋ค.
์ด๋ ๊ฒ Generative models์ ์ดํด๋ณด์์ต๋๋ค.
์ด์ ์ ์๋ค์ด practical method๋ผ๊ณ ํ์ฌ ์ ์๋ค์ด ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์ธ ๋ ๋จ๊ณ๋ฅผ ์๋์ ๊ฐ์ด ์ ๋ฆฌํ ๊ฒ ์์ต๋๋ค.
3๊ฐ์ง ๋จ๊ณ๊ฐ ์์ต๋๋ค.
1. ์ฑ๋ฅ์งํ์ ๊ด๋ จ๋ ๋ชฉํ๋ฅผ ์ธ์๋ผ.
2. ํ๋๋ก ๋ค ํ ์ ์๋ ์์คํ ์ ๋ง๋ค์ด๋ผ.
3. ๋ฐ์ดํฐ์ ๊ธฐ๋ฐํด์ ์ ๊ฐ์ ํด ๋๊ฐ๋ผ.
์ ํ๋์ ๋ฐ๋ผ ๋๋ ์๋ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ด ๋ฌธ์ ์ ๋ฐ๋ฅธ metric์ ๊ณจ๋ผ์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ end-to-end system์ ๋ง๋๋ ๋ฒ๋ ๋์์์ต๋๋ค.
SOTA๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ข์ต๋๋ค.
MLP
CNN
RNN
๊ทธ๋ฆฌ๊ณ RNN์ ๊ฒฝ์ฐ activation func.์ tanh๋ฅผ ์ฐ๋ ๊ฒ ์ข๊ฒ ์ฃ .
๊ทธ๋ฆฌ๊ณ training error๊ฐ ๋๋ค๋ฉด ์์ ๊ฐ์ ๊ฒ๋ค์ ๊ฒ์ฌํด๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ test error๊ฐ ๋๋ค๋ฉด ์์ ๊ฐ์ ๊ฒ๋ค์ ๊ฒ์ฌํด๋ณผ ์ ์์ต๋๋ค.
์ด ๋ฅ๋ฌ๋์ ์ต์ข ์ ์ผ๋ก ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
'Artificial Intelligence > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Computer Vision] Quantization & Pruning (0) | 2023.06.15 |
---|---|
[Deep Learning] Deep Generative Models(1) - VAE (0) | 2023.05.29 |
[Deep Learning] Autoencoders (0) | 2023.05.23 |
[Deep Learning] Recurrent Neural Network (4) - Transformer (0) | 2023.05.20 |
[Deep Learning] Recurrent Neural Network (3) - Attention (0) | 2023.05.19 |