메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

밑바닥부터 시작하는 딥러닝 2

파이썬으로 직접 구현하며 배우는 순환 신경망과 자연어 처리

한빛미디어

번역서

판매중

  • 저자 : 사이토 고키
  • 번역 : 개앞맵시(이복연)
  • 출간 : 2019-05-01
  • 페이지 : 420 쪽
  • ISBN : 9791162241745
  • 물류코드 :10174
  • 초급 초중급 중급 중고급 고급
4.8점 (21명)
좋아요 : 895

직접 구현하면서 배우는 본격 딥러닝 입문서 

이번에는 순환 신경망과 자연어 처리다! 

 

이 책은 『밑바닥부터 시작하는 딥러닝』에서 다루지 못했던 순환 신경망(RNN)을 자연어 처리와 시계열 데이터 처리에 사용하는 딥러닝 기술에 초점을 맞춰 살펴본다. 8장 구성으로 전체를 하나의 이야기처럼 순서대로 읽도록 꾸몄다. 전편에서 배운 내용을 요약한 신경망 복습을 첫 장에 배치하여 신경망과 파이썬 지식을 어느 정도 갖춘 분이라면 전편을 읽지 않아도 무리 없이 따라올 수 있도록 배려했다.

 

추천사

 

『밑바닥부터 시작하는 딥러닝』에 이어 널리 사용되는 딥러닝 모델을 직접 구현하면서 기본 원리를 체득하는 체험형 입문서입니다. 전편이 딥러닝의 기본 이론을 밑바닥부터 구현할 수 있도록 안내했다면 이번에는 자신만의 딥러닝 프레임워크를 구축할 수 있는 토대를 만들어줍니다. 파이썬과 넘파이의 활용까지 책임지는 훌륭한 지침서입니다. 딥러닝 프레임워크를 연구하는 모든 분께 이 책을 추천합니다. 

- 윤영선, 한남대학교 정보통신공학과 교수

 

머신러닝 라이브러리를 이용하여 딥러닝 분야에 뛰어들게 되면 네트워크의 내부 구조와 디테일한 부분들을 자세하게 알 수 없어 한없이 답답합니다. 이 책은 큰 부분부터 디테일한 부분까지 밑바닥부터 직접 구현해 네트워크에 대한 이해를 돕고, 답답함을 한 방에 날려줍니다. 그동안 국내에 출판된 책들이 RNN 계열이나 자연어 처리 계열을 잘 다루지 않는 것에 비해, 이 책은 기초적인 자연어 처리부터 응용, 심화 과정까지 설명합니다. 자연어 처리 분야에 뛰어들 분들께 추천합니다.

- 박동주, 광주과학기술원 석사과정

 

앞으로 자연어 처리 기본서는 이 책의 전과 후로 나뉠 겁니다. 전편에서와 마찬가지로 직관적이고 논리적으로 설명해주는 부분에서 감탄했습니다. 자연어 처리를 처음 접하는 입문자부터 단순히 프레임워크를 활용해본 경험자까지, 자연어 처리 과정이 어떻게 이루어지는지 알고 싶은 모든 분께 추천합니다. 특히 통계 기반 기법과 추론 기반 기법의 장단점과 차이점을 설명하는 부분이 명쾌해서 내용을 이해하는 데 큰 도움이 되었습니다.

- 성민석, 홍익대학교 컴퓨터공학과 4학년

 

딥러닝을 이용한 자연어 처리의 기본을 밑바닥부터 공부할 수 있습니다. 전편과 마찬가지로 RNN, LSTM, 어텐션 등을 구현하면서 각각의 작동 원리를 쉽게 공부할 수 있습니다. 저는 작년에 일본어판을 먼저 읽어보았는데, 번역 또한 전편과 마찬가지로 아주 좋습니다.

- 김선웅, (주)스캐터랩 머신러닝 엔지니어

 

이 책은 RNN 기반 신경망에 대한 개념을 쉽게 설명해주고, 복잡한 응용 모델들을 그림과 예제를 통해 알려줍니다. 시계열을 공부하는 분, RNN 공부를 시작하는 분께 큰 도움이 될 것입니다.

- 김동성, 삼성 리서치(Samsung Research) 연구원

 

쉽게 풀어쓴 이론과 친절하게 설명한 코드를 따라가다 보면 자연어 처리 분야의 발전 과정을 자연스럽게 이해할 수 있습니다. 딥러닝 기초가 필요한 분은 전편부터 공부하시는 걸 추천합니다.

- 양민혁, 현대모비스 빅데이터팀

 

밑바닥부터 시작하는 딥러닝 2편이 나오다니! 너무나 신납니다. 저처럼 어린 학생들도 자연어 처리에 맞추어 무리 없이 쉽게 이해하며 따라 할 수 있는 책입니다. 저와 같은 어린 학생들이 과연 할 수 있을까 망설이고 있다면, 주저 없이 이 책을 집어 드세요.

- 김경수, 봉일천고등학교 2학년

 

밑바닥부터시작하는딥러닝2_상세이미지_940.jpg

사이토 고키 저자

사이토 고키

1984년 나가사키 현 쓰시마 출생. 도쿄공업대학 공학부를 졸업하고 도쿄대학대학원 학제정보학부 석사 과정을 수료했다. 현재는 기업에서 인공지능 관련 연구·개발에 매진하고 있다. 오라일리재팬에서 『밑바닥부터 시작하는 딥러닝』 시리즈를 집필했으며 『파이썬 인 프랙티스』, 『밑바닥부터 만드는 컴퓨팅 시스템』, 『Building Machine Learning Systems with Python』 등을 일본어로 옮겼다.

 

