뉴런
활성화 함수
신경 세포인 뉴런 동작원리를 머신러닝에 적용하기 위해
1. 입력 신호와 가중치를 곱하고 적당한 bias를 더함(Linear Regression)
2. 그 값을 활성화 함수 입력으로 전달(Classification)
3. 임계점이 넘으면 1을 그렇지 않으면 0을 다음 뉴런으로 전달
딥러닝
Feed forward
수치미분을 통한 딥러닝
수치미분을 사용해 가중치와 bias를 업데이트 하여 오차를 최소화 시키는 방법
-> 직관적이지만 미분계산 시 많은 시간이 소요됨
=> 오차 역전파(Back Propagation)을 이용하여 해결
오차 역전파
시그모이드 함수 미분
시그모이드 함수 미분 원리와, 체인 룰을 같이 엮어 식을 단순화
오차역전파 유도를 위한, 계산값 정리
이렇게 구한 오차역전파를 통해, 출력층의 가중치 업데이트를 수치미분이 아닌 행렬 기반의 곱하기 형태로 계산 가능
은닉층에서의 오차역전파를 적용할 시는, 출력층과 달리, 오차값 E1 / E2에 모두 영향을 미침
-> 따라서, 두가지 모두를 계산해줘야 함
은닉층에서 구한 오차역전파를 통해, 단계 2와 동일하게 행렬 기반의 곱하기 형태로 변경
이를 통한, 오차역전파 일반 공식 구하기
출력층에서의 적용
은닉층에서의 적용
=> 오차역전파 일반공식에서 동일한 패턴이 보임 -> 이를 통해 은닉층이 늘어나도 패턴을 통한 적용으로 계산을 쉽게 할 수 있음
오차역전파를 이용한 파이썬을 통한 MNIST 딥러닝 코드 짜기 예제
https://www.youtube.com/watch?v=Wy-7bKf4UWA&list=PLS8gIc2q83OjStGjdTF2LZtc0vefCAbnX&index=27
(추후에 클론 코딩 해보기)