지금까지 우리는 입력 값, 출력 값을 알고 있는 상태에서 정답에 해당하는 가중치와 편향을 직접 집어넣었는데 실제 프로젝트에서는 이미 배웠던 '경사 하강법'을 통해 임의의 가중치를 선언하고 결괏값을 이용해 오차를 구한 뒤 오차가 최소인 지점으로 계속 이동!
하지만 저번에 배운 경사 하강법은 입력과 출력이 하나일 때, 즉 '단일 퍼셉트론'일 경우였고 이번에는 숨어 있는 층이 하나 생겼으므로 계산이 복잡해졌지만 원리는 똑같다!
단일 퍼셉트론에서 결괏값을 얻으면 오차를 통해 앞에서 정한 가중치를 조정하는 것처럼
다중 퍼셉트론 역시 결괏값의 오차를 구해 하나 앞선 가중치를 차례로 거슬러 올라가며 조정하는 데 그러다 보니 최적화의 계산 방향이 출력층에서 시작해 앞으로 진행된다.
그래서 다층 퍼셉트론에서의 최적화 과정을 오차 역전파라고 부른다.
이 오차 역전파를 코딩으로 좀 더 설명하기 쉽게 구현해보면





아까 다중퍼셉트론으로 XOR 문제를 구현한 것처럼 오차 역전파를 통해 XOR Gate를 잘 구현하고 있다! 다음은 이제 진짜 데이터 분석이다!
'딥러닝' 카테고리의 다른 글
모두의 딥러닝 (8) - 다중 분류 문제 해결하기 (0) | 2019.12.24 |
---|---|
모두의 딥러닝 (7) - 데이터 다루기 (0) | 2019.12.24 |
모두의 딥러닝 (5) - 퍼셉트론 (0) | 2019.12.23 |
모두의 딥러닝 (4) - 참 거짓 판단 장치 : 로지스틱 회귀 (0) | 2019.12.23 |
모두의 딥러닝 (3) - 오차 수정하기 : 경사 하강법 (0) | 2019.12.23 |