<기본 편>
0장. 프롤로그
__0.1 인공지능과 인공신경망
____0.1.1 인공지능의 역사
____0.1.2 머신러닝과 딥러닝
____0.1.3 인공신경망 개요
__0.2 케라스 소개
____0.2.1 케라스 2의 주요 특징
1장. 케라스 시작하기
__1.1 우분투에서 케라스 설치하기
____1.1.1 아나콘다 파이썬 배포판 설치
____1.1.2 아나콘다를 이용한 케라스 설치
____1.1.3 케라스에서 GPU 사용을 위한 CUDA/cuDNN 설치
__1.2 윈도우에서 케라스 설치하기
____1.2.1 아나콘다 파이썬 배포판 설치
____1.2.2 아나콘다를 이용한 케라스 설치
__1.3 주피터 설치하기
__1.4 케라스 사용하기
____1.4.1 실습 내용 소개
____1.4.2 텍스트 모드 실습
____1.4.3 주피터 모드 실습
__1.5 케라스 기능
__1.6 마치며
2장. 케라스로 구현하는 ANN
__2.1 ANN 원리
____2.1.1 ANN 개념
____2.1.2 ANN 구조
____2.1.3 ANN 활용
____2.1.4 ANN 구현 방법 및 단계
__2.2 필기체를 구분하는 분류 ANN 구현
____2.2.1 분류 ANN을 위한 인공지능 모델 구현
____2.2.2 분류 ANN에 사용할 데이터 가져오기
____2.2.3 분류 ANN 학습 결과의 그래프 구현
____2.2.4 분류 ANN 학습 및 성능 분석
__2.3 결과 데이터를 예측하는 회귀 ANN 구현
____2.3.1 회귀 ANN 모델링
____2.3.2 학습과 평가용 데이터 가져오기
____2.3.3 회귀 ANN 학습 결과 그래프 구현
____2.3.4 회귀 ANN 학습 및 성능 분석
__2.4 마치며
3장. 케라스로 구현하는 DNN
__3.1 DNN 원리
____3.1.1 DNN 개념과 구조
____3.1.2 경사도 소실 문제와 ReLU 활성화 함수
____3.1.3 DNN 구현 단계
__3.2 필기체를 분류하는 DNN 구현
____3.2.1 기본 매개변수 설정
____3.2.2 DNN 모델 구현
____3.2.3 데이터 준비
____3.2.4 학습 및 성능 평가
__3.3 컬러 이미지를 분류하는 DNN 구현
____3.3.1 데이터 가져오기
____3.3.2 DNN 모델링
____3.3.3 학습 효과 분석
____3.3.4 학습 및 성능 평가
__3.4 마치며
4장 케라스로 구현하는 CNN
__4.1 CNN 원리
__4.2 필기체를 분류하는 CNN 구현
____4.2.1 분류 CNN 모델링
____4.2.2 분류 CNN을 위한 데이터 준비
____4.2.3 분류 CNN 학습 효과 분석
____4.2.4 분류 CNN 학습 및 성능 평가
__4.3 컬러 이미지를 분류하는 CNN 구현
____4.3.1 분류 CNN 패키지 가져오기
____4.3.2 분류 CNN 모델링
____4.3.3 분류 CNN을 위한 데이터 준비
____4.3.4 분류 CNN의 학습 및 성능 평가를 위한 머신 클래스
____4.3.5 분류 CNN의 학습 및 성능 평가 수행
__4.4 마치며
5장 케라스로 구현하는 RNN
__5.1 RNN 원리
____5.1.1 RNN의 개념과 구조
____5.1.2 LSTM 구조 및 동작
__5.2 문장을 판별하는 LSTM 구현
____5.2.1 라이브러리 패키지 가져오기
____5.2.2 데이터 준비
____5.2.3 모델링
____5.2.4 학습 및 성능 평가
__5.3 시계열 데이터를 예측하는 LSTM 구현
____5.3.1 라이브러리 패키지 가져오기
____5.3.2 코드 실행 및 결과 보기
____5.3.3 학습하고 평가하기
____5.3.4 LSTM 시계열 데이터 회귀 모델링
____5.3.5 데이터 가져오기
__5.4 마치며
6장 케라스로 구현하는 AE
__6.1 AE 원리
__6.2 완전 연결 계층을 이용한 AE 구현
____6.2.1 완전 연결 계층 AE 모델링
____6.2.2 데이터 준비
____6.2.3 학습 효과 분석
____6.2.4 완전 연결 계층 AE의 동작 확인
____6.2.5 학습 및 성능 평가
__6.3 합성곱 계층을 이용한 AE 구현
____6.3.1 합성곱 AE 모델링
____6.3.2 데이터 준비 및 학습 효과 분석
____6.3.3 합성곱 AE 결과 시각화
____6.3.4 합성곱 AE 학습 및 성능 평가
__6.4 마치며
7장. 케라스로 구현하는 GAN
__7.1 GAN 원리
____7.1.1 GAN의 목적과 개념
____7.1.2 GAN의 구조
____7.1.3 GAN의 동작 원리
____7.1.4 GAN의 동작 사례
__7.2 확률분포 생성을 위한 완전 연결 계층 GAN 구현
____7.2.1 패키지 가져오기
____7.2.2 데이터 생성 클래스 만들기
____7.2.3 GAN 모델링
____7.2.4 머신 구현하기
____7.2.5 코드 수행과 결과 보기
__7.3 필기체를 생성하는 합성곱 계층 GAN 구현
____7.3.1 공통 패키지 가져오기
____7.3.2 사용자 정의 손실 함수 만들기
____7.3.3 합성곱 계층 GAN 모델링
____7.3.4 합성곱 계층 GAN 학습하기
____7.3.5 합성곱 계층 GAN 수행하기
__7.4 마치며
8장 케라스로 구현하는 UNET
__8.1 UNET 원리
__8.2 UNET을 이용한 컬러 복원 처리
____8.2.1 패키지 가져오기
____8.2.2 UNET 모델링
____8.2.3 데이터 준비
____8.2.4 UNET 처리 그래프 그리기
____8.2.5 UNET 학습 및 결과 확인
__8.3 마치며
<심화 편>
9장 케라스 확장 기능
__9.1 이미지 데이터 증강하기
____9.1.1 응용 코드 구현
____9.1.2 세부 모듈 구현
__9.2 미리 학습한 모델 사용하기
____9.2.1 응용 코드 구현
____9.2.2 세부 모듈 구현
__9.3 간단한 신규 계층 만들기
____9.3.1 Lambda 계층이란?
____9.3.2 파이썬 Lambda 기능 이용
____9.3.3 Lambda 계층 전용 함수 이용
____9.3.4 백엔드 함수 이용
____9.3.5 엔진 전용 함수 이용
____9.3.6 케라스의 확장 기능 이용
__9.4 학습 가능한 신규 계층 만들기
____9.4.1 관련 패키지 가져오기
____9.4.2 새로운 계층의 클래스 만들기
____9.4.3 사용 데이터 준비하기
____9.4.4 신규 계층이 포함된 모델링 만들기
____9.4.5 모델의 학습과 성능 평가
__9.5 케라스의 확장된 기능 이용하기
____9.5.1 텐서플로 가져오기와 내장 케라스 사용하기
____9.5.2 완전 연결층 인공신경망 모델링
____9.5.3 데이터 준비
____9.5.4 학습 진행 및 효과 분석 단계
____9.5.5 주 함수 구현 및 실행
__9.6 마치며
10장. 케라스로 구현하는 RL
__10.1 강화학습 원리
____10.1.1 강화학습의 정의 및 주요 용어
____10.1.2 강화학습 최적화 기본 방법
__10.2 정책 반복법을 이용하는 강화학습 사례
____10.2.1 Gym을 이용한 강화학습 환경 구성하기
____10.2.2 무작위 행동에 따른 상태, 보상 그리고 종료 여부 관찰하 기
____10.2.3 반환값 구하기
____10.2.4 가치함수 구하기
____10.2.5 행동가치함수 구하기
____10.2.6 새로운 정책 구하기
____10.2.7 새로운 정책 사용하기
__10.3 Q-Learning을 이용하는 강화학습 사례
____10.3.1 패키지 가져오기 및 초기화
____10.3.2 주어진 정책에 따른 시행 함수 만들기
____10.3.3 Q-learning 만들기
____10.3.4 Q-learning 실행하기
__10.4 딥러닝 기반 Q-Learning을 이용하는 강화학습
____10.4.1 관련 패키지 가져오기
____10.4.2 Q 함수를 위한 뉴럴넷 구성하기
____10.4.3 텐서플로 기능을 이용한 Q 함수 뉴럴넷 학습 코드 작성
____10.4.4 객체지향 방식으로 Q 함수 뉴럴넷 모델을 학습시키기
____10.4.5 추가 Q 함수 뉴럴넷 모델을 이용한 학습
____10.4.6 시도와 동시에 학습이 진행되게 만들기
__10.5 마치며
11장. 케라스로 구현하는 QAI
__11.1 양자컴퓨팅과 양자인공지능의 기초
____11.1.1 양자비트 상태 표현과 측정
____11.1.2 단일 양자비트 연산자
____11.1.3 다중 양자비트 표현 및 연산
____11.1.4 블로흐 구면과 지정 양자상태 회전
__11.2 양자컴퓨팅 알고리즘 구현
____11.2.1 기본 양자회로 만들기
____11.2.2 입력을 반전시키는 양자회로
____11.2.3 두 상태를 중첩하는 양자회로
____11.2.4 두 개 양자비트를 입력으로 하는 CNOT 연산
____11.2.5 벨 상태 만들기
__11.3 양자인공지능 알고리즘 구현
____11.3.1 매개변수가 있는 가변양자회로 알고리즘
____11.3.2 하이브리드 양자인공지능 학습하기
__11.4 마치며