이 책은 구글의 텐서플로나 리사 연구소(Lisa Lab)의 떼아노(Theano) 백엔드 위에서 실행하는 모듈형 신경망 라이브러리인 케라스를 사용해 파이썬으로 작성한 20개 이상의 심층 신경망을 다룬다.
독자는 간단한 선형 회귀, 다층 퍼셉트론, 정교한 심층 합성곱 신경망, 적대적 생성 네트워크 같은 지도 학습 알고리즘에 대해 단계별로 학습한다. 이 책은 오토 인코더와 생성 네트워크와 같이 비지도 학습 알고리즘을 다룬다. 순환 신경망과 장기-단기 기억(LSTM, long short-term memory) 네트워크에 대해서도 자세히 설명한다. 이 책은 케라스 함수 API를 다루고 독자가 적용할 사례가 케라스 확장 기능에서 제공하지 않는 경우 케라스를 커스터마이징하는 방법을 설명한다. 그 후, 앞서 다룬 빌딩 블록으로 구성한 좀 더 크고 복잡한 시스템도 살펴본다. 심층 강화학습에 대한 소개와 AI가 게임을 만드는 데 어떻게 활용되는가를 다루면서 결론을 맺는다.
실용적인 응용 사례로는 뉴스 기사를 사전에 정의한 범주로 분류, 텍스트의 의미 분석, 감성 분석, 텍스트 생성과 품사 태깅 등이 있다. 손글씨 숫자 이미지의 인식, 이미지를 여러 범주로 분류, 이미지 주석 생성을 활용한 고급 개체 인식을 활용해 이미지 처리 분야도 알아본다. 얼굴 인식을 위한 특징점 식별 예제도 다룬다. 음성 분석은 여러 화자가 있을 때 화자의 음성을 인식하는 예제를 다룬다. 강화학습은 자율적으로 게임을 할 수 있는 심층 Q 학습 네트워크 구축에 사용한다.
실험 예제들은 이 책의 특징이다. 각 신경망은 입력 파라미터, 네트워크의 형태, 손실 함수와 최적화에 사용한 알고리즘을 변경해 학습 성능을 점진적으로 향상되도록 변형할 수 있다. CPU와 GPU를 이용한 학습에 대한 몇 가지 비교 자료도 제공한다.
이 책은 지난 6년간 학습 기술의 진화에 대한 아주 상세한 파노라마를 보여준다. 케라스와 유사한(Keras-like) API 기반 모듈형 네트워크 라이브러리인 텐서플로 2.0을 사용해 파이썬으로 코딩된 수십 개의 심층 신경망을 제공한다.
이 책에서는 단순 회귀, 전통적 다층 퍼셉트론과 같은 지도학습을 단계별로 알아보고, 좀 더 정교한 심층 컨볼루션(deep Convolution) 신경망, 생성적 적대 신경망(generative adversarial networks)도 소개한다. 또한 오토인코더(autoencoder), 생성적 신경망 등의 비지도학습도 다룬다. 순환 신경망과 LTSM(Long Short-Term Memory) 신경망도 자세히 설명한다. 심층 강화학습도 종합적으로 소개하는데, 딥러닝 가속기(GPU와 TPU), 클라우드 개발, 데스크톱, 클라우드, 모바일/IoT 기기, 브라우저 등에서 다중 환경을 설정하는 방법도 설명한다.
실제 응용으로는 정해진 범주로 텍스트 분류하기, 구문 분석, 감정 분석, 텍스트 합성, 품사(POS, Parts-Of-Speech) 태깅을 다룬다. 이미지 처리도 알아보는데, 필기체 숫자 이미지, 이미지를 다른 범주로 분류하기, 연관 이미지 주석달기를 사용한 고급 객체 인식 등을 다룬다.
음성 분석으로는 다중 화자로부터의 이산 음성 인식을 알아본다. 오토인코더와 GAN을 통한 이미지 생성도 다룬다. 강화학습을 사용해 비지도학습이 가능한 Q 학습 신경망을 구축해본다. 실습은 이 책의 핵심이다. 각 신경망은 각 입력 매개변수, 신경망의 형태, 손실 함수, 최적화 알고리즘을 변경함에 따라 학습 성능을 점진적으로 개선하는 다변량을 통해 강화된다. CPU, GPU, TPU 학습에 대한 몇 가지 비교도 다룬다. 딥러닝 모델을 효율적으로 자동으로 구축하는 방법에 딥러닝 모델을 사용하는 AutoML이라는 새로운 분야도 소개한다. 머신러닝의 배경이 되는 수학 공식을 설명하는 데 별도로 한 장을 할애했다.