[ GAN is ... ]
AI가 만든 얼굴이라던지, 오바마 전미국대통령의 fake 영상이라던지 하는 뉴스를 들어보았을 것이다.
이런 것들을 만들어낼 수 있는 가장 대표적인 기술적 배경이 바로 GAN 이다.
아래 영상을 보면 바로 어떤 것인지 알 수 있다.
GAN은 "Generative Adversarial Network"의 줄임말인데, 풀어보면 아래와 같이 말할 수 있다.
- Generative: 생성(Generation) 모델을 이용하여, 진짜 데이터와 같이
- Adversarial: 두 개의 모델을 적대적(Adversarial)으로 경쟁시키며 발전 시키는
- Network: 인공신경망(Artificial Neural Network)
"GAN"은 라벨(정답)이 없는 데이터를 가지고 학습을 하는 비지도학습의 한 유형이다.
GAN에 대한 가장 대표적인 설명은 "위조지폐범"과 "경찰"이다.
위조지폐범(생성모델)은 진짜와 구분이 어렵도록 위조지폐(가짜 데이터)를 계속 생성하고,
경찰(분류모델)은 진짜와 가짜를 계속 분류하면서 50%의 확률 정도가 될 때까지 계속 진행을 하는 방식이다.
[ This book is ... ]
서두가 길었다 ^^
GAN에 대해서 알려주는 괜찮은 책이 이번에 한빛미디어에서 출간되었다.
책의 제목은 "GAN 첫걸음" !!!
예쁜 보라색으로 깔끔한 폰트로 제목이 적혀있는 표지를 갖고 있는 조금 작은 크기(신국판 규격 정도?!)의 책이다.
거기에다가 지금 이 글을 적고 있는 시점에서보면 나온지 얼마 안되는 따끈따끈한 책이다.
이 책의 지은이는 "타리크 라시드"이다.
"타리크 라시드"는 이 책에 앞서서 다른 책을 출간했었다.
신경망 첫걸음 - 타리크 라시드 지음, 송교석 옮김/한빛미디어 |
어떻게 보면 위 책의 다음 2권과 같은 위치에 있는 것이 바로 이 책 "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를 직접 구현해보며 공부할 수 있다는 점은 정말 좋았다.
직접 해보면서 공부하는 것을 좋아하시는 분에게는 정말 정말 적극 추천한다!!!
※ 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.
'Books' 카테고리의 다른 글
[한빛미디어] Learning React (러닝 리액트) 2판 (0) | 2021.07.18 |
---|---|
[한빛미디어] 실전 아파치 카프카 (APACHE KAFKA) (0) | 2021.04.18 |
[한빛미디어] 비즈니스 머신러닝 - 아마존 세이지메이커와 주피터를 활용한 빠르고 효과적인 머신러닝 활용법 (0) | 2021.02.21 |
[제이펍] R을 이용한 퀀트 투자 포트폴리오 만들기 (개정판) (0) | 2021.02.20 |
[제이펍] 15단계로 배우는 도커와 쿠버네티스 (0) | 2021.01.26 |