개앞맵시(이복연) 역자

개앞맵시(이복연)

고려대학교 컴퓨터학과를 졸업하고 삼성전자에서 자바 가상 머신, 바다 플랫폼, 챗온 메신저 서비스 등을 개발했다. 주 업무 외에 분산 빌드, 지속적 통합, 수명주기 관리 도구, 애자일 도입 등 동료 개발자들에게 실질적인 도움을 주는 일에 적극적이었다. 그 후 창업 전선에 뛰어들어 좌충우돌하다가 개발자 커뮤니티에 기여하는 더 나은 방법을 찾아 출판 시장에 뛰어들었다.

『밑바닥부터 시작하는 딥러닝』 시리즈, 『구글 엔지니어는 이렇게 일한다』, 『리팩터링 2판』, 『이펙티브 자바 3판』 등을 번역했다.

개발자들과의 소통 창구로 소소하게 facebook.com/dev.loadmap 페이지를 운영 중이다.

 

CHAPTER 1 신경망 복습

1.1 수학과 파이썬 복습

1.2 신경망의 추론

1.3 신경망의 학습

1.4 신경망으로 문제를 풀다

1.5 계산 고속화

1.6 정리

 

CHAPTER 2 자연어와 단어의 분산 표현

2.1 자연어 처리란

2.2 시소러스

2.3 통계 기반 기법

2.4 통계 기반 기법 개선하기

2.5 정리

 

CHAPTER 3 word2vec

3.1 추론 기반 기법과 신경망

3.2 단순한 word2vec

3.3 학습 데이터 준비

3.4 CBOW 모델 구현

3.5 word2vec 보충

3.6 정리

 

CHAPTER 4 word2vec 속도 개선

4.1 word2vec 개선 ①

4.2 word2vec 개선 ②

4.3 개선판 word2vec 학습

4.4 word2vec 남은 주제

4.5 정리

 

CHAPTER 5 순환 신경망(RNN)

5.1 확률과 언어 모델

5.2 RNN이란

5.3 RNN 구현

5.4 시계열 데이터 처리 계층 구현

5.5 RNNLM 학습과 평가

5.6 정리

 

CHAPTER 6 게이트가 추가된 RNN

6.1 RNN의 문제점

6.2 기울기 소실과 LSTM

6.3 LSTM 구현

6.4 LSTM을 사용한 언어 모델

6.5 RNNLM 추가 개선

6.6 정리

 

CHAPTER 7 RNN을 사용한 문장 생성

7.1 언어 모델을 사용한 문장 생성

7.2 seq2seq

7.3 seq2seq 구현

7.4 seq2seq 개선

7.5 seq2seq를 이용하는 애플리케이션

7.6 정리

 

CHAPTER 8 어텐션

8.1 어텐션의 구조

8.2 어텐션을 갖춘 seq2seq 구현

8.3 어텐션 평가

8.4 어텐션에 관한 남은 이야기

8.5 어텐션 응용

8.6 정리

 

APPENDIX A 시그모이드 함수와 tanh 함수의 미분

A.1 시그모이드 함수

A.2 tanh 함수

A.3 정리

 

APPENDIX B WordNet 맛보기

B.1 NLTK 설치

B.2 WordNet에서 동의어 얻기

B.3 WordNet과 단어 네트워크

B.4 WordNet을 사용한 의미 유사도

 

APPENDIX C GRU

C.1 GRU의 인터페이스

C.2 GRU의 계산 그래프

『밑바닥부터 시작하는 딥러닝』의 명성을 그대로!

이 책은 『밑바닥부터 시작하는 딥러닝』의 속편입니다. 전편에 이어 계속 딥러닝 기술을 다룹니

다. 특히 이번에는 자연어 처리와 시계열 데이터 처리에 초점을 맞춰 딥러닝을 사용해 다양한

문제에 도전합니다. 그리고 전편과 똑같이 ‘밑바닥부터 만든다’는 기치 아래, 딥러닝을 활용한

고급 기술들을 차분히 만끽해갈 것입니다.

 

자연어 처리와 시계열 데이터 처리에 초점을 맞춰!

이 책에서는 자연어 처리와 시계열 데이터 처리에 초점을 맞춰 딥러닝에서 중요한 기술들을 배웁니다. 구체적으로는 word2vec과 RNN, LSTM과 GRU, seq2seq와 어텐션 같은 기술입니다. 이 책은 이 기술들을 가능한 한 쉬운 말로 설명하고 실제로 만들어보면서 확실한 내 것이 되도록 안내합니다.

 

이 책에서 다루는 내용

  • 외부 라이브러리에 의지하지 않고, 밑바닥부터 딥러닝 프로그램을 구현합니다.
  • 『밑바닥부터 시작하는 딥러닝』의 속편으로서 자연어 처리와 시계열 데이터 처리에 사용하는 딥러닝 기술에 초점을 맞춥니다.
  • 실제로 동작하는 파이썬 소스 코드와 독자가 직접 실습해볼 수 있는 학습 환경을 제공합니다.
  • 가능한 한 쉬운 말로, 명확한 그림을 많이 동원하여 설명합니다.
  • 수식도 사용하지만 그 이상으로 소스 코드에 기초한 설명을 중시합니다.
  • ‘ 왜 그 기법이 뛰어난가?’, ‘왜 그 방식이 먹히는가?’, ‘왜 그것이 문제인가?’ 등 ‘왜’를 소중히 합니다.

