단순한 Softmax 함수는 numerical instability하다.
e의 지수연산을 하게 되므로, 쉽게 오버플로 혹은 언더플로가 발생할 수 있다.
예를 들어 [100, 200, 300] (너무 큰 값들의 list)을 soft max function에 단순 계산하게 된다면, overflow가 발생하여,
가장 큰 값에만 1에 근사한 값이 들어가고 나머지 class에는 0에 가까운 값이 들어간다. ([0.000..., 0.000..., 1])
반대로, [1/1000, 1/2000, 1/3000](너무 작은 값들의 list)을 전사한다면,
under flow가 발생하여, soft max함수 결과는 각각의 성분에 동일하게(uniform하게) 들어가게 된다. ( [0.33333.., 0.33333..., 0.33333...] )
→ 이 해결방안: parametric trick=상수를 분모 분자에 곱해주어 이를 shift해주고 안정적이게 mapping해주는 방법이다.