def softmax(vec):
denumerator = np.exp(vec - np.max(vec, axis=-1, deepdims=True)
numerator = np.sum(denumerator, axis=-1, keepdims=True)
val = denumerator / numerator
return val
신경망은 선형 모델과 활성화 함수(activation function)을 합성한 함수
활성화 함수 는 위에 정의된 비선형 함수로 잠재벡터 의 각 노드에 개별적으로 적용하여, 새로운 잠재벡터 를 만듬
시그모이드(sigmoid) 함수나 tanh가 전통적으로 많이 쓰이던 활성화 함수이지만, 딥러닝에서는 ReLU(Rectified Linear Unit) 함수를 많이 사용함
Sigmoid
tanh
ReLU
잠재벡터 에서 가중치 행렬 와 를 통해 다시 한 번 선형변환해서 출력하게 되면, 을 매개변수로 가진 2층(2-layer) 신경망이 됨