C++와 CUDA C로 구현하는 딥러닝 알고리즘 3(에이콘 데이터 과학 시리즈)
Deep Convolution Neural Nets의 이해와 구현
전체 3권으로 이루어진 "C++과 CUDA C로 구현하는 딥러닝 신경망" 시리즈의 마지막 책이다. 딥러닝에서 가장 화두가 되고 있는 영상 속의 사물 인지 알고리즘을 깊게 파고들면서 실제로 CUDA 기반으로 구현까지 해볼 수 있도록 가이드해준다. Deep Convolution Neural Network를 크게 지역적으로 연결된 레이어와 풀링 레이어, 출력 레이어 등으로 구별해 살펴보고, 훈련 과정의 핵심인 그래디언트 역전파를 DCNN에 적용하는 방법을 살펴본다. 알고리즘을 레이어별로 활성화하는 과정과 그레디언트를 계산하는 과정으로 나누어 살펴본다. 단일 스레드 기반의 구현 방법부터 시작해서 마지막엔 멀티스레드 기반의 구현 방법으로 확장한다. 각 레이어별로 구현한 내용을 다시 GPGPU로 활용할 수 있도록 CUDA C로 구현한다. 마지막으로는 저자가 제공하는 CONVNET 프로그램의 매뉴얼을 소개하면서, 사용자가 구현 결과를 미리 확인하면서 쉽게 각 기능들의 실행 결과물이 어떠한지 확인해본다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
■ 피드포워드 신경망 재검토 및 오차 역전파 관련 주제 심화
■ 풀링 레이어, 지역적으로 연결된 레이어, 출력 레이어 등
■ 범용 C++ 코드를 이용한 레이어 구현
■ CUDA 언어로 합성곱 신경망 알고리즘 구현
■ CONVNET 프로그램 사용자 매뉴얼
★ 이 책의 대상 독자 ★
3권에서 다루고 있는 모든 기법들은 근래의 수학적 이론을 근거로 하고 있지만, 독자들이 이렇게 수학적으로 복잡한 알고리즘을 꼭 제대로 이해해야 할 필요는 없다. 그러므로 기본적인 선형대수학을 넘어서는 복잡한 내용을 알아야 할 필요는 없다.
★ 이 책의 구성 ★
이 책은 크게 네 가지 절로 나뉜다.
첫 장은 피드포워드 신경망과 관련된 내용을 재검토하면서 오차 역전파에 대한 중요한 주제를 다룬다. 그다음, 이러한 주제를 확장하여, 합성곱 신경망에서 사용하는 종류의 레이어를 다룬다. 즉, 풀링 레이어와 지역적으로 연결된 레이어, 합성곱 레이어 등을 상세히 다룬다. 전향 전달 활성화와 역전파 그레디언트 계산과 관련된 모든 수학적 배경들도 깊이 있게 다룬다.
두 번째 장에서는 범용 C++코드로 앞서 다뤘던 다양한 종류의 레이어를 구현하는 방법을 다룬다. 첫 장에서 설명한 수식을 많이 참조하므로, 독자들은 쉽게 수식과 코드를 관련지어 이해할 수 있을 것이다.
세 번째 장은 CUDA 언어로 합성곱 신경망 알고리즘을 어떻게 구현하는지 다룬다. 이번에도, 앞서 다뤘던 이론적 내용과 수학적인 배경들을 많이 참조하기 때문에 코드가 구현한 모든 함수를 명확하게 이해할 수 있을 것이다.
CUDA로 구현한 여러 가지 루틴들을 호출하여 성능 평가 기준 값과 그레디언트 값들을 계산하는 하나의 C++ 루틴을 다룬다.
마지막 장에서는 CONVNET 프로그램을 사용하기 위한 사용자 매뉴얼에 대해 다룬다. 이 프로그램은 내 홈페이지에서 다운로드할 수 있다.
목차
목차
2장. 피드포워드 신경망
__다중 레이어 피드포워드 신경망 다시보기
__넒은 신경망 대 깊은 신경망
__지역적으로 연결된 레이어
____행, 열, 슬라이스
____합성곱 레이어
____절반-너비와 패딩
____스트라이딩과 유용한 계산 공식
__풀링 레이어
____풀링 타입
__출력 레이어
____SoftMax 출력
__그레디언트를 구하기 위한 오차의 역전파
3장. 알고리즘 프로그래밍
__모델 선언
____가중치와 그레디언트의 처리 순서
__모델 생성자를 통한 초기화
__모든 활성화 탐색
__완전히 연결된 레이어의 활성화 계산
__지역적으로 연결된 레이어의 활성화 계산
__합성곱 레이어의 활성화 계산
__풀링 레이어 활성화 계산
__평가기준 값 계산
__그레디언트 계산
__완전히 연결된 레이어의 그레디언트
__지역적으로 연결된 레이어의 그레디언트
__합성곱 레이어의 그레디언트
__풀링 레이어의 그레디언트(존재하지 않는다!)
__풀링 레이어를 제외한 델타 값 역전파
__풀링 레이어의 델타 역전파
__멀티 스레딩 기반 그레디언트 연산
____알고리즘 프로그래밍
____스레딩을 위한 메모리 할당
4장. CUDA 코드
__CUDA 구현에서의 가중치 레이아웃
__GPU 상의 전역 변수
__초기화
__디바이스에 가중치 복사
__출력층 활성화 계산
__지역적으로 연결된 레이어와 합성곱 레이어의 활성화 계산
____공유된 메모리 활용을 통한 연산 속도 향상
____GPU 코드
____실행 코드
__풀링 레이어의 활성화 계산
__연산 절감 기법을 적용한 SoftMax와 로그 발생 가능 확률
__출력층의 델타 값 계산
__완전히 연결된 레이어로부터의 역전파
__합성곱 레이어와 지역적 레이어의 역전파
__풀링 레이어로부터의 역전파
__완전히 연결된 레이어의 그레디언트
__지역적으로 연결된 레이어와 합성곱 레이어의 그레디언트
____합성곱 그레디언트 평편화
____그레디언트 실행 코드
__그레디언트 값 가져오기
__모든 과정의 통합
5장. CONVNET 매뉴얼
__메뉴 옵션
____File 메뉴
____Test 메뉴
____Display 메뉴
__제어 파일 읽어오기
____이미지 데이터 생성과 읽어오기
____시계열 데이터를 이미지로 변환하여 읽어오기
____모델 아키텍처
____파라미터 훈련
____오퍼레이션
__이미지 출력
____훈련 이미지 출력
____필터 이미지 출력
____활성화 이미지 출력
____출력 예제
__CONVNET.LOG 파일
____가중치 출력
__CUDA.LOG 파일
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

