왜 softmax 함수에서는 'e'를 쓰는가?
2019.10.18
다들 잘 아시겠지만, softmax를 다시한번 간단히 살펴봅시다. Softmax softmax는 입력되는 모든 값을 0과 1 사이의 값으로 normalize하며, 모든 입력값의 합이 1이되게 하는 함수입니다. 그렇다면, 왜 상수 'e'를 사용하는가? 아래와같이 미분이 아주 깔끔해서 입니다. 'soft'max의 관점에서, 입력값에 대한 결과값을 보면 'hard'하게 잘려있기 보다는, 'soft'하게 나눠지는 것을 볼 수 있습니다. 그래서 max값만 출력되는, one-hot vector의 형태로 출력되는 argmax와 달리, softmax는 max에 근접한 값들도 출력이되며, 이를 이용해 손실을 계산하는것이 유익합니다. (참고로 hardmax는 미분이 불가능하며, soft는 어디에서든지 미분이 가능합니다.)..