C++와 CUDA C로 구현하는 딥러닝 알고리즘 2 (복소수 영역에서의 오토인코더 이해와 구현)

C++와 CUDA C로 구현하는 딥러닝 알고리즘 2 (복소수 영역에서의 오토인코더 이해와 구현)

$28.00
Description
전체 3권으로 이뤄지는 "C++과 CUDA C로 구현하는 딥러닝 신경망" 시리즈의 두 번째 책이다. 인코더와 디코더 구조를 기반으로 하면서 입력 정보를 다시 복원하는 구조의 오토인코더는 GAN 모델의 발전으로 인해 점차 그 활용도와 중요성이 커지고 있다. 1권에서 다뤘던 내용을 다시 언급하므로 1권의 내용을 충분히 숙지해주길 바란다.

먼저 기본적인 신호 처리 수준에서의 몰렛 웨이블릿 개념과 이를 이미지 처리로 확장했을 때의 푸리에 변환 개념 등을 살펴본다. 그다음 복소수 정의역에서의 오토인코딩 개념을 설명한다. 그리고 이러한 내용들을 복소수 영역에서의 신경망으로 확장해 활성화 함수와 그레디언트, SoftMax 레이어 등을 계산하는 과정으로 나눠 상세하게 살펴본다. 처음엔 단일 스레드 기반의 구현 방법부터 시작해서 마지막엔 멀티스레드 기반의 구현 방법으로 확장시킨다. 3장에서는 2장에서 각 레이어별로 구현한 내용을 GPGPU를 활용할 수 있도록 CUDA C로 구현하는 내용을 다룬다. 마지막 4장에서는 저자가 제공하는 DEEP 프로그램의 메뉴얼을 소개하면서, 사용자가 구현 결과를 미리 확인하면서 각 기능들의 실행 결과물을 쉽게 확인할 수 있도록 도와준다.
저자

티모시마스터즈

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

목차

1장.소개

2장.내장된클래스레이블

__내장된레이블들을학습하는코드
__케이스분류
__클래스조건적인생성적샘플링

3장.신호전처리

__최소변환
____생성적샘플들의차이값출력
__함수의경로
__이동윈도우에서의푸리에계수
__몰렛웨이블릿
____주기,너비,지연(Lag)
____몰렛웨이블릿구현코드

4장.이미지전처리

__2차원공간에서의푸리에변환
____2차원공간에서의데이터윈도우
____이미지의푸리에변환구현코드
____푸리에변환의생성적샘플출력

5장.오토인코딩

__피드포워드신경망에대한기본적인수학개념
__오토인코더를통한탐욕적훈련
__복소수개수에대한리뷰
____복소수정의역에서의고속내적연산
____복소수정의역에서의고유값분해
__복소수정의역의활성화
____활성화함수의도함수
____로지스틱활성화함수와도함수
__그레디언트계산
____순수실수및SoftMax출력오차
____은닉층가중치의그레디언트
__그레디언트계산구현코드
____전체신경망과도함수계산
____그레디언트계산
__멀티스레드기반의그레디언트계산
__CUDA그레디언트계산
____전체알고리즘
____디바이스초기화
____호스트에서디바이스로가중치복사
____활성화와활성화도함수
____출력활성화
____SoftMax출력변환
____출력델타
____SoftMax출력의델타
____출력그레디언트
____첫번째은닉층의그레디언트
____중간은닉층의그레디언트
____평균제곱오차
____분류작업에서평가기준으로사용하는로그발생가능확률
____분석

6장.DEEP사용매뉴얼

__메뉴옵션
____파일메뉴옵션
____테스트메뉴옵션
____화면출력메뉴옵션
__데이터베이스읽어들이기
__시계열데이터읽어들이기(기본)
__시계열데이터읽어들이기(경로)
__시계열데이터읽어들이기(푸리에)
__시계열데이터읽어들이기(Morlet)
__MNIST이미지읽어들이기
__MNIST이미지읽어들이기(푸리에)
__MNIST레이블읽어들이기
__활성화된파일에쓰기
__모든데이터삭제
__모델아키텍처
__데이터베이스입력과목표치
__RBM훈련파라미터
__감독훈련된훈련파라미터
__오토인코딩훈련파라미터
__훈련
__테스트
__교차검증
__분석
__수용영역
__생성적샘플
____내장된모델에서추출한샘플
____경로시계열데이터로에서추출한샘플
__DEEP.LOG파일
____예측성능측정

출판사 서평

★이책에서다루는내용★

■신호처리와이미지처리를위한몰렛웨이블릿및푸리에변환
■오토인코딩의기본개념과복소수정의역에서의오토인코딩표현이론설명
■신경망관점에서활성화레이어및그레디언트계산과정설명
■단일스레드기반의구현방법부터멀티스레드기반의구현방법으로확장
■GPGPU를활용할수있도록CUDAC로확장시켜구현
■DEEP프로그램의상세한사용자매뉴얼소개
■DEEP을이용해구현결과를미리확인하면서각기능들의실행결과물확인
■필수DeepBeliefNets알고리즘을구현한C++코드와윈도우상에서실행되는멀티스레드버전의구현물과더불어nVidia비디오카드의슈퍼컴퓨팅성능을활용할수있도록CUDAC기반으로구현한코드제공

★이책의대상독자★

전체3권으로이뤄지는"C++과CUDAC로구현하는딥러닝신경망"시리즈의두번째책으로오토인코더에대해다룬책이다.그러므로신경망에대해이미기본적인지식이있으며,DeepBeliefNets에대해학습하고실험해보면서이를실제프로그램으로구현해보고자하는독자를대상으로한다.1권에서다뤘던내용을다시언급하기때문에먼저1권의내용을충분히숙지해주길바란다.

★이책의구성★

이책은크게네부분으로나뉜다.첫번째는클래스의생성적모범(exemplar)을찾아낼수있는방식을통해,특징셋에클래스레이블들을내장시키는기법에대해다룬다.그다음에는DeepBeliefNets에효과적인입력을제공하기위한신호전처리및이미지전처리기법을다룬다.복소수정의역피처를만들어내는전처리방식에각별히신경을쓸것이다.세번째로기본적인오토인코더에대한개념을다루면서,복소수정의역에서전체적인오토인코딩에대해강조한다.
이러한기법은특히신호처리나이미지처리와관련된여러분야에서유용하게사용할수있다.마지막으로DEEP프로그램의운용방법에대해다룬다.이프로그램은내홈페이지에서무료로다운로드할수있다.