1부. 신경망 기초
1장. 머신러닝이란?
__데이터셋의 중요성
____n차원 공간
____차원의 저주
__지도학습
____거리와 유사도-k-NN 알고리즘
____모수 모델
____모델의 성능 측정-평가 지표
__비지도학습
__준지도학습
__요약
__실습
2장. 신경망과 딥러닝
__신경망
____생물학적 뉴런
____인공 뉴런
____완전 연결 레이어
____활성화 함수
____손실함수
____파라미터 초기화
__최적화
____경사하강법
____경사하강법 최적화 알고리즘
____역전파와 자동 미분
__컨볼루션 신경망
____컨볼루션 연산자
____2D 컨볼루션
____볼륨 간 2D 컨볼루션
____1×1×D 컨볼루션
__일반화
____드롭아웃
____데이터 증강
____얼리스타핑
____배치 정규화
__요약
__실습
2부. 텐서플로 기초
3장. 텐서플로 그래프 아키텍처
__환경 설정
____텐서플로 1.x 환경
____텐서플로 2.0 환경
__데이터 흐름 그래프
____주요 구조-tf.Graph
____그래프 정의-tf.Operation부터 tf.Tensor까지
____그래프 배치-tf.device
____그래프 실행-tf.Session
____정적 그래프의 변수
__모델 정의와 훈련
____tf.layers 기반 모델 정의
____자동 미분-손실과 옵티마이저
__파이썬을 활용한 그래프 다루기
____플레이스홀더에 전달
____요약 기록
____모델 파라미터 저장과 모델 선택
__요약
__실습
4장. 텐서플로 2.0 아키텍처
__프레임워크 다시 배우기
__케라스 프레임워크와 모델
____순차 API
____함수 API
____서브클래스 기법
__즉시 실행과 새로운 기능들
____베이스라인 예제
____세션이 아닌 함수
____더 이상의 전역 변수는 없다
____제어 흐름
____GradientTape
____사용자 정의 훈련 루프
이 책에서 다루는 내용
■ 머신러닝과 신경망 기법 파악 후 과제 해결
■ 개발 속도를 높이기 위한 TF 2.0의 새로운 기능 적용
■ 텐서플로 데이터셋(tfds와 tf.data API를 사용해 고효율 데이터 입력 파이프라인 구축
■ 텐서플로 허브로 전이학습 및 미세 조정 수행
■ 객체 탐지 및 시맨틱 분할 문제 해결을 위한 네트워크 정의와 훈련
■ 이미지 생성과 데이터 분포를 생성하는 GAN 훈련
■ SavedModel 파일 형식을 사용한 모델이나 일반 연산 그래프 실무 투입
이 책의 대상 독자
텐서플로 구조와 새로운 특징이 궁금한 동시에 신경망을 다루는 데이터 과학자, 머신러닝 개발자, 딥러닝 연구자, 기초 통계 배경지식을 가진 개발자를 대상으로 한다. 이 책을 최대한 활용하려면 파이썬 프로그래밍 언어 관련 실무 지식이 필요하다.
이 책의 구성
1장, ‘머신러닝이란?’에서는 머신러닝의 기초를 다룬다. 지도, 비지도, 준지도학습이 무엇이며 이러한 구분이 왜 중요한지 살펴본다. 또한 데이터 파이프라인을 만드는 방법, 알고리즘의 성능을 측정하는 방법, 결과를 검증하는 방법을 배운다.
2장, ‘신경망과 딥러닝’에서는 신경망에 초점을 맞춘다. 머신러닝 모델의 강점과 네트워크 학습 방법, 실제로 모델 파라미터 업데이트가 어떻게 수행되는지를 배우게 된다. 이 장을 마치면 역전파(backpropagation와 네트워크 파라미터 업데이트 내부를 이해하게 된다. 도전적인 과제를 해결하는 데 심층 신경망 구조가 왜 필요한지 알게 될 것이다.
3장, ‘텐서플로 그래프 아키텍처’에서는 1.x 버전과 2.x 버전 사이에 공유되는 텐서플로 구조를 다룬다.
4장, ‘텐서플로 2.0 아키텍처’에서는 텐서플로 1.x와 2.x의 차이를 보여준다. 이 두 가지 버전을 모두 사용해 간단한 머신러닝 모델을 개발해본다. 두 버전의 공통적인 특징을 이해하게 될 것이다.
5장, ‘효율적인 데이터 입력 파이프라인 및 Estimator API’에서는 tf.dat