딥러닝 텐서플로 교과서 - 13장

Jajuna_99·2022년 10월 14일
0

13장 생성 모델

생성 모델이란

생성 모델(generative model) : 주어진 데이터를 학습하여 데이터 분포를 따르는 유사한 데이터를 생성하는 모델.

기존의 모델들은 주어진 데이터로 분류하는 판별 모델(discriminative model)이다.

판별 모델들은 보통 주어진 데이터의 특성들을 찾는 것을 목표로 한다. 그리고 판별자 모델이 추출한 특성들의 조합을 이용하여 새로운 데이터를 만드는 것이 생성 모델이다.

생성 모델의 유형

  • 명시적 방법(explicit density) : 변형 오토인코더(variational autoencoder), 확률 변수 p(x)p(x)를 정의하여 사용한다.

  • 암시적 방법(implicit density) : GAN(Generative Adversarial Network), 확률 변수 p(x)p(x)에 대한 정의 없이 p(x)p(x)를 샘플링하여 사용한다.

변형 오토인코더(p.513)

오토인코더(autoencoder) : 입력을 출력으로 복사하는 신경망. 은닉층의 노드 개수가 입력 값보다 적은 것이 특징이다.

  • 인코더 : 인지 네트워크(recognition network)라고도 하며, 특성에 대한 학습을 수행하는 부분이다.

  • 병목층(은닉층) : 모델의 뉴련 개수가 최소인 계층이다. 이 계층에서는 차원이 가장 낮은 입력 데이터의 압축 표현이 포함된다.

  • 디코더 : 생성 네트워크(generative network)라고도 하며, 이 부분은 병목층에서 압출된 데이터를 원래대로 재구성(reconstruction)하는 역할을 한다. 즉, 최대한 입력에 가까운 출력을 생성한다.

  • 손실 재구성 : 오토인코더는 다음 그림과 같이 입력층과 출력층의 뉴런 개수가 동일하다는 것만 제외하면 일반적인 다층 퍼셉트론과 구조가 동일하다. 오토인코더는 압축된 입력을 출력층에서 재구성하며, 손실 함수는 입력과 출력(인코더와 디코더)의 차이를 가지고 계산합니다.

오토인코더가 중요한 이유

  • 데이터 압축 : 메모리 측면에서 유리하다. 중요 특성만 압축하면 용량도 작고 품질도 더 좋아진다.

  • 차원의 저주 예방 : 오토인코더는 특성 개수를 줄여 주기 때문에 데이터 차원이 감소하여 차원의 저주를 피할 수 있다.

  • 특성 추출 : 오토 인코더는 비지도 학습으로 자동으로 중요한 특성을 찾아준다. 예를 들어 눈 모양, 털 색, 꼬리 길이 등 개의 중요한 특성을 자동으로 찾아준다.

오토인코더 구현(p.516)

변형 오토인코더
오토인코더는 인코더 디코더 구조로 차원을 줄이는 것을 목표로 하는 모델이다.

반면 변형 오토인코더는 표준편차와 평균을 이용하여 확률 분포를 만들고, 거기에서 샘플링하여 디코더를 통과시켜 데이터를 다시 만들어 낸다.

즉, 입력 데이터와 조금 다른 출력 데이터를 만들어 낸다. 이때 zz(잠재 벡터(latent vector)라고 한다.)라는 가우시안 분포를 이용한다.

변형 오토인코더 구현 (p.523)

적대적 생성 신경망(GAN)이란(p.529)

이 적대적 생성 신경망 (이하 GAN) 생성 모델은 최대한 진짜와 비슷한 데이터를 생성하려는 생성자와 진짜와 가짜를 구별하는 판별자가 각각 존재하여 서로 적대적으로 학습한다.

서로 가중치를 업데이트 하면서 종국에는 진짜와 구별이 안되는 '가짜'를 생성하게 되는 것이다.

기타 수학적 설명과 구현 (p.531)

GAN 파생 기술(p.540)

DCGAN(Deep Convolutional GAN) : GAN은 생성자와 판별자가 서로 대결하면서 학습하는 구조이기 때문에 학습이 불안정하다. 한 쪽으로 치우친 훈련이 된다면 제대로 판별이 되지 않을 것이다. 이를 위해 DCGAN이 제시됐따. GAN의 CNN을 사용하는 구조이다.

cGAN(convolutional GAN) : GAN과 DCGAN이 가짜 이미지 생성을 위해 임의의 노이즈 값을 사용했다면 cGAN은 어떤 조건을 주어 변형하는 모델이다.

CycleGAN : 사진이 주어졌을 때 다른 사진으로 변형시키는 모델. ex) 말을 얼룩말로 변환하는 것 PIX2PIX 원리를 이용한다.

요약

생성 모델 기술 맛보기

profile
Learning bunch, mostly computer and language

0개의 댓글