구글 브레인 팀에게 배우는 딥러닝 with TensorFlow.js (자바스크립트만 알고 있다면 시작하기에 충분하다!)

구글 브레인 팀에게 배우는 딥러닝 with TensorFlow.js (자바스크립트만 알고 있다면 시작하기에 충분하다!)

$44.00
Description
브라우저에서 딥러닝 모델을 빌드하고 실행하는 TensorFlow.js
딥러닝 기초부터 구글 브레인 팀의 노하우까지!
딥러닝은 컴퓨터 비전, 이미지 처리, 자연어 처리 등 다양한 분야에 변화를 불러왔다. 이제 자바스크립트 개발자는 파이썬이나 R에 의존하지 않고 TensorFlow.js를 사용하여 딥러닝 모델을 구축할 수 있다. 이 책은 〈케라스 창시자에게 배우는 딥러닝〉 책을 토대로 구글 브레인 팀 핵심 개발자 3인이 TensorFlow.js에 맞춰 코드를 재작성했고, 자바스크립트 생태계를 위한 새로운 내용을 많이 추가했다. TensorFlow.js의 개요부터 이미지와 사운드 인식, 전이 학습, 모델 시각화, 시퀀스와 텍스트를 위한 딥러닝, 생성적 딥러닝 등 딥러닝 기초부터 심층 강화 학습까지 TensorFlow.js로 딥러닝을 시작하기에 필요한 모든 것을 설명한다. 브라우저에서 얼마나 많은 작업을 수행할 수 있는지 알면 놀랄 것이다. 자바스크립트에 능숙한 개발자라면 TensorFlow.js로 딥러닝을 시작해보자.
· 한국어판 예제 데모 사이트: https://ml-ko.kr/tfjs
저자

샨칭차이

ShanqingCai
구글브레인팀의소프트웨어엔지니어이며,TensorFlow.js고수준API와이와관련된예제,문서,도구의핵심개발자다.TensorFlow.js기반딥러닝을장애인을위한의사소통도구같은실전문제에적용했으며,모두MIT에서학위를받았다.

목차

1부동기부여와기본개념

1장.딥러닝과자바스크립트
1.1인공지능,머신러닝,신경망그리고딥러닝
__1.1.1인공지능
__1.1.2전통적인프로그래밍과머신러닝의차이점
__1.1.3신경망과딥러닝
__1.1.4왜딥러닝인가?왜지금인가?
1.2왜자바스크립트와머신러닝을합쳐야하나요?
__1.2.1Node.js를사용한딥러닝
__1.2.2자바스크립트생태계
1.3왜TensorFlow.js인가?
__1.3.1TensorFlow,Keras,TensorFlow.js에대한간략한역사
__1.3.2TensorFlow.js를선택하는이유:비슷한라이브러리와의간략한비교
__1.3.3전세계에서TensorFlow.js가어떻게사용되고있나요?
__1.3.4이책이TensorFlow.js에대해가르쳐줄것과그렇지않은것
1.4연습문제
1.5요약

2부TensorFlow.js소개

2장.TensorFlow.js시작하기:간단한선형회귀
2.1예제1:TensorFlow.js를사용해다운로드시간예측하기
__2.1.1프로젝트개요:소요시간예측
__2.1.2코드와콘솔의상호작용안내
__2.1.3데이터생성과포매팅
__2.1.4간단한모델정의하기
__2.1.5훈련데이터에서모델훈련하기
__2.1.6훈련된모델을사용해예측만들기
__2.1.7첫번째예제요약
2.2Model.fit()내부:예제1의경사하강법분석
__2.2.1경사하강법최적화이해하기
__2.2.2역전파:경사하강법내부
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.5연습문제
2.6요약

3장.비선형성추가:가중치합을넘어서
3.1비선형성과그필요성
__3.1.1신경망의비선형성에대한직관기르기
__3.1.2하이퍼파라미터최적화
3.2출력층의비선형성:분류를위한모델
__3.2.1이진분류
__3.2.2이진분류기의품질측정:정밀도,재현율,정확도,ROC곡선
__3.2.3ROC곡선:이진분류의균형관계확인하기
__3.2.4이진크로스엔트로피:이진분류를위한손실함수
3.3다중분류
__3.3.1범주형데이터의원-핫인코딩
__3.3.2소프트맥스활성화함수
__3.3.3범주형크로스엔트로피:다중분류를위한손실함수
__3.3.4오차행렬:다중분류를상세하게분석하기
3.4연습문제
3.5요약

