본문 바로가기

책 서평

[나는 리뷰어다] 그로킹 딥러닝

728x90
반응형

이 글은 2020년 3월부터 한빛미디어에서 진행하는 <나는 리뷰어다> 프로그램에 참여하게 되어 글을 작성하게 되었습니다.

그로킹 딥러닝 책 표지

내가 이번 3월에 받은 책의 이름은 '그로킹 딥러닝'이라는 책이다.
본 책은 한빛 미디어 측에서 프로그램에 참여하는 리뷰어들에게 사전에 설문조사를 통해 3권의 책을 선택하고, 그중 한 권의 책을 보내주게 된다.

우선 이책을 약 3주 동안 시간이 쪼개어 틈틈이 읽어본 소감을 중심으로 글을 작성하려고 한다.

목차

책의 목차는 크게 16개의 Chapter로 구성되어 있고, 각 Chapter별로 4-15개의 파트로 구성되어 있다.
가장 먼저 1장부터 딥러닝이란 무엇인가에 대해 설명을 시작으로 딥러닝 신경망, CNN, LSTM등 이제 막 딥러닝을 공부하려는 입문자를 위해 간단하게 이해할 수 있도록 구성되어 있다.

CHAPTER 1 딥러닝을 소개합니다 : 당신이 딥러닝을 공부해야 하는 이유
__딥러닝의 세계에 어서 오세요 
__왜 딥러닝을 공부해야 할까요? 
__딥러닝을 시작하기가 어렵진 않을까요? 
__이 책으로 딥러닝을 공부해야 하는 이유 
__시작에 앞서 필요한 지식과 실습 환경은? 
__파이썬 지식이 조금 필요합니다 
__요약 
 
CHAPTER 2 딥러닝의 기초 개념 : 컴퓨터가 학습하는 원리
__딥러닝이란? 
__머신러닝이란? 
__지도 학습 
__비지도 학습 
__모수적 학습 vs 비모수적 학습 
__모수적 지도 학습 
__모수적 비지도 학습 
__비모수적 학습 
__요약 
 
CHAPTER 3 신경망을 소개합니다 : 순전파
__신경망이 처음으로 할 일 : 예측 
__예측을 수행하는 신경망 
__신경망이 뭔가요? 
__신경망이 하는 일이 궁금합니다 
__복수 입력을 받아 예측하기 
__신경망은 복수 입력을 어떻게 다루나요? 
__복수 입력 코드 : 실행 가능한 완성 버전 코드 
__복수 출력을 하는 예측하기 
__복수 입력을 받아 복수 출력을 하는 예측 
__복수 입력과 복수 출력 : 동작 원리 
__예측에 관한 예측 
__NumPy 빠르게 입문하기 
__요약 
 
CHAPTER 4 딥러닝을 소개합니다 : 경사하강법
__예측하고 비교하고 학습하라 
__비교 
__학습 
__비교 : 여러분의 신경망은 예측을 잘하고 있습니까? 
__오차를 측정하는 이유 
__신경망 학습의 가장 간단한 형태는 어떤 걸까요? 
__온냉 학습 
__온냉 학습의 특징 
__오차를 이용하여 이동 방향과 거리 계산하기 
__경사하강법 1회 반복 
__학습이란 오차를 줄이는 것 
__학습의 여러 단계를 관찰해보세요 
__왜 이게 작동하죠? weight_delta는 뭔가요? 
__한 가지 개념에 집중하기 
__툭 튀어나오는 막대기가 있는 상자 
__미분계수 : 두 번째 이야기 
__이건 몰라도 괜찮습니다 
__미분계수를 학습에 이용하는 방법 
__익숙한가요? 
__경사하강법 망가뜨리기 
__과잉 교정 시각화하기 
__발산 
__알파를 소개합니다 
__코드 속의 알파 
__외우기 
 
CHAPTER 5 복수 가중치 동시에 학습하기 : 경사하강법 일반화 하기
__복수 입력을 받는 경사하강법 
__복수 입력을 받는 경사하강법 이해하기 
__학습의 각 단계를 관찰해보세요 
__가중치 한 개 동결시키기 
__복수 출력을 하는 경사하강법 
__복수 입력을 받아 복수 출력을 하는 경사하강법 
__가중치가 학습하는 것은 무엇일까요? 
__가중치 시각화하기 
__내적(가중합) 시각화하기 
__요약 
 
