닫기
 
C++로 배우는 딥러닝
소비자가격 : 23,000↓
판매가격 : 20,700
적립금 :1,150
ISBN :978-89-315-5566-0
등록일자 :2018-06-25
출판사 :도서출판 성안당
저자 :후지타 타케시 저 / 김성훈 역
분량 :272쪽
편집 :1도
판형 :182x235
발행일 :2018. 6. 29.
구매수량 :
총 금액 :


책 소개


입문자와 소프트웨어 엔지니어를 위한 딥러닝과 신경망의 모든 것!


신경망의 기본부터 합성곱 신경망(CNN), 재귀형 신경망(RNN)까지 총 망라!


 

신경망의 기초부터 C++를 이용한 구현까지




C++로 배우는 딥러닝

 

 

 요즘 생활어가 된 인공지능을 구현하기 위해서는 머신러닝, 좀 더 세부적으로는 딥러닝으로 범위를 좁혀서 딥러닝의 기초가 되는 신경망을 공부해야 한다. 집안에서 기가지니, TV 좀 켜줘!”하고 인공지능 스피커에서 말하면 TV를 켜주거나 꺼주기도 하지만 아직은 친구처럼 느껴질 정도로 진화된 단계는 아니다. 익사이트 주식회사(www.excite.co.jp)의 기술 전략실 이사로 머신러닝 기반 제품 개발에 종사 중인 저자 후지타 타케시는 이러한 딥러닝에 대한 갈증을 이 책을 통해 확실하게 풀어 준다.

저자는 딥러닝의 기초가 되는 신경망(뉴럴 네트워크)은 뇌신경 세포의 전기적인 행동에서 영감을 얻어 단순화한 구조를 컴퓨터로 재현 가능한 알고리즘으로 정의한 것으로, “최근에는 딥러닝 전용 프레임워크가 개발되어 구글 사의 텐서플로(TensorFlow)를 비롯, UC버클리의 카페(Caffe), 몬트리올 대학의 테아노(Theano), 프리퍼드네트웍 사의 체이너(Chainer) 등 문턱이 낮아져 일반 사용자도 딥러닝을 이용한 서비스 구축이 가능하다고 말한다. 저자는 활용을 위해서는 기초 이론을 학습해야 한다고 강조하며 이 책의 독자를 딥러닝의 기초를 학습하려는 입문자와 소프트웨어 엔지니어로 규정한다. 역자인 김성훈 씨에 따르면 이 책에서는 CUDA(Compute Unified Device Architecture) 커널을 바탕으로 고속화된 행렬 라이브러리, 활성화 함수, 손실 함수 등 C++로 딥러닝을 하는 이들에게 필요한 다양한 예제가 마련되어 있으며 실제 예제 구현을 위해서는 엔비디어의 GPU를 탑재한 그래픽 카드가 필요하다.

이 책은 1장에서는 신경망 구축에 필요한 최소한의 C++ 프로그래밍 지식을, 2장에서는 병렬 프로그래밍의 중요성과 그에 관한 지식과 행렬 연산을 설명한 뒤 3장 이후부터 신경망에 관한 깊이 있는 내용으로 이어지고 있다. 3장에서는 퍼셉트론이라는 신경망의 최소 단위가 되는 유닛과 퍼셉트론을 중첩한 신경망의 기본형인 다층 퍼셉트론(MLP)를 설명한다. 4장에서는 신경망의 매개변수 학습법인 오차역전파법을, 5장에서는 다층 퍼셉트론을 이용해 손글씨 숫자 이미지를 인식해 본다. 6장에서는 머신러닝 전반에서 발생하는 오버피팅(Overfitting, 과적합)을 신경망에서 억제하는 방법을, 7장에서는 딥러닝이 주목받는 계기가 된 기술 중 하나인 오토인코더(Autoencoder), 8장에서는 현재 딥러닝의 대표 주자로 불리는 합성곱 신경망(CNN), 9장에서는 재귀형 신경망으로 불리는 자기 출력을 입력으로 하는 재귀 구조로 된 신경망을 이용해 자연 언어 처리에 응용하는 예를 소개한다.

이 책 한 권이면 딥러닝의 기본 개념에 대한 설명과 이론에 대한 골격이 잡히면서 C++로 코딩을 해보면서 딥러닝 서비스 개발에 대한 자신감까지 덤으로 얻을 수 있을 것이다    

 

저자 소개


후지타 타케시 - 익사이트 주식회사 전략실 실장. Excite Media Service PH Inc. 이사.

