GAN(Generative Adversarial Network)이란?
생성적 적대 신경망, 경쟁을 통해서 배운다는 개념의 인공지능 기술
Generator (생성자) 와 Discriminator (판별자) 두 개의 모델이 동시에 적대적인 과정으로 학습시키며, 생성자 G는 실제 데이터 분포를 학습하고, 판별자 D는 원래의 데이터인지 생성자로부터 생성이 된 것인지 구분
GAN의 구조와 구성요소
생성 모델 G(Generative Models)
실존하지 않지만 있을 법한 이미지를 생성할 수 있는 모델이미지 데이터의 분포를 근사하는 모델 G를 만드는 것이 생성 모델의 목표 -> 생성자의 분포가 원본 학습 데이터의 분포를 잘 따를 수 있도록 만들어서 학습이 잘 되었다면 통계적으로 평균적인 특징을 가지는 데이터를 쉽게 생성 가능
생성자 이미지 분포 학습 방법 (GAN의 비용함수)
목적 함수 (Objective function)를 통해 생성자는 이미지 분포 학습 가능
: G(s)를 최소, D(s)를 최대로 하는 목적 함수 (변수: G,D 함수의 값)
: 데이터 분포에서의 x(real image)를 변수로 하는 logD(x)의 기댓값
: z(latent space)분포에서의 z를 변수로 하는 log(1-D(G(x)))의 기댓값
진짜 : 1 ~ 가짜: 0을 부여해 학습
V(D,G) 함수 값 G는 낮추려고 하고, D는 높이려고 한다.
D가 목적을 이루기 위해서는 D(x) = 1, D(G(z)) = 0 이 되어 함수 값이 0이 되면 된다.
G가 목적을 이루기 위해서는 D(G(z)) = 1이 되어 함수 값을 최소로 만들면 된다.
판별자는 학습을 함에 있어서 원본 데이터에 대해서는 1로 분리할 수 있도록 학습을 하고 가짜 이미지가 들어왔을 때는 0이 나올 수 있도록 학습을 진행
-> 생성자는 자신이 만든 가짜 이미지가 판별자가 1을 출력할 수 있도록 학습을 진행
즉, 생성자는 자신이 만든 이미지가 그럴싸한 이미지로 보일 수 있도록 학습을 진행
'Study > AI' 카테고리의 다른 글
[머신러닝/딥러닝] Language Modeling 1 (언어모델) (0) | 2021.10.11 |
---|---|
[머신러닝/딥러닝] 이미지 어그멘테이션 (Image Augmentation) (0) | 2021.08.03 |
[머신러닝/딥러닝] 풀링 계층 (Pooling Layer , CNN) (0) | 2021.05.17 |
[머신러닝/딥러닝] 합성곱 신경망(Convolutional Neural Network , CNN) (0) | 2021.05.17 |
[모두를 위한 딥러닝 시즌2] Machine Learning의 용어와 개념 (0) | 2021.04.12 |