Top

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

저자/역자 소개

저자 소개

티모시 마스터즈(Timothy Masters)

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

옮긴이 소개

이승현

한국 항공대학교 기계공학부를 졸업하고, 삼성 소프트웨어 멤버십과 산업통상자원부 소프트웨어 마에스트로를 수료했다. MDS 테크놀로지에서 자동차의 ISO26262 국제 안전 표준과 AUTOSAR 관련 기술 지원을 담당했으며, 현재 시어스랩에서 모바일 환경에서의 DCNN 구동을 위한 압축 알고리즘 연구에 매진하고 있다. 한양대학교 컴퓨터공학과에서 석사 과정을 밟고 있으며, 딥러닝 기반 실시간 영상처리 기술을 다양한 도메인의 소프트웨어에 적용하는 연구를 하고 있다. 양질의 원서를 하루라도 빨리 우리글로 옮겨 국내 개발자들에게 도움을 주고자 번역계에 발을 들였다. 에이콘출판사에서 펴낸 『윈도우폰 7 게임 프로그래밍』(2012), 『안드로이드 앱 인벤터』(2013), 『데이터 마이닝 Data Mining』(2013), 『C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.1』(에이콘, 2016), 『C++와 CUDA C로 구현하는 딥러닝 알고리즘 Vol.3』(에이콘, 2016)를 번역했다.

목차

목차
  • 『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 코드

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안