[리뷰] 모두의 딥러닝(개정2판)



개요

본 리뷰는 길벗 출판사 "모두의 딥러닝(조태호 저)"을 읽고 얻은 지식을 정리한 글입니다.

시간이 많지 않은 독자분들을 위하여 (요약소개)


본 도서를 한마디로 표현하자면 최고의 가성비를 자랑하는 딥러닝 교재이다. 장점을 아래와 같이 간략히 요약해보았다.

  • 본 개정판에서 달라진 점
    • 딥러닝 기법 중 NLP, GAN, 오토인코더, 전이학습, 딥러닝 기초수학 등의 내용이 추가되었다.
    • 실습환경 또한 텐서플로 2.0 기반으로 진행하며 Google Colab 및 Pycharm에서의 실습 방법이 안내된다.
  • 직관적인 시각 자료를 활용한 핵심만 간추린 설명이 최고의 백미이다. 아래 챕터에 시그모이드 함수, 로지스틱 회귀, XOR 문제를 예로 들었다.

  • 표지가 가벼워보인다고 내용까지 가벼운 것은 아니다. 딥러닝을 학습하고 싶은 분이라면 이 책을 가장 먼저 읽으시길 강력히 추천한다.

본 도서는 VGG16 모델을 전이학습에 적용하여 MRI 뇌 사진으로 치매 환자를 예측하는 모델을 필두고 23가지의 다양한 예제로 이루어져있다. 예제를 실습하며 초보자가 가장 어려워하거나 실수할 만한 내용들을 꼼꼼하게 풀어준다. 단언컨데 가장 적은 시간에 가장 많은 효과를 얻으실 수 있다.

보다 자세한 정보가 필요하시다면 이어지는 챕터를 계속 읽어주시기 바란다.

개정판에서 달라진 점


본 서적은 초판이 발행되자마자 AI분야 베스트셀러로 등극한 유명한 책이다. 때문에 초판의 좋은 기억을 갖고 계신 분들이 많을 것 같아 개정판에서 달라진 내용들을 먼저 소개하고자 한다.

초판을 읽었을 때 약간 아쉬웠던 점이 보강되었다. 기존에 [다섯째마당] 딥러닝의 활용편이 CNN과 RNN만 소개되어서 약간 빈약하다는 생각이 들었기 때문이다. 하지만 초판이 2017년에 발간되었으므로 당시에는 빈약한 내용이 아니었고 또 필자가 이 책을 늦게 만났던 것도 한 몫했다.

본 도서의 독특한 구성인 직관적인 시각적 자료를 이용한 핵심만 간추린 명쾌한 설명이 NLP같은 다른 주제나 GAN이나 전이학습 같은 어려운 주제도 설명해주길 바랬기 때문이다. 그런데 이번 개정판에 드디어 등장하게 되었다! 추가된 내용을 아래와 같이 간단히 요약해본다.

  • 딥러닝을 이용한 자연어처리(17장)
    • “해보지 않으면 해낼 수 없다”과 같은 간단한 문장을 예로들어 토큰화, BoW, 원-핫 인코딩, 단어임베딩의 핵심을 다룬다.
    • 이를 토대로 짧은 리뷰들을 이용하여 영화 리뷰가 긍정인지 부정인지 예측하는 모델을 만든다.
  • 세상에 없는 얼굴 GAN, 오토인코더(19장)
    • 정말 짧은 지면에 GAN의 거의 모든것을 언급하고 핵심을 잘 전달해준다.
    • 실습 예제로는 MNIST에 존재하지 않는 MNIST와 유사한 이미지를 생성하는데 예제 선택이 정말 탁월했다고 생각한다. MNIST는 매우 쉬운 예제이고 누구나 한번쯤 다뤄봤을만한 예제이기에 GAN의 핵심을 이해하기 순조로웠다.
    • 마찬가지로 오토인코더의 실습도 MNIST로 진행한다.
    • 처음부터 방대한 DNN의 여러 주제를 이 도서로 시작할 수 있다면 행운일 것이다. 예를 들어 GAN 모델을 처음 배울 때 이미지의 크기를 축소하는 MaxPooling2D와 반대로 크기를 늘리는 UpSampling2D를 왜 비대칭으로 사용하는지 굉장히 혼동되었는데 이렇듯 초보자들이 헤매이는 부분을 꼼꼼히 다잡아준다.
  • 전이학습을 통해 딥러닝의 성능 극대화하기(20장)
    • 전이학습은 기존의 이미지에서 학습한 정보를 가져와 새로운 모델에 활용하는 기법인데 최근 매우 핫한 기법이다.
    • 먼저 ImageDataGenerator()를 활용하여 이미지 전처리를 매우 쉽게 처리하는 방법에 대해 알려준다.
    • 이어서 MRI 단면 이미지를 활용하여 치매환자인지를 예측하는 모델을 만든다.
    • 한단계 더 나아가 전이학습 기법을 활용해 정확도를 92.6%에서 100%로 끌어올린다. 전이학습의 모델로 기존에 학습된 VGG16을 활용하며 전이학습을 이렇게 쉽게 가르쳐준다는 것에 적잖이 놀랐다.
    • 전이학습
  • 기초수학과 텐서플로 2.0
    • 수포자를 위한 정말 쉬운 기초 수학 챕터가 추가되었다.(일차함수부터 편미분, 지수/로그 함수에서 시그모이드 함수까지 다룬다.)
    • 본 도서의 실습 예제는 최근에 출시된 텐서플로 2.0 기반으로 실습을 진행할 수 있어 더욱 유익하다.
    • 더불어 Google Colab 및 Pycharm에서 실습하는 방법도 부록에 안내되어있어 독자층을 넓혔다.
    • 한가지 아쉬운 점은 초판에서 확률적 경사하강법부터 Adam 알고리즘에 이르기까지 경사하강법의 변천사를 정리한 부록 부분이 빠졌다는 점인데 아마도 학술적인 내용에 가깝다보니 보다 쉬운 구성을 위해 사라진 듯 하다.