딥러닝에 대해서 알기 위해서는 기본 필독서! 지인분들이 대부분 이 책을 추천한다.

"밑바닥부터 시작하는 딥러닝" - 사이토 고키​

 

1632968597668.jpg

 

1권을 읽지 않고, 이 책을 바로 읽어서인지?

너무 생소하고, 쉽게 와닿지가 않았다.

 

파이썬에 대해서 기본 문법은 알고 있었지만, 딥러닝에 대해서 알지 못해서인가?​

 

Chap 1. 신경망 복습

기본 내용을 복습하는 과정으로 얼추 따라갈 수 있었다.

 

Chap 2. 자연어와 단어의 분산 표현

자연어 처리의 과정을 소개하고 통계 기반 기법을 다루고 있다.​

 

컴퓨터 입장에서 우리 사람이 표현하는 언어를 어떻게 해석할 것인지?

이를 통해서 자동 입력기, 자동 번역기, 음성 인식 기숙이 이루어 질 수 있을 것인데...

 

이제 본격적인 내용을 다루는 데, 예제 자체도 어떻게 작성을 해서 따라 가야하는지 조금 이해가 안되었다.

 

Chap 3. ~ Chap 4. word2vec 소개 및 속도 개선 방법

자연언어 처리를 위한 word2vec 알고리즘(?)의 개념 소개와 이를 수학적으로 풀어가는 과정

1632968625418.jpg

 

2010년 토마스 미콜로프가 이끄는 연구팀에 의해서 제안되었다는데. word2vec 의 경우도 지속적으로 개선이 이루어지고 있는 듯 하다.

 

이후 순환 신경망(RNN) 인데, 이 부분부터는 내용 이해가 되지 않아서, 잠시 보류 중!

1권을 구해야 할 듯 하다.

 

많은 이해를 위해서는 수학적 지식도 필요할 것 같다.

(선형대수, 행렬, 벡터, ... )

수학적 모델링/해석을 통해서 진행해 가는 과정을 소개하는데, 직접적인 풀이는 좀 어렵다.​

 

딥러닝에 대한 기본 지식을 습득하고 , 신경망(CNN)에 대해서 어느 정도 이해가 된 사람이 이책을 본다면 좋을 듯 하다.

(이론적 바탕을 충분히 쌓을 수 있을 것 같다.)

 

밑바닥 부터 시작하는 딥러닝 1과 마찬가지로 실습에 필요한 소스코드를 git에 공개하고 있다.

공식 깃허브 저장소는 다음과 같다.

https://github.com/WegraLee/deep-learning-from-scratch-2

 

공식 깃허브 저장소에 아래와 같이 스터디/강의를 위해서 수식 및 그림 파일을 추가로 제공하네요.

✅ 2019.07.02 - 책 본문의 수식과 그림 파일들을 모아 공유합니다. 스터디 자료 등을 만드실 때 필요하면 활용하세요.equations_and_figures_2.zip​

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

[도서리뷰] 밑바닥부터 시작하는 딥러닝2(Deep Learning from Scratch 2)

** 이리뷰는 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. **

 

 

 

책 구매를 위해 서평을 찾아보고 있는 분들에게 하고싶은 말이 있다면 밑바닥부터 시작하는 딥러닝 2는 이전편, '밑바닥부터 시작하는 딥러닝'의 개정판이 아니라는 점이다. 전편이 인공 신경망에 대한 자세한 내용을 다뤘다면 밑바닥부터 시작하는 딥러닝 2는 보다 스코프를 좁혀서 '자연어 처리'에 집중하고있다.  서문에서 저자가 이야기 하듯이 전편을 읽지 않았더라도 딥러닝에 대한 이론적 지식이 있다면 이번 책도 무난히 읽을 수 있을 것이다. 그러나 딥러닝에 대한 지식이 없는 사람은 전편을 먼저 읽을것을 추천하고있다.

물론 첫장에서 딥러닝에 필요한 수학적 지식과 파이썬 라이브러리 사용법 등에 대해 가볍게 짚고 넘어가긴 하지만, 기본 지식 없이 이 내용만으로 책을 이해하기는 어렵다. 이책은 텐서플로같은 프레임워크의 사용법을 배우는 책이 아닌, 딥러닝의 이론과 원리에 대해서 좀더 심도있게 다룬다.(저자는 딥러닝 이론을 상세한 수준까진 담지 않았다고 하였으니 본인이 느끼기엔 그랬다.) 

이미 머신러닝 이론에대한 지식이 있으며, 경험도 있는 사람이 자연어 처리에 대해 공부하고싶은경우 이책을 추천한다. 

하지만 머신러닝에 대한 지식도 없는 상황에서 자연어 처리에 대한 관심만으로 공부를 시작하려는 사람이 보기는 조금 어려울 것 이라고 생각된다. 



출처: https://devms.tistory.com/570 [요가하는프로그래머]

한국시간으로 지난 달 20일 공개된 Tesla AI Day에서 그야말로 머신 러닝 기술의 State of the art, 현실 세계에 적용할 수 있는 세계 최고 수준의 딥러닝 기술을 볼 수 있었던 것 같습니다. Spatial RNN(Recurrent Neural Network)을 이용하여 카메라에서 가려진 차량이나 사물도 트레킹 하는 부분에서 이렇게 RNN을 활용하는구나 하고 개인적으로 감탄을 금치 못했습니다.

 