4장.합성곱신경망을사용해이미지와사운드인식하기
4.1벡터에서텐서로이미지표현하기
__4.1.1MNIST데이터셋
4.2첫번째합성곱신경망
__4.2.1conv2d층
__4.2.2maxPooling2d층1
__4.2.3합성곱과풀링의반복
__4.2.4flatten층과밀집층
__4.2.5합성곱신경망훈련하기
__4.2.6합성곱신경망을사용해예측하기
4.3브라우저를넘어서:Node.js로모델훈련속도높이기
__4.3.1tfjs-node사용하기
__4.3.2Node.js에서모델을저장하고브라우저에서불러오기
4.4음성인식:합성곱신경망을오디오데이터에적용하기
__4.4.1스펙트로그램:사운드를이미지로표현하기
4.5연습문제
4.6요약

5장.전이학습:사전훈련된신경망재사용하기
5.1전이학습:사전훈련된모델을재사용하기
__5.1.1출력크기가같은전이학습:동결층
__5.1.2출력크기가같지않은전이학습:베이스모델의출력을사용해새로운모델만들기
__5.1.3미세튜닝을통해전이학습을최대로활용하기:오디오예제
5.2합성곱신경망에서전이학습을통한객체탐지
__5.2.1합성된장면을기반으로한간단한객체탐지문제
__5.2.2간단한객체탐지자세히알아보기
5.3연습문제
5.4요약

3부TensorFlow.js를사용한고급딥러닝

6장.데이터다루기
6.1tf.data를사용해데이터관리하기
__6.1.1tf.data.Dataset객체
__6.1.2tf.data.Dataset만들기
__6.1.3데이터셋에서데이터가져오기
__6.1.4tfjs-data데이터셋다루기
6.2model.fitDataset으로모델훈련하기
6.3데이터추출의일반적인패턴
__6.3.1CSV데이터다루기
__6.3.2tf.data.webcam()을사용해비디오데이터가져오기
__6.3.3tf.data.microphone()을사용해오디오데이터가져오기
6.4데이터에있는문제처리하기
__6.4.1데이터이론
__6.4.2데이터문제를감지하고처리하기
6.5데이터증식
6.6연습문제
6.7요약

7장.데이터와모델시각화
7.1데이터시각화
__7.1.1tfjs-vis를사용해데이터시각화하기
__7.1.2통합사례연구:tfjs-vis를사용한날씨데이터시각화
7.2훈련된모델시각화
__7.2.1합성곱신경망의내부활성화값시각화하기
__7.2.2합성곱층을최대로활성화하는이미지시각화하기
__7.2.3합성곱분류결과에대한시각적해석
7.3추가자료
7.4연습문제
7.5요약

8장.과소적합,과대적합과머신러닝의일반적인워크플로
8.1온도예측문제구성
8.2과소적합,과대적합그리고해결책
__8.2.1과소적합
__8.2.2과대적합
__8.2.3가중치규제로과대적합감소하고시각화하기
8.3머신러닝의일반적인워크플로
8.4연습문제
8.5요약

9장.시퀀스와텍스트를위한딥러닝
9.1두번째날씨예측:RNN소개
__9.1.1밀집층이순서를모델링하지못하는이유
__9.1.2RNN이순서를모델링하는방법
9.2텍스트를위한딥러닝모델만들기
__9.2.1머신러닝에서의텍스트표현방법:원-핫인코딩과멀티-핫인코딩
__9.2.2감성분석문제를위한첫번째모델
__9.2.3더효율적인단어표현:단어임베딩
__9.2.41D합성곱신경망
9.3어텐션메커니즘을사용한시퀀스-투-시퀀스작업
__9.3.1시퀀스-투-시퀀스작업정의
__9.3.2인코더-디코더구조와어텐션메커니즘
__9.3.3어텐션기반의인코더-디코더모델자세히알아보기
9.4추가자료
9.5연습문제
9.6요약

10장.생성적딥러닝
10.1LSTM을사용해텍스트생성하기
__10.1.1다음문자예측기:간단하게텍스트를생성하는방법
__10.1.2LSTM텍스트생성예제
__10.1.3온도:생성된텍스트의무작위성조절하기
10.2변이형오토인코더:이미지를위한효율적이고구조적인벡터표현찾기
__10.2.1오토인코더와VAE:기본아이디어
__10.2.2VAE예제:패션MNIST
10.3GAN으로이미지생성하기
__10.3.1GAN의기본아이디어
__10.3.2ACGAN의구성요소
__10.3.3ACGAN훈련자세히알아보기
__10.3.4MNISTACGAN훈련과이미지생성
10.4추가자료
10.5연습문제
10.6요약