직관적인 시각 자료를 활용한 핵심만 간추린 설명!


이 책의 장점은 한두가지가 아니지만 그 중에서도 최고를 꼽으라면 직관적인 시각적 자료를 이용한 핵심만 간추린 명쾌한 설명을 꼽고 싶다. 시그모이드 함수로 예를 들어보겠다.

딥러닝을 학습하는 초보자들의 첫번째 관문은 아마 시그모이드 함수가 아닐까 싶다. 선형회귀에서 다루는 1차 방정식은 수식 자체도 너무 간단하고 도식화 했을때도 좌표상의 직선만 보이기 때문에 수식 좀 등장해도 절대 쫄지 않는다.

그 뒤로 손실함수를 통한 최적화에 2차함수 등이 등장하긴 하지만 딥러닝을 포기하고 싶을 정도는 아니다. 하지만 분류를 위한 로지스틱 회귀가 등장하면 얘기가 조금 달라진다. 일단 수식부터 자연상수 e가 등장하고 우리는 고등학교 시절의 수학이 잘 기억은 나지 않지만 자연상수 e가 등장하면서 헬게이트가 얼렸다는 사실은 대부분 기억한다. 한술 더 떠 e의 지수에 선형회귀 때 살폈던 1차 방정식이 턱하니 올라가있다. 형이 왜 거기서 나와? 슬슬 괴로워진다.

1차 방정식이 지수로 가면 무슨 결과가 나오고 왜 저렇게 써야하며 도대체 저 함수는 어떻게 생겼을까? 많은 의문과 딥러닝 포기 경보가 울릴 때 즈음 앞서 언급한 직관적인 시각 자료가 딥러닝 생명연장의 꿈에 한발 다가가게 해준다.

길게 설명할 것도 없이 아래 그림을 보자. 시그모이드 함수1 시그모이드 함수2

그림을 보면 e의 지수로 있던 1차 방정식의 의미를 쉽게 직관적으로 파악할 수 있다. a의 기울기가 변하면 그래프가 어떤 모양을 가지는지, 절편 b가 변하면 그래프가 어떻게 변하는지 아주 쉽게 이해할 수 있다.

하나 더 예를 들어 보자. 로지스틱 회귀를 이해하기 쉽게 로그함수를 대칭, 이동 등으로 변형한 두 함수를 시각적으로 확인할 수 있다. 이로 인해 도출되는 공식뿐만 아니라 오즈비 등 로지스틱 회귀의 특성을 쉽게 파악할 수 있다. 로지스틱 회귀

