728x90
반응형

신경망의 가중치 매개변수의 기울기는 수치 미분을 사용해 구했다.

하지만 수치 미분은 단순하고 구현하기도 쉽지만 계산 시간이 오래 걸린다는게 단점이다.

가중치 매개변수의 기울기를 효율적으로 계산하는 것이 오차역전파법 backpropagation이다.

 

 

오차역전파법 이해하는 방법

  1. 수식을 통해
  2. 계산 그래프로 이해

 

계산 그래프(computational graph)

  • 계산 과정을 그래프로 나타낸 것이다.
  • 그래프는 그래프 자료구조로, 복수의 노드와 에지로 표현된다. (노드 사이의 직선을 '에지'라고 한다.)

 

문제1

  • 현빈 군은 슈퍼에서 1개에 100원인 사과를 2개 샀습니다. 이때 지불 금액을 구하세요, 단, 소비세가 10% 부과됩니다.

[그림1] 계산 그래프로 풀어본 문제 1

 

 

 

문제2

  • 현빈 군은 슈퍼에서 사과를 2개, 귤을 3개 샀습니다. 사과는 1개에 100원, 귤은 1개에 150원입니다. 소비세가 10%일 때 지불 금액을 구하시오.

 

[그림2] 계산 그래프로 풀어본 문제 2

 

계산 그래프를 이용한 문제풀이

  1. 계산 그래프를 구성한다.
  2. 그래프에서 계산을 왼쪽에서 오른쪽으로 진행한다.

2번째 '계산을 왼쪽에서 오른쪽에서 진행' 단계를 순전파(forward propagation) 이라고 한다.

순전파는 계산 그래프의 출발점부터 종착점으로의 전파다.

순전파가 출발점부터 종착점이라면 반대로 역전파(backward propagation)는 오른쪽부터 왼쪽으로 간다. 

 

 

국소적 계산

  • '자신과 직접 관계된 작은 범위'라는 뜻
  • 전체에서 어떤 일이 벌어지든 상관없이 자신과 관계된 정보만으로 다음 결과(그 후의 결과)를 출력할 수 있다는 것이다.
  • 예) 

[그림3] 국소적 계산 예

그림3에서는 여러 식품을 구입해 총금액이 4000원이 되었다. 여기서 핵심은 각 노드에서의 계산은 국소적 계산이라는 점이다.

사과와 복잡한 계산을 더하는 계산(4000+200) = 4200 은 4000이라는 숫자가 어떻게 계산되었느냐와는 상관없이, 단지 두 숫자를 더하면 된다는 뜻이다.

전체 계산이 아무리 복잡하더라도 각 단계에서 하는 일은 해당 노드의 '국소적 계산'이다.

 

 

계산 그래프로 푸는 이유

  • '국소적 계산'에 있다.
  • 전체가 아무리 복잡해도 각 노드에서는 단순한 계산에 집중해 문제를 단순화 할 수 있다.
  • 계산 그래프는 중간 계산 결과를 모두 보관할 수 있다.
  • 역전파를 통해 '미분'을 효율적으로 계산할 수 있다는 점
  • 순전파와 역전파를 활용해 각 변수의 미분을 효율적으로 구할 수 있다는 점이다.

 

 

 

 

 

 

출처 : 밑바닥부터 시작하는 딥러닝

https://www.hanbit.co.kr/store/books/look.php?p_code=B8475831198

 

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

직접 구현하고 움직여보며 익히는 가장 쉬운 딥러닝 입문서

www.hanbit.co.kr

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기