케라스 창시자에게 배우는 딥러닝 (개정 2판)

케라스 창시자에게 배우는 딥러닝 (개정 2판)

$48.00
저자

프랑소와숄레

저자:프랑소와숄레
가장널리사용되는딥러닝프레임워크인케라스의창시자다.현재구글의소프트웨어엔지니어로케라스팀을이끌고있으며,추상화,추론그리고인공지능의일반성을높이기위한방법을연구한다.

역자:박해선
기계공학을전공했지만졸업후에는줄곧코드를읽고쓰는일을했다.텐서플로우블로그를운영하고있고,머신러닝과딥러닝에관한책을집필하고번역하면서소프트웨어와과학의경계를흥미롭게탐험하는중이다.
『혼자공부하는머신러닝+딥러닝』(한빛미디어,2020),『Doit!딥러닝입문』(이지스퍼블리싱,2019)을집필했고,『파이썬라이브러리를활용한머신러닝(번역개정2판)』(한빛미디어,2022),『머신러닝교과서3판』(길벗,2021),『핸즈온머신러닝2판』(한빛미디어,2020)을포함하여여러권의책을우리말로옮겼다.

목차

1장딥러닝이란무엇인가?
1.1인공지능과머신러닝,딥러닝
__1.1.1인공지능
__1.1.2머신러닝
__1.1.3데이터에서표현을학습하기
__1.1.4딥러닝에서‘딥’이란무엇일까?
__1.1.5그림3개로딥러닝의작동원리이해하기
__1.1.6지금까지딥러닝의성과
__1.1.7단기간의과대선전을믿지말자
__1.1.8AI에대한전망
1.2딥러닝이전:머신러닝의간략한역사
__1.2.1확률적모델링
__1.2.2초창기신경망
__1.2.3커널방법
__1.2.4결정트리,랜덤포레스트,그레이디언트부스팅머신
__1.2.5다시신경망으로
__1.2.6딥러닝의특징
__1.2.7머신러닝의최근동향
1.3왜딥러닝일까?왜지금일까?
__1.3.1하드웨어
__1.3.2데이터
__1.3.3알고리즘
__1.3.4새로운투자의바람
__1.3.5딥러닝의대중화
__1.3.6지속될까?

2장신경망의수학적구성요소
2.1신경망과의첫만남
2.2신경망을위한데이터표현
__2.2.1스칼라(랭크-0텐서)
__2.2.2벡터(랭크-1텐서)
__2.2.3행렬(랭크-2텐서)
__2.2.4랭크-3텐서와더높은랭크의텐서
__2.2.5핵심속성
__2.2.6넘파이로텐서조작하기
__2.2.7배치데이터
__2.2.8텐서의실제사례
__2.2.9벡터데이터
__2.2.10시계열데이터또는시퀀스데이터
__2.2.11이미지데이터
__2.2.12비디오데이터
2.3신경망의톱니바퀴:텐서연산
__2.3.1원소별연산
__2.3.2브로드캐스팅
__2.3.3텐서곱셈
__2.3.4텐서크기변환
__2.3.5텐서연산의기하학적해석
__2.3.6딥러닝의기하학적해석
2.4신경망의엔진:그레이디언트기반최적화
__2.4.1도함수란?
__2.4.2텐서연산의도함수:그레이디언트
__2.4.3확률적경사하강법
__2.4.4도함수연결:역전파알고리즘
2.5첫번째예제다시살펴보기
__2.5.1텐서플로를사용하여첫번째예제를밑바닥부터다시구현하기
__2.5.2훈련스텝실행하기
__2.5.3전체훈련루프
__2.5.4모델평가하기
2.6요약

