myjar***
2019-06-07

이 책은 『밑바닥부터 시작하는 딥러닝』에서 다루지 못했던 순환 신경망(RNN)을 자연어 처리와 시계열 데이터 처리에 사용하는 딥러닝 기술에 초점을 맞춰 살펴본다. 8장 구성으로 전체를 하나의 이야기처럼 순서대로 읽도록 꾸몄다. 전편에서 배운 내용을 요약한 신경망 복습을 첫 장에 배치하여 신경망과 파이썬 지식을 어느 정도 갖춘 분이라면 전편을 읽지 않아도 무리 없이 따라올 수 있도록 배려했다.
딥러닝은 몇 년전부터 관심이 있었던 분야였다. 그래서 다른 사람이 먼저 시작하긴 했지만 회사 내 스터디도 참가하여 텐서플로우를 이용한 딥러닝도 다뤄보면서 공부하곤 했었다. 그러다가 바쁜 업무와 온갖 핑계로 인해 딥러닝과는 잠시 멀어져 있었다. 그리고 기회가 주어져 이 책을 만나게 되었다.
밑바닥부터 시작하는 딥러닝 2
전편이 있는 서적인데, 전편을 읽어보진 못했지만 2편으로도 나에게는 다시 딥러닝을 살펴볼 수 있는 좋은 기회가 주어졌다. 저자는 이 책을 누구를 위한 책이 아닌가를 지향하는 책이라고 얘기한다. 그저 밑바닥부터 차근차근 공부하는 딥러닝책이라고만 설명한다.
이 책에서는 다루지 않는 부분이 많다.
딥러닝 분야의 최신 연구에 대해서는 자세히 다루지 않는다.
카페, 텐서플로, 체이너 등 딥러닝 프레임워크 사용법은 설명하지 않는다.
딥러닝 이론을 아주 상세한 수준까지는 담지 않는다.
자연어 처리를 주로 다루고, 영상, 음성, 강화 학습 등의 주제는 다루지 않는다.
이 책에서는 요즘 핫한 분야인 영상, 음성, 강화 학습에 대해 다루지 않고, 자연어 처리를 다룬다. 그 점이 나에겐 오히려 좋은 점으로 다가왔다. 딥러닝을 잘 모를뿐더러, 밑바닥부터 차근차근 배우려면 조금 쉬운 예제가 필요했기 때문이다.
예제 소스는 python3 로 작성되어 있고, GitHub 저장소에서 소스 코드를 받을 수 있다.
https://github.com/WegraLee/deep-learning-from-scratch-2
numpy와 matplotlib를 제외하고 외부 라이브러리는 사용하지 않고 딥러닝의 밑바닥부터 구현하는 것이 목표라고 한다. 외부 라이브러리를 사용하면 코드 작성은 편해지겠지만 원리를 잘 이해하지 못하는 경우가 많다. 맨땅에 헤딩하는 것 같지만 기초부터 차근차근 접근하는 방식이 마음에 든다.
이 책은 밑바닥부터 시작하는 딥러닝 2편이기 때문에 전편에 이어 딥러닝의 가능성을 한층더 깊이 다룰 것이라고 소개한다.
1장은 전편의 요약으로 시작한다. 수학과 파이썬 그리고 신경망의 복습을 담고 있다. 수학 공식과 파이썬 코드가 독자들을 어렵게 하지만 밑바닥부터 하려면 이정도는 해줘야 딥러닝을 한다고 할 수 있겠다.
2장에서는 시소러스를 이용한 자연어와 단어의 분산 표현, 3, 4장에서는 ord2vec 그리고 순환신경망(RNN) 등 자연어 처리에 대한 딥러닝을 차례대로 학습할 수 있는 내용이 담겨있다.
책을 여러번 보고 있지만 수학공식은 여전히 눈에 잘 들어오지 않는다. 오히려 파이썬 코드만 눈에 잘 들어온다. GitHub에서 소스도 다운받아 예제 하나씩 돌려보고 있는데, 순환신경망(RNN)을 제대로 이해하는게 제일 중요한 것 같다.
RNN을 이용하여 언어 모델을 만들고 이를 구현함으로써 자연어 처리관련 다양한 어플리케이션에 응용할 수 있기 때문이다. 특히 마지막장의 어텐션 구조를 활용한 연구는 활용폭도 넓고, 최근 연구에도 많이 활용된다고 하니 다시 한번 주목할 필요가 있다고 생각한다.
오랜만에 수학공식을 보니 혼란스럽긴한데, 딥러닝에 발을 들인 이상 내 것으로 만들기 위해 밑바닥부터 차근차근 다시 해보려한다.
한빛출판사의 나는 리뷰어다 활동을 통해 도서를 제공받아 작성한 리뷰입니다
#밑바닥부터시작하는딥러닝2 #딥러닝 #나는리뷰어다 #한빛미디어