2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

기타/도서리뷰

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

원당컴1 2020. 10. 18. 10:46

밑바닥부터 시작하는 딥러닝 시리즈는 라이브러리나 프레임워크로 딥러닝을 구현하는 것이 아닌 책 제목 처럼 밑바닥 부터 구현을 하면서 딥러닝의 개념들을 정확히 잡아 가는 입문서입니다.

 

"밑바닥부터 시작하는 딥러닝" 전편에서는 퍼셉트론, 신경망, 오차역전파 등을 통해서 이미지 인식 분야까지 다루었다고 하면 "밑바닥부터 시작하는 딥러닝2" 에서는 순환신경망(RNN)을 이용한 자연어 처리와 시계열 데이터 처리에 사용하는 딥러닝 기술에 초점을 맞추었습니다.

 

밑바닥부터 시작하는 딥러닝2 를 살펴 보겠습니다.

 

오라일리(O'Reilly) 하면 이상하고 생소한 동물들의 표지가 인상적인데요~

이번 책은 물고기가 주제네요.^^

어떤 물고기 인지는 모르겠지만 토실토실 한것이 많은 영양가가 있을것 같은데요.~

자연어 처리에 관한 구현방법이 고민이신 분들이시라면 분명히 많은 영양가를 섭취 할 수 있을것이라 확신을 합니다.

 

이 책은 딥러닝 중심으로 자연어 처리를 탐험하는 모험책입니다.

하나 하나 탐험을 하면서 그 이치를 깨닫는 다면 이 책을 모두 탐험이 끝났을때에는 자연어 처리에 관한 프로그램을 구현할 수 가 있을것입니다.

 

이 책은 총 8장으로 구성되어 있으며 목차는 다음과 같습니다.

 

1. 신경망 복습

- 전편에서 다루었던 신경망에 대한 개념을 훑어 보고 개념을 이해합니다.

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

- 자연어 처리를 위한 시소러스 기법과 문제점을 살펴 보고 통계기반 기법으로 발전되면서 파이썬으로 처리하는 방법등을 다루고 있습니다.

3. word2vec

- 통계기반 기법의 문제점을 살펴보고 추론기반 기법에 대해 살펴 봅니다.

여기서 word2vec 은 단어간 유사도를 반영 할 수 있도록 단어의 의미를 벡터화 할 수 있는 방법입니다.

예를 들어 "고양이 + 애교 = 강아지" 와 같이 단어가 가지고 있는 어떤 의미들을 가지고 연산을 하는것이 가능한 이유는 각 단어 벡터가 단어간 유사도를 반영한 값을 가지고 있기 때문입니다.

word2vec를 구현하기 위해서는 CBOW(Continuous Bag of Words)와 Skip-Gram 두가지 방식이 있습니다.

CBOW는 주변에 있는 단어들을 가지고 중간에 있는 단어들을 예측하는 방법이며 Skip-Gram 은 중심단어를 기반으로 주변 단어를 예측하는 모델입니다.

4. word2vec 속도 개선

- 3장에서 word2vec의 구현을 통해 개념을 이해 했지만 말뭉치(언어의 표본)에 포함된 어휘 수가 많아지면 계산량이 많아지는 단점이 발생함에 따라 4장에서는 속도를 개선 하는 방법에 대해 다루고 있습니다.

5. 순환신경망(RNN)

- word2vec 는 피드포워드 유형의 신경망인데 이러한 유형은 한 방향으로만 신호가 전달 됨에 따라 구조를 이해하기 쉽고 많은 문제에 응용할 수 있는 장점이 있지만 시계열데이터(일정시간 간격으로 배치된 데이터들의 수열)를 잘 다루지 못하는 단점이 있습니다.

순환신경망(RNN)에서는 이러한 단점을 해결하는 RNN 구현 방법에 대해 다루고 있습니다.

6. 게이트가 추가된 RNN

- 5장에서 개념을 이해하고 구현한 RNN에 게이트 라는 구조가 더해저 시계열 데이터의 장기 의존관계를 학습할 수 있는 모델에 대해 다룹니다.

7. RNN을 사용한 문장생성

- 7장에서는 기존에 배운 구조를 이용해서 "AI로 글을 쓰게 한다" 라는 개념을 실습해 볼 수가 있습니다.

여기서는 seq2seq(시퀀스투시퀀스) 모델을 다루고 있는데요. 이 모델을 기반으로 실제로 고객센터의 챗봇이 사용되고 있음을 확인 할 수 있습니다.

8. 어텐션

- seq2seq 에서는 고정길이의 벡터를 인코딩 하는 부분으로 입력 문장의 길이가 길어져도 고정길이의 벡터로 변환하는 문제점이 발생하는데 이것을 개선하는 방법에 대해 살펴 보고 구현을 해 봅니다.

 

 

이상과 같이 목차를 살펴 보았는데요~

 

프레임 워크에 의존해서 사용하는 것이 아니라 직접 파이썬을 이용해서 구현하면서 하나하나의 원리를 이해 할 수 있도록 구성 되어 있어서 자연어 처리 딥러닝에 대한 이해도를 높였기 때문에~

 

이 책은 인공지능을 사용하는 목적이 아닌 자연어 처리에 대해 공부해 보고 싶은 분들에게는 가장 기본적인 입문서가 아닐까 생각되며 꼭 전편을 읽어 볼 필요는 없지만 신경망 과 같은 딥러닝의 기본이 약하신 분들은 전편을 먼저 읽어 보시는것이 더 도움이 될것 같네요.~ 

 

이 책은 꼭 수학적인 개념이 탄탄하지 않아도 구현해 보면서 이해하는데 문제 없을정도로 구성되어 있지만~

혹시라도 딥러닝에 관한 수학을 더욱 다지기를 원하시는 분들이 계시면 다음의 책을 같이 추천 드립니다.

 

1. 프리렉에서 출판된 인공지능을 위한 수학 : 고등학교 수학을 기반으로 인공지능에 연결 되는 수학을 알기쉽게 설명해 놓았습니다.

2. 한빛미디어에서 출판된 처음 배우는 딥러닝수학 : 신경망에서 사용하는 벡터,행렬,미적분 과 같이 딥러닝에 적합한 수학을 그림과 엑셀을 이용하여 알기 쉽게 정리해 놓았습니다.

 

이 책을 읽으면서 딥러닝에 처음 입문하시는 분들이시라면 이 두개의 책과 밑바닥부터 시작하는 딥러닝 시리즈로 접근해 보시면 좋을것 같은 생각이 들었습니다.

 

이 책은 한빛미디어의 "나는 리뷰어다"에서 제공받았습니다.

 

오늘 하루도 최선을 다하는 모든 분들을 응원합니다.

 

인천 서구 원당컴퓨터학원

 

 

 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

'기타 > 도서리뷰' 카테고리의 다른 글

밑바닥부터 시작하는 딥러닝 3  (8) 2020.12.10
초보자를 위한 유니티 입문  (8) 2020.11.12
이것이 취업을 위한 코딩테스트다  (5) 2020.09.17
유닉스의 탄생  (6) 2020.08.12
딥러닝과 바둑  (5) 2020.07.01