3장케라스와텐서플로소개
3.1텐서플로란?
3.2케라스란?
3.3케라스와텐서플로의간략한역사
3.4딥러닝작업환경설정하기
__3.4.1주피터노트북:권장하는딥러닝실험도구
__3.4.2코랩사용하기
3.5텐서플로시작하기
__3.5.1상수텐서와변수
__3.5.2텐서연산:텐서플로에서수학계산하기
__3.5.3GradientTapeAPI다시살펴보기
__3.5.4엔드-투-엔드예제:텐서플로선형분류기
3.6신경망의구조:핵심KerasAPI이해하기
__3.6.1층:딥러닝의구성요소
__3.6.2층에서모델로
__3.6.3‘컴파일’단계:학습과정설정
__3.6.4손실함수선택하기
__3.6.5fit()메서드이해하기
__3.6.6검증데이터에서손실과측정지표모니터링하기
__3.6.7추론:훈련한모델사용하기
3.7요약

4장신경망시작하기:분류와회귀
4.1영화리뷰분류:이진분류문제
__4.1.1IMDB데이터셋
__4.1.2데이터준비
__4.1.3신경망모델만들기
__4.1.4훈련검증
__4.1.5훈련된모델로새로운데이터에대해예측하기
__4.1.6추가실험
__4.1.7정리
4.2뉴스기사분류:다중분류문제
__4.2.1로이터데이터셋
__4.2.2데이터준비
__4.2.3모델구성
__4.2.4훈련검증
__4.2.5새로운데이터에대해예측하기
__4.2.6레이블과손실을다루는다른방법
__4.2.7충분히큰중간층을두어야하는이유
__4.2.8추가실험
__4.2.9정리
4.3주택가격예측:회귀문제
__4.3.1보스턴주택가격데이터셋
__4.3.2데이터준비
__4.3.3모델구성
__4.3.4K-겹검증을사용한훈련검증
__4.3.5새로운데이터에대해예측하기
__4.3.6정리
4.4요약

5장머신러닝의기본요소
5.1일반화:머신러닝의목표
__5.1.1과소적합과과대적합
__5.1.2딥러닝에서일반화의본질
5.2머신러닝모델평가
__5.2.1훈련,검증,테스트세트
__5.2.2상식수준의기준점넘기
__5.2.3모델평가에대해유념해야할점
5.3훈련성능향상하기
__5.3.1경사하강법의핵심파라미터튜닝하기
__5.3.2구조에대해더나은가정하기
__5.3.3모델용량늘리기
5.4일반화성능향상하기
__5.4.1데이터셋큐레이션
__5.4.2특성공학
__5.4.3조기종료사용하기
__5.4.4모델규제하기
5.5요약

6장일반적인머신러닝워크플로
6.1작업정의
__6.1.1문제정의
__6.1.2데이터수집
__6.1.3데이터이해
__6.1.4성공지표선택
6.2모델개발
__6.2.1데이터준비
__6.2.2평가방법선택
__6.2.3기준모델뛰어넘기
__6.2.4모델용량키우기:과대적합모델만들기
__6.2.5모델규제와하이퍼파라미터튜닝
6.3모델배포
__6.3.1고객에게작업을설명하고기대치설정하기
__6.3.2추론모델배치하기
__6.3.3작동중모델모니터링하기
__6.3.4모델유지관리
6.4요약

7장케라스완전정복
7.1다양한워크플로
7.2케라스모델을만드는여러방법
__7.2.1Sequential모델
__7.2.2함수형API
__7.2.3Model서브클래싱
__7.2.4여러방식을혼합하여사용하기
__7.2.5작업에적합한도구사용하기
7.3내장된훈련루프와평가루프사용하기
__7.3.1사용자정의지표만들기
__7.3.2콜백사용하기
__7.3.3사용자정의콜백만들기
__7.3.4텐서보드를사용한모니터링과시각화
7.4사용자정의훈련,평가루프만들기
__7.4.1훈련vs추론
__7.4.2측정지표의저수준사용법
__7.4.3완전한훈련과평가루프
__7.4.4tf.function으로성능높이기
__7.4.5fit()메서드를사용자정의루프로활용하기
7.5요약

8장컴퓨터비전을위한딥러닝
8.1합성곱신경망소개
__8.1.1합성곱연산
__8.1.2최대풀링연산
8.2소규모데이터셋에서밑바닥부터컨브넷훈련하기
__8.2.1작은데이터셋문제에서딥러닝의타당성
__8.2.2데이터내려받기
__8.2.3모델만들기
__8.2.4데이터전처리
__8.2.5데이터증식사용하기
8.3사전훈련된모델활용하기
__8.3.1사전훈련된모델을사용한특성추출
__8.3.2사전훈련된모델미세조정하기
8.4요약

