역 전파 기술의 차이점


17

재미로 신경망을 개발하려고합니다.

역 전파의 경우 두 가지 기술을 보았습니다.

첫 번째는 여기 와 다른 많은 장소에서도 사용됩니다.

그것이하는 일은 :

  • 각 출력 뉴런에 대한 오류를 계산합니다.
  • 그것은 그것을 네트워크로 역 전파합니다 (각 내부 뉴런에 대한 오류를 계산합니다).
  • 이 식에 가중치를 업데이트한다 : (여기서, 중량의 변화이며, 학습 속도 시냅스로부터의 입력을 수신하는 신경 세포의 오차 시냅스의 출력 전송되는).
  • 필요한만큼 데이터 세트의 각 항목에 대해 반복됩니다.

그러나이 튜토리얼 에서 제안한 신경망 (GitHub에서도 사용 가능)은 다른 기술을 사용합니다.

  • 오류 기능을 사용합니다 (다른 방법에는 오류 기능이 있지만 훈련에는 사용하지 않습니다).
  • 가중치부터 시작하여 최종 오류를 계산할 수있는 또 다른 기능이 있습니다.
  • 기울기 하강을 통해 해당 기능을 최소화합니다.

이제 어떤 방법을 사용해야합니까?

첫 번째 것이 가장 많이 사용되는 것으로 생각하지만 (다른 예제를 사용했기 때문에) 잘 작동합니까?

특히, 나는 모른다 :

  • 이차 함수를 사용하지 않기 때문에 로컬 최소값에 더 종속적이지 않습니까?
  • 각 가중치의 변화는 출력 뉴런의 출력 값에 의해 영향을 받기 때문에 뉴런 (높은 값이 아닌)에서 더 높은 값을 생성하는 데이터 세트의 항목이 다른 항목보다 가중치에 더 영향을 미치지 않습니까?

이제는 구현하기가 간단하고 생각하기 쉬우므로 첫 번째 기술을 선호합니다.

비록 내가 언급 한 문제가있는 경우 (그렇지 않기를 바랍니다), 두 번째 방법보다 실제로 사용해야 할 이유가 있습니까?

답변:


6

두 예제는 본질적으로 동일한 작업을 나타냅니다.

  • 두 경우 모두 네트워크는 출력에서 ​​계산 된 역 전파 제곱 오차를 사용하여 경사 하강으로 학습됩니다.
  • 두 예제는 노드 활성화 (물류 기능의 유도체의 물류 기능 사용 s입니다 s(1 - s)이 유도체는 계산에 매우 쉽게 분명하다. 그리고 이것은이 널리 사용 된 이유의 일부 (이들 일 ReLU의 활성화 기능이 더 인기 특히 컨볼 루션 네트워크의 경우).
  • 첫 번째 방법은 운동량 도 사용합니다 .

내가 볼 수있는 주요 차이점은 첫 번째 경우 역 전파가 반복적이며 두 번째 예에서는 배치 모드에서 수행된다는 것입니다.

Welch Labs의 시리즈의 마지막 비디오는 유사 뉴턴 방식을 도입하여 비용 함수의 최소값을 계산하여 Hessian (무게와 관련하여 오차의 2 차 미분의 행렬)을 . 그러나 이것은 사과와 오렌지를 비교하는 것처럼 느껴집니다. 바닐라 그라데이션 하강은 2 차 정보를 사용하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.