CHAPTER 6 첫 심층 신경망 만들기 : 역전파를 소개합니다
__신호등 문제 
__데이터 준비하기 
__행렬과 행렬 관계 
__파이썬으로 행렬 만들기 
__신경망 구축하기 
__전체 데이터셋 학습하기 
__전체, 배치, 확률적 경사하강법 
__신경망은 상관관계를 학습합니다 
__상향 압력과 하향 압력 
__경계 조건 : 과적합 
__경계 조건 : 서로 충돌하는 압력 
__간접 상관관계 학습 
__신경망 적층하기 : 복습 
__역전파 : 장거리 오차 귀착법 
__역전파는 왜 효과가 있는 걸까요? 
__선형 vs 비선형 
__아직 신경망이 동작하지 않는 이유 
__간헐적 상관관계의 비밀 
__짧은 휴식 
__첫 심층 신경망 만들기 
__코드로 만나는 역전파 
__역전파의 한살이 
__모두 합치기 
__심층 신경망이 왜 중요한가요? 
 
CHAPTER 7 신경망 사진 찍기 : 머릿속과 종이 위에
__이제 단순하게 만들어야 합니다 
__상관관계 요약 
__미리 너무 복잡해져 버린 시각화 
__단순화한 시각화 
__더 단순하게 
__이 신경망이 예측하는 모습을 관찰해봅시다 
__그림 대신 문자로 시각화하기 
__변수 연결하기 
__모두 나란히 
__시각화 도구의 중요성 
 
CHAPTER 8 신호 학습과 잡음 제거 : 정규화와 배치 소개
__3계층 신경망으로 MNIST 도전하기 
__흠, 쉬운데요 
__암기 vs 일반화 
__신경망에서의 과적합 
__오버피팅의 원인 
__가장 단순한 정규화 : 조기 종료 
__산업 표준 정규화 : 드롭아웃 
__드롭아웃은 왜 효과가 있을까요 : 앙상블 
__코드 속의 드롭아웃 
__배치 경사하강법 
__요약 
 
CHAPTER 9 확률과 비선형성 모델링하기 : 활성화 함수
__활성화 함수란 무엇일까요? 
__표준 은닉 계층 활성화 함수 
__표준 출력 계층 활성화 함수 
__핵심 사안 : 입력에 유사성이 있는 경우 
__softmax 계산하기 
__신경망 계층에 활성화 함수 추가하기 
__delta에 기울기 곱하기 
__출력을 기울기로 변환하기(미분계수) 
__MNIST 신경망 업그레이드하기 
 
CHAPTER 10 가장자리와 모서리를 학습하는 신경망 : CNN 소개
__여러 장소에서 가중치 재사용하기 
__합성곱 계층 
__NumPy로 간단하게 구현하기 
__요약 
 
CHAPTER 11 언어를 이해하는 신경망 : 왕-남자+여자 == ?
__언어를 이해한다는 것은 무엇을 의미할까요? 
__NLP : 자연어 처리 
__지도 NLP 
__IMDB 영화 리뷰 데이터셋 
__입력 데이터 안에서 단어 상관관계 포착하기 
__영화 리뷰 예측하기 
__임베딩 계층 기초 
__출력 해석하기 
__신경 아키텍처 
__단어 임베딩 비교하기 
__뉴런이 가지는 의미는 뭘까요? 
__공란 채우기 
__King - Man + Woman ~= Queen 
__단어 유추 
__요약 
 
CHAPTER 12 셰익스피어처럼 글쓰기 : 순환 계층으로 가변 데이터 다루기
__임의의 길이를 향한 도전 
__비교가 정말 중요할까요? 
__평균 단어 벡터의 놀라운 힘 
__임베딩은 어떻게 정보를 저장할까요? 
__신경망은 임베딩을 어떻게 활용할까요? 
__단어주머니 벡터의 한계 
__단위행렬을 이용해서 단어 임베딩 총합하기 
__정말 아무것도 바꾸지 않는 행렬 
__전이행렬 
__유용한 문장 벡터 생성하는 법 학습하기 
__파이썬으로 순전파 하기 
__어떻게 여기에 역전파를 넣을까요? 
__학습시켜 봅시다! 
__준비하기 
__임의 길이로 순전파 하기 
__임의의 길이로 역전파 하기 
__임의의 길이로 가중치 갱신하기 
__실행과 출력 분석 
__요약 
 
