[밑바닥부터 시작하는 딥러닝] Softmax 함수, 클래스 구현하기 (미분 수식, + with Cross Entropy)


[밑바닥부터 시작하는 딥러닝] Softmax 함수, 클래스 구현하기 (미분 수식, + with Cross Entropy)

주로 분류를 위해 사용되는 함수인 softmax는 딥러닝에서 가장 많이 쓰이는 녀석 중 하나일 겁니다. 이번에 '밑바닥부터 시작하는 딥러닝 1,2권'을 구현하면서 정말 여러 번 코드를 치면서 구현했었는데, 코드의 원리가 생각보다는 이해하기 쉽지 않았던 것 같습니다 c 함수 자체는 엄청 간단한데 의외로 역전파 원리는 그렇지 않습니다. 오늘은 이를 코드와 함께 꼼꼼히 살펴보면서 어떻게 구현이 되어있는지, 특히 미분이 왜 이렇게 되는 건지 알아보겠습니다!! 1. softmax 함수 정의하기 우선 총 n개의 클래스가 존재한다는 상황을 가정하겠습니다. 그리고 앞으로 이 함수의 입력은 벡터 a, 출력은 벡터 y, 정답은 벡터 t라고 하겠습니다. 따라서 각 벡터는 n개의 원소로 구성되어 있으므로 a = [a1, a2..


원문링크 : [밑바닥부터 시작하는 딥러닝] Softmax 함수, 클래스 구현하기 (미분 수식, + with Cross Entropy)