밑바닥부터 시작하는 딥러닝 - 5장

Jajuna_99·2022년 9월 1일
0

5장 오차역전파법

5장의 주제는 오차역전파법이다.

오차역전파법, Backpropagation : 가중치 매개변수의 기울기를 효율적으로 계산하는 법

  • 신경망 학습에서 신경망의 가중치 매개변수의 기울기 (정확히는 가중치 매개변수에 대한 손실 삼수의 기울기)는 수치 미분으로 구했다. (4장에서)

  • 여기서 수치 미분의 장점은 구현은 쉽다는 것이고, 단점은 '오래 걸린다는 것이다.'

  • 그렇다. 오차역전파법은 기울기를 효율적으로 구해주는 것이다.


    오차역전파법을 이해하는 법은 2가지 방법이 있는데 '수식으로 이해하는 법'과 '그래프로 이해하는 법'이 그 2개다. 이 책에서는 후자의 방법으로 알려준다.

    계산 그래프, Computational Graph : 계산 과정을 그래프(=자료구조)로 나타낸 것.

  • 그래프라는 자료구는 노드(node)와 에지(edge)로 이루어진다. (p.148-149)

  • 그래프를 기준으로 '계산을 왼쪽에서 오른쪽으로 진행'하는 단계를 순전파(forward propagation), 반대 방향으로 진행되는게 역전파(backward propagation)이다.

  • 그래프는 '국소적 계산'의 특징을 띈다. (p.151)

  • 역전파는 '국소적 미분'(편미분)의 해당하고, 이전 노도로 전달하는 원리는 연쇄법칙, Chain Rule이다.

  • 연쇄법칙, Chain Rule : 이 법칙은 합성 함수의 미분에 대한 성질이며, 다음과 같이 정의된다.
    합성함수의 미분은 함수를 구성하는 각 함수의 미분의 곱으로 나타낼 수 있다. (p.153)

역전파

덧셈 노드의 역전파

  • 덧셈 노드 역전파는 입력신호를 다음 노드로 출력할 뿐이므로 그대로 다음 노드(이전 노드)로 전달한다.

곱셈 노드의 역전파

  • 곱셈 노드의 역전파는 상류의 결과값(L)에 순전파 때의 입력 신호들을 '서로 바꾼 값'을 곱해서 전달한다.

여러 계층들과 오차역전파법 구현하기

  • 먼저 단순한 오차역전파법을 구현(p.161, 163)하고, 신경망 전체를 입력층, 은닉층, 출력층으로 나눠 여러 계층으로 구현한다.

  • ReLU계층(p.165), Sigmoid계층(p.167), Affine 계층(p.170), Softmax-with-Loss 계층(p.176)이 그 여러 계층이다.

  • 전체적인 오차역전파법을 포함한 학습 알고리즘 신경망을 구현하고(p.181 & 186), 수치 미분을 통해 (구현을 통해) 오차역전파법이 정확히 구현됐는지 검증해본다. 이 방법을 기울기 확인, Gradient Check이라 한다.

profile
Learning bunch, mostly computer and language

0개의 댓글