딥러닝 프레임워크는 TensorFlow, Caffe, Keras 등 여러 프레임워크가 있다. 이 책은 제목 그대로 파이토치를 사용하여 딥러닝을 개발할 수 있는 방법에 대해 소개한다. 필자는 주로 Colab 개발환경에서 TensorFlow를 사용하여 딥러닝 훈련을 하고 있다. TensorFlow 를 사용하다 보면 버전 별로 Deprecated 된 api 나 변경 사항 때문에 일부 소스가 동작하지 않는 경우가 있는데 파이토치는 이런 면에서는 관리가 잘되어 있어서 편리하다는 것을 느낄 수 있었다.
해당 책은 이미지 처리를 위한 CNN, 시계열 분석을 위한 LSTM, 단어 임베딩을 위한 CBOW, 강화학습 및 Gan 등 현재 많이 사용되는 모든 딥러닝 모델에 대해 정리되어 있어 딥러닝 베이스를 학습할 수 있다는 장점이 있다. 처음 딥러닝을 공부할 때 수학적인 지식이 부족하여 포기하는 경우가 많지만 해당 책은 수학 관련된 내용은 깊이 있게 설명하지는 않는다. 딱 딥러닝을 할 수 있는 최소한의 지식으로 설명되어 있다.
마지막으로 모든 딥러닝 관련 서적들이 같은 공통사항인데 최신논문이 반영이 바로 되지 않는다는 문제점이 있다. 실제로 논문이 나오고 책에 까지 반영이 되려면 최소 6개월에서 1년 사이의 시간이 걸린다. 해당 책으로 기본 이론 베이스를 쌓고 좀 더 깊이 알아보려면 특정 딥러닝 분야에 전문서를 보거나 논문을 보는 것을 추천한다.
1장 머신러닝과 딥러닝 - 머신러닝과 딥러닝에 각각의 대한 차이와 대략적인 개념에 대해서 정리되어 있다.
2장 실습환경 설정과 파이토치 기초 - 파이토치를 실습할 수 있는 환경 구성과 파이토치 엔진에 아키텍처를 설명한다. 또한 파이토치 기초문법을 알려주는데 파이썬에 익숙하다면 쉽게 이해할 수 있다. 파이토치로 모델을 만드는 방법이 케라스와 유사하다. 실습 환경은 아나콘다로 가상 환경을 만들어 텐서 보드를 활용하여 모델을 만들고 데이터를 분석 및 평가하는 방법을 코드와 실습을 할 수 있도록 설명되어 있다.
3장 머신 러닝 핵심 알고리즘 - 머신러닝에서 자주 사용하거나 기초인 알고리즘을 설명하며 크게는 지도 학습 및 비지도 학습을 설명한다. KNN, SVM, 결정트리, 랜덤 포레스트, 로직스트회귀, K-Mean, PCA 등 작은 예시를 통하여 해당 알고리즘을 실습할 수 있다.
4장 딥러닝 시작 - 딥러닝의 탄생배경과 기존의 인공신경망에서 개선된 점을 소개한다. 딥러닝의 네트워크층의 구조와 층마다의 역할을 설명하며 딥러닝에서 흔히 볼 수 있는 문제인 과적합 문제에 원인과 성능이 나빠지는 문제에 대해서 해결안을 제시한다. 물론 이 해결안이 항상 정답은 아니다. 여러 모델을 만들어 보면서 경험을 쌓아야 한다.
5장 합성곱 신경망 1 - 이미지나 영상을 처리할때 유용한 합성곱 신경망(CNN)에 대해서 네트워크 구조와 각 층, 합성곱 층, 풀링층, 완전 연결 층, 출력층에 대해서 역할과 각층의 구조를 변경했을 때 나온 결과에 대해서 설명한다.
6장 합성곱 신경망 2 - 5장은 기본 CNN에 구조를 설명했다면 6장에서는 이미지 분류, 객체인식, 이미지 분할을 위한 신경망을 현재 사용하는 유명한 네트워크로 소개 한다. Lanet-5, AlexNet, R-CNN 등 해당 챕터의 신경망은 논문으로 나온 내용들이 많으니 좀 더 깊게 보려면 논문을 참고하는 것을 추천한다.
7장 시계열 분석 - 시간에 따라 변하는 데이터에 대해서 설명하며 RNN(순환 신경망)의 구조에 대해 설명하고 다른 장처럼 실습을 할 수 있는 코드가 주어진다.
8장 성능 최적화 - 모델의 성능을 개선하기 위한 여러 방법에 대해서 설명한다. 좋은 알고리즘을 사용하거나 하드웨어 파워(GPU)를 사용하여 모델을 학습 하는 방법과 파라미터 튜닝을 통한 방법을 제시한다.
9장 자연어 처리 - 자연어 처리가 무엇인지에 대하여 소개하고 자연어 처리에 사용한 모델 NLTK, KoNLPy등을 사용 및 실습을 할 수 있다.
10장 자연어 처리를 임베딩 - CBOW, SKIP-GRAM 등의 임베딩 방법에 대해서 설명한다. 자연어 처리를 위한 임베딩 방법을 알고 있다면 언어와 상관없이 단어/문장에 대한 임베딩을 하여 모델을 생성하고 훈련 및 평가 등을 할 수 있다는 것을 알 수 있었다.
이후 챕터는 이론을 설명하며 대표 적인 모델을 설명합니다.
11장은 클러스터링에 대해서 설명하며, 12장은 강화 학습에 대해 설명하며 근간이 된 마르코프 결정 과정과 벨만 방정식을, 13장은 생성 모델에 대해 설명하며 대표적인 모델인 Gan과 이에 파생된 cGan, CycleGan을 소개합니다.
17차 개발자 리뷰어 모집에 선정되어 길벗출판사로부터 책을 제공받았으나,
본 리뷰는 제 주관적인 판단에 따라 작성하였습니다.
구글 엔지니어는 이렇게 일한다 (1) | 2022.06.09 |
---|---|
머신러닝 실무 프로젝트 2판 - 한빛미디어 (0) | 2022.04.26 |
프로그래머의 뇌 - 제이펍 (0) | 2022.04.03 |
고객을 끌어오는 구글 애널리틱스4 (0) | 2022.03.29 |
처음 배우는 딥러닝 챗봇:챗봇 엔진부터 NLP 딥러닝 파이썬 REST API 카카오톡 연동까지 (0) | 2022.03.27 |
댓글 영역