GAN 첫걸음 - 파이토치 신경망 입문부터 연예인 얼굴 생성까지
타리크 라시드 지음, 고락윤 옮김 / 한빛미디어 / 2021년 3월
평점 :
절판


지난 IT 교육 내 팀 프로젝트로 ‘CNN’을 다루면서 신경망에 대한 관심이 부쩍 늘었다. 물론 하나도 제대로 못 다루는 나지만, 여기저기 호기심이 생기는 건 어쩔 수 없는 노릇. 흥미가 꺼지기 전에 궁금했던 GAN에 손을 댔다.


제목 그대로 생성적 적대 신경망(Generative Adversarial Network)의 기초 개념을 잡기에 좋다. 더불어 내 경우에 무지성으로 그냥 사용했던 활성 함수나 손실 함수에 대한 지식도 배울 수 있었다. 예를 들면, 레이어층 쌓은 후 무조건 ReLU를 사용했다. 그냥 그러려니 싶었던 것. 그것이 기울기를 유지하기 위함인 줄은 전혀 몰랐다. 또, 이진 분류일 때는 손실 함수를 Binary Cross Entropy를 썼다. 단순히 Binary가 들어가서 이진 분류에 사용한 것이다. 결과적으로는 잘한 선택이었지만, 내 무지함에 참 부끄러워졌다. Binary Cross Entropy는 정답이 아닌 것에 벌점을 더 부과하여 정확도를 높인다고 한다.


책의 코드를 따라가면서 학습 결과를 보는 것도 재밌었다. MNIST는 그저 그랬지만, CelebA 자료를 사용한 GAN은 흥미진진했다. Epochs에 따라 점점 선명해지는 게 마냥 신기했다. 


처음에는 그냥 도트 같더니 최종적으로 배운 코드에서는 얼추 사람의 형태가 나타났다. 그럼에도 한참 부족한 부분이 많지만. 더 학습시키면 결과가 나아질지 모르나, 시간이 너무 오래 걸리고 내 노트북이 힘들어해서 포기했다. 8 epochs 돌리는 데 5시간 23분이 걸리니 말 다했지. ‘기계 학습’ 때마다 좋은 하드웨어에 대한 갈망이 점점 커진다.


GAN에 대해 찍먹하기에 괜찮았다. 하지만 모르는 용어도 꽤 많아서 저자의 전작인 『신경망 첫걸음』도 한 번 볼 예정이다. 신경망에 대한 이해도가 높아졌으면 좋겠다.


댓글(0) 먼댓글(0) 좋아요(3)
좋아요
북마크하기찜하기 thankstoThanksTo