▣ 01장: 생성적 적대 신경망이란?
들어가며
생성 모델과 판별 모델
__ 수행 방법 …
____판별 모델링
____생성 모델링
__ 작동 방식 …
신경망의 사랑 싸움
__ 수행 방법 …
__ 작동 방식 …
심층 신경망
__ 수행 방법 …
__ 작동 방식 …
아키텍처 구조의 기초
__ 수행 방법 …
__ 작동 방식 …
기본 빌딩 블록: 생성기
__ 수행 방법 …
__ 작동 방식 …
기본 빌딩 블록: 판별기
__ 수행 방법 …
__ 작동 방식 …
기본 빌딩 블록: 손실 함수
__ 수행 방법 …
__ 작동 방식 …
훈련
__ 수행 방법 …
__ 작동 방식 …
서로 다른 방식으로 모아 쓰는 GAN의 각 부분들
__ 수행 방법 …
__ 작동 방식 …
GAN의 출력
__ 수행 방법 …
__ 작동 방식 …
한정된 데이터로 일하기: 화풍 모사
____새로운 장면을 꿈꾸기: DCGAN
____모조 데이터로 보강하기: SimGAN
GAN 구조의 이점
__ 수행 방법 …
__ 작동 방식 …
연습문제
▣ 02장: 데이터 중심, 용이한 환경, 데이터 준비
들어가며
데이터가 그다지도 중요한가?
__ 출발 준비
__ 수행 방법 …
__ 작동 방식 …
__ 더 많은 정보 …
개발 환경 설정
__ 출발 준비
__ 수행 방법 …
____GPU를 구동할 엔비디아 드라이버 설치하기
____Nvidia-Docker를 설치하기
____개발용 컨테이너 만들기
__ 더 많은 정보
데이터 형식
__ 출발 준비
__ 수행 방법 …
__ 작동 방식 …
____코드를 도커 컨테이너에서 실행하기
__ 더 많은 정보 …
데이터 전처리
__ 출발 준비
__ 수행 방법 …
__ 작동 방식 …
__ 더 많은 정보 …
비정상 데이터
__ 출발 준비
__ 수행 방법 …
____단변량 방법
__ 더 많은 정보 …
데이터 균형조절
__ 출발 준비
__ 수행 방법 …
____표본추출 기법
____앙상블 기법
__ 더 많은 정보 …
데이터 확대
__ 출발 준비
__ 수행 방법 …
__ 작동 방식 …
__ 더 많은 정보 …
연습문제
▣ 03장: 첫 번째 GAN을 100줄 이내로 만들기
들어가며
이론에서 코드로: 간단한 예제를 만들어 보기
__ 출발 준비
__ 수행 방법 …
____Discriminator 기저 클래스
____Generator 기저 클래스
____GAN 기저 클래스
__관련 정보
케라스와 텐서플로를 사용해 신경망을 구축하기
__ 출발 준비
__ 수행 방법 …
____도커 컨테이너 만들기
__관련 정보
첫 번째 GAN 구성요소인 판별기를 설명하기
__ 출발 준비
__ 수행 방법 …
____가져오기
____초기화 변수(판별기 클래스 내의 init)
____판별기에 대한 모델 정의
____판별기 클래스의 도우미 메서드
____두 번째 GAN 구성요소인 생성기를 설명하기
__ 출발 준비
__ 수행 방법 …
____가져오기
GAN의 모든 부분을 종합하기
__ 출발 준비
__ 작동 방식 …
____1단계: GAN 클래스 초기화
____2단계: 모델 정의
____3단계: 도우미 함수
여러분의 첫 GAN을 훈련하기
__ 출발 준비
__ 수행 방법 …
____훈련 클래스 정의
____실행 스크립트를 정의하기
모델을 훈련하고 GAN의 출력을 이해하기
__ 출발 준비
__ 수행 방법 …
__ 작동 방식 …
연습문제
▣ 04장: DCGAN을 이용한 새 외부 구조물에 대한 꿈
들어가며
DCGAN이란 무엇인가? 간단한 의사코드 예제
__ 출발 준비
__ 수행 방법 …
____생성기
____ 관련 정보
도구: 독특한 도구가 필요할까?
__ 출발 준비
__ 수행 방법 …
____DCGAN 개발 환경
____LSUN 데이터를 내려받아 압축을 풀기
__ 더 많은 정보 …
____ 관련 정보
데이터 파싱: 데이터가 독특한가?
__ 출발 준비
__ 수행 방법 …
코드 구현: 생성기
__ 출발 준비
__ 수행 방법 …
____생성기 초기화: DCGAN 업데이트
____DCGAN 구조 구축
__ 관련 정보
코드 구현: 판별기
__ 출발 준비
__ 수행 방법 …
판별기 클래스 초기화
모델 구조를 구축하기
__ 관련 정보
훈련
__ 출발 준비
__ 수행 방법 …
____클래스 초기화로 변경
____의사코드에서 변경한 사항을 이해하기
____새롭고 향상된 훈련 스크립트
____파이썬의 run 스크립트
____셸의 run 스크립트
평가: 코드가 작동하는지를 어떻게 알 수 있는가?
__ 출발 준비
__ 작동 방식 …
성능 향상을 위한 파라미터 조절
__ 수행 방법 …
____훈련 파라미터
____판별기 및 생성기 아키텍처 파라미터
연습문제
▣ 05장: Pix2Pix를 사용해 이미지를 변환하기
들어가며
의사코드로 맛보는 Pix2Pix
__ 출발 준비
__ 수행 방법 …
____판별기
____생성기
데이터셋 파싱
__ 출발 준비
__ 수행 방법 …
____새로운 Dockerfile을 사용해 도커 컨테이너를 만들기
____보조 스크립트 작성
코드 구현: 생성기
__ 출발 준비
__ 수행 방법 …
코드: GAN 신경망
__ 출발 준비
__ 수행 방법 …
코드 구현: 판별기
__ 출발 준비
__ 작동 방식 …
훈련
__ 출발 준비
__ 수행 방법 …
____클래스 설정
____훈련 메서드
____결과를 그리기
____도우미 함수
____훈련 스크립트 실행
연습문제
▣ 06장: CycleGAN을 사용해 화풍을 모사하기
들어가며
의사코드: 어떻게 작동하는가?
__ 출발 준비
__ 수행 방법 …
____CycleGAN은 어떤 점이 강력한가?
CycleGAN 데이터셋 파싱
__ 출발 준비
__ 수행 방법 …
____도커 구현
____데이터 내려받기 스크립트
____실제 데이터는 어떻게 보일까?
코드 구현: 생성기
__ 출발 준비
__ 수행 방법 …
코드 구현: 판별기
__ 출발 준비
__ 수행 방법 …
코드 구현: GAN
__ 출발 준비
__ 수행 방법 …
훈련 시작
__ 출발 준비
__ 수행 방법 …
____초기화
____훈련 메서드
____도우미 메서드
연습문제
▣ 07장: SimGAN에서 모조 이미지를 사용해 사실적인 눈동자 사진을 생성하기
들어가며
SimGAN 아키텍처의 작동 원리
__ 출발 준비
__ 수행 방법 …
의사코드: 어떻게 작동하는가?
__ 출발 준비
__ 수행 방법 …
훈련 데이터로 작업하는 방법
__ 출발 준비
__ 수행 방법 …
____Kaggle과 API
____도커 이미지 만들기
____도커 이미지 실행하기
코드 구현: 손실 함수
__ 출발 준비
__ 수행 방법 …
코드 구현: 생성기
__ 출발 준비
__ 수행 방법 …
____상용구 항목
____모델 개발
____도우미 함수
코드 구현: 판별기
__ 출발 준비
__ 수행 방법 …
____상용구
____모델 아키텍처
____도우미 함수
코드 구현: GAN
__ 출발 준비
__ 수행 방법 …
SimGAN 신경망 훈련
__ 출발 준비
__ 수행 방법 …
____초기화
____훈련 함수
____도우미 함수
____파이썬 실행 스크립트
____셸 실행 스크립트
연습문제
▣ 08장: GAN을 사용해 이미지를 3차원 모델로 만들기
들어가며
3D 모델 제작을 위해 GAN 사용 소개
__ 출발 준비
__ 수행 방법 …
____2D 이미지의 경우: 이미지의 인코딩 공간 학습
____3D 합성곱을 사용해 모델을 훈련하기
환경 준비
__ 출발 준비
__ 수행 방법 …
____도커 컨테이너 만들기
____도커 컨테이너 만들기
2D 데이터 인코딩 및 3D 객체와 짝짓기
__ 출발 준비
__ 수행 방법 …
____간단한 인코더를 실행하는 코드
____도커 컨테이너로 인코더를 실행하는 셸 스크립트
코드 구현: 생성기
__ 출발 준비
__ 수행 방법 …
____생성기 클래스 준비
____생성기 모델 구축
코드 구현: 판별기
__ 출발 준비
__ 수행 방법 …
____판별기 클래스 준비
____판별기 모델 구축
코드 구현: GAN
__ 출발 준비
__ 수행 방법 …
이 모델을 훈련하기
__ 출발 준비
__ 수행 방법 …
____훈련 클래스 준비
____도우미 함수
____훈련 메서드
____신경망의 출력을 그려내기
____훈련 스크립트 실행
연습문제