밑바닥부터 시작하는 딥러닝 2는 바로 그 RNN을 주요 내용으로 다루고 있습니다. 이미 유명세를 떨친 전편과 같이 단순히 기존 프레임워크 사용법을 나열하는 것이 아닌 이론과 원리를 그림과 코드로 이해하기 쉽게 설명하고 이를 바탕으로 직접 구현할 수 있도록 내용이 구성되어 있으며, 첫 번째 챕터에서 전편의 내용을 요약한 신경망 전반에 대한 전반적 내용을 컴팩트하게 정리해 두어서 전편을 읽어보지 않았더라도 전편의 내용을 빠르게 복기할 수 있도록 도움을 줍니다. 학술서나 대학교재처럼 너무 딱딱한 서술, 이론과 수식으로만 가득 차 있지도 않고, 너무 실용적인 부분에 치우쳐 단순 프레임워크 사용 설명서로 전락하지도 않은, 밑바닥부터 시작하는 딥러닝 시리즈만의 독자적인 영역을 개척한 느낌입니다.

 

전편 밑바닥부터 시작하는 딥러닝이 그러했듯이, 최근 트랜드에 맞춰 출간된 수많은 딥러닝 관련 서적 중 단연 독보적이라고 할 수 있을 것 같습니다. 딥러닝의 이론적 배경과 원리에 관심이 있으신 분들, 특히 RNN, 자연어 및 시계열 데이터 처리에 관심있으신 분들께 추천 드립니다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

deeplearning_scratch2.jpg

 

 

'밑바닥' 시리즈는 딥러닝을 공부하는 사람이라면 '수학의 정석'같은 도서입니다. 1편과 비슷하게, 외부 라이브러리에 의지하지 않고 직접 구현하는 것이 특징입니다.  

 

특히 `밑바닥부터 시작하는 딥러닝2`은 자연어처리와 시계열 데이터 처리에 초점을 맞춰서 RNN, LSTM, attention을 소개하고 직접 구현해봅니다. 

 

최근에 Hot한 transformer에 대한 내용이 8.5.2장에 살짝 맛보기로 등장합니다. 만약 `밑바닥`4탄이 나온다면 Attention과 transformer 내용이 나오지 않을까? 라고 추측해봅니다. 

 

 

1장은 numpy를 사용한 행렬 복습과 신경망에 대해서 복습합니다. 손실함수, 연쇄법칙, 순전파, 역전파, 노드에 대한 class와 함수를 직접 구현합니다.

 

새롭게 알게된 점은 계산 가속을 위한 '16비트 반정밀도 부동소수점 연산 방법'과 GPU를 사용하는 numpy인 'cupy'입니다. 

 

2장은 말뭉치를 처리하고 단어 사이의 유사도와 차원에 대해 배웁니다. 특히 '통계 기반 기법'으로 행렬에 SVD를 적용하여 단어의 분산 표현을 얻는 방법에 대해 배웁니다. 

 

3장, 4장은 word2vec와 CBOW 모델에 대해 배웁니다. 2장과는 달리 '추론 기반 기법'으로, 특히 자연어 처리는 굉장히 많은 차원의 단어들의 유사도를 가지고 다음에 올 단어를 예측해야 하기 때문에 3장은 핵심 단원이라고 할 수 있습니다. 4장에는 Embedding 계층의 도입과 네거티브 셈플링을 통해 word2vec의 속도 개선을 목표로 하는 작업을 수행합니다. 

 

5장에는 RNN을 배웁니다. 기본적인 RNN의 모델, 계층을 직접 구현하고 테스트해봅니다. RNN에서의 순전파와 역전파를 그림으로 설명합니다. 

 

 

6장에는 LSTM과 GRU에 있는 게이트 구조를 추가한 RNN에 대해서 배웁니다. 시간적으로 멀리 떨어진 장기의존 관계를 잘 학습할 수 있도록 합니다.(RNN의 단점을 개선하려고 합니다.)

 

특히 게이트의 역할을 '물의 흐름을 멈추거나 배출하는 것'으로 비유한 그림이 이해를 도왔습니다. output, input, forget 게이트의 역할과 수식에 대한 설명을 코드와 함께 보여주었습니다. 

 

 

 

7장에는 RNN을 사용해 문장을 생성하는 방법에 대해 배웁니다. 말뭉치를 학습한 언어 모델을 사용해 새로운 문장을 만듭니다. 추가적으로 seq2seq라는 새로운 언어 모델에 대해 배웁니다. 하나의 시계열 데이터를 다른 시계열 데이터로 변환합니다. 

 

8장에는 Attention에 대해 배웁니다. 가장 어려우면서, 이 책의 가장 핵심이라고 생각합니다. 더욱 강력한 seq2seq라고 할 수 있고, seq2seq의 단점인 '고정 길이 벡터를 출력하는 Encoder'을 보완한 모델(물론 Decoder도 같이 보완)입니다. 

 

놀랍게도 seq2seq와 Attention 메커니즘(모델)은 뉴욕대학교 조경현 교수님이 제안되었다고 합니다. ㅠㅠ(너무 자랑스러운...)

 

 

------

 

책을 다 읽고 총평을 하자면,

딥러닝을 사용한 자연어 처리의 기본 개념을 다 담고 있는 책이라고 할 수 있고, transformer를 공부하기 전에 '자연어 처리가 이렇게 발전해 왔구나~'를 깨달으면 좋을 것 같습니다. 

 

