책 소개
소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/java-deep-learning)
요약
인공지능의 열풍이 불고 있다. 알파고를 통해 더욱 대중적으로 알려진 딥러닝은 머지 않아 모든 개발자들이 알아야 할 필수 기술이 될 것이다. 딥러닝의 학습에 있어서 가장 중요한 것은 알고리즘의 이해와 구상하는 모델을 신속하게 구현하고 검증하는 실험을 반복하는 것이며, 이를 통해서 더 깊은 이해와 통찰력을 얻을 수 있는 것이다. 딥러닝 알고리즘을 자바로 구현하는 과정을 처음부터 단계적으로 설명하며, 수학적인 지식이 부족해도 딥러닝 알고리즘을 쉽게 구현할 수 있게 안내한다. 자바(JAVA)는 현재 가장 널리 사용되는 프로그래밍 언어다. 국내에 자바 개발자들에게는 짧은 시간에 딥러닝의 핵심 기술을 구현해 볼 수 있는 좋은 지침서가 될 것이다.
이 책에서 다루는 내용
■ 머신 러닝과 딥러닝 알고리즘에 대한 실용적인 이해
■ 딥러닝에 관련된 머신 러닝 알고리즘 구현
■ 가장 많이 쓰이는 딥러닝 프레임워크를 이용한 신경망 탐구
■ 심층 신뢰 신경망(Deep Belief Nets)과 적층 노이즈 제거 오토엔코더(Denoising Autoencoder) 알고리즘 이해
■ 드롭아웃(Dropout)과 합성곱 신경망(Convolutional Neural Networks)
■ 딥러닝 라이브러리 DL4J에 대한 이해 및 사용법
■ 딥러닝 알고리즘과 라이브러리 실무 이용 전략
■ 테아노(Theano), 텐서플로우(TensorFlow) 및 카페(Caffe)를 통한 딥러닝 심층 탐구
이 책의 대상 독자
이 책은 딥러닝 알고리즘을 배워 응용하고자 하는 자바 개발자를 위한 것이다. 머신 러닝과 딥러닝 두 가지에 공통되는 핵심 개념과 접근 방법을 다루므로, 머신 러닝에 대한 사전 지식은 필요하지 않다. 매우 간단한 코드로 딥러닝 알고리즘을 구현하므로, 자바 기술과 딥러닝 기술을 향상시키는 데 도움이 될 것이다.
이 책의 구성
1장, ‘딥러닝의 개요’에서는 딥러닝이 어떻게 발전해왔는지 알아본다.
2장, ‘머신 러닝 알고리즘: 딥러닝을 위한 준비 단계’에서는 딥러닝과 관련된 머신 러닝 알고리즘을 구현한다.
3장, ‘심층 신뢰 신경망과 적층 노이즈 제거 오토엔코더’에서는 심층 신뢰 신경망(Deep Belief Nets)과 적층 노이즈 제거 오토엔코더(Stacked Denoising Autoencoders) 알고리즘을 자세히 다룬다.
4장, ‘드롭아웃과 합성곱 신경망’에서는 드롭아웃(Dropout)과 합성곱 신경망(Convolutional Neural Networks)이라는 딥러닝 알고리즘을 알아본다.
5장, ‘자바 딥러닝 라이브러리: DL4J, ND4J 등’에서는 딥러닝 라이브러리 DL4J에 대한 이해와 실제 사용법을 알아본다.
6장, ‘실무 응용을 위한 접근 방법: 순환 신경망 등’에서는 실무에서 딥러닝 알고리즘과 라이브러리를 사용하기 위해 스스로 전략을 고안하는 법을 알아본다.
7장, ‘기타 중요한 딥러닝 라이브러리’에서는 테아노(Theano), 텐서플로우(TensorFlow), 카페(Caffe)를 통해 딥러닝을 더 자세히 알아본다.
8장, ‘그다음은 무엇일까?’에서는 딥러닝의 최근 동향과 주요 이벤트를 살펴보고 딥러닝에 관한 유용한 자원들을 알아본다.
목차
목차
- 1장. 딥러닝의 개요
- 인공지능의 변천
- 인공지능의 정의
- 과거의 인공지능 붐
- 머신 러닝은 발전한다
- 머신 러닝도 할 수 없는 것
- 기계와 인간을 구분 짓는 것
- 인공지능과 딥러닝
- 요약
- 인공지능의 변천
- 2장. 머신 러닝 알고리즘 딥러닝을 : 위한 준비 단계
- 시작하기
- 머신 러닝에서 학습의 필요성
- 지도 학습과 비지도 학습
- 서포트 벡터 머신
- 은닉 마르코프 모델(HMM)
- 신경망
- 로지스틱 회귀
- 강화 학습
- 머신 러닝 애플리케이션의 절차
- 신경망 이론과 알고리즘
- 퍼셉트론(단일층 신경망)
- 로지스틱 회귀
- 다범주 로지스틱 회귀
- 다층 퍼셉트론(다층 신경망)
- 요약
- 3장. 심층 신뢰 신경망과 적층 노이즈 제거 오토엔코더
- 신경망의 실패
- 신경망의 설욕
- 딥러닝의 진화: 돌파구는 무엇이었을까?
- 사전 학습을 이용한 딥러닝
- 딥러닝 알고리즘
- 제한 볼츠만 머신
- 심층 신뢰망(DBNs)
- 노이즈 제거 오토엔코더(DA)
- 적층 노이즈 제거 오토엔코더(SDA)
- 요약
- 4장. 드롭아웃과 합성곱 신경망
- 선행 학습이 없는 딥러닝 알고리즘
- 드롭아웃
- 합성곱 신경망
- 합성곱
- 수집
- 식과 구현
- 요약
- 5장. 자바 딥러닝 라이브러리: DL4J, ND4J 등
- 처음부터 개발과 라이브러리(혹은 프레임워크)를 이용한 개발
- DL4J와 ND4J의 소개
- ND4J를 이용한 구현
- DL4J를 이용한 구현
- 준비(설정)
- 구축
- DBNIrisExample.java
- CSVExample.java
- CNNMnistExample.java/LenetMnistExample.java
- 학습률 최적화
- 요약
- 6장. 실무 응용을 위한 접근 방법: 순환 신경망 등
- 딥러닝이 활발한 분야
- 이미지 인식
- 자연어 처리
- NLP를 위한 피드포워드 신경망
- NLP를 위한 딥러닝
- 딥러닝의 문제
- 딥러닝의 가능성과 능력을 최대화하기 위한 접근 방법
- 분야 지향 접근 방법
- 의료
- 자동차
- 광고 기술
- 전문직 혹은 실무
- 스포츠
- 세분화 지향 접근 방법
- 출력 지향 접근 방법
- 분야 지향 접근 방법
- 요약
- 딥러닝이 활발한 분야
- 7장. 기타 중요한 딥러닝 라이브러리
- 테아노
- 텐서플로우
- 카페
- 요약
- 8장. 그다음은 무엇일까?
- 딥러닝에 대한 긴급 뉴스
- 예상되는 미래 동향
- 딥러닝에 대한 최신 소식을 볼 수 있는 곳
- 요약