이미 소장하고 있다면 판매해 보세요.
|
1장. 수학적 기초
__선형대수학 ____벡터 ____스칼라 ____행렬 ____텐서 ____행렬 연산 및 조작 ____벡터의 일차독립 ____행렬의 랭크 ____단위 행렬 및 연산자 ____행렬식 ____역행렬 ____벡터의 노름 ____의사 역행렬 ____특정 벡터 방향의 단위 벡터 ____특정 벡터 방향의 프로젝션 벡터 ____고유벡터 __미적분학 ____미분 ____함수의 기울기 ____연속 편미분 ____함수의 헤세 행렬 ____함수의 최대 및 최소 ____로컬 미니마와 글로벌 미니마 ____양반정치 행렬 및 정치 행렬 ____볼록 집합 ____볼록 함수 ____오목 함수 ____다변수 볼록 및 오목 함수 예제 ____테일러 급수 __확률 ____합집합, 교집합, 조건부 확률 ____이벤트 교차점에 대한 확률의 체인 규칙 ____상호 배타적인 이벤트 ____이벤트의 독립 ____이벤트의 조건부 독립 ____베이즈 규칙 ____확률 질량 함수 ____확률 밀도 함수 ____확률 변수의 기댓값 ____확률 변수의 분산 ____왜도 및 첨도 ____공분산 ____상관계수 ____몇 가지 공통 확률분포 ____우도 함수 ____최대 우도 추정 ____가설검정 및 p 값 __머신 러닝 알고리즘 및 최적화 기법의 공식화 ____지도 학습 ____비지도 학습 ____머신 러닝을 위한 최적화 기법 ____제약 조건이 있는 최적화 문제 __머신 러닝에 중요한 몇 가지 주제들 ____차원 감소 방법 ____정규화 ____제약 조건이 있는 문제의 최적화를 위한 정규화 __요약 2장. 딥러닝 개념과 텐서플로 소개 __딥러닝과 그 진화 __퍼셉트론과 퍼셉트론 학습 알고리즘 ____퍼셉트론 학습의 기하학적 해석 ____퍼셉트론 학습의 한계 ____비선형에 대한 필요성 ____은닉층 퍼셉트론의 비선형성 활성화 함수 ____뉴런/퍼셉트론에 대한 다양한 활성화 함수 ____다층 퍼셉트론 네트워크에 대한 학습 규칙 ____기울기 계산을 위한 역전파 ____기울기 계산을 위한 역전파 일반화 __텐서플로 ____일반적인 딥러닝 패키지 ____텐서플로 설치 ____개발을 위한 텐서플로 기본 ____딥러닝 관점에서의 기울기 하강 최적화 ____확률적 기울기 하강에 대한 미니 배치 접근법의 학습 속도 ____텐서플로 최적화 도구 ____텐서플로를 이용한 XOR 구현 ____텐서플로의 선형 회귀 ____전체 배치 기울기 하강을 이용한 소프트맥스 함수로 다중 클래스 분류 ____확률적 기울기 하강을 이용한 소프트맥스 함수의 다중 클래스 분류 __GPU __요약 3장. 컨볼루션 신경망 __컨볼루션 연산 ____선형 시간 불변 시스템/선형 시프트 불변 시스템 ____한 차원의 신호를 위한 컨볼루션 __아날로그 및 디지털 신호 ____2D 및 3D 신호 __2D 컨볼루션 ____2차원 단위 스텝 함수 ____LSI 시스템 단위 스텝 응답이 있는 신호의 2D 변환 ____다른 LSI 시스템 응답에 대한 이미지의 2D 컨볼루션 __일반적인 이미지 처리 필터 ____평균값 필터 ____중앙값 필터 ____가우시안 필터 ____기울기 기반 필터 ____소벨 에지 감지 필터 ____항등 변환 __컨볼루션 신경망 __컨볼루션 신경망의 구성 요소 ____입력층 ____컨볼루션 계층 ____풀링 계층 __컨볼루션 계층을 통한 역전파 __풀링 계층을 통한 역전파 __컨볼루션을 통한 가중치 공유와 그 장점 __변환 평형 __풀링으로 인한 변환 불변 __드롭아웃 계층 및 정규화 __MNIST 데이터셋에서 숫자 인식을 위한 컨볼루션 신경망 __현실 문제 해결을 위한 컨볼루션 신경망 __배치 정규화 __컨볼루션 신경망의 또 다른 아키텍처 ____LeNet ____알렉스넷 ____VGG16 ____ResNet __전이 학습 ____전이 학습 가이드라인 ____구글의 인셉션v3를 통한 전이 학습 ____사전 훈련된 VGG16을 이용한 전이 학습 __요약 4장. RNN을 활용한 자연어 처리 __벡터 공간 모델(VSM) __단어의 벡터 표현 __Word2Vec ____CBOW ____텐서플로에서 CBOW 구현 ____단어 임베딩을 위한 스킵그램 모델 ____텐서플로로 스킵그램 모델 구현 ____글로벌 동시 발생 통계 기반의 단어 벡터 ____GloVe ____단어 벡터를 이용한 단어 유추 __순환 신경망의 소개 ____언어 모델링 ____RNN을 통한 문장에서의 다음 단어 예측과 전통적인 방법의 비교 ____시간에 따른 역전파(BPTT) ____RNN에서 기울기의 소실 및 발산 문제 ____RNN의 소실 및 발산 기울기 문제 해결 방법 ____LSTM ____발산 및 소실 기울기를 줄이기 위한 LSTM ____순환 신경망을 이용한 텐서플로의 MNIST 숫자 식별 ____GRU ____양방향 RNN __요약 5장. 제한된 볼츠만 머신과 자동 인코더를 사용한 비지도 학습 __볼츠만 분포 __베이지안 추론: 우도, 사전확률분포, 사후확률분포 __샘플링을 위한 마르코프 체인 몬테 카를로 방법 ____메트로폴리스 알고리즘 __제한된 볼츠만 머신 ____제한된 볼츠만 머신 훈련 ____깁스 샘플링 ____블럭 깁스 샘플링 ____번인 기간과 깁스 샘플링으로 샘플 만들기 ____제한된 볼츠만 머신에서 깁스 샘플링 사용하기 ____대조 발산 ____텐서플로로 제한된 볼츠만 머신 구현 ____제한된 볼츠만 머신을 사용한 협업 필터링 ____딥 빌리프 네트워크 __자동 인코더 ____지도 학습을 위해 자동 인코더를 사용한 피처 학습 ____KL 발산 ____텐서플로로 희소 자동 인코더 구현 ____잡음 제거 자동 인코더 ____텐서플로에서 잡음 제거 자동 인코더 구현 __PCA 및 ZCA 화이트닝 __요약 6장. 고급 신경망 기법 __이미지 분할 ____픽셀 강도 히스토그램 기반 이진 임곗값 지정 기법 ____오츠 기법 ____이미지 분할을 위한 워터쉐드 알고리즘 ____K-평균 클러스터링을 통한 이미지 분할 ____시맨틱 분할 ____슬라이딩 윈도우 방식 ____완전 컨볼루션 네트워크 ____다운샘플링과 업샘플링을 가진 완전 컨볼루션 네트워크 ____U-Net ____완전 연결 신경망으로 텐서플로에서 시맨틱 분할 작업하기 __이미지 분류 및 지역화 네트워크 __객체 감지 ____R-CNN ____Fast R-CNN과 Faster R-CNN __생성적 적대 네트워크 ____맥스미니 및 미니맥스 문제 ____제로섬 게임 ____미니맥스와 안장점 ____GAN 비용 함수 및 훈련 ____생성기를 위한 소실 기울기 ____텐서플로로 GAN 네트워크 구현하기 __프로덕션 환경으로 텐서플로 모델 배포 __요약 |
Santanu Pattanayak
산타누 파타나야크의 다른 상품
|
★ 이 책에서 다루는 내용 ★
■ 텐서플로를 사용해 딥러닝의 전체 스택을 이해하고 딥러닝을 위한 견고한 수학적 토대 마련하기 ■ 텐서플로를 사용해 실무에 적용할 수 있는 복잡한 딥러닝 솔루션 구축하기 ■ 텐서플로를 사용해 딥러닝에 대한 연구 및 실험 수행하기 ★ 이 책의 대상 독자 ★ 이 책은 복잡한 비즈니스 문제를 해결하기 위한 딥러닝 솔루션을 찾고 있는 데이터 과학자와 머신 러닝 전문가를 대상으로 한다. 텐서플로를 통해 딥러닝 솔루션을 연구하는 소프트웨어 개발자들에게도 적합하다. 또한 대학원생을 위한 저술한 책이며, 끊임없이 배우고자 하는 오픈소스 마니아들을 위해 저술됐다. ★ 이 책의 구성 ★ 1장. ‘수학 기초’에서는 선형대수, 확률, 미적분, 최적화, 머신 러닝 수식과 관련된 모든 수학 개념을 자세히 설명하며, 딥러닝을 위해 필요한 수학적 기초를 다룬다. 여기서 다룬 다양한 수학 개념들은 머신 러닝과 딥러닝 분야에서 사용하는 데 초점을 맞춰 설명한다. 2장. ‘딥러닝 개념과 텐서플로 소개’에서는 딥러닝 세계를 소개하고 지난 몇 년 동안의 발전 과정을 논의한다. 퍼셉트론 학습 규칙과 역전파(backpropagation) 방법 같은 몇 가지 학습 방법과 함께 신경망의 주요 구성 요소를 상세히 설명한다. 또한 독자들이 텐서플로를 더 많이 사용하기 전에 텐서플로에 대한 기본 구문에 익숙해질 수 있도록 텐서플로 코딩의 패러다임을 소개한다. 3장. ‘컨볼루션 신경망’에서는 이미지 처리에 사용되는 컨볼루션 신경망(Convolutional Neural Network)을 다룬다. 이미지 처리는 컴퓨터 비전 분야에서 주로 사용되며, 컨볼루션 신경망을 사용해 개체 인식 및 탐지, 개체 분류, 지역화(localization), 분할(segmentation) 분야에서 성능이 크게 향상됐다. 이 장은 컨볼루션의 동작을 자세히 설명하는 것부터 시작해서 컨볼루션 신경망의 작동 원리를 다룬다. 신경망을 실험하고 확장하는 데 필요한 도구를 독자에게 제공하기 위해 컨볼루션 신경망의 각 컴포넌트 블록을 구축하는 데 중점을 둔다. 또한 컨볼루션(convolutional) 및 풀링(pooling) 계층을 통한 역전파를 자세히 논의해 독자가 컨볼루션 신경망의 훈련 프로세스에 대해 종합적인 시각을 갖도록 도와준다. 마지막으로 컨볼루션 신경망의 핵심적인 성공 요소인 등가성(equivariance)과 변환 불변(translation invariance)의 속성에 대해서도 다룬다. 4장. ‘순환 신경망을 이용한 자연어 처리’에서는 딥러닝을 이용한 자연어 처리를 다룬다. 연속적인 단어 모음과 스킵그램(skip-gram) 등의 단어 대 벡터 삽입 모델과 같은 텍스트 처리를 위한 벡터 공간 모델을 논의하고, 순환 신경망(RNN), LSTM, 양방향 RNN, GRU와 같은 고급 주제를 설명한다. 이 장에서는 언어 모델링을 자세히 설명함으로써 독자가 이러한 네트워크와 관련된 실제 문제를 다룰 때, 이 네트워크를 활용할 수 있도록 도와준다. 또한 RNN 및 LSTM의 경우 소실 기울기 문제 역전파 메커니즘을 자세히 설명한다. 5장. ‘제한된 볼츠만 머신과 자동 인코더를 사용한 자율 학습’에서는 제한된 볼츠만 머신(RBM)과 자동 인코더를 사용해 딥러닝의 비지도 학습 방법을 논의한다. 또한 RBM 훈련 과정의 경우, 샘플링에 대한 지식이 필요하기 때문에 메트로폴리스 알고리즘과 깁스 샘플링 같은 베이지안 추론과 마르코프 체인 몬테 카를로(MCMC) 방법을 설명한다. 또한 이 장에서는 RBM의 실제 훈련을 허용하는 깁스 샘플링의 커스터마이즈 버전인 대조 발산(contrastive divergence)을 설명한다. 추천 시스템에서의 협업 필터링뿐만 아니라 딥 빌리프 네트워크(DBN)의 비지도 학습에 RBM이 어떻게 사용될 수 있는지를 더 논의할 것이다. 그리고 5장에서는 희소 인코더, 잡음 제거 자동 인코더와 같은 다양한 종류의 자동 인코더를 다룬다. 또한 자동 인코더에서 학습한 내부 피처를 지도 학습뿐만 아니라 차원 감소에도 활용할 수 있는 방법을 학습할 수 있다. 마지막으로, PCA 화이트닝과 ZCA 화이트닝 같은 데이터 사전 처리 기술도 간단히 설명한다. 6장. ‘고급 신경망’에서 독자는 완전 컨볼루션 신경망, R-CNN, Fast R-CNN, Faster, U-Net 등과 같은 고급 신경망(Advanced Neural Network)을 살펴보며 이미지의 의미론적 분할, 객체 감지, 지역화를 다룬다. 전통적인 이미지 분할 방법을 소개하고, 두 세계의 장점을 적절하게 결합할 수 있도록 돕는다. 이 장의 후반부에서는 주어진 분포에 의해 생성된 데이터인 합성 데이터를 생성하는 데 사용되는 생성 모델의 새로운 토픽인 GAN(Generative Adversarial Network)에 대해 배운다. GAN은 이미지 생성, 이미지 수리, 추상적 추론, 의미론적 세분화, 비디오 생성, 한 도메인에서 다른 도메인으로의 스타일 이전, 텍스트-이미지 생성 애플리케이션과 같은 여러 분야에서 사용될 수 있다. 요약하면, 독자가 이 책에서 배울 수 있는 주요 학습 내용은 다음과 같다. ■ 텐서플로를 사용해 풀스택 딥러닝을 이해하고, 딥러닝을 위한 탄탄한 수학적 기초를 쌓는다. ■ 텐서플로를 사용해 복잡한 딥러닝 솔루션을 프로덕션 환경에 배포한다. ■ 딥러닝에 대한 연구를 수행하고 텐서플로를 사용해 실험을 수행한다. ★ 지은이의 말 ★ 이 책은 텐서플로로 딥러닝을 개발할 때 필요한 실용적이고 수학적인 가이드라인을 담고 있다. 딥러닝은 개념들의 계층으로 쌓아 올린 세상을 모델링하는 머신 러닝의 한 분야다. 이러한 학습 패턴은 인간의 두뇌가 배우는 방식과 유사하며, 이는 컴퓨터가 다른 전통적인 모델링 방법으로는 할 수 없는 복잡한 개념을 모델링할 수 있게 해준다. 따라서 현대의 컴퓨팅 패러다임에서, 특히 오늘날 제공되는 방대한 양의 구조화되지 않은 데이터를 활용해 복잡한 실제 문제를 모델링하는 데 딥러닝이 중요한 역할을 한다. 딥러닝 모델은 매우 복잡해서 이를 사용하는 사람들이 대개 딥러닝 모델을 블랙박스로 취급한다. 그러나 머신 러닝의 한 분야인 딥러닝을 최대한 효과적으로 사용하기 위해서는 이와 관련된 과학과 수학을 같이 공부해야만 딥러닝에 숨겨진 원리를 밝혀낼 수 있다. 이 책에서는 과학적인 관점뿐만 아니라, 수학적인 관점으로도 딥러닝과 관련된 개념과 기술을 설명하는 데 많은 시간을 할애한다. 또한 1장에서는 딥러닝의 개념을 좀 더 쉽게 이해하기 위해 필요한 수학적 기초를 설명하는 데 중점을 뒀다. 텐서플로는 연구 목적의 유연성과 사용 편의성을 갖추고 있으므로 이 책에서는 텐서플로를 딥러닝 패키지로 사용했다. 텐서플로를 선택하는 또 다른 이유로는 텐서플로 서빙 기능을 사용해 모델을 라이브 프로덕션 환경에서 쉽게 배포할 수 있다는 점을 꼽을 수 있다. 요약하자면, 이 책은 실질적인 실무 지식을 제공하기 때문에 딥러닝을 처음부터 차근차근 배워서 딥러닝 솔루션을 구현할 수 있다. 이 책을 통해 텐서플로를 사용해서 신속하게 개발할 수 있고, 다양한 딥러닝 아키텍처를 최적화할 수 있다. 이 책에서는 모든 산업 분야에서 필요한 딥러닝의 실질적인 측면을 다룬다. 새로운 딥러닝 애플리케이션을 만들기 위해 프로토타입을 먼저 만들어 사용해보고 증명할 수도 있다. 이를 위해 이 책에서 사용된 코드는 예제를 테스트해보고, 흥미로운 방법으로 확장해 테스트할 수 있도록 iPython 노트북 및 스크립트의 형태로 제공된다. 이 책을 통해 딥러닝 분야에서 연구를 계속하고 커뮤니티에 기여할 수 있도록 충분한 수학적 기초와 과학적 지식을 갖추게 될 것이다. ★ 옮긴이의 말 ★ 구글이 텐서플로를 공개하면서 최근 몇 년간 딥러닝에 대한 관심이 폭발적으로 증가했다. 그에 따라 데이터 과학자뿐만 아니라, 일반 소프트웨어 엔지니어들도 딥러닝에 대해 많은 관심을 기울여왔다. 하지만 통계를 전공한 일부 소프트웨어 엔지니어나 데이터 과학자를 제외하면 수학적 기초가 약한 대부분의 소프트웨어 개발자들에게는 딥러닝 알고리즘에서 설명하는 수식이 딥러닝을 이해하는 데 큰 장벽이 되고 있다. 딥러닝 알고리즘을 이해하는 데는 고등학교 수준의 수학적 지식만 있으면 충분하다고 흔히 말하지만, 고등학교를 졸업한 지 수년에서 수십 년이 지난 경우에는 고등학교 수준의 수학적 지식도 남아 있지 않은 경우가 대부분일 것이다. 이를 위해 『수학의 정석』을 다시 펴보는 것도 어려운 일이다. 이 책 앞부분에서는 고등학교 때 배웠던 선형대수, 확률, 미적분 등을 설명한 후에 이를 기반으로 CNN과 RNN 같은 딥러닝의 기본 알고리즘을 설명하기 때문에 좀 더 쉽게 알고리즘을 이해할 수 있다. 수학에 대한 기초를 어느 정도 쌓았는지는 저마다 다를 수 있으므로 독자에 따라서는 이 책에서 설명하는 수학적 내용이 부족할 수도 있다. 이 경우, 관련 서적이나 블로그를 참조하는 것이 좋다. 딥러닝 분야에 등장하는 용어가 모두 영어기 때문에 그 표현 자체에 외국어가 많을 수밖에 없지만, 가능하면 의미를 해치지 않는 범위 내에서 한국어로 번역하도록 노력했다. |