특히 class 하나하나를 구현하는 점이 가장 마음에 들었습니다. 마치 하나의 딥러닝 프레임워크를 구축하는 것 같았습니다. 이 책이 나온 지는 꽤 오래되었기 때문에 `밑바닥부터 시작하는 딥러닝 3`도 2020년 11월에 출간되었습니다. `밑바닥부터 시작하는 딥러닝 3`을 구매하진 않고 서점에서 잠깐 읽었는데  딥러닝 프레임워크를 밑바닥부터 구축한다고 합니다. 조만간 3편도 구매하여 읽어보려 합니다. 

 

'나는 자연어 처리 말고 vision만 할꺼야!'라며 등한시한 적이 있었는데 이 책을 읽고 나서 그 시절이 후회가 됩니다. `밑바닥부터 시작하는 딥러닝 2` 강추 드립니다.

 

 

 

<이 리뷰는 한빛미디어 '나는 리뷰어다'로 부터 책을 지원 받아 작성되었습니다>

 

10월에도 여김없이 나는 리뷰어다 이벤트를 통해 기존에 제가 읽어보지 못한 책들을 읽을 기회가 생겼습니다. 위에 사진은 내용과 무관할 수도 있지만 여유 자금이 생겨서 한빛 미디어 책 중에 읽어보고 싶거나 읽어야 할 bucket list에 있는 책을 과감하게 결제하였습니다. 이 책들이 나중에 저의 지식의 근간이자 밑거름이 될거라고 생각합니다. 그중에서도 문병로 교수님의 쉽게 배우는 알고리즘 책은 제가 학교 도서관에서 무려 5번이나 빌려본 내용이 탄탄하고 알고리즘의 이해에 많은 도움을 주고 있는 책입니다.

이번 학기에 알고리즘을 수업을 수강하며 더 이상 이런 좋은 책을 귀찮게 도서관에서 빌리고 연장하는 대신에 구매하기로 결정하였습니다. 알고리즘에 관심있으신 분들께도 문병로 교수님의 책을 추천드립니다. 그러면 본론으로 돌아와서 이번 10월 달 리뷰할 책을 살펴보도록 하겠습니다.

이번에 제가 신청한 3개의 책 中에서 밑바닥부터 시작하는 딥러닝 책 2편을 받을 수 있었습니다. 처음 딥러닝에 입문하시는 분들에게는 거의 국룰로 밑바닥부터 시작하는 딥러닝 완독, 3사이클을 돌면서 코드를 따라치면 거의 딥러닝에 대한 기초는 무조건 땔 수 있다는 것이 과학적 근거는 없어도 거의 정석 루트처럼 알려져 있습니다. 그만큼 이 책은 탄탄한 기본기와 딥러닝의 이해를 하는데 있어 많은 도움을 준다는 것을 알 수 있습니다.

저는 개인적으로 1편을 보면서 참 기본기에 충실한 책이라는 것을 코드 한줄 한줄 따라치면서 느낄 수 있었습니다. 그뿐만 아니라 이론 및 개념에 대하여도 충실이 설명해주는 책은 시중에 극히 드뭅니다. 옛날에 제가 읽었던 그로킹 딥러닝 책이 그나마 수식도 적고 문과생, 컴퓨터를 처음 접하시는 분들이 딥러닝 입문하시기 참 좋은 책입니다. 하지만 이번 밑바닥부터 시작하는 딥러닝 2책은 1편을 확실히 완독하여야 이해를 하는데 지장이 없을 것으로 느껴집니다. 물론 저는 1편을 완독하고 학교 수업시간에 머신러닝, 딥러닝 기반의 수업과 CS 231n 수업을 수강하였기에 2편 책을 읽는데 큰 지장은 없었습니다. 1편과 마찬가지로 공통적인 점은 수식을 쉽게 잘 설명해주는 점이 좋았습니다.

더불어서 1편에서 다루었던 Neural network 즉 신경망에 대한 복습도 도와주는 점이 좋았고, 코드도 라인 바이 라인으로 쪼개서 설명하는 점이 좋았습니다. 그리고 전반부에는 행렬 및 간단한 선형대수의 개념도 복습할 수 있는 코너가 있어서 이전에 개념들이 확실히 기억이 안나면 책의 전반부를 꼼꼼히 복습하면 좋을 것 같습니다.

무엇보다 2편에서 중점적으로 다루는 내용은 자연어 처리 part입니다. 자연어 처리란 쉽게 말해서 우리가 평소에 말하는 언어를 컴퓨터가 이해할 수 있도록 만드는 딥러닝 기술이자 연구분야입니다. 우리가 일생생활에서 흔하게 접할 수 있는 음성비서, 기계번역, 텍스트 기반의 검색 엔진 모두 자연어 처리 기술이 적용되어 있습니다. 이처럼 자연어 처리는 우리의 삶을 더 윤택하게 만들어주고 있는 것을 이 책을 통하여서 간접적으로 느낄 수 있습니다. 그리고 자연어 처리 분야는 언어학적 도메인 지식, 통계학적 지식이 필요한데 2편에서는 이 2가지 선행지식들을 익힐 수 있도록 친절한 설명을 해주고 있습니다.

그리고 자연어 처리에서의 핵심 개념을 그림을 통하여 손쉽게 설명해주며, 추후에는 코드를 통하여 word2vec의 개념을 쉽게 익힐 수 있습니다. 그리고 수식으로는 어떻게 표현되는지 알려줍니다.

 

