오차역전파법
-
오차역전파법 - Softmax-with-Loss계층 구현하기딥러닝 2020. 1. 28. 17:35
잠시 앞의 내용복습을 하겠습니다! 신경망은 그림1과 같은 층들이 여러 개 있는 것입니다. (그림이 조금 엉망이네요...ㅎㅎ) 이때 그림1의 h() 함수를 활성화 함수라고 하죠. 활성화 함수에는 계단, 시그모이드, ReLu 등 이 있습니다. 출력층의 활성화 함수는 항등함수와 소프트맥스 함수가 있습니다. 이제는 각 층을 하나의 클래스로 구현한다고 했습니다. (그림2) 그래서 이제는 소프트맥스함수를 구현해봅시다. 학습과정이므로 손실함수가 필수입니다. 그러므로 손실 구현도 같이 하겠습니다. ! 신경망에서 수행하는 작업은 학습과 추론 두 가지입니다. 추론에서 답을 하나만 낼 때는 소프트맥스 함수가 필요없습니다. 소프트맥스 함수는 입력값을 출력의 합이 1이 되도록 정규화하는 함수이기 때문입니다. (입력값과 출력값이..
-
오차역전파법 - 계산 그래프딥러닝 2020. 1. 27. 00:11
왜 오차역전파법을 배우나? 오차역전파법은 가중치 매개변수의 기울기를 계산하는 방법입니다. 굳이 수치미분 대신 사용하는 이유는 오차역전파법이 빠르기 때문입니다. 많은 양의 데이터를 다뤄야하므로 조금이라도 빠른 것이 좋겠죠. 오차역전파법은 계산 그래프를 활용하여 구현되어집니다. 그럼 계산 그래프는 무엇일까요? 요런 것입니다. 저 f의 자리에는 +, -, *, exp(x) 등이 들어갈 수 있겠군요! 사용예시를 봅시다. 화살표의 방향으로 진행하는 것이 순전파입니다. 이 계산 그래프의 특징은 뭘까요? 분할정복처럼 국소적 계산을 전파함으로써 최종결과를 얻을 수 있다는 것입니다. 그렇다면 역전파는 순전파의 역방향일 것이고.. 구하고자 하는 것은 기울기이니.. 계산 그래프의 저런 특징이 기울기 또한 구하기 쉽게 만드는..