C++와 CUDA C로 구현하는 딥러닝 알고리즘 3 (Deep Convolution Neural Nets의 이해와 구현)

C++와 CUDA C로 구현하는 딥러닝 알고리즘 3 (Deep Convolution Neural Nets의 이해와 구현)

$28.00
Description
전체 3권으로 이루어진 "C++과 CUDA C로 구현하는 딥러닝 신경망" 시리즈의 마지막 책이다. 딥러닝에서 가장 화두가 되고 있는 영상 속의 사물 인지 알고리즘을 깊게 파고들면서 실제로 CUDA 기반으로 구현까지 해볼 수 있도록 가이드해준다. Deep Convolution Neural Network를 크게 지역적으로 연결된 레이어와 풀링 레이어, 출력 레이어 등으로 구별해 살펴보고, 훈련 과정의 핵심인 그래디언트 역전파를 DCNN에 적용하는 방법을 살펴본다. 알고리즘을 레이어별로 활성화하는 과정과 그레디언트를 계산하는 과정으로 나누어 살펴본다. 단일 스레드 기반의 구현 방법부터 시작해서 마지막엔 멀티스레드 기반의 구현 방법으로 확장한다. 각 레이어별로 구현한 내용을 다시 GPGPU로 활용할 수 있도록 CUDA C로 구현한다. 마지막으로는 저자가 제공하는 CONVNET 프로그램의 매뉴얼을 소개하면서, 사용자가 구현 결과를 미리 확인하면서 쉽게 각 기능들의 실행 결과물이 어떠한지 확인해본다.
저자

티모시마스터즈

저자티모시마스터즈(TimothyMasters)는수리통계학분야에서수치계산(numericalcomputing)전공으로박사학위를받았다.그이후독립적인컨설턴트로서정부와산업기관에서지속적인경력을쌓았다.초기연구분야는고고도(high-altitude)촬영사진에서자동특징(feature)추출과관련된것들이며,홍수와가뭄예측숨겨진미사일저장탑탐지위협적인군사용차량확인등의다양한애플리케이션을개발했다.그후에는침생검(needlebiopsies)상에서유익한세포와유해한세포를구별해내는알고리즘개발을위해의료연구원으로근무했다.이후20년동안은주로자동화된경제마켓트레이딩시스템을평가하기위한알고리즘을개발했다.지금까지예측모델을실무에적용하는방법에대한주제로,『PracticalNeuralNetworkRecipesinC++』(AcademicPress,1993),『SignalandImageProcessingwithNeuralNetworks』(Wiley,1994),『AdvancedAlgorithmsforNeuralNetworks』(Wiley,1995),『Neural,Novel,andHybridAlgorithmsforTimeSeriesPrediction』(Wiley,1995),『AssessingandImprovingPredictionandClassification』(CreateSpace,2013)등을저술했다.이책에서활용하는코드는그의홈페이지에서다운로드할수있다.

목차

1장.소개

2장.피드포워드신경망
__다중레이어피드포워드신경망다시보기
__넒은신경망대깊은신경망
__지역적으로연결된레이어
____행,열,슬라이스
____합성곱레이어
____절반-너비와패딩
____스트라이딩과유용한계산공식
__풀링레이어
____풀링타입
__출력레이어
____SoftMax출력
__그레디언트를구하기위한오차의역전파

3장.알고리즘프로그래밍
__모델선언
____가중치와그레디언트의처리순서
__모델생성자를통한초기화
__모든활성화탐색
__완전히연결된레이어의활성화계산
__지역적으로연결된레이어의활성화계산
__합성곱레이어의활성화계산
__풀링레이어활성화계산
__평가기준값계산
__그레디언트계산
__완전히연결된레이어의그레디언트
__지역적으로연결된레이어의그레디언트
__합성곱레이어의그레디언트
__풀링레이어의그레디언트(존재하지않는다!)
__풀링레이어를제외한델타값역전파
__풀링레이어의델타역전파
__멀티스레딩기반그레디언트연산
____알고리즘프로그래밍
____스레딩을위한메모리할당

4장.CUDA코드
__CUDA구현에서의가중치레이아웃
__GPU상의전역변수
__초기화
__디바이스에가중치복사
__출력층활성화계산
__지역적으로연결된레이어와합성곱레이어의활성화계산
____공유된메모리활용을통한연산속도향상
____GPU코드
____실행코드
__풀링레이어의활성화계산
__연산절감기법을적용한SoftMax와로그발생가능확률
__출력층의델타값계산
__완전히연결된레이어로부터의역전파
__합성곱레이어와지역적레이어의역전파
__풀링레이어로부터의역전파
__완전히연결된레이어의그레디언트
__지역적으로연결된레이어와합성곱레이어의그레디언트
____합성곱그레디언트평편화
____그레디언트실행코드
__그레디언트값가져오기
__모든과정의통합

5장.CONVNET매뉴얼
__메뉴옵션
____File메뉴
____Test메뉴
____Display메뉴
__제어파일읽어오기
____이미지데이터생성과읽어오기
____시계열데이터를이미지로변환하여읽어오기
____모델아키텍처
____파라미터훈련
____오퍼레이션
__이미지출력
____훈련이미지출력
____필터이미지출력
____활성화이미지출력
____출력예제
__CONVNET.LOG파일
____가중치출력
__CUDA.LOG파일

출판사 서평

★이책에서다루는내용★

■피드포워드신경망재검토및오차역전파관련주제심화
■풀링레이어,지역적으로연결된레이어,출력레이어등
■범용C++코드를이용한레이어구현
■CUDA언어로합성곱신경망알고리즘구현
■CONVNET프로그램사용자매뉴얼

★이책의대상독자★

3권에서다루고있는모든기법들은근래의수학적이론을근거로하고있지만,독자들이이렇게수학적으로복잡한알고리즘을꼭제대로이해해야할필요는없다.그러므로기본적인선형대수학을넘어서는복잡한내용을알아야할필요는없다.

★이책의구성★

이책은크게네가지절로나뉜다.
첫장은피드포워드신경망과관련된내용을재검토하면서오차역전파에대한중요한주제를다룬다.그다음,이러한주제를확장하여,합성곱신경망에서사용하는종류의레이어를다룬다.즉,풀링레이어와지역적으로연결된레이어,합성곱레이어등을상세히다룬다.전향전달활성화와역전파그레디언트계산과관련된모든수학적배경들도깊이있게다룬다.
두번째장에서는범용C++코드로앞서다뤘던다양한종류의레이어를구현하는방법을다룬다.첫장에서설명한수식을많이참조하므로,독자들은쉽게수식과코드를관련지어이해할수있을것이다.
세번째장은CUDA언어로합성곱신경망알고리즘을어떻게구현하는지다룬다.이번에도,앞서다뤘던이론적내용과수학적인배경들을많이참조하기때문에코드가구현한모든함수를명확하게이해할수있을것이다.
CUDA로구현한여러가지루틴들을호출하여성능평가기준값과그레디언트값들을계산하는하나의C++루틴을다룬다.
마지막장에서는CONVNET프로그램을사용하기위한사용자매뉴얼에대해다룬다.이프로그램은내홈페이지에서다운로드할수있다.