2014-11-23 33 views
2

현재 출력 레이어에 Softmax Activation Function을 사용하는 분류를 위해 BackPropagation 알고리즘을 수행 할 때 크로스 엔트로피 오류를 사용하고 싶습니다.Cross Entropy, Softmax 및 Backpropagation의 미분 항목

내가 수집 무엇부터

, 당신은 크로스 엔트로피와 소프트 맥스와 같이하는 유도체를 삭제할 수 있습니다 :

Error = targetOutput[i] - layerOutput[i] 

이의 평균 제곱 오류 다릅니다 그래서

Error = Derivative(layerOutput[i]) * (targetOutput[i] - layerOutput[i]) 

, 수 출력 레이어가 Cross Entropy로 분류하기 위해 Softmax Activation Function을 사용하는 경우에만 파생어 용어를 삭제합니까? 예를 들어, 교차 엔트로피 오류 (TANH 활성화 함수라고 말함)를 사용하여 회귀를 수행한다면 파생 용어를 유지해야합니다.

나는 이것에 대한 명백한 답을 찾을 수 없었으며 이것에 대해서도 수학을 시도하지는 않았다.

답변

1

'실제'오류 (출력과 대상의 차이)를 얻었으므로 출력 레이어에서 미분 항목을 사용하지 않고 숨겨진 레이어에서 역 전파를 사용하여 대략적인 오류를 계산해야합니다.

현재 수행중인 작업은 현재 레이어의 오류 (알 수 없음) 대신 현재 레이어의 가중치와 다음 레이어의 오류 파생어를 취하는 근사치입니다.

감사합니다.

+1

안녕하세요, Seguy, 질문은 ** 미정의 용어가 삭제 된 **에 대한 것입니다. 크로스 엔트로피를 사용할 때 항상 떨어 뜨 렸습니까? 또는 Cross Entroy + Softmax Output 레이어를 사용할 때 떨어 뜨 렸습니까? – GreekFire

+0

안녕하세요 @ GreekFire, 나는 그 질문이 마지막 층을 역 전파하는 데 제한된다는 것을 이해합니다. 여기서 당신은 이전 층의 출력의 스쿼시 기능 (softmax, tanh, ...)의 유도체를 사용하거나 사용하지 않을 수 있습니다. 미분을 고려하면 역 전파 된 신호 오류는 약화됩니다 (학습 프로세스가 느려짐). – Seguy