사실, 두 번째 경우에 백 프로 그레이션은 시그마 이드를 통과하지 않습니다. 손실 함수 내부에서 데이터를 변경하는 것은 정말 나쁜 일입니다.
이렇게하는 것이 나쁜 이유는 네트워크에서 실제로 발생하는 오류가 아닌 출력에 오류를 역 전파하기 때문입니다. 간단한 경우로 자신을 설명하면서
: 당신은 바이너리 형태로 레이블이는 시그 모이 사용자 정의 손실 함수 내부에있는 경우 텐서가 [0, 0, 1, 0]
, 당신이 당신의 손실 S 상 변환됩니다이 [-100, 0, 20, 100],
같이 출력이있을 수 있습니다 말한다 이것은 대략 tih와 유사한 것으로 변신합니다 : [0, 0.5, 1, 1]
backpropagated 될 오류는 [0, -0.5, 0, -1]
입니다. 백 프레젠테이션은 이 아니며은 시그 모이 드를 고려하므로이 오류를 직접 출력에 적용합니다. 오류의 크기가 출력 오류의 모든 크기에 반영되지 않음을 알 수 있습니다. 마지막 값은 100이며 음의 영역이어야하지만 모델은 해당 계층에서 -1의 작은 오류를 역 전파합니다.
요약하면 오류를 백 프레젠테이션 할 때 백 프로 그레이션이 고려해야하기 때문에 시그 모이 드가 네트워크에 있어야합니다.
사용중인 코드를 제공해 주실 수 있습니까? 실제로 이것은 정말로 흥미 롭습니다. –