본문 바로가기

도서,강의 리뷰

GANs IN ACTION 서평

 

GAN은 딥러닝을 공부하는 사람이라면 자연스럽게 배워야만 하는 영역입니다. 적대적 신경망이라고도 하는 이 모델은 굉장히 특별합니다. GAN(Generative Adversarial Network)은 비지도 학습에 사용되는 인공지능 알고리즘이며, 제로섬 게임 틀 안에서 서로 경쟁하는 두 개의 신경 네트워크 시스템에 의해 구현된다. 이러한 GAN을 본떠서 만든 최신 NLP 모델은 electra 가 있는데, 자연어처리 쪽에서는 bert, gpt 랑 같이 올해 많은 관심을 받은 모델 중 하나입니다. 

여하튼 GAN은 이상적인 모델이라고 할 수 있는데 자세한 건 책을 통해서 이해하면 좋습니다. 우선, 이 책은 박해선 역자님이 쓰신 책인만큼 번역에 이상하게 느껴지거나 불편한 점은 없습니다. 주의할 사항은 "GAN in Action"의 대상 독자는 머신러닝과 신경망을 다뤄본 경험이 있는 사람을 대상으로 한다고 합니다. GAN 자체가 신경망이나 머신러닝을 다루지 않고는 접근하기 어려운 부분이기 때문에 당연하다는 생각도 들었습니다. 여러가지 상세 조건들이 많은데요. 
저자가 말하는 이 책의 대상 독자는 아래의 조건들을 충족한 사람입니다. 


1. 중급 이상의 파이썬 프로그램을 만들 수 있는 능력
2. 객체지향 프로그래밍에 대한 이해, 객체를 다루는 방법, 속성, 메서드에 대한 이해
3. 훈련/테스트 데이터셋 분리, 과대적합, 가중치, 하이퍼파라미터 등 머신러닝 기초 
4. 확률, 밀도 함수, 확률 분포, 미분, 간단한 최적화 등과 같은 기초 통계학과 미적분학
5. 행렬, 고차원 공간, (이상적으로는) 주성분 분석 같은 선형 대수에 대한 기초
6. 피드포워드 신경망, 가중치와 편향, 활성화 함수, 규제, 확률적 경사 하강법 등 딥러닝 기초
7. 케라스 조금이라도 써본 경험 혹은 따로 학습할 의지

이 모두를 다 만족한 사람은 많지 않을거고 부분부분 만족하고 있을거고 채워가고 있을겁니다. 저 역시 마찬가지입니다. 
그래도 이왕이면 1,6,7 3가지는 만족해주는게 최소한의 조건이라고 생각합니다. 책에 대한 난이도는 있는 편이니 파이썬과 딥러닝에 대한 기반이 약한 분들은 좀 더 공부한 뒤 이 책을 접하시길 권하고 싶습니다. 

이 책은 GAN 만을 다루기에 다양한 GAN에 대한 소개와 설명이 있습니다. 챕터별로 이를 접할 수 있고, 컬러로된 그림과 핵심 코드 블록은 책을 읽기 더 수월하게 해줍니다. 개인적으로 5장에서 GAN 훈련의 어려움과 노하우를 다루는데 중요하다고 생각하는 부분입니다. 딥러닝은 항상 뭐든지 다 해결해줄 것 같지만, 현실에 모델이 적용되려면 많은 문제들이 따르는데 이에 대해 잘 설명해주고 있습니다.


GAN에 대한 이론 체계를 갖춰주는데 이만한 기본서는 없다고 생각됩니다. GAN에 흥미가 있는 분들에게는 정말 좋은 책이라고 생각됩니다. 
그리고 마지막으로 GAN 에 대한 상세한 내용들은 구글링을 통해 다른 학습 자료들을 많이 접해야 합니다. 이 책은 전체 흐름을 파악하는데 중점을 두기 때문입니다.(책이 두껍지 않은 이유는 그런 이유때문이죠.) 이후에 GAN 부분부분 관련 논문이나 관련 오픈소스, 연구자료들은 찾아서 공부하면 될 것 같습니다.


- 한빛미디어로부터 책을 지원 받아 작성 된 리뷰 입니다.