마지막으로 CNN, RNN의 개념도 쉽게 그림과 코드로 표현하여 실습을 하게 도와주는 점이 좋았습니다. 그리고 무엇보다 1편과 비교하였을때 책의 페이지수가 2배로 늘어난 것을 알 수 있습니다. 안그래도 돌아올 겨울 방학때 2편을 정독하려고 했는데 또 이런 좋은 기회로 2편을 미리 읽을 수 있는 기회가 생겨서 너무 감사합니다. 추후에는 2편에서 다루는 내용을 일일단위로 공부하는 포스트도 계획 中에 있습니다.

마지막으로 좋은 책 제공과 기회를 주신 한빛미디어 담당자 분들께 감사 드립니다. 11월에도 내용이 탄탄한 도서를 읽고 빨리 리뷰를 남기고 싶습니다.

이 책으로 공부한지가 10개월 정도 지났지만 다시 봐도 너무 좋은 책입니다.

 

번역도 너무 잘 되어 있고 그냥 읽으면서 이해가 잘 되어 있도록 설명이나 그림, 도표가 잘 되어 있습니다.

 

편하게 읽었고, 실제로 파이선을 통해서 구현해보니깐 이론 공부에 많은 도움이 되었습니다.

 

이 시리즈 계속 나왔으면 좋겠습니다.

 

20200926_171705.jpg

 

10년도 더 전에 대학에서 컴퓨터 과학을 전공했고 대학원에서 인공지능과 관련된 공부를 했었습니다. 
 
당시 옆에 있던 연구실에서 뉴럴 네트워크에 대해 한참 무언가를 한다는 얘기를 들었었는데, 전 당시 이 책에서 소개하고 있던 통계적 모델과 비슷한 무언가를 했었고 저의 짧은 판단으로 너무 뜬구름 같은 세상의 얘기같다는 판단에 석사만 마치고 실용적인 것을 해보자는 생각에 취업을 했습니다.
 
10년 간 직장 생활을 하다보니 인공지능과 관련된 소식들이 심심치 않게 들리고 어느덧 많은 사람들이 실제로 그 혜택을 경험하면서 이제는 꼭 전공자가 아니더라도 쉽게 자료나 강의도 접할 수 있는 시대가 되었습니다.
 
저도 다시 관심을 갖고 이전 추억도 떠올리며 다시 공부를 해볼까 했는데 어디에서부터 이어가야 할지 좀 막연하더라구요.
 
밑바닥부터 배우는 딥러닝 1, 2권은 저와 같은 사람에게 많은 도움이 되었습니다. 물론 오래 전에 잊어버린 벡터나 미분과 같은 개념을 다시 깨우는데 시간이 걸리긴 했지만 친절한 저자의 안내와 좋은 번역 품질 덕에 용기를 얻어  다시 감을 살리고 나면 고개를 끄덕이며 책을 읽게 됩니다.
 
2권은 1권에서 다룬 신경망에 대한 기초적인 부분을 설명해 주기는 하지만,
혹시 이쪽 분야를 처음 접하시는 분이시라면 1권부터 보실 것을 추천합니다.
 
기초가 어느 정도 있으신 분이라면,
2권에서도 1권처럼 저자의 세심한 배려를 통해 자연어 처리 분야에서 사용하는 기법들과 문제들을 신경망을 통해 어떻게 해결해 갔는지 하나씩 배울 수 있습니다.
 
이제는 인공지능과 관련된 지식들이 많이 대중화 되었고 조금 더 지나면 어린 학생들도 쉽게 접하고 배우며 즐겁게 놀 수 있는 분야가 될 수 있겠다는 생각이 듭니다. 
이 분야에 관심이 있으시고 처음에 조금 시간이 드는 것 같아도 차근 차근 하나씩 배워가시는 걸 좋아하시는 분들께는 이 책을 강력 추천드립니다.
 
끝으로 이런 책을 쓸 수 있는 저자들이 국내에도 많이 나왔으면 좋겠습니다.

2년 전 정말 재미있게 읽었던 책의 후속편이 나왔다. 당시에는 딥러닝을 공부하려면 기저의 원리를 정확하게 이해하는것이 필수라는 생각에 그 책을 집어들었다. 하지만 지금은 생각이 바뀌어서 각자 필요로 하는 것이 무엇인지가 가장 중요하다고 생각한다.

예를 들어 딥러닝의 동작 원리가 무엇인지 너무 궁금해서 이 의문을 해결하지 못하고서는 단 한발자국도 앞으로 나아갈 수 없는 사람에겐 딥러닝의 동작 원리를 이해하는 것이 가장 중요하다. 하지만 당장 딥러닝이라는 마법의 도구를 가지고 내가 직면한 문제를 풀어보고 싶은 사람에겐 Tensorflow나 PyTorch 홈페이지의 최상단에 있는 예제 코드라를 복사, 붙여넣기 해서 내 문제에 맞게 수정하여 돌려보고 결과를 내보는 것이 훨씬 더 가치있는 일이다.

전자의 경우에 이 책은 정말 흠잡을 데 없는 완벽한 안내서다. 물론 딥러닝 일반에 대한 의문을 해소하는데에는 1권이 좀 더 좋겠지만, 만약 딥러닝을 이용한 자연어 처리가 어떻게 이루어지는지에 관심이 많고 하지만 여전히 딥러닝이 무엇인지 잘 모르겠다면 2권으로 바로 시작해도 전혀 문제가 없을 것이다. 딥러닝의 근간을 이루는 수학적 원리부터 시작해서 1권의 요약본에 해당하는 내용을 제공한다.

