책소개
기본기에 충실한 딥러닝 파이토치 입문서!
기초부터 CNN, RNN, 시계열 분석, 자연어 처리, 강화 학습, 생성 모델까지 파이토치로 구현하며 배운다!
?
머신 러닝 핵심 알고리즘부터 파이토치 기초, 합성곱 신경망, 설명 가능한 CNN, 순환 신경망, LSTM 같은 딥러닝 알고리즘 이론을 이해하는 데 집중하며, 각 알고리즘을 언제, 어떤 상황에서 사용하면 좋은지도 함께 살펴본다. 또한, 기본 알고리즘 외에 전이 학습, 자연어 처리, 시계열 분석, 강화 학습, GAN 등 꼭 알아둬야 할 개념도 빠트리지 않고 충분히 설명한다. 각 개념을 학습한 뒤에는 파이토치로 직접 구현해 보면서 딥러닝의 개념, 구현 방법, 적용 범위 등을 확실하게 이해할 수 있다.
저자소개
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.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.4 파이토치 코드 맛보기
?
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 버트(BERT)
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 캐글 시작