9장컴퓨터비전을위한고급딥러닝
9.1세가지주요컴퓨터비전작업
9.2이미지분할예제
9.3최신컨브넷아키텍처패턴
__9.3.1모듈화,계층화그리고재사용
__9.3.2잔차연결
__9.3.3배치정규화
__9.3.4깊이별분리합성곱
__9.3.5Xception유사모델에모두적용하기
9.4컨브넷이학습한것해석하기
__9.4.1중간활성화시각화
__9.4.2컨브넷필터시각화하기
__9.4.3클래스활성화의히트맵시각화하기
9.5요약

10장시계열을위한딥러닝
10.1다양한종류의시계열작업
10.2온도예측문제
__10.2.1데이터준비
__10.2.2상식수준의기준점
__10.2.3기본적인머신러닝모델시도해보기
__10.2.41D합성곱모델시도해보기
__10.2.5첫번째순환신경망
10.3순환신경망이해하기
__10.3.1케라스의순환층
__10.4순환신경망의고급사용법
__10.4.1과대적합을감소하기위해순환드롭아웃사용하기
__10.4.2스태킹순환층
__10.4.3양방향RNN사용하기
__10.4.4더나아가서
10.5요약

11장텍스트를위한딥러닝
11.1자연어처리소개
11.2텍스트데이터준비
__11.2.1텍스트표준화
__11.2.2텍스트분할(토큰화)
__11.2.3어휘사전인덱싱
__11.2.4TextVectorization층사용하기
11.3단어그룹을표현하는두가지방법:집합과시퀀스
__11.3.1IMDB영화리뷰데이터준비하기
__11.3.2단어를집합으로처리하기:BoW방식
__11.3.3단어를시퀀스로처리하기:시퀀스모델방식
11.4트랜스포머아키텍처
__11.4.1셀프어텐션이해하기
__11.4.2멀티헤드어텐션
__11.4.3트랜스포머인코더
__11.4.4BoW모델대신언제시퀀스모델을사용하나요?
11.5텍스트분류를넘어:시퀀스-투-시퀀스학습
__11.5.1기계번역예제
__11.5.2RNN을사용한시퀀스-투-시퀀스모델
__11.5.3트랜스포머를사용한시퀀스-투-시퀀스모델
11.6요약

12장생성모델을위한딥러닝
12.1텍스트생성
__12.1.1시퀀스생성을위한딥러닝모델의간단한역사
__12.1.2시퀀스데이터를어떻게생성할까?
__12.1.3샘플링전략의중요성
__12.1.4케라스를사용한텍스트생성모델구현
__12.1.5가변온도샘플링을사용한텍스트생성콜백
__12.1.6정리
12.2딥드림
__12.2.1케라스딥드림구현
__12.2.2정리
12.3뉴럴스타일트랜스퍼
__12.3.1콘텐츠손실
__12.3.2스타일손실
__12.3.3케라스로뉴럴스타일트랜스퍼구현하기
__12.3.4정리
12.4변이형오토인코더를사용한이미지생성
__12.4.1이미지의잠재공간에서샘플링하기
__12.4.2이미지변형을위한개념벡터
__12.4.3변이형오토인코더
__12.4.4케라스로VAE구현하기
__12.4.5정리
12.5생성적적대신경망소개
__12.5.1G

출판사 서평

쉽고간결하다!

케라스창시자이자구글AI연구원인저자는‘인공지능의민주화’를강조한다.이런개념을바탕으로케라스를만들었으며,현재딥러닝을시작하기에가장쉬운라이브러리로평가받고있다.이책역시‘인공지능의민주화’를위한일환이다.1판대비75%이상수정된2판은직관적인설명,컬러일러스트레이션,명확한예로딥러닝애플리케이션개발을시작하는데필요한기술을빠르게습득할수있도록구성했다.실생활에서쉽게적용할수있는실용적인기법과신경망을완성하기위한중요한이론을모두다루고있다.

