5장의 주제는 오차역전파법이다.
오차역전파법, Backpropagation : 가중치 매개변수의 기울기를 효율적으로 계산하는 법
신경망 학습에서 신경망의 가중치 매개변수의 기울기 (정확히는 가중치 매개변수에 대한 손실 삼수의 기울기)는 수치 미분으로 구했다. (4장에서)
여기서 수치 미분의 장점은 구현은 쉽다는 것이고, 단점은 '오래 걸린다는 것이다.'
그렇다. 오차역전파법은 기울기를 효율적으로 구해주는 것이다.
오차역전파법을 이해하는 법은 2가지 방법이 있는데 '수식으로 이해하는 법'과 '그래프로 이해하는 법'이 그 2개다. 이 책에서는 후자의 방법으로 알려준다.
계산 그래프, Computational Graph : 계산 과정을 그래프(=자료구조)로 나타낸 것.
그래프라는 자료구는 노드(node)와 에지(edge)로 이루어진다. (p.148-149)
그래프를 기준으로 '계산을 왼쪽에서 오른쪽으로 진행'하는 단계를 순전파(forward propagation), 반대 방향으로 진행되는게 역전파(backward propagation)이다.
그래프는 '국소적 계산'의 특징을 띈다. (p.151)
역전파는 '국소적 미분'(편미분)의 해당하고, 이전 노도로 전달하는 원리는 연쇄법칙, Chain Rule이다.
연쇄법칙, Chain Rule : 이 법칙은 합성 함수의 미분에 대한 성질이며, 다음과 같이 정의된다.
합성함수의 미분은 함수를 구성하는 각 함수의 미분의 곱으로 나타낼 수 있다.
(p.153)
덧셈 노드의 역전파
곱셈 노드의 역전파
먼저 단순한 오차역전파법을 구현(p.161, 163)하고, 신경망 전체를 입력층, 은닉층, 출력층으로 나눠 여러 계층으로 구현한다.
ReLU계층(p.165), Sigmoid계층(p.167), Affine 계층(p.170), Softmax-with-Loss 계층(p.176)이 그 여러 계층이다.
전체적인 오차역전파법을 포함한 학습 알고리즘 신경망을 구현하고(p.181 & 186), 수치 미분을 통해 (구현을 통해) 오차역전파법이 정확히 구현됐는지 검증해본다. 이 방법을 기울기 확인, Gradient Check이라 한다.