• 검색 결과가 없습니다.

12. 발전된 GAN 모델3강. 필기체를 생성하는 ACGAN과 InfoGAN 구현

N/A
N/A
Protected

Academic year: 2022

Share "12. 발전된 GAN 모델3강. 필기체를 생성하는 ACGAN과 InfoGAN 구현"

Copied!
19
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

12. 발전된 GAN 모델

3강. 필기체를 생성하는 ACGAN과 InfoGAN 구현

학습목표

- MNIST 필기체를 생성하는 ACGAN을 구현할 수 있다.

- MNIST 필기체를 생성하는 InfoGAN 을 구현할 수 있다.

학습내용

- MNIST 필기체를 생성하는 ACGAN 구현 - MNIST 필기체를 생성하는 InfoGAN 구현

1. MNIST 필기체를 생성하는 ACGAN 구현

∙ 판별망을 두 개의 Classifier로 구성된 Auxiliary Classifier GAN(ACGAN) 구현

① ACGAN 구현에 필요한 라이브러리 불러오기

(2)

② 생성망 모델 구성

∙ 가짜 이미지 생성을 위한 BN-ReLU-Conv2DTranpose 스택

∙ 출력 계층 활성화 함수로는 tanh 대신 sigmoid 함수 사용

∙ sigmiod 함수가 수렴이 더 쉬움

(3)

③ 판별망 모델 구성

∙ 진짜와 가짜를 판별하는 LeakyReLU-Conv2D 스택

∙ BN으로는 수렴하지 않으므로 BN을 사용하지 않음

(4)

④ 생성한 이미지 저장 함수 구현

⑤ 판별망과 적대적 네트워크 훈련 구현

∙ 판별망과 적대적 네트워크를 훈련

∙ 먼저 판별망이 진짜와 가짜 이미지, 그에 해당하는 원-핫 레이블을 사용해 훈련

∙ 다음으로 적대적 네트워크가 진짜인 척하는 가짜 이미지와 그에 해당하는 원- 핫 레이블을 사용해 훈련

(5)

⑥ ACGAN 모델을 구성하는 함수로 훈련 루틴을 호출

(6)
(7)

⑦ 코드 실행

∙ ACGAN 모델(discriminator, generator, acgan_mnist) summary 출력 결과

(8)

∙ 학습 시 출력된 학습 진행 상황을 나타내는 결과

∙ ACGAN 생성 결과

(9)

2. MNIST 필기체를 생성하는 InfoGAN 구현

∙ 입력 코드와 출력 관측 사이의 상호 정보를 최대화해 비지도 방식으로 분해된 표현을 학습하는 InfoGAN 구현

① InfoGAN 구현에 필요한 라이브러리 불러오기

④ 생성한 이미지 저장 함수 구현

(10)

② 생성망 모델 구성

∙ 가짜 이미지 생성을 위한 BN-ReLU-Conv2DTranpose 스택

∙ 출력 계층 활성화 함수로는 tanh 대신 sigmoid 함수 사용이 가능한데, sigmi od 함수가 수렴이 더 쉬움

③ 판별망 모델 구성

∙ BN으로는 네트워크가 수렴하지 않으므로 sigmoid를 사용하고 진짜와 가짜를

(11)

⑤ 판별망과 적대적 네트워크 훈련 구현

∙ 배치 단위로 판별망과 적대적 네트워크를 교대로 훈련

(12)
(13)

⑥ 상호 정보 손실 함수 구현

∙ 상호 정보 손실의 방정식, 여기에서 H(c)가 상수라고 가정

⑦ InfoGAN 모델을 구성하는 함수로 훈련 루틴을 호출

(14)
(15)
(16)

∙ InfoGAN 모델(discriminator, generator, infogan_mnist) summary 출력 결과

(17)

∙ InfoGAN 생성 결과

(18)

평가하기

1. ACGAN은 판별기에서 Real/Fake를 구분하는 하나의 분류기로 구성된 신경망이다.

① O

② X

- 정답 : X

해설 : ACGAN은 판별기에서 Rea/Fake 구분과 Class를 구분하는 두 개의 분류기로 구성된 신경망이다.

2. InfoGAN에서 출력 활성화는 tanh 대신 sigmoid를 사용하는 이유는 sigmoid가 수렴이 잘되기 때문이다.

① O

② X

- 정답 : O

해설 : InfoGAN 출력 활성화를 구현할 때 sigmoid가 tanh보다 수렴이 잘되기 때문이다.

(19)

학습정리

1. MNIST 필기체를 생성하는 ACGAN 구현

∙ 두 개의 분류기로 구성된 ACGAN 구현

2. MNIST 필기체를 생성하는 InfoGAN 구현

∙ 입력 코드와 출력 관측 사이의 상호 정보를 최대화해 분해된 표현을 학습하는 InfoGAN 구현

다음 주 예고

“13. 발전된 RNN 모델” 에 대해 학습하겠습니다.

참조

관련 문서

출력 신호(수신

전원선과 입력선을 근접하여 설치할 경우 전원선에는 라인 필터나 바리스터를 사용하고 입력선에는 쉴드 와이어를 사용하십시오.. 강한 자기력 및 고주파 노이즈가

이렇 게 전제를 생성하는 어휘를 ‘전제유발장치(presupposition trigger)’라고 한다... 함의는 양방향으로

 출력 모듈에 정격 이상의 부하를 연결하거나 출력 회로가 단락되지 않도록 하여 주십시오. 화재의 위험이 있습니다.  출력 회로의 외부 전원이 PLC의 전원보다 먼저

 삭제를 하려는데 큐가 empty 이면, 다음과 같은 메시지를 내보내고 삭제를 멈춘다..  다음과

– 사용자가 외부 스키마 (뷰)를 참조하여 데이터를 요구하면 이를 데이터베이스 내에서 개념 스키마에 대한 요구로 변환하고, 다시 내부 스키마에 대한 요구로의 변환 과정을

네트워크 계층은 페이로드로 받아 헤더를 추가하여 데이터그램 또는 패킷이라는 네트워크 계층 패킷으로 만들어 링크 계층에 전달. 링크 계층은 페이로드로 받아

무부하( with no load) 상태에서 신호발생기(signal generator)의 출력 전 압이 2.0 V이다.. 신호발생기의