케라스 창시자에게 배우는 딥러닝 본문

Programming

케라스 창시자에게 배우는 딥러닝

halatha 2018. 12. 10. 18:15

총평

기초적인 부분부터 난이도가 있는 부분까지, 이론과 코드를 함께 제공하는 아주 좋은 케라스 입문서

본문

ch. 1, 2는 전반적인 역사 이야기와 소개, 기본 개념, tensor 개념 및 numpy를 이용한 기하학적 설명, gradient descent등을 가능한 수식이 없이 설명하려고 한다. 이 부분에 대해서는 누구나 궁극적으로 수학이 필요하다는 데는 동의하지만, 어느 정도 수준부터 필요한 가에 대해 의견이 나뉘는데, 아직 나는 이런 의견을 이야기할 정도로 지식이 없어서 조심스럽지만, 아무튼 일정 정도까지는 수학적 지식이 부족해도 가능하긴 한 거 같다. 저자는 이런 쪽 의견이어서 좀 더 쉽게 소개를 하기 위해 가능한 수학을 python code로 표현하거나, 적게 사용해 초반을 작성했다.

그 뒤부터는 각 분야(vision, nlp 등)의 기초적인 분야와 예제부터 실습코드와 함께 제공한다. 뒤에서 다시 이야기하겠지만, 로컬에서 설치하는 데 실패해서 colab에서 진행을 했는데, 거의 대부분의 코드를 github에서 제공하고 있기 때문에 따라하기가 매우 편하다.

github 주소만 넣으면 colab에서 바로 실행 가능

다만 이유는 모르겠는데, 7장에 대해서는 코드가 없어서 직접 입력해서 따라해봤다.

후반부에서는 새롭게 추가된 함수형 API나 transfer, GAN등 비교적 최신 모델에 대해서 다루고 딥러닝의 한계나 미래 등을 이야기하며 책을 마무리한다. 부록에서는 다양한 방법을 통해 설치하고 실습할 수 있는 방법을 알려준다.

이 책의 가장 큰 장점은 이론과 코드가 굉장히 균형을 갖췄다는 점으로 보는데, 이 분야에서 최고의 책으로 평가받지만 분명한 이론서인 http://www.deeplearningbook.org은 나 같은 프로그래머에게는 너무 다가가기 어렵고, https://www.packtpub.com/big-data-and-business-intelligence/tensorflow-machine-learning-cookbook와 같은 cookbook은 코드가 있어서 실용적이나 중요한 부분은 이해하기 어려운 경우가 많아서 문제이다. 이런 관점에서 여러 리뷰에서 이 책을 좋은 책으로 평가하고 있다는 생각이 들며, 앞으로 계속 봐야 할 책으로 생각한다.

기타

최근 몇 권의 이 분야 서적들을 리뷰하면서 이제는 로컬에서 해봐야지 했는데, 일단 결론부터 말하면 실패하고 colab에서 진행을 했다. 가지고 있는 하드웨어가 모두 오래되어서 그런지 문제가 발생했는데, 해결하려니 이리저리 꼬였는지 잘 되지도 않았고, 책의 베타 리더들이 쓴 글에서도 나와있듯이 시간이 오래 걸려도 colab으로 실습 진행은 가능하니, 설치 때문에 고생하고 싶지 않은 경우에는 colab에서 해보는 게 좋을 거 같다.

다른 서평을 보면 저자의 설명이 어려워(그래서 역자의 주석도 많고) 이해하기 어렵다는 평이 있다. 개인적으로 이건 성향의 차이라고 생각한다. 어떤 사람은 비유를 들어 설명하는 게 더 쉽게 이해할 수 있지만, 다른 사람은 직접적으로 기초부터 설명해야 더 알기 쉽다고 할 수 있기 때문이다. 또 하나, 다른 분들의 서평은 대개 완전한 입문자에게는 약간 어렵고, 머신/딥러닝은 잘 모르지만 프로그래밍은 익숙한 사람들에게 적합한 책이라는 평이 주류인 거 같다. 때로는 너무 자세한 설명이 입문자를 질리게 할 수 있다는 점은 동의하지만, 어느 정도는 용어라도 알아야 다음 단계를 갈 때 도움이 된다는 점을 생각하면 이렇게 가능한 자세하게 설명하는 책이 결국 독자에게 도움이 된다고 생각한다.

오타에 대한 교정도 역자 블로그에서 제공중이니 가끔 보는 게 좋겠다.


Comments