- 수학적 딥러닝 입문서로, 배경지식이 없는 학생·과학자와 더 엄밀한 이해를 원하는 실무자가 딥러닝 알고리듬의 기초를 잡도록 구성됨
- 인공신경망은 활성화 함수와 아핀 함수의 반복 합성으로 정의되며, 합성 깊이가 늘어날수록 deep ANN으로 다루는 함수 클래스가 됨
- 전체 구성은 ANN 구조와 계산법에서 출발해 근사 이론, 최적화, 일반화 오차, 전체 오차 분석, PDE 풀이까지 이어짐
- 최적화 파트는 gradient flow ODE, GD, SGD, 역전파(backpropagation), Kurdyka–Łojasiewicz 접근, batch normalization, 랜덤 초기화를 함께 다룸
- Python 소스 코드는 공개 GitHub 저장소와 arXiv 페이지에서 받을 수 있고, 각 listing 캡션의 파일명으로 책 내용과 코드를 대응시킬 수 있음
딥러닝을 수학적으로 정의하는 방식
- 이 책은 딥러닝 알고리듬을 deep ANN과 데이터를 반복적으로 사용해 특정 관계, 함수, 수량을 근사하는 계산 방식으로 다룸
- ANN은 특정 비선형 활성화 함수와 아핀 함수의 여러 합성으로 구성된 함수 클래스임
- ANN의 깊이는 합성 반복 횟수에 대응하며, 비선형 함수와 아핀 함수의 합성이 2개보다 많을 때 deep ANN이라고 부르기 시작함
- 대상 독자는 딥러닝 배경이 전혀 없지만 견고한 기초가 필요한 학생·과학자, 그리고 딥러닝의 객체와 방법을 더 확실히 이해하려는 실무자임
Part I–II: 신경망 구조와 근사 이론
- 짧은 도입부 뒤 본문은 Part I–VI의 6개 파트로 나뉨
-
Part I: 인공신경망
- Chapter 1은 여러 ANN 유형을 수학적으로 도입함
- fully-connected feedforward ANN
- convolutional ANN(CNN)
- recurrent ANN(RNN)
- residual ANN(ResNet)
- Chapter 2는 fully-connected feedforward ANN에 대한 계산법(calculus) 을 다룸
- Chapter 1은 여러 ANN 유형을 수학적으로 도입함
-
Part II: 근사
- ANN이 주어진 함수를 얼마나 잘 근사할 수 있는지 분석하는 여러 수학적 결과를 다룸
- Chapter 3은 접근성을 위해 실수에서 실수로 가는 1차원 함수에 먼저 초점을 맞춤
- Chapter 4는 다변수 함수에 대한 ANN 근사 결과로 범위를 넓힘
Part III: 최적화와 학습 알고리듬
- 딥러닝 알고리듬의 핵심은 문제를 deep ANN이 포함된 적절한 최적화 문제로 모델링하거나 재정식화하는 데 있음
- 이 파트는 최적화 문제와 이를 근사적으로 푸는 알고리듬을 다루며, 보통 최소화 문제를 gradient 기반 최적화 방법으로 해결함
- gradient 기반 방법은 최적화하려는 함수의 음의 gradient 방향에 기반한 연속적인 단계로 문제를 푸는 계산 방식임
- Chapter 5는 GD형·SGD형 방법을 이해하기 위한 gradient flow(GF) ODE와 그 활용을 다룸
- Chapter 6은 gradient descent(GD) 같은 결정론적 gradient 기반 최적화 방법을 검토하고 분석함
- Chapter 7은 stochastic gradient descent(SGD) 같은 확률적 gradient 기반 최적화 방법을 검토하고 분석함
- Chapter 8은 ANN 학습에서 gradient를 명시적으로 계산하는 널리 쓰이는 방법인 역전파를 유도하고 자세히 다룸
- Chapter 5–7의 분석은 대부분의 경우 ANN 학습 최적화 문제를 다루기에는 제한적이지만, Chapter 9의 Kurdyka–Łojasiewicz(KL) 접근은 이런 문제를 다룰 수 있음
- Chapter 10은 데이터 기반 학습 문제에서 ANN 학습 절차를 가속하려는 방법인 batch normalization(BN)을 엄밀히 검토함
- Chapter 11은 서로 다른 랜덤 초기화로 목적함수를 최적화하는 접근을 연구함
Part IV–VI: 오차 분석과 PDE 응용
-
Part IV: 일반화 오차
- 딥러닝의 수학적 분석은 ANN 근사 능력과 최적화 방법의 오차 추정만으로 끝나지 않음
- 학습 문제의 확률분포에 명시적으로 접근할 수 없고 유한한 실현값·데이터로 근사할 때 일반화 오차 추정이 필요함
- Chapter 12는 확률적 일반화 오차 추정을 검토함
- Chapter 13은 strong Lp형 일반화 오차 추정을 다룸
-
Part V: 전체 오차 분석
- Part II의 근사 오차, Part III의 최적화 오차, Part IV의 일반화 오차 추정을 결합하는 방법을 예시로 보여줌
- 예시는 많은 독립 랜덤 초기화를 사용하는 SGD형 최적화 방법 기반 ANN 학습임
- Chapter 14는 지도학습 문제에 적합한 전체 오차 분해를 제시함
- Chapter 15는 Parts II, III, IV의 일부 결과를 함께 사용해 예시적 전체 오차 분석을 수립함
-
Part VI: PDE를 위한 딥러닝
- 딥러닝 방법은 데이터 기반 학습 문제뿐 아니라 편미분방정식(PDE) 을 근사적으로 푸는 데도 쓰임
- Part VI는 PDE를 위한 인기 딥러닝 방법 3가지를 검토하고 구현함
- Chapter 16은 physics-informed neural networks(PINNs)와 deep Galerkin methods(DGMs)를 다룸
- Chapter 17은 deep Kolmogorov methods(DKMs)를 다룸
코드와 자료 접근 방법
- 책에는 여러 Python 소스 코드가 포함됨
- 소스 코드는 공개 GitHub 저장소 introdeeplearning/book에서 내려받을 수 있음
- arXiv 페이지에서도 “Other formats”를 누른 뒤 “Download source”를 선택해 소스 코드를 받을 수 있음
- 각 source listing의 캡션에는 대응하는 소스 파일명이 들어 있어 책의 수식·예제와 코드를 함께 따라가기 쉬움