11장.심층강화학습
11.1강화학습문제정의
11.2정책네트워크와정책그레이디언트:카트-막대예제
__11.2.1카트-막대강화학습문제
__11.2.2정책네트워크
__11.2.3정책네트워크훈련하기:REINFORCE알고리즘
11.3가치네트워크와Q-러닝:스네이크게임예제
__11.3.1강화학습문제로서의스네이크게임
__11.3.2마르코프결정과정과Q-가치
__11.3.3심층Q-네트워크
__11.3.4심층Q-네트워크훈련하기
11.4추가자료
11.5연습문제
11.6요약

4부정리와마무리멘트

12장.모델테스트,최적화,배포
12.1TensorFlow.js모델테스트하기
__12.1.1전통적인단위테스트
__12.1.2골든값으로테스트하기
__12.1.3지속적인훈련고려사항
12.2모델최적화
__12.2.1훈련후가중치양자화를통한모델크기최적화
__12.2.2GraphModel변환을사용한추론속도최적화
12.3다양한플랫폼과환경에TensorFlow.js모델배포하기
__12.3.1웹에배포할때추가적인고려사항
__12.3.2클라우드서비스에배포
__12.3.3크롬확장같은브라우저확장프로그램으로배포하기
__12.3.4자바스크립트기반모바일애플리케이션에TensorFlow.js모델배포하기
__12.3.5자바스크립트기반크로스플랫폼데스크톱애플리케이션에TensorFlow.js모델배포하기
__12.3.6위챗과다른자바스크립트기반모바일앱플러그인시스템에TensorFlow.js모델배포하기
__12.3.7단일보드컴퓨터에TensorFlow.js모델배포하기
__12.3.8배포방식정리
12.4추가자료
12.5연습문제
12.6요약

13장.정리,결론그리고그외사항
13.1검토할주요개념
__13.1.1AI,머신러닝,딥러닝
__13.1.2머신러닝중에서딥러닝이독보적인이유
__13.1.3딥러닝에대한고수준의소개
__13.1.4딥러닝을가능하게한핵심기술
__13.1.5자바스크립트에서딥러닝으로가능한애플리케이션과기회
13.2딥러닝워크플로와TensorFlow.js소개
__13.2.1지도학습딥러닝의일반적인워크플로
__13.2.2TensorFlow.js의모델과층
__13.2.3TensorFlow.js에서사전훈련된모델사용하기
__13.2.4딥러닝의가능성
__13.2.5딥러닝의한계
13.3딥러닝트렌드
13.4추가학습을위한안내
__13.4.1캐글에서실전머신러닝문제연습하기
__13.4.2아카이브에서최신개발논문읽기
__13.4.3TensorFlow.js생태계

출판사 서평

기초부터구글브레인팀의노하우까지!
브라우저에서바로실행하며배우는딥러닝!

브라우저에서딥러닝모델을빌드하고실행하는TensorFlow.js
딥러닝은컴퓨터비전,이미지처리,자연어처리등다양한분야에변화를불러왔다.이제자바스크립트개발자는파이썬이나R에의존하지않고TensorFlow.js를사용하여딥러닝모델을구축하고훈련할수있다.특히TensorFlow.js로만든모델은자바스크립트가실행되는모든곳에서실행할수있어이식성은정말최고라고할수있다.자바스크립트에능숙한개발자라면TensorFlow.js로딥러닝을시작해보자.

딥러닝기초부터심층강화학습까지!
TensorFlow.js의개요,이미지와사운드인식,전이학습,모델시각화,시퀀스와텍스트를위한딥러닝,생성적딥러닝등딥러닝기초부터심층강화학습까지TensorFlow.js로딥러닝을시작하기에필요한모든것을설명한다.브라우저에서얼마나많은작업을수행할수있는지알면놀랄것이다.이모든과정을TensorFlow.js를만든구글브레인팀개발자에게직접배워보자.

실용적이고확장가능한예제로학습한다
상세한해설,실질적인권장사항,구체적인문제해결을위한저자들의노하우까지포괄하는설명이포함된예제로학습한다.이예제들을학습하면서딥러닝의개념,적용범위,한계등을확실하게이해할수있다.이과정으로딥러닝으로문제를해결하는과정에익숙해질것이며,TensorFlow.js로전이학습,자연어처리등실전문제까지해결할수있다.또한,이예제들을확장해나만의딥러닝모델을만들거나적용할수도있다.