[ GAN is ... ]
AI가 만든 얼굴이라던지, 오바마 전미국대통령의 fake 영상이라던지 하는 뉴스를 들어보았을 것이다.
이런 것들을 만들어낼 수 있는 가장 대표적인 기술적 배경이 바로 GAN 이다.
아래 영상을 보면 바로 어떤 것인지 알 수 있다.
GAN은 "Generative Adversarial Network"의 줄임말인데, 풀어보면 아래와 같이 말할 수 있다.
- Generative: 생성(Generation) 모델을 이용하여, 진짜 데이터와 같이
- Adversarial: 두 개의 모델을 적대적(Adversarial)으로 경쟁시키며 발전 시키는
- Network: 인공신경망(Artificial Neural Network)
"GAN"은 라벨(정답)이 없는 데이터를 가지고 학습을 하는 비지도학습의 한 유형이다.
GAN에 대한 가장 대표적인 설명은 "위조지폐범"과 "경찰"이다.
GAN
위조지폐범(생성모델)은 진짜와 구분이 어렵도록 위조지폐(가짜 데이터)를 계속 생성하고,
경찰(분류모델)은 진짜와 가짜를 계속 분류하면서 50%의 확률 정도가 될 때까지 계속 진행을 하는 방식이다.
[ This book is ... ]
서두가 길었다 ^^
GAN에 대해서 알려주는 괜찮은 책이 이번에 한빛미디어에서 출간되었다.
책의 제목은 "GAN 첫걸음" !!!
GAN 첫걸음 - 표지
예쁜 보라색으로 깔끔한 폰트로 제목이 적혀있는 표지를 갖고 있는 조금 작은 크기(신국판 규격 정도?!)의 책이다.
거기에다가 지금 이 글을 적고 있는 시점에서보면 나온지 얼마 안되는 따끈따끈한 책이다.
GAN 첫걸음 - 초판
이 책의 지은이는 "타리크 라시드"이다.
GAN 첫걸음 - 지은이
"타리크 라시드"는 이 책에 앞서서 다른 책을 출간했었다.
어떻게 보면 위 책의 다음 2권과 같은 위치에 있는 것이 바로 이 책 "GAN 첫걸음"인 것 같다.
물론, "신경망 첫걸음"을 보지 않고 바로 "GAN 첫걸음"을 본다고 하여 문제가 되지는 않는다.
GAN 첫걸음 - 대상 독자
책에 쓰여져 있는 것처럼, 기초부터 알고 싶은 사람을 배려해서 쓰여져 있기 때문이다.
하지만, 아무리 그래도 최소한 Machine Learning에 대한 기초적인 지식이 있으면 조금 더 읽기 수월할 것이고
"신경망 첫걸음"을 먼저 읽었다면 더더욱 읽고 이해하기 좋을 것이다.
[ Prerequisite ]
이 책은 기본적으로
"구글 코랩(Google Colab)" 환경에서 "파이토치(PyTorch)" 라이브러리를 이용하여 GAN을 구현한다.
친절하게도 이 책에서는 "Chapter1 파이토치 기본"에서
기본적인 실습 환경과 배경 지식에 대해서 친절하게 설명을 해주고 있다.
그러다가 PyTorch의 기본 데이터 형태인 텐서(tensor)에 대해서까지 Part1에서 설명을 해준다.
[ practice ]
"Chapter2 파이토치로 만드는 첫 번째 신경망"에서는
유명한 MNIST 데이터셋을 이용해 PyTorch로 신경망을 만드는 과정을 꼼곰히 설명해주고 있다.
"Chapter3 성능 향상 기법"에서는 조금 더 성능을 높이기 위한
손실함수, 활성화 함수, 옵티마이저, 정규화 등에 대해서 설명한다.
"Chapter4 CUDA 기초"에서는 AI 하면 떠오르는 GPU를
어떻게 사용할 수 있는지에 대해서 친절하게 설명해준다.
여기까지가 "Part1 파이토치와 신경망 기초"에 해당한다.
[ lesson ]
본격적인 GAN에 대한 학습은 "Part2 튼튼한 GAN 만들기"로 분류되어 있는
"Chapter5 GAN 개념"부터 "Chapter8 얼굴 이미지"까지로 이루어져 있고,
"Part3 흥미로운 GAN 기법"에서는 조금 더 고급스러운(?)
'Chapter9 합성곱 GAN', 'Chapter10 조건부 GAN'에 대해서 설명해주고 있다.
[ My Opinion is ... ]
아직 이 책의 끝까지 공부해보지는 못했지만 지금까지 공부하면서 느낀 점을 적어보면...
책이 나름 친절하고 쉽게 설명해주고자 노력했지만,
그렇다고 해서 Machine Learning이 뭔지도 공부하지 않은 상태에서 접하기에는 어려울 수 밖에 없다.
또한 책에서 심심찮게 보이는 "신경망 첫걸음에서 뭐뭐를 해봤었다"와 같이
이 책을 보기 전에 "신경망 철걸음"을 보고와야 되는 것처럼 되어 있는 점은 조금 아쉬웠다.
하지만,
최소한 "Machine Learning"에 대해서 조금이라도 공부를 해보신 분이라면
GAN에 대해서 공부하기 위해 이 책을 추천할 수 있을 것 같다.
어려운 수학 공식에 대한 설명 보다는
구글 코랩에서 PyTorch를 직접 구현해보며 공부할 수 있다는 점은 정말 좋았다.
직접 해보면서 공부하는 것을 좋아하시는 분에게는 정말 정말 적극 추천한다!!!
※ 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.