728x90
반응형
Softmax function
Softmax 함수는 아래와 같이 정의된다.
pi=exp(zi)∑nj=1exp(zj)
- pi : class i에 대한 Softmax output
- zi : class i에 대한 logit
- n : class의 총 개수
Softmax function derivative
1. i=k인 경우
이때, zi=zk이다.
∂pk∂zk=∂∂zk(exp(zk)∑nj=1exp(zj))
곱의 미분 규칙과 합성 함수의 미분을 사용하여,
∂pk∂zk=exp(zk)⋅∑nj=1exp(zj)−exp(zk)⋅exp(zk)(∑nj=1exp(zj))2
위 식을 정리하면,
∂pk∂zk=exp(zk)(∑nj=1exp(zj)−exp(zk))(∑nj=1exp(zj))2
∑nj=1exp(zj)은 Softmax의 분모이므로, 이를 pk로 대체할 수 있다.
∂pk∂zk=pk(1−pk)
즉, i=k인 경우, Softmax 함수의 미분은 출력 확률 pk에 대해 아래와 같이 정리된다.
∂pk∂zk=pk(1−pk)
2. i≠k인 경우
이때, zi≠zk이다.
∂pi∂zk=∂∂zk(exp(zi)∑nj=1exp(zj))
분자의 미분은 0이 되므로, 분모의 미분을 계산하면,
∂pi∂zk=−exp(zi)⋅exp(zk)(∑nj=1exp(zj))2
이를 다시 Softmax 출력 확률 pi와 pk로 표현하면 Softmax 함수의 미분은 아래와 같이 정리된다.
∂pi∂zk=−pi⋅pk
정리하면, 아래와 같이 표현할 수 있다.
∂pi∂zk={pi(1−pi)if i=k−pipkif i≠k
728x90
반응형
'Deep Learning' 카테고리의 다른 글
Posterior collapse (0) | 2024.10.26 |
---|---|
Coupling Layer (0) | 2024.09.25 |
Norm,L1,L2 (0) | 2024.08.17 |
AUROC Random Detector (0) | 2024.08.09 |
Cross Entropy Loss and gradient (0) | 2024.08.08 |