ReLU 뉴런은 0을 출력하고 모든 음의 입력에 대해 미분 값을 갖지 않습니다. 따라서 네트워크의 가중치가 항상 ReLU 뉴런에 부정적인 입력을 유발하는 경우 해당 뉴런은 효과적으로 네트워크의 훈련에 기여하지 않습니다. 수학적으로 해당 뉴런에서 나오는 가중치 업데이트에 대한 기울기 기여는 항상 0입니다 (자세한 내용은 수학 부록을 참조하십시오).
L(W)LLWL
일반적으로 발생하는 일은 정보가 네트워크를 통해 흐르는 방식에 따라 다릅니다. 훈련이 진행됨에 따라 뉴런이 생성하는 값이 변동될 수 있고 가중치가 일부 데이터 흐름을 통해 모든 데이터 흐름을 중단시킬 수 있다고 상상할 수 있습니다. (때로는 네트워크 초기의 무게 업데이트로 인해 이러한 구성이 바람직하지 않을 수도 있습니다!). 나는 무게 초기화 ( 이 문제에 기여할 수 있음)와 데이터 흐름과의 관계 에 대한 블로그 게시물 에서이 아이디어를 탐구 했다. 내 요점은 그 기사의 플롯으로 설명 할 수 있다고 생각합니다.
플롯은 서로 다른 초기화 전략으로 네트워크를 통과 한 후 ReLU 활성화와 함께 5 레이어 다중 계층 Perceptron에서 활성화를 표시합니다. 가중치 구성에 따라 네트워크 출력이 차단 될 수 있음을 알 수 있습니다.
수학 부록
Lx(i)jjif(s)=max(0,s)s(i)j(i+1)i(i+1)
∂L∂w(i)jk=∂L∂x(i+1)k∂x(i+1)k∂w(i)jk.
오른쪽의 첫 번째 용어는 재귀 적으로 계산 될 수 있습니다. 오른쪽의 두 번째 용어는 무게와 직접 관련된 유일한 장소 이며w(i)jk
∂x(i+1)k∂w(i)jk=∂f(s(i)j)∂s(i)j∂s(i)j∂w(i)jk=f′(s(i)j)x(i)j.
이를 통해 출력이 항상 음수이면 뉴런으로 이어지는 가중치가 업데이트되지 않으며 뉴런이 학습에 기여하지 않음을 알 수 있습니다.