728x90
반응형
softmax 구현
def softmax(x):
return np.exp(x)/np.sum(np.exp(x))
수식을 잘 구현했지만 한 가지 문제가 있다.
softmax([900,123,22]) # array([nan, 0., 0.]
900만 돼도 Runtimewarning 과 함께 nan 값이 나온다. 따라서 값을 집어 넣어 값에 영향을 주지않고 0으로 가지 않게 해야한다. 인풋의 최댓값을 값들에서 빼서 해결한다.
def softmax(x):
return np.exp(x-np.max(x))/np.sum(np.exp(x-np.max(x)))
softmax([900,123,22]) # array([0., 0., 0.])
반응형
'Deep Learning' 카테고리의 다른 글
OSError: [WinError 127] 지정된 프로시저를 찾을 수 없습니다. Error loading \\torch\\lib\\*_ops_gpu.dll or one of its dependencies. (0) | 2021.03.06 |
---|---|
TFBertModel parameter (0) | 2021.03.05 |
활성화 함수(activation function) (0) | 2021.03.03 |
Batch Normalization (0) | 2021.03.02 |
GAN (Generative Adversarial Networks) (0) | 2021.02.26 |