CHAPTER 13 자동 최적화를 소개합니다 : 딥러닝 프레임워크를 만들어봅시다
__딥러닝 프레임워크란? 
__텐서를 소개합니다 
__자동 미분, autograd를 소개합니다 
__간단히 점검해보기 
__여러 번 재사용되는 텐서 
__텐서 재사용을 위한 자동 미분 업그레이드 
__덧셈 역전파는 어떻게 이루어질까요? 
__부정 연산 지원하기 
__몇 가지 함수 더 지원하기 
__자동 미분을 이용해서 신경망 학습하기 
__자동 최적화 추가하기 
__계층 형식 지원하기 
__계층을 포함하는 계층 
__손실 함수 계층 
__프레임워크 배우기 
__비선형 계층 
__임베딩 계층 
__자동 미분에 색인화 추가하기 
__임베딩 계층 다시 생각하기 
__교차 엔트로피 계층 
__순환 신경망 계층 
__요약 
 
CHAPTER 14 셰익스피어처럼 글쓰기 : LSTM
__문자 언어 모델링 
__부분 역전파의 필요성 
__부분 역전파 
__출력의 샘플 
__소멸하는 기울기, 폭발하는 기울기 
__RNN 역전파의 장난감 예제 
__LSTM 셀 
__LSTM 게이트에 관한 몇 가지 직관 
__LSTM 계층 
__문자 언어 모델 업그레이드하기 
__LSTM 문자 언어 모델 학습하기 
__LSTM 문자 언어 모델 튜닝하기 
__요약 
 
CHAPTER 15 보이지 않는 데이터로 하는 딥러닝 : 통합 학습 입문
__딥러닝의 개인정보 문제 
__통합 학습 
__스팸 탐지 학습 
__통합해봅시다 
__통합 학습 해킹하기 
__보안 통합 
__동형 암호화 
__동형 암호화 통합 학습 
__요약 
 
CHAPTER 16 다음 도약을 위한 준비 : 작은 안내서
__축하합니다! 
__1단계 : 파이토치를 배우세요 
__2단계 : 새 딥러닝 수업을 수강하세요 
__3단계 : 수학적으로 접근하는 딥러닝 교과서를 구하세요 
__4단계 : 블로그를 개설해서 딥러닝을 가르치세요 
__5단계 : 트위터 
__6단계 : 학술 논문의 내용을 구현하세요 
__7단계 : GPU를 사용할 수 있는 환경을 확보하세요 
__8단계 : 급여를 받으면서 일하세요 
__9단계 : 오픈소스 프로젝트에 참여하세요 
__10단계 : 지역 커뮤니티를 발전시키세요 

또한 Chapter가 끝나는 지점에서 요약본으로 다시 한번 설명을 해주기 때문에 일정 시간 후에 읽는 경우에도 다시 한번 내용을 생각하는 계기가 된다.

다른 책과의 차이점

우선 다른 딥러닝 프레임워크를 사용하여 설명하는 책과는 달리 이 책의 경우 이미지와 코드 등을 사용하여 입문자도 쉽게 이해할 수 있도록 설명을 하고 있다.

책에 나오는 코드는 python을 이용하여 코드 설명이 되어 있고, 아래 사진과 같이 그림과 코드를 같이 나타내어 한번에 볼 수 있도록 하고 있다. 따라서 간단하게 코드를 이해하기 쉽다.

그로킹 딥러닝 책 中

 

예상 독자

나는 딥러닝을 공부해본 입장에서 이 책은 프레임워크를 이용하여 공부하기 전 간단하게 딥러닝에 대한 기본 지식을 공부하기 좋은 책이라고 느꼈다.

나는 딥러닝 분야에선 선형대 수학 지식이 많이 필요하고, 사전 지식이 많이 부족하면 입문하기 어려운 분야라고 생각하고 있다.

물론, 다른 분야 역시 많은 수학적 지식이 필요로 하지만 딥러닝을 공부하려는 입문자의 경우 이 책을 읽고 딥러닝 프레임워크를 선정하여 공부하다 보면 많은 도움이 될 거라고 생각한다.

 

<본 글은 한빛미디어 측의 "나는 리뷰어다" 프로그램을 통해 무상으로 제공받아 작성한 글입니다.> 

728x90
반응형