명확한학습법을제시한다!

딥러닝의최근혁신은자동화된언어번역,이미지인식등과같은흥미롭고새로운기능을제공한다.딥러닝은빠르게모든소프트웨어개발자의필수지식이되고있으며,수학이나데이터과학에대한배경지식이없더라도케라스와텐서플로같은최신도구를통해쉽게접근할수있다.이책은오랜기간딥러닝개발자로활동해온저자가딥러닝을제대로학습하기위해서는어떻게해야할지를고민한내용을모두담았다.딥러닝을시작하는방법부터실무기법까지,저자의철학과통찰력이담긴내용을만나보자.

실용적이고확장가능한예제로학습한다!

상세한해설,실질적인권장사항,구체적인문제해결을위한팁까지딥러닝을학습하기위해알아야할모든것을포괄하는설명이포함된예제로학습한다.이예제들을학습하면서딥러닝의개념,적용범위,한계등을확실하게이해할수있다.이과정으로머신러닝문제를해결하는작업흐름에익숙해질것이며,케라스를사용해컴퓨터비전,자연어처리,GAN등실전문제를해결할수있다.또한,이예제들을확장해나만의딥러닝모델을만들거나적용할수도있다.

이책은딥러닝을처음부터배우거나이해의폭을넓히고자하는모든사람을위해썼습니다.머신러닝기술자나소프트웨어엔지니어,대학생에상관없이이책에서배울점이있을것입니다.
처음에는간단하게시작해서나중에최신기술까지배우는식으로딥러닝을탐구해보겠습니다.이책은직관,이론,실습사이에균형을잡고있습니다.수학표기를피하고그대신머신러닝과딥러닝의핵심아이디어를자세한코드와직관적인비유로설명합니다.자세한주석과실용적인가이드라인이포함된많은코드예제가있습니다.구체적인문제를풀기위해딥러닝을시작할때알아야할모든것에대한간단명료한수준높은설명도함께합니다.
예제코드는파이썬딥러닝프레임워크케라스를사용합니다.케라스의계산엔진으로는텐서플로2를사용합니다.케라스와텐서플로2의최신모범사례를보여줄것입니다.
이책을읽고나면딥러닝이무엇인지,언제적용하는지,한계는무엇인지에대한개념을확실히이해할수있습니다.머신러닝문제를구성하고해결하기위한표준적인작업흐름에익숙해지고자주마주치는이슈들을다루는방법을배웁니다.따라서케라스를사용하여컴퓨터비전에서자연어처리,이미지분류,이미지분할,시계열예측,텍스트분류,기계번역,텍스트생성까지다양한실전문제를다룰수있을것입니다.

2판에서달라진점
-최신텐서플로,케라스API반영
-어텐션을비롯해트랜스포머구조를밑바닥에서부터직접구현
-이미지분할,기계번역,텍스트생성,얼굴이미지생성등고급모델추가
-사용자정의지표,사용자정의콜백,사용자정의훈련루프구현
-그레이디언트테이프및서브클래싱을사용한모델구현
-머신러닝문제정의,배포,최적화등머신러닝의전체워크플로설명
-대부분의코드에함수형API사용
-새로운이미지증식층을사용한이미지증식기법소개
-케라스튜너,혼합정밀도,다중GPU,TPU를사용한훈련방법
-지능과일반화에대해고찰하고딥러닝의미래를그려봄

이책의장점
-어려운수식을사용하지않고파이썬코드로기초부터최신고급알고리즘까지모두설명
-간결한케라스코드를사용하므로파이썬에익숙한개발자가쉽게이해할수있음
-합성곱신경망,순환신경망,트랜스포머,생성모델까지폭넓은애플리케이션을포괄함
-머신러닝프로젝트를위한전체워크플로와주의해야할점을배움
-초보자에게:수학을몰라도기초적인부분부터딥러닝을배울수있음
-개발자에게:파이썬에익숙하다면고급모델까지모두구현해볼수있음
-연구자에게:케라스로사용자정의모델을만드는방법을모두배울수있음