책소개
기초부터 CNN, RNN, 시계열 분석, 자연어 처리, 강화 학습, 생성 모델까지 텐서플로 2로 구현하며 배운다!
머신 러닝 핵심 알고리즘부터 합성곱 신경망, 설명 가능한 CNN, 순환 신경망, LSTM 같은 딥러닝 알고리즘 이론을 이해하는 데 집중하며, 각 알고리즘을 언제, 어떤 상황에서 사용하면 좋은지도 함께 살펴본다. 또한, 기본 알고리즘 외에 전이 학습, 자연어 처리, 시계열 분석, 강화 학습, GAN 등 꼭 알아둬야 할 개념도 빠트리지 않고 충분히 설명한다. 각 개념을 학습한 뒤에는 텐서플로 2로 직접 구현해 보면서 딥러닝의 개념, 구현 방법, 적용 범위 등을 확실하게 이해할 수 있다.
저자소개
20년 가까이 IT 업계에서 종사하고 있다. 정보관리기술사와 컴퓨터시스템응용기술사로, 현재 한국은행 서버팀에서 근무하고 있다. 고려대학교 빅데이터 융합과 석사과정 중에 있으며, 대학원에서 빅데이터 및 인공지능에 대한 전문적인 연구를 진행하고 있다. 저서로는 『모두의 인공지능 기초수학』(길벗, 2020), 『딥러닝 텐서플로 교과서』(길벗, 2021) 등이 있다.
목차
1장 머신 러닝과 딥러닝
1.1 인공지능, 머신 러닝과 딥러닝
1.2 머신 러닝이란
__1.2.1 머신 러닝 학습 과정
__1.2.2 머신 러닝 학습 알고리즘
1.3 딥러닝이란
__1.3.1 딥러닝 학습 과정
__1.3.2 딥러닝 학습 알고리즘
2장 실습 환경 설정과 텐서플로 기초
2.1 텐서플로 개요
__2.1.1 텐서플로 특징 및 장점
__2.1.2 텐서플로의 일반적인 아키텍처
2.2 텐서플로 2.x 기초 문법
__2.2.1 데이터 준비
__2.2.2 모델 정의
__2.2.3 모델 컴파일
__2.2.4 모델 훈련
__2.2.5 모델 평가
__2.2.6 훈련 과정 모니터링
__2.2.7 모델 사용
2.3 실습 환경 설정
__2.3.1 아나콘다 설치
__2.3.2 가상 환경 생성 및 텐서플로 2 설치
2.4 텐서플로 2 코드 맛보기
3장 머신 러닝 핵심 알고리즘
3.1 지도 학습
__3.1.1 K-최근접 이웃
__3.1.2 서포트 벡터 머신
__3.1.3 결정 트리
__3.1.4 로지스틱 회귀와 선형 회귀
3.2 비지도 학습
__3.2.1 K-평균 군집화
__3.2.2 밀도 기반 군집 분석
__3.2.3 주성분 분석(PCA)
4장 딥러닝 시작
4.1 인공 신경망의 한계와 딥러닝 출현
4.2 딥러닝 구조
__4.2.1 딥러닝 용어
__4.2.2 딥러닝 학습
__4.2.3 딥러닝의 문제점과 해결 방안
__4.2.4 딥러닝을 사용할 때 이점
4.3 딥러닝 알고리즘
__4.3.1 심층 신경망
__4.3.2 합성곱 신경망
__4.3.3 순환 신경망
__4.3.4 제한된 볼츠만 머신
__4.3.5 심층 신뢰 신경망
4.4 우리는 무엇을 배워야 할까?
5장 합성곱 신경망 I
5.1 합성곱 신경망
__5.1.1 합성곱층의 필요성
__5.1.2 합성곱 신경망 구조
__5.1.3 1D, 2D, 3D 합성곱
5.2 합성곱 신경망 맛보기
5.3 전이 학습
__5.3.1 특성 추출 기법
__5.3.2 미세 조정 기법
5.4 설명 가능한 CNN
__5.4.1 특성 맵 시각화
5.5 그래프 합성곱 네트워크
__5.5.1 그래프란
__5.5.2 그래프 신경망
__5.5.3 그래프 합성곱 네트워크
6장 합성곱 신경망 II
6.1 이미지 분류를 위한 신경망
__6.1.1 LeNet-5
__6.1.2 AlexNet
__6.1.3 VGGNet
__6.1.4 GoogLeNet
__6.1.5 ResNet
6.2 객체 인식을 위한 신경망
__6.2.1 R-CNN
__6.2.2 공간 피라미드 풀링
__6.2.3 Fast R-CNN
__6.2.4 Faster R-CNN
6.3 이미지 분할을 위한 신경망
__6.3.1 완전 합성곱 네트워크
__6.3.2 합성곱 & 역합성곱 네트워크
__6.3.3 U-Net
__6.3.4 PSPNet
__6.3.5 DeepLabv3/DeepLabv3+
7장 시계열 분석
7.1 시계열 문제
7.2 AR, MA, ARMA, ARIMA
__7.2.1 AR 모델
__7.2.2 MA 모델
__7.2.3 ARMA 모델
__7.2.4 ARIMA 모델
7.3 순환 신경망(RNN)
__7.3.1 RNN 계층과 셀
7.4 RNN 구조
__7.4.1 RNN 셀 구현
__7.4.2 RNN 계층 구현
7.5 LSTM
__7.5.1 LSTM 구조
__7.5.2 LSTM 셀 구현
__7.5.3 LSTM 계층 구현
7.6 게이트 순환 신경망(GRU)
__7.6.1 GRU 구조
__7.6.2 GRU 셀 구현
__7.6.3 GRU 계층 구현
7.7 RNN, LSTM, GRU 성능 비교
7.8 양방향 RNN
__7.8.1 양방향 RNN 구조
__7.8.2 양방향 RNN 구현
8장 성능 최적화
8.1 성능 최적화
__8.1.1 데이터를 사용한 성능 최적화
__8.1.2 알고리즘을 이용한 성능 최적화
__8.1.3 알고리즘 튜닝을 위한 성능 최적화
__8.1.4 앙상블을 이용한 성능 최적화
8.2 하드웨어를 이용한 성능 최적화
__8.2.1 CPU와 GPU 사용의 차이
__8.2.2 GPU를 이용한 성능 최적화
8.3 하이퍼파라미터를 이용한 성능 최적화
__8.3.1 배치 정규화를 이용한 성능 최적화
__8.3.2 드롭아웃을 이용한 성능 최적화
__8.3.3 조기 종료를 이용한 성능 최적화
9장 자연어 전처리
9.1 자연어 처리란
__9.1.1 자연어 처리 용어 및 과정
__9.1.2 자연어 처리를 위한 라이브러리
9.2 전처리
__9.2.1 결측치 확인
__9.2.2 토큰화
__9.2.3 불용어 제거
__9.2.4 어간 추출
__9.2.5 정규화
10장 자연어 처리를 위한 임베딩
10.1 임베딩
__10.1.1 희소 표현 기반 임베딩
__10.1.2 횟수 기반 임베딩
__10.1.3 예측 기반 임베딩
__10.1.4 횟수/예측 기반 임베딩
10.2 트랜스포머 어텐션
__10.2.1 seq2seq
__10.2.2 버트
__10.2.3 엘모
10.3 한국어 임베딩
11장 클러스터링
11.1 클러스터링이란
11.2 클러스터링 알고리즘 유형
__11.2.1 K-평균 군집화
__11.2.2 가우시안 혼합 모델
__11.2.3 자기 조직화 지도
12장 강화 학습
12.1 강화 학습이란
12.2 마르코프 결정 과정
__12.2.1 마르코프 프로세스
__12.2.2 마르코프 보상 프로세스
__12.2.3 마르코프 결정 과정
12.3 MDP를 위한 벨만 방정식
__12.3.1 벨만 기대 방정식
__12.3.2 벨만 최적 방정식
__12.3.3 다이나믹 프로그래밍
12.4 큐-러닝
__12.4.1 큐-러닝
__12.4.2 딥 큐-러닝
12.5 몬테카를로 트리 탐색
__12.5.1 몬테카를로 트리 탐색 원리
__12.5.2 몬테카를로 트리 검색을 적용한 틱택토 게임 구현
13장 생성 모델
13.1 생성 모델이란
__13.1.1 생성 모델 개념
__13.1.2 생성 모델의 유형
13.2 변형 오토인코더
__13.2.1 오토인코더란
__13.2.2 변형 오토인코더
13.3 적대적 생성 신경망(GAN)이란
__13.3.1 GAN 동작 원리
__13.3.2 GAN 구현
13.4 GAN 파생 기술
__13.4.1 DCGAN
__13.4.2 cGAN
__13.4.3 CycleGAN
부록
A.1 코랩
__A.1.1 코랩이란
__A.1.2 코랩에서 예제 파일 실행
A.2 캐글
__A.2.1 캐글이란
__A.2.2 캐글 시작