머신러닝을 기반으로 한 제품 개발에 종사하고, 콘텐츠 추천 엔진 위스티리어(Wisteria) 등 자사 서비스의 개발 지 휘를 맡고 있다. 2000년 익사이트 주식회사에 입사한 후 웹 검색 엔진 개발과 운영에 참여했고, 인프라 책임자 및 응용 프로그램 개발 책임자로 활약했다. 2008년 웹사이트 개발, 모바일 애플리케 이션 및 게임을 개발·운영하는 회사를 설립한 바 있다. 2013년에는 빅데이터 분석을 중심으로 하는 신생 기업에 합류해, 소셜 미디어 상의 데이터 분석 및 주가 분석 등을 담당했다. 2015년 이후, 익사이트 주식회사로 돌아와 현직에 이른다.

 

 

역자 소개


김성훈 주로 IT 관련 서적을 번역하는 번역가.

 

주요 번역서로는 가 보이는 그림책>, <프로그래밍이 보이는 그림책>, <게 임 프로그래밍의 정석>, <웹을 지탱하는 기술>, 프 로그래밍>, <안드로이드 개발 레벨업 교과서>, <실무에서 바로 통하는 자바>, 이보다 쉬울 순 없다>, 디버그 & 최적화 기법>, 모델링의 본질>, <프로가 가르쳐주는 시퀀스 제어>, <만화로 쉽게 배우는 선형대수> 등 다수가 있다.

 

 

차례

Chapter 01 딥러닝 개론

1-1 딥러닝

1-1-1 딥러닝이란

1-1-2 딥러닝의 배경

1-1-3 딥러닝이 할 수 있는 일

1-1-4 딥러닝의 응용 예

1-1-5 이 책이 대상으로 하는 독자

1-1-6 이 책의 구성

1-1-7 이 책에서 제공하는 소스 코드에 대해서

1-2 학습에 필요한 C++ 언어의 기능

1-2-1 포인터

1-2-2 공유 포인터

1-2-3 vector

1-2-4 map

1-2-5 리스트 구조

1-2-6 트리 구조

 

Chapter 02 신경망을 위한 행렬 연산과 병렬 프로그래밍

2-1 GPU 활용하기

2-1-1 병렬 프로그래밍의 중요성

2-1-2 GPU와 딥러닝

2-2-3 GPU 이용하기

2-2 CUDA 프로그래밍

2-2-1 CUDA 커널

2-2-2 스레드 구성

2-2-3 CPU 메모리와 GPU 메모리

2-3 행렬 연산

2-3-1 행렬 연산의 프레임워크화

2-3-2 cuBLAS

2-3-3 행렬사칙연산 이외의 예

2-3-4 연산자 정의

 

Chapter 03 신경망

3-1 단순 퍼셉트론

3-1-1 단순 퍼셉트론 모델

3-1-2 단순 퍼셉트론이 할 수 있는 일

3-1-3 단순 퍼셉트론의 학습 과정

3-2 다층 퍼셉트론

3-2-1 다층 퍼셉트론 모델

3-2-2 활성화 함수

3-2-3 회귀 문제에서 다층 퍼셉트론 학습

3-2-4 분류 문제에서 다층 퍼셉트론 학습

3-3 신경망의 매개변수 추정

3-3-1 확률적 경사 하강법(Stochastic Gradient Descent, SGD)

3-3-2 미니배치(mini-batch)

3-3-3 가중치 초기화

 

Chapter 04 오차역전파

4-1 순방향 계산

4-1-1 계산 그래프

4-1-2 미니배치 행렬 표현

4-2 미분의 연쇄법칙

4-2-1 합성함수의 미분

4-2-2 미분의 연쇄법칙

4-2-3 다층 신경망에서의 각 매개변수 미분

4-2-4 연쇄법칙의 시각적 표현

4-3 기울기 소실 문제

4-3-1 기울기 소실 문제란?

4-3-2 기울기 소실 문제에 관한 대처

 

Chapter 05 C++를 이용한 신경망 구현

5-1 역방향 자동 미분 구현

5-1-1 변수

5-1-2 함수의 기반 클래스

5-1-3 활성화 함수의 정의

5-1-4 선형함수의 정의

5-1-5 교차 엔트로피 오차함수

5-1-6 역전파

5-2 함수 래퍼

5-3 모델

5-3-1 모델의 정의

5-3-2 모델의 저장과 복원

5-4 옵티마이저

5-4-1 옵티마이저의 기반 클래스.

5-4-2 옵티마이저의 예

5-5 MNIST를 예로 든 학습과 평가

5-5-1 MNIST 데이터 셋 구하기

5-5-2 MNIST 데이터 형식

5-5-3 분류 모델

5-6 Iris를 예로 한 학습과 평가

5-6-1 Iris의 데이터 형식

5-6-2 분류 모델

 

Chapter 06 학습 최적화와 오버피팅

6-1 학습 최적화

6-1-1 모멘텀 SGD

6-1-2 NAG

6-1-3 AdaGrad

6-1-4 RMSprop

6-1-5 AdaDelta

6-1-6 Adam

6-1-7 Adam의 구현

6-2 오버피팅 대책

6-2-1 정규화

6-2-2 드롭아웃