선형 방정식이 해결하지 못하는 XOR 문제를 딥러닝이 해결하는 방식을 시각적으로 표현한 것 또한 예술이다. XOR문제

이 예들은 지극히 일례일 뿐으로 책의 모든 페이지에 걸쳐 직관적인 시각자료와 핵심만 다루는 설명이 가득차 있어 인상적이었다.

표지가 가벼워보인다고 내용까지 가벼운 것은 아니다.


사실 우리에게는 AI, 딥러닝하면 왠지 좀 어려워야 하고 근엄하고 엄숙한 느낌(?)이 나야 한다는 선입견이 있다. 필자도 마찬가지였다. 때문에 사실 이 모두의 딥러닝이란 책을 꽤 늦게 집어들게 되었다. 왜냐면 표지가 너무 아동틱(?)했기 때문이다. 이제 제법 머신러닝과 딥러닝 공부 좀 했는데 왠지 이 책을 읽으면 다 알고 있는 것을 답습한다는 느낌이 들어서였다.

필자가 바둑을 좋아하는데 바둑에서는 하수랑 두면 실력이 줄어든다는 표현을 종종한다. 그런 느낌이었을까? 이상하게 손이 가지 않았다.

그런데 우연히 와이프도 딥러닝을 학습하고 싶다고 해서 마땅한 교재를 찾던 중에 본 도서를 집어들게 되었다. 왠지 표지만 봐도 우리 아들도 따라할 수 있을것 같은 느낌! 서점에서 책을 대충 훑어보니 일단 그림이 많았고 더불어 아이들 참고서에서 볼 수 있을듯한 구성에 이거구나!하고 집어들게 되었다. 그런데 왠일인가? 생각보다 깊은 내용에 범위는 굉장히 방대했고 기초부터 탄탄히 잡아주는 구성에 감탄했다.

더욱 자세히 살펴보니 인디애나대학교 의과대학 현직 교수님이 직접 저술하신 책이었고 내용도 딥러닝의 다양한 기술과 연구 성과의 핵심을 모두 담고 있었다. 지금까지 AI관련 된 책은 족히 30권은 넘게 읽은것 같은데 이렇게 쉬운 구성은 보질 못했다.

더욱이 이 다양한 분야의 예제를 이렇게 빨리 구현할 수 있고 큰 줄기를 빨리 파악할 수 있었더라면 AI분야 중 어떤 기술에 조금 더 집중했을지 파악하는데 큰 도움이 되었을 것이다. 먼저 읽었던 30여권의 책의 좋은 네비게이션이 되어 학습 시너지가 크게 올라갔을 것 또한 두말할 나위 없다. 처음부터 이 책으로 시작하지 못한 것에 배가 많이 아팠던.. 내게는 조금 묘한책이다.

이것으로 책에 대한 소개를 마칠까 한다. 딥러닝에 관심이 있는 분이라면 누구든 좋다. 책을 읽어나가는 족족 딥러닝 학습의 최고 가성비를 느끼실 수 있을것이다.

누가 읽어야 하는가?


  • AI에 흥미가 생긴 학생 및 모든 분.
  • 딥러닝을 처음으로 접하는 모든 분.
  • 그 외 딥러닝 난이도의 벽에 막혀 마지막으로 딱 한번 더 도전하고 싶은 분.

책의 구성 및 요약


이 책은 크게 세부분으로 구성되며, 각 파트에서 다루는 내용을 아래와 같이 요약해 보았다.

  • 1. 신경망과 딥러닝의 개요 (첫째마당 ~ 셋째마당)
    • 폐암 수술 환자의 생존 예측을 기본으로 한 딥러닝의 개요 살피기
    • 딥러닝을 위한 기초수학
    • 선형회귀, 경사하강법, 로지스틱 회귀, 다층 퍼셉트론, 오차역전파 등 딥러닝의 핵심 개념
  • 2. 딥러닝 기본기 다지기 (넷째마당)
    • 모델설계, 데이터 가공, 다중분류, 과적합 등
  • 3. 딥러닝의 활용 (다섯째마당)
    • CNN, NLP, RNN, GAN, 오토인코더, 전이학습 등
    • 부록 : 오파역전파 계산법, XOR구현, Google Colab 및 Pycharm 구동법 등





© 2020.05. by jaoneol

Powered by theorydb