자연어 처리의 세자기 접근법(시소러스, 통계기반 그리고 추론 기반 기법)에 대해 간략하게 소개한 뒤 본격적으로 딥러닝을 이용한 자연어 처리에 입문하게 되는데 주요 키워드는 아래와 같다.

  • word2vec
  • RNN
  • BPTT (BackPropagation through Time)
  • LSTM (or GRU)
  • seq2seq
  • Attention

위 키워드들에 대해 충분한 학습이 되어 있다면 최근 쏟아져 나오는 기술들을 이해하기 위한 기반은 다 갖추었다고 생각된다. 이 책의 내용 외에 더 찾아보아야 할 내용은 논문을 직접 보고싶거나 (책에 참고자료로 잘 정리되어있다.) Tensorflow, PyTorch와 같은 프레임워크로는 어떻게 구현하는지 정도라고 생각된다.

만약 자신이 당장의 문제 해결에 더 관심이 있다면 이 책을 펼쳐보기보다는 조악하더라도 인터넷 여기저기서 예제 코드들을 짜깁기하여 조악한 결과라도 먼저 내보기를 추천하고 싶다. 운이 좋아 만족할만한 성능이 나왔다면 딥러닝 별거 아니네 하면서 계속 나아가면 된다. 원하는 성능이 나오지 않으면 여러 블로그, 유튜브를 검색해보면서 이것저것 붙여보고 튜닝도 해보자. 끝끝내 원하는 결과를 얻지 못하고 이제는 이게 도대체 어떻게 돌아가는건지, 수 많은 하이퍼 파라미터들이 어떤 역할을 하는건지 알아야겠다는 생각이 들면 그 때 이 책을 집어들면 가장 몰입감이 높을 것이라고 기대된다.

photo_2019-06-09_20-51-16.jpg

 

 

자연어처리에 대해 구현해보고 싶은분들에게는 추천해보고싶은 책

 

하지만 1편난이도로 생각하거나 1편두 안읽구 바로 보는것은 비추입니다.

 

덕분에 내용자체는 매우 흥미롭습지만 

 

이는 수학적 난이도가 높은편이여서 많은 시간이 소요됩니다.

 

https://www.kudryavka.me/?p=646

 

KakaoTalk_20190608_122647145.jpg

 

 

즘 업계의 화두는 AI,빅데이터와 더불어 기계학습과딥러닝이라고 해도 과언이 아닙니다. 오래전부터 딥러닝에 관심을 가져왔었고 대학원에서 기계학습과 머신러닝이라는 제목으로 수업을 듣고 있는데 이번 한빛 미디어에서 진행하는 이벤트로 좋은 책을 리뷰할수 있는 기회가 생겨 밑바닥부터 시작하는 딥러닝2라는 책을 리뷰할려고 합니다.

 

이책은 [밑바닥부터 시작하는 딥러닝]의 속편으로, 딥러닝의 가능성을 한층 더 깊게 설명하였습니다. 전편과 마찬가지로, 라이브러리나 프레임워크 등 기존 제품을 사용하지 않고 '밑바닥부터'만드는데 촛점을 뒀습니다.

 

먼저 1장에서는 전편의 복습에서부터 시작합니다. 수학과 파이썬 그리고 신경망에 대한 복습으로 전편에서의 내용을 토대로 다시한번 짚고 넘어가는 장입니다.

신경망에서는 백터와 행렬이 있는데, 먼저 이 용어들에 대해 정리하여 이 책을 읽는데 도움이 될수 있도록 하였습니다.

저같이 수포자들에게는 벡터와 행렬이라는 이름만 들어도 선뜻 다가서기가 어려웠는데 기본적인 개념과 예를 제시하여 신경망에서 있어 사용하는데 도움이 될수 있도록 하였습니다. 처음에는 읽기가 어려웠는데 몇번 읽다보니 어느정도는 이해가 되었습니다.

KakaoTalk_20190608_122644366.jpg

2장은 자연어 처리의 대해서 소개합니다. 컴퓨터에게 '단어의 의미'를 이해시키는 주제로 먼저 시소러스를 이용한 기법을 설명하고, 이어서 통계 기반 기법으로

설명을 하였습니다. 이장에서도 수학적인 용어가 나와서 이해하기가 어려웠는데 오히려 파이썬 코드를 타이핑하면서 결과값을 확인하니 그나마 좀 알수 있었습니다.

KakaoTalk_20190608_122644847.jpg

3장과4장은 자연어 언어 처리중에서도 단어의 분산 표현에 관한 내용입니다. 이장에서는 "단순한" word2vec 구현하기입니다. 단어를 자동으로 분석해 가까운 의미의 키워드를 유사한 숫자값으로 표현하는 이 기술은 많은 자연어 처리에서 많은 성과로 입증된 AI 딥러닝 기술중에 하나입니다. 실제로 예제를 가지고 구현해 볼수 있어서 좋았습니다.

KakaoTalk_20190608_122645304.jpg

그리고 5장,6장,7장에서는 순환신경망(RNN)에 대해서 다루고 있습니다. RNN은 데이터를 순환시킴으로써 과거,현재,미래로의 데이터를 계속해서 순환해서 흘려보냅니다. RNN은 순환 경로를 포함하며 과거의 정보를 기억 할 수 있었습니다. 구조가 단순하여 구현도 쉽게 할수 있지만 성능이 좋지 못합니다.

