현재까지 나온 Pytorch 서적 중 가장 많은 예제를 담고 있다.
예제를 이해하기 위한 ‘코드 설명’은 있으나 ‘사전지식’ 설명은 거의 없음.
Pythonic한 설계가 가능하다는 Pytorch의 장점을 충실히 따랐으나,
객체지향 - 모듈화에 익숙하지 않거나 / 예제를 위한 사전지식 이해가 없으면
코드를 따라 쳐보는 수준을 넘어 코드를 ‘이해’하기에는 쉽지 않다.
“제이펍 출판사에서 진행한 서평 이벤트에 당첨되어 도서를 제공받은 뒤 작성한 글입니다.”
Pytorch는 tensorflow, keras와 같은 딥러닝 라이브러리다. 구글 주도로 만들어진 tensorflow와 tensorflow의 high-level API인 Keras와 달리 Pytorch는 페이스북의 주도로 만들어졌다. 빠른 속도로 tensorflow의 시장점유율을 추격하고 있는 라이브러리로, Pythonic하게 개발이 가능하다는 장점이 특징이다.
한국어로 된 Pytorch 학습 소스는 그동안 거의 없었다. 경쟁언어 케라스의 경우는 ‘바이블’급 도서인 ‘케라스 창시자에게 배우는 딥러닝’이 있다는 걸 감안하면 Pytorch 한국어 학습환경은 열악한 편이다. Pytorch 프레임워크에 대해서도, pytorch 언어로 작성한 딥러닝 코드를 설명하는 서적도 많지 않다.
이 책은 최소한 지금까지 나온 Pytorch 서적 중에서는 가장 많은 예제를 담고 있다.
DataLoader로 학습 데이터셋 모듈 만들기
<CNN>
마르고 닳도록 우려진 손글씨 MNIST 대신 Fashin MNIST를 사용한 CNN 예제
Transfer Learning
CNN기반 이미지 해상도 향상 모델
DCGAN 모델로 이미지 생성
<RNN>
IMDB 데이터를 활용한 RNN 문장 분류
셰익스피어 dataset 활용해 RNN으로 문장 생성
Encoder-Decoder 모델 사용한 기계번역
MovieLen 데이터 활용한 추천 시스템 (Pytorch 활용 행렬 인수분해)
Flask 활용해 웹 API화하기
Docker 이용한 배포, ONNX 써서 Caffe2 프레임워크에서 사용하기
이전까지의 한글 서적이 CNN, AutoEncoder, DCGAN 정도 다루던 걸 감안하면, ONNX와 Caffe2를 사용하는 방법까지 다루었기 때문에 현재까지는 가장 예제가 많고 다양한 책이라고 볼 수 있다.
다만, 초심자가 읽기에는 진입장벽이 높은 편이다.
‘대상 독자의 사전지식’ 부분에서 독자가 이미 알고 있는 지식으로
기초 리눅스 명령어
기초 Python 프로그래밍 경험
함수, 미분, 벡터, 행렬 곱셈 등 기초적인 수학 지식
(알면 좋은) Numpy 사용경험
(가능하면) 클라우드상에 가상머신 생성
다섯 가지를 꼽았다.
하지만 직접 읽어본 입장에서, 독자가 이 책을 온전히 이해하기 위해 필요한 지식은
Python으로 객체 프로그래밍을 해 봤고, 모듈화 작업을 해 본 사용자. 이 책이 전제하는 Python 프로그래밍 경험은 ‘객체지향 언어’의 기능을 활용해서 파이썬 프로그래밍을 해 본 경험을 말한다. 객체지향에 대한 이해 없이 단순히 ‘Python을 써 봤다, 라이브러리를 써서 작업을 해 본 적 있다’정도로는 예제코드의 구조를 제대로 이해하지 못할 수 있다.
cs231n이나, 최소한 ‘모두의 딥러닝’은 들어 봐서 딥러닝 기초는 이해한 사용자. CNN의 원리나 Backpropagation 등의 설명도 극히 간소화되어 있으며, LSTM에 대한 설명은 물론 RNN에서 텍스트 작업을 할 때 사용하는 “단어 Embedding” 에 대한 설명도 없다. RNN 텍스트 작업에서 Embedding Layer를 사용하는데, Embedding Layer를 이해하기 위한 기본 지식 설명이 없는 것. 즉 이걸 모른다고 이 책이 설명해 주는 게 아니라는 의미다.
즉, 객체지향적으로 모듈화된 코드인데다 예시를 이해할 수 있는 배경지식에 대한 설명이 거의 없다. 따라서 초심자가 처음 입문하기에는 친절한 서적이 아니며, 미리 다른 소스를 사용해서 딥러닝 공부를 어느 정도 한 뒤에 접해야 한다.
개인적으로는, 초심자가 현재 시점에서 Pytorch를 배우고 싶다면 이 책과 함께 ‘케라스 창시자에게 배우는 딥러닝’ 서적을 같이 보는 걸 추천한다. ‘케라스 창시자에게 배우는 딥러닝’이 현재까지의 한국어 서적 중에서는 기초 개념을 쉽게 설명하면서도 라이브러리에 바로 적용할 수 있는 실전형 설명을 담고 있다. Pytorch던 Keras던 라이브러리 함수 차원에서는 문법이 크게 다르지 않기 때문에 코드 이해에는 별 무리가 없고, ‘파이토치 첫걸음’에서 부족한 개념설명을 보충할 수 있다.
|
'세줄요약 독서' 카테고리의 다른 글
인공지능을 위한 수학 (3) | 2019.07.02 |
---|---|
부의 감각 (0) | 2019.06.25 |
대한민국 주식 경제학 (0) | 2019.05.14 |
지정학의 포로들 (0) | 2019.04.30 |
카오스 멍키 (0) | 2019.03.02 |