Skip to content

Files

Latest commit

 

History

History
 
 

파일 설명

파일명 파일 용도 관련 절 페이지
buy_apple.py 사과 2개를 구입하는 예제의 순전파와 역전파 구현입니다. 5.4.1 곱셈 계층 162
buy_apple_orange.py 사과와 오랜지를 구입하는 예제의 순전파와 역전파 구현입니다. 5.4.2 덧셈 계층 163
gradient_check.py 수치 미분 방식과 비교하여 오차역전파법으로 구한 기울기를 검증합니다(기울기 확인). 5.7.3 오차역전파법으로 구한 기울기 검증하기 184
layer_naive.py 곱셈 계층과 덧셈 계층의 구현입니다. 5.4.1 곱셈 계층 / 5.4.2 덧셈 계층 161, 163
train_neuralnet.py 4장의 train_neuralnet.py와 같습니다. 단, 수치 미분 대신 오차역전파법으로 기울기를 구합니다. 5.7.4 오차역전파법을 사용한 학습 구현하기 186
two_layer_net.py 오차역전파법을 적용한 2층 신경망 클래스 5.7.2 오차역전파법을 적용한 신경망 구현하기 181

5장 오차역전파법

앞 장에서는 신경망 학습에 대해서 설명했습니다. 그때 신경망의 가중치 매개변수의 기울기(정확히는 가중치 매개변수에 대한 손실 함수의 기울기)는 수치 미분을 사용해 구했습니다. 수치 미분은 단순하고 구현하기도 쉽지만 계산 시간이 오래 걸린다는 게 단점입니다. 이번 장에서는 가중치 매개변수의 기울기를 효율적으로 계산하는 ‘오차역전파법backpropagation’을 배워보겠습니다. 오차역전파법을 제대로 이해하는 방법은 두 가지가 있을 것입니다. 하나는 수식을 통한 것이고, 다른 하나는 계산 그래프를 통한 것입니다. 전자 쪽이 일반적인 방법으로, 특히 기계학습을 다루는 책 대부분은 수식을 중심으로 이야기를 전개합니다. 확실히 수식을 사용한 설명은 정확하고 간결하므로 올바른 방법이라 할 수 있겠죠. 하지만 졸업 후 너무 오랜만에 수식을 중심으로 생각하다 보면 본질을 놓치거나, 수많은 수식에 당황하는 일이 벌어지기도 합니다. 그래서 이번 장에서는 계산 그래프를 사용해서 ‘시각적’으로 이해시켜드리겠습니다. 그런 다음 실제로 코드를 작성해보면 ‘과연!’이란 탄성과 함께 더 깊이 이해하게 될 것입니다.

옮긴이_ 오차역전파법을 풀어쓰면 ‘오차를 역(반대 방향)으로 전파하는 방법(backward propagation of errors )’입니다. 너무 길고 쓸데없이 어려운 느낌이라 줄여서 ‘역전파법’ 혹은 그냥 ‘역전파’라고 쓰기도 합니다.

목차

5.1 계산 그래프 
__5.1.1 계산 그래프로 풀다 
__5.1.2 국소적 계산 
__5.1.3 왜 계산 그래프로 푸는가? 
5.2 연쇄법칙 
__5.2.1 계산 그래프에서의 역전파 
__5.2.2 연쇄법칙이란? 
__5.2.3 연쇄법칙과 계산 그래프 
5.3 역전파 
__5.3.1 덧셈 노드의 역전파 
__5.3.2 곱셈 노드의 역전파 
__5.3.3 사과 쇼핑의 예 
5.4 단순한 계층 구현하기 
__5.4.1 곱셈 계층 
__5.4.2 덧셈 계층 
5.5 활성화 함수 계층 구현하기 
__5.5.1 ReLU 계층 
__5.5.2 Sigmoid 계층 
5.6 Affine/Softmax 계층 구현하기 
__5.6.1 Affine 계층 
__5.6.2 배치용 Affine 계층 
__5.6.3 Softmax-with-Loss 계층 
5.7 오차역전파법 구현하기 
__5.7.1 신경망 학습의 전체 그림 
__5.7.2 오차역전파법을 적용한 신경망 구현하기 
__5.7.3 오차역전파법으로 구한 기울기 검증하기 
__5.7.4 오차역전파법을 사용한 학습 구현하기

이번 장에서 배운 내용

  • 계산 그래프를 이용하면 계산 과정을 시각적으로 파악할 수 있다.
  • 계산 그래프의 노드는 국소적 계산으로 구성된다. 국소적 계산을 조합해 전체 계산을 구성한다.
  • 계산 그래프의 순전파는 통상의 계산을 수행한다. 한편, 계산 그래프의 역전파로는 각 노드의 미분을 구할 수 있다.
  • 신경망의 구성 요소를 계층으로 구현하여 기울기를 효율적으로 계산할 수 있다(오차역전파법).
  • 수치 미분과 오차역전파법의 결과를 비교하면 오차역전파법의 구현에 잘못이 없는지 확인할 수 있다(기울기 확인).