C++와 CUDA C로 구현하는 딥러닝 알고리즘 (세트) [RBM부터 CNN, 오토인코더까지 코딩하며 깨우치는 딥러닝의 원리]
- 원서명Deep Belief Nets in C++ and CUDA C Volume 1, Deep Belief Nets in C++ and CUDA C Volume 2, Deep Belief Nets in C++ and CUDA C Volume 3
- 지은이티모시 마스터즈(Timothy Masters)
- 옮긴이이승현
- ISBN : 9791161750347
- 78,000원
- 2017년 08월 18일 펴냄
- 페이퍼백 | 772쪽 | 188*235mm
- 시리즈 : 데이터 과학
책 소개
세트 구성: 전3권
1) C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.1
2) C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.2
3) C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.3
『C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.1』 소개
이 책은 인공지능 기술에서 가장 중심에 해당하는 딥러닝 알고리즘의 핵심인 ‘Deep Belief Network’를 ‘CUDA’와 함께 다루면서 딥러닝의 구조와 원리를 이해하고, 이러한 알고리즘이 GPGPU에서 동작하기 위해 어떠한 개념과 기법들이 적용되고 있는지 확인해볼 수 있는 책이다.
이 책에서 다루는 내용
■ Deep Belief Nets 패러다임에 대한 학습 동기를 제공한다.
■ 대부분의 일반적인 Deep Belief Nets의 구성 요소들을 위한 중요한 함수와 수식들을 제시하고, 정당성에 대해 연구한다.
■ 일반적인 Deep Belief Nets 패러다임을 위한 훈련, 실행, 분석 알고리즘들을 언어 독립적인 형태로 제공한다.
■ 이 책에 수록돼 있는 DEEP 프로그램의 상세한 사용자 매뉴얼은 홈페이지(TimothyMasters.info)에서 무료로 다운로드할 수 있다. 이 책에서는 이 프로그램의 내부적인 동작 원리를 상세하게 다룬다.
■ 여러 가지 필수적인 Deep Belief Nets 알고리즘을 구현한 C++ 코드를 제공한다. 윈도우상에서 실행되는 멀티스레드 버전의 구현물과 더불어 nVidia 비디오카드의 슈퍼 컴퓨팅 성능을 활용할 수 있도록 CUDA C 기반으로 구현한 코드도 제공한다.
이 책의 대상 독자
이 책은 신경망에 대해 이미 기본적인 지식이 있으며, Deep Belief Nets에 대해 학습하고 실험해보면서 DEEP 프로그램도 구현해보고자 하는 독자를 대상으로 한다.
『C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.2』 소개
전체 3권으로 이뤄지는 ‘C++과 CUDA C로 구현하는 딥러닝 신경망’ 시리즈의 두 번째 책이다. 인코더와 디코더 구조를 기반으로 하면서 입력 정보를 다시 복원하는 구조의 오토인코더는 GAN 모델의 발전으로 인해 점차 그 활용도와 중요성이 커지고 있다. 1권에서 다뤘던 내용을 다시 언급하므로 1권의 내용을 충분히 숙지해주길 바란다.
먼저 기본적인 신호 처리 수준에서의 몰렛 웨이블릿 개념과 이를 이미지 처리로 확장했을 때의 푸리에 변환 개념 등을 살펴본다. 그다음 복소수 정의역에서의 오토인코딩 개념을 설명한다. 그리고 이러한 내용들을 복소수 영역에서의 신경망으로 확장해 활성화 함수와 그레디언트, SoftMax 레이어 등을 계산하는 과정으로 나눠 상세하게 살펴본다. 처음엔 단일 스레드 기반의 구현 방법부터 시작해서 마지막엔 멀티스레드 기반의 구현 방법으로 확장시킨다. 3장에서는 2장에서 각 레이어별로 구현한 내용을 GPGPU를 활용할 수 있도록 CUDA C로 구현하는 내용을 다룬다. 마지막 4장에서는 저자가 제공하는 DEEP 프로그램의 메뉴얼을 소개하면서, 사용자가 구현 결과를 미리 확인하면서 각 기능들의 실행 결과물을 쉽게 확인할 수 있도록 도와준다.
이 책에서 다루는 내용
■ 신호 처리와 이미지 처리를 위한 몰렛 웨이블릿 및 푸리에 변환
■ 오토인코딩의 기본 개념과 복소수 정의역에서의 오토인코딩 표현 이론 설명
■ 신경망 관점에서 활성화 레이어 및 그레디언트 계산 과정 설명
■ 단일 스레드 기반의 구현 방법부터 멀티스레드 기반의 구현 방법으로 확장
■ GPGPU를 활용할 수 있도록 CUDA C로 확장시켜 구현
■ DEEP프로그램의 상세한 사용자 매뉴얼 소개
■ DEEP을 이용해 구현 결과를 미리 확인하면서 각 기능들의 실행 결과물 확인
■ 필수 Deep Belief Nets 알고리즘을 구현한 C++ 코드와 윈도우 상에서 실행되는 멀티스레드 버전의 구현물과 더불어 nVidia 비디오 카드의 슈퍼 컴퓨팅 성능을 활용할 수 있도록 CUDA C 기반으로 구현한 코드 제공
이 책의 대상 독자
전체 3권으로 이뤄지는 ‘C++과 CUDA C로 구현하는 딥러닝 신경망’ 시리즈의 두 번째 책으로 오토인코더에 대해 다룬 책이다. 그러므로 신경망에 대해 이미 기본적인 지식이 있으며, Deep Belief Nets에 대해 학습하고 실험해보면서 이를 실제 프로그램으로 구현해보고자 하는 독자를 대상으로 한다. 1권에서 다뤘던 내용을 다시 언급하기 때문에 먼저 1권의 내용을 충분히 숙지해주길 바란다.
『C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.3』 소개
전체 3권으로 이루어진 ‘C++과 CUDA C로 구현하는 딥러닝 신경망’ 시리즈의 마지막 책이다. 딥러닝에서 가장 화두가 되고 있는 영상 속의 사물 인지 알고리즘을 깊게 파고들면서 실제로 CUDA 기반으로 구현까지 해볼 수 있도록 가이드해준다. Deep Convolution Neural Network를 크게 지역적으로 연결된 레이어와 풀링 레이어, 출력 레이어 등으로 구별해 살펴보고, 훈련 과정의 핵심인 그래디언트 역전파를 DCNN에 적용하는 방법을 살펴본다. 알고리즘을 레이어별로 활성화하는 과정과 그레디언트를 계산하는 과정으로 나누어 살펴본다. 단일 스레드 기반의 구현 방법부터 시작해서 마지막엔 멀티스레드 기반의 구현 방법으로 확장한다. 각 레이어별로 구현한 내용을 다시 GPGPU로 활용할 수 있도록 CUDA C로 구현한다. 마지막으로는 저자가 제공하는 CONVNET 프로그램의 매뉴얼을 소개하면서, 사용자가 구현 결과를 미리 확인하면서 쉽게 각 기능들의 실행 결과물이 어떠한지 확인해본다.
이 책에서 다루는 내용
■ 피드포워드 신경망 재검토 및 오차 역전파 관련 주제 심화
■ 풀링 레이어, 지역적으로 연결된 레이어, 출력 레이어 등
■ 범용 C++ 코드를 이용한 레이어 구현
■ CUDA 언어로 합성곱 신경망 알고리즘 구현
■ CONVNET 프로그램 사용자 매뉴얼
이 책의 대상 독자
3권에서 다루고 있는 모든 기법들은 근래의 수학적 이론을 근거로 하고 있지만, 독자들이 이렇게 수학적으로 복잡한 알고리즘을 꼭 제대로 이해해야 할 필요는 없다. 그러므로 기본적인 선형대수학을 넘어서는 복잡한 내용을 알아야 할 필요는 없다.
목차
목차
- 『C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.1』
- 1장. 소개
- 2장. 감독 피드포워드 신경망
- 3장. 제한된 볼츠만 머신
- 4장. 탐욕적인 훈련
- 5장. DEEP 사용 매뉴얼
- 『C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.2』
- 1장. 소개
- 2장. 내장된 클래스 레이블
- 3장. 신호 전처리
- 4장. 이미지 전처리
- 5장. 오토인코딩
- 6장. DEEP 사용 매뉴얼
- 『C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.3』
- 1장. 소개
- 2장. 피드포워드 신경망
- 3장. 알고리즘 프로그래밍
- 4장. CUDA 코드