요즘에는 단순한 RNN 대신 LSTM이나 GRU라는 계층이 많이 쓰입니다. 6장과 7장에서 LSTM의 구조를 살펴보고 LSTM 을 사용해 언어 모델을 만들어 실제로 데이터를 학습하는 방법도 설명해 줍니다.

KakaoTalk_20190608_122643905.jpg

"밑바닥부터 시작하는 딥러닝"에서 다루지 못했던 순환 신경망(RNN)을 자연어 처리와 시계열 데이터 처리에 사용하는 딥러닝 기술에 초점을 맞춰 설명을 하였습니다.

전편에서 배운 내용을 토대로 신경망과 파이썬지식을 어느 정도 갖췄다면 전편을 읽지 않아도 무리 없어 따라 올수 있을것 같습니다.  

 

 

2990.jpg

 

딥러닝은 몇 년전부터 관심이 있었던 분야였다. 그래서 다른 사람이 먼저 시작하긴 했지만 회사 내 스터디도 참가하여 텐서플로우를 이용한 딥러닝도 다뤄보면서 공부하곤 했었다. 그러다가 바쁜 업무와 온갖 핑계로 인해 딥러닝과는 잠시 멀어져 있었다. 그리고 기회가 주어져 이 책을 만나게 되었다.

 

 

밑바닥부터 시작하는 딥러닝 2

 

전편이 있는 서적인데, 전편을 읽어보진 못했지만 2편으로도 나에게는 다시 딥러닝을 살펴볼 수 있는 좋은 기회가 주어졌다. 저자는 이 책을 누구를 위한 책이 아닌가를 지향하는 책이라고 얘기한다. 그저 밑바닥부터 차근차근 공부하는 딥러닝책이라고만 설명한다. 

 

이 책에서는 다루지 않는 부분이 많다.

 

딥러닝 분야의 최신 연구에 대해서는 자세히 다루지 않는다.

카페, 텐서플로, 체이너 등 딥러닝 프레임워크 사용법은 설명하지 않는다.

딥러닝 이론을 아주 상세한 수준까지는 담지 않는다.

자연어 처리를 주로 다루고, 영상, 음성, 강화 학습 등의 주제는 다루지 않는다.

 

이 책에서는 요즘 핫한 분야인 영상, 음성, 강화 학습에 대해 다루지 않고, 자연어 처리를 다룬다. 그 점이 나에겐 오히려 좋은 점으로 다가왔다. 딥러닝을 잘 모를뿐더러, 밑바닥부터 차근차근 배우려면 조금 쉬운 예제가 필요했기 때문이다.

예제 소스는 python3 로 작성되어 있고, GitHub 저장소에서 소스 코드를 받을 수 있다.

 

https://github.com/WegraLee/deep-learning-from-scratch-2

 

numpy와 matplotlib를 제외하고 외부 라이브러리는 사용하지 않고 딥러닝의 밑바닥부터 구현하는 것이 목표라고 한다. 외부 라이브러리를 사용하면 코드 작성은 편해지겠지만 원리를 잘 이해하지 못하는 경우가 많다. 맨땅에 헤딩하는 것 같지만 기초부터 차근차근 접근하는 방식이 마음에 든다.

 

이 책은 밑바닥부터 시작하는 딥러닝 2편이기 때문에 전편에 이어 딥러닝의 가능성을 한층더 깊이 다룰 것이라고 소개한다.

1장은 전편의 요약으로 시작한다. 수학과 파이썬 그리고 신경망의 복습을 담고 있다. 수학 공식과 파이썬 코드가 독자들을 어렵게 하지만 밑바닥부터 하려면 이정도는 해줘야 딥러닝을 한다고 할 수 있겠다.

 

2991.jpg

 

2장에서는 시소러스를 이용한 자연어와 단어의 분산 표현, 3, 4장에서는 ord2vec 그리고 순환신경망(RNN) 등 자연어 처리에 대한 딥러닝을 차례대로 학습할 수 있는 내용이 담겨있다.

 

책을 여러번 보고 있지만 수학공식은 여전히 눈에 잘 들어오지 않는다. 오히려 파이썬 코드만 눈에 잘 들어온다. GitHub에서 소스도 다운받아 예제 하나씩 돌려보고 있는데, 순환신경망(RNN)을 제대로 이해하는게 제일 중요한 것 같다.

 

RNN을 이용하여 언어 모델을 만들고 이를 구현함으로써 자연어 처리관련 다양한 어플리케이션에 응용할 수 있기 때문이다. 특히 마지막장의 어텐션 구조를 활용한 연구는 활용폭도 넓고, 최근 연구에도 많이 활용된다고 하니 다시 한번 주목할 필요가 있다고 생각한다. 

 

2992.jpg

오랜만에 수학공식을 보니 혼란스럽긴한데, 딥러닝에 발을 들인 이상 내 것으로 만들기 위해 밑바닥부터 차근차근 다시 해보려한다.

 

한빛출판사의 나는 리뷰어다 활동을 통해 도서를 제공받아 작성한 리뷰입니다

 

#밑바닥부터시작하는딥러닝2 #딥러닝 #나는리뷰어다 #한빛미디어

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
밑바닥부터 시작하는 딥러닝 2
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
밑바닥부터 시작하는 딥러닝 2
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
밑바닥부터 시작하는 딥러닝 2
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실