이미 소장하고 있다면 판매해 보세요.
1부 동기 부여와 기본 개념
1장. 딥러닝과 자바스크립트 1.1 인공 지능, 머신 러닝, 신경망 그리고 딥러닝 __1.1.1 인공 지능 __1.1.2 전통적인 프로그래밍과 머신 러닝의 차이점 __1.1.3 신경망과 딥러닝 __1.1.4 왜 딥러닝인가? 왜 지금인가? 1.2 왜 자바스크립트와 머신 러닝을 합쳐야 하나요? __1.2.1 Node.js를 사용한 딥러닝 __1.2.2 자바스크립트 생태계 1.3 왜 TensorFlow.js인가? __1.3.1 TensorFlow, Keras, TensorFlow.js에 대한 간략한 역사 __1.3.2 TensorFlow.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.2 Model.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.3 ROC 곡선: 이진 분류의 균형 관계 확인하기 __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.1 MNIST 데이터셋 4.2 첫 번째 합성곱 신경망 __4.2.1 conv2d 층 __4.2.2 maxPooling2d 층 1 __4.2.3 합성곱과 풀링의 반복 __4.2.4 flatten 층과 밀집 층 __4.2.5 합성곱 신경망 훈련하기 __4.2.6 합성곱 신경망을 사용해 예측하기 4.3 브라우저를 넘어서: Node.js로 모델 훈련 속도 높이기 __4.3.1 tfjs-node 사용하기 __4.3.2 Node.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.1 tf.data를 사용해 데이터 관리하기 __6.1.1 tf.data.Dataset 객체 __6.1.2 tf.data.Dataset 만들기 __6.1.3 데이터셋에서 데이터 가져오기 __6.1.4 tfjs-data 데이터셋 다루기 6.2 model.fitDataset으로 모델 훈련하기 6.3 데이터 추출의 일반적인 패턴 __6.3.1 CSV 데이터 다루기 __6.3.2 tf.data.webcam()을 사용해 비디오 데이터 가져오기 __6.3.3 tf.data.microphone()을 사용해 오디오 데이터 가져오기 6.4 데이터에 있는 문제 처리하기 __6.4.1 데이터 이론 __6.4.2 데이터 문제를 감지하고 처리하기 6.5 데이터 증식 6.6 연습 문제 6.7 요약 7장. 데이터와 모델 시각화 7.1 데이터 시각화 __7.1.1 tfjs-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.2 RNN이 순서를 모델링하는 방법 9.2 텍스트를 위한 딥러닝 모델 만들기 __9.2.1 머신 러닝에서의 텍스트 표현 방법: 원-핫 인코딩과 멀티-핫 인코딩 __9.2.2 감성 분석 문제를 위한 첫 번째 모델 __9.2.3 더 효율적인 단어 표현: 단어 임베딩 __9.2.4 1D 합성곱 신경망 9.3 어텐션 메커니즘을 사용한 시퀀스-투-시퀀스 작업 __9.3.1 시퀀스-투-시퀀스 작업 정의 __9.3.2 인코더-디코더 구조와 어텐션 메커니즘 __9.3.3 어텐션 기반의 인코더-디코더 모델 자세히 알아보기 9.4 추가 자료 9.5 연습 문제 9.6 요약 10장. 생성적 딥러닝 10.1 LSTM을 사용해 텍스트 생성하기 __10.1.1 다음 문자 예측기: 간단하게 텍스트를 생성하는 방법 __10.1.2 LSTM 텍스트 생성 예제 __10.1.3 온도: 생성된 텍스트의 무작위성 조절하기 10.2 변이형 오토인코더: 이미지를 위한 효율적이고 구조적인 벡터 표현 찾기 __10.2.1 오토인코더와 VAE: 기본 아이디어 __10.2.2 VAE 예제: 패션 MNIST 10.3 GAN으로 이미지 생성하기 __10.3.1 GAN의 기본 아이디어 __10.3.2 ACGAN의 구성 요소 __10.3.3 ACGAN 훈련 자세히 알아보기 __10.3.4 MNIST ACGAN 훈련과 이미지 생성 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.1 TensorFlow.js 모델 테스트하기 __12.1.1 전통적인 단위 테스트 __12.1.2 골든 값으로 테스트하기 __12.1.3 지속적인 훈련 고려 사항 12.2 모델 최적화 __12.2.1 훈련 후 가중치 양자화를 통한 모델 크기 최적화 __12.2.2 GraphModel 변환을 사용한 추론 속도 최적화 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.1 AI, 머신 러닝, 딥러닝 __13.1.2 머신 러닝 중에서 딥러닝이 독보적인 이유 __13.1.3 딥러닝에 대한 고수준의 소개 __13.1.4 딥러닝을 가능하게 한 핵심 기술 __13.1.5 자바스크립트에서 딥러닝으로 가능한 애플리케이션과 기회 13.2 딥러닝 워크플로와 TensorFlow.js 소개 __13.2.1 지도 학습 딥러닝의 일반적인 워크플로 __13.2.2 TensorFlow.js의 모델과 층 __13.2.3 TensorFlow.js에서 사전 훈련된 모델 사용하기 __13.2.4 딥러닝의 가능성 __13.2.5 딥러닝의 한계 13.3 딥러닝 트렌드 13.4 추가 학습을 위한 안내 __13.4.1 캐글에서 실전 머신 러닝 문제 연습하기 __13.4.2 아카이브에서 최신 개발 논문 읽기 __13.4.3 TensorFlow.js 생태계 맺음말 부록 A. 실습 환경 설정 부록 B. tfjs-node-gpu와 필수 라이브러리 설치 B.1 리눅스에서 tfjs-node-gpu 설치하기 B.2 윈도에서 tfjs-node-gpu 설치하기 부록 C. TensorFlow.js 텐서와 연산 튜토리얼 C.1 텐서 생성과 텐서 축 규칙 __C.1.1 스칼라(랭크-0 텐서) __C.1.2 tensor1d(랭크-1 텐서) __C.1.3 tensor2d(랭크-2 텐서) __C.1.4 랭크-3과 고차원 텐서 __C.1.5 데이터 배치 개념 __C.1.6 실제 텐서 예시 __C.1.7 텐서 버퍼에서 텐서 만들기 __C.1.8 값이 0인 텐서와 값이 1인 텐서 만들기 __C.1.9 랜덤한 값을 가진 텐서 만들기 C.2 기본 텐서 연산 __C.2.1 단항 연산 __C.2.2 이진 연산 __C.2.3 텐서 연결과 슬라이싱 C.3 TensorFlow.js의 메모리 관리: tf.dispose( )와 tf.tidy( ) C.4 그레이디언트 계산 C.5 연습 문제 부록 D. 용어 사전 |
Francois Chollet
프랑소와 숄레의 다른 상품
Eric Nielsen
Stanley Bileschi
Shanqing Cai
박해선의 다른 상품
안녕하세요 이 책의 역자입니다.
2022-03-25
안녕하세요. “구글 브레인 팀에게 배우는 딥러닝 with TensorFlow.js”를 번역한 박해선입니다. 이 책을 선택해 주신 많은 독자에게 진심으로 감사의 말씀 드립니다. 이 책은 구글 브레인 팀의 에릭 닐슨, 스탠 바일시, 샨칭 차이와 케라스를 만든 프랑소와 숄레가 쓴 자바스크립트 딥러닝 입문서입니다. 기본적인 인공 신경망은 물론, 합성곱 신경망, 순환 신경망, GAN, 오토인코더, 강화 학습까지 다루고 있습니다. 웹 브라우저에서 딥러닝 모델을 훈련하고 실행하는 것 뿐만 아니라 node.js를 사용해 자바스크립트로 대용량 모델을 서버에서 훈련시킬 수도 있습니다. 이 책을 통해 자바스크립트와 딥러닝이 만든 놀라운 세계를 체험보세요! 책을 구매하시면 제 블로그의 에러타 페이지(https://bit.ly/tfjs-book)와 깃허브(https://bit.ly/tfjs-git)를 꼭 참고해 주세요. TensorFlow.js 최신 버전에 맞춘 코드와 에러타를 업데이트 하겠습니다. [파이썬 라이브러리를 활용한 머신러닝(번역개정2판)], [머신러닝 파워드 애플리케이션], [파이토치로 배우는 자연어 처리], [머신러닝 교과서 3판], [딥러닝 일러스트레이티드], [혼자 공부하는 머신러닝+딥러닝], [GAN 인 액션], [핸즈온 머신러닝 2판], [미술관에 GAN 딥러닝], [Do It! 딥러닝 입문], [파이썬을 활용한 머신러닝 쿡북], [케라스 창시자에게 배우는 딥러닝] 등에 이어 열 여덟 번째 머신러닝 책입니다. 많은 분들의 응원 덕에 큰 힘을 얻습니다. 더 좋은 책으로 찾아 뵙겠습니다. 감사합니다.
|
기초부터 구글 브레인 팀의 노하우까지!
브라우저에서 바로 실행하며 배우는 딥러닝! 브라우저에서 딥러닝 모델을 빌드하고 실행하는 TensorFlow.js 딥러닝은 컴퓨터 비전, 이미지 처리, 자연어 처리 등 다양한 분야에 변화를 불러왔다. 이제 자바스크립트 개발자는 파이썬이나 R에 의존하지 않고 TensorFlow.js를 사용하여 딥러닝 모델을 구축하고 훈련할 수 있다. 특히 TensorFlow.js로 만든 모델은 자바스크립트가 실행되는 모든 곳에서 실행할 수 있어 이식성은 정말 최고라고 할 수 있다. 자바스크립트에 능숙한 개발자라면 TensorFlow.js로 딥러닝을 시작해보자. 딥러닝 기초부터 심층 강화 학습까지! TensorFlow.js의 개요, 이미지와 사운드 인식, 전이 학습, 모델 시각화, 시퀀스와 텍스트를 위한 딥러닝, 생성적 딥러닝 등 딥러닝 기초부터 심층 강화 학습까지 TensorFlow.js로 딥러닝을 시작하기에 필요한 모든 것을 설명한다. 브라우저에서 얼마나 많은 작업을 수행할 수 있는지 알면 놀랄 것이다. 이 모든 과정을 TensorFlow.js를 만든 구글 브레인 팀 개발자에게 직접 배워 보자. 실용적이고 확장 가능한 예제로 학습한다 상세한 해설, 실질적인 권장 사항, 구체적인 문제 해결을 위한 저자들의 노하우까지 포괄하는 설명이 포함된 예제로 학습한다. 이 예제들을 학습하면서 딥러닝의 개념, 적용 범위, 한계 등을 확실하게 이해할 수 있다. 이 과정으로 딥러닝으로 문제를 해결하는 과정에 익숙해질 것이며, TensorFlow.js로 전이 학습, 자연어 처리 등 실전 문제까지 해결할 수 있다. 또한, 이 예제들을 확장해 나만의 딥러닝 모델을 만들거나 적용할 수도 있다. 누구를 위한 책인가 웹 프런트엔드 개발이나 Node.js 기반 백엔드 개발 경험을 바탕으로 자바스크립트에 대한 실무 지식을 가지고 있으며 딥러닝 세계로 모험을 떠나고 싶은 프로그래머를 위해 이 책을 썼습니다. 이 책의 목표는 다음 두 그룹에 해당하는 독자들의 학습 요구를 만족시키는 것입니다. - 머신 러닝이나 수학적 배경지식이 거의 또는 전혀 없지만 분류와 회귀 같은 일반적인 데이터 과학 문제를 해결하기 위한 딥러닝 워크플로를 이해하고 딥러닝의 작동 방식을 알고 싶은 자바스크립트 프로그래머 - 사전 훈련된 모델을 웹 앱이나 백엔드 스택에 새로운 기능으로 배포하는 작업을 담당하는 웹 또는 Node.js 개발자 첫 번째 그룹의 독자를 위해 이 책은 재미있는 자바스크립트 코드 예제를 사용해 머신 러닝과 딥러닝의 기본 개념을 기초부터 소개합니다. 수학 대신에 그림, 의사 코드, 구체적인 예제를 사용해 딥러닝 작동 방식의 기초를 직관적이지만 확고하게 이해할 수 있도록 돕습니다. 두 번째 그룹의 독자를 위해 기존 모델(예를 들면 파이썬에서 훈련된 모델)을 프런트엔드나 Node.js 스택에 배포하기 위해 웹 또는 Node.js 호환 포맷으로 변환하는 주요 단계를 다룹니다. 모델 크기와 성능 최적화 같은 실용적인 측면은 물론 서버에서 브라우저 확장 프로그램, 모바일 앱까지 다양한 배포 환경에 대한 고려 사항을 강조합니다. 이 책은 모든 독자를 위해 데이터 주입과 포매팅, 모델 구축과 로딩 그리고 추론, 평가, 훈련을 실행하기 위한 TensorFlow.js API를 깊게 다룹니다. 마지막으로, 자바스크립트나 다른 언어로 정기적인 코딩을 하지는 않지만 기술적인 마인드가 있는 사람에게도 이 책이 기초 및 고급 신경망을 위한 입문서로 유용할 것입니다. 책의 구성: 로드맵 이 책은 네 부분으로 구성되어 있습니다. 1장만 포함된 1부는 인공 지능, 머신 러닝, 딥러닝에 대한 전체 그림을 제시하고 자바스크립트로 딥러닝을 하는 것이 왜 의미 있는지 소개합니다. 2부는 딥러닝에서 가장 기초적이고 자주 등장하는 개념을 소개합니다. - 2장과 3장은 머신 러닝을 소개합니다. 2장은 직선을 훈련하여 한 숫자에서 다른 숫자를 예측하는 간단한 문제(선형 회귀)를 다루고, 이를 사용해 역전파(딥러닝의 엔진)의 작동 방식을 설명합니다. 2장을 토대로 3장은 비선형성, 다층 신경망, 분류 작업을 소개합니다. 3장에서 비선형성이 무엇인지, 왜 비선형성이 심층 신경망의 표현 능력을 높이는지 이해할 수 있습니다. - 4장은 이미지 데이터와 이미지에 관련된 머신 러닝 문제를 해결하기 위한 신경망 구조인 합성곱 신경망을 다룹니다. 오디오 입력을 예로 들어 합성곱이 이미지 외에 다른 입력에도 사용되는 일반적인 방법인 이유를 보입니다. - 5장은 계속해서 합성곱과 이미지 입력에 초점을 맞춥니다. 하지만 전이 학습으로 주제를 옮깁니다. 전이 학습은 처음부터 시작하지 않고 기존 모델을 기반으로 새로운 모델을 훈련하는 방법입니다. 3부는 최신 기술을 이해하고 싶은 독자를 위해 딥러닝의 고급 주제를 체계적으로 다룹니다. 이와 함께 머신 러닝 시스템의 도전적인 영역과 이를 해결하기 위한 TensorFlow.js 도구에 초점을 맞춥니다. - 6장은 딥러닝에서 데이터를 다루는 기술을 설명합니다. - 7장은 모든 딥러닝 워크플로에서 중요하고 필수적인 단계인 데이터 시각화와 모델 시각화에 대한 기술을 보여 줍니다. - 8장은 딥러닝에서 중요한 주제인 과소적합과 과대적합, 그리고 이를 분석하고 완화하기 위한 기술에 초점을 맞춥니다. 이런 논의를 통해 지금까지 이 책에서 배운 것을 ‘머신 러닝의 보편적인 워크플로’라는 레시피로 압축합니다. 이 장은 9~11장에서 고급 신경망 구조와 문제를 다루기 위한 준비 작업입니다. - 9장은 시퀀스 데이터와 텍스트 입력을 처리하는 심층 신경망에 집중합니다. - 10장과 11장은 고급 딥러닝 영역인 (생성적 적대 신경망을 포함한) 생성 모델과 강화 학습을 각각 다룹니다. 4부에서는 훈련하거나 TensorFlow.js로 변환된 모델의 테스트, 최적화, 배포 기술을 다룹니다(12장). 그리고 가장 중요한 개념과 워크플로를 요약하는 것으로 전체 책을 마무리합니다1(3장). 각 장의 끝에서는 배운 내용을 잘 이해하는지 평가하고 실습을 통해 TensorFlow.js의 딥러닝 기술을 연마하는 데 도움이 되는 연습 문제를 제공합니다. |