일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 트랜스포머
- 지피티
- GPT-3
- gpt2
- XAI
- 인공지능 신뢰성
- Bert
- fairness
- Transformer
- 설명가능성
- nlp
- 케라스
- 챗GPT
- GPT
- 딥러닝
- MLOps
- ML
- 머신러닝
- Ai
- 자연어
- ChatGPT
- word2vec
- 인공지능
- cnn
- Tokenization
- 챗지피티
- trustworthiness
- AI Fairness
- DevOps
- 신뢰성
- Today
- Total
research notes
오차역전파(Backpropagation)-2 본문
신경망 학습에 경사하강법을 사용하는 방법을 알아보기 위해 하나의 입력층, 은닉층, 출력층을 사용해 가장 단순한 신경망부터 시작
조금 더 복잡한 시나리오 구성을 위해 linear combination 및 activation을 추가하였으며, 순방향 전파 단계는(forwarded propagation) 단순히 하나의 출력이 다음 층의 입력으로 사용되는 것을 쉽게 알 수 있다.
신경망의 출력과(predict) 목표(target) 간의 차이를 최소화 하기 위해 모델의 각 매개변수가(가중치, weight) 오차함수의 결과에 얼마나 영향력을 미치는지 확인 후 해당 값을 이용해 반복적으로 경사하강법을 사용하여 가중치를 업데이트 한다. 오차함수에 대한 각 가중치의 영향력은 편미분 계산을 통해 확인할 수 있다.
아래 공식과 같이 편미분을 통해 각 모델의 파라미터가 오차결과에 얼마나 영향을 미쳤는지 확인 할 수 있으며 해당 값을 사용하여 경사하강법을 수행한다.
$$ \frac{\partial J(\theta )}{\partial \theta_{2}}=(\frac{\partial J(\theta )}{\partial a^{(3)}})(\frac{\partial a^{(3)}}{\partial z})(\frac{\partial z}{\partial \theta_{2}}) $$
$$ \frac{\partial J(\theta )}{\partial \theta_{1}}=(\frac{\partial J(\theta )}{\partial a^{(3)}})(\frac{\partial a^{(3)}}{\partial z^{(3)}})(\frac{\partial z^{(3)}}{\partial a^{(2)}})(\frac{\partial a^{(2)}}{\partial z^{(2)}})(\frac{\partial z^{(2)}}{\partial \theta_{1}}) $$
이제 약간 더 복잡한 예로 입력, 은닉, 출력층에 두 개의 뉴런이 있는 신경망을 사용해 동일한 접근 방식을 시도해 볼 수 있다. 또한, 일반적으로 딥러닝은 하나 이상의 출력을 가진 신경망 구조이며 오차함수는(\(J(\theta)=\frac{1}{2m}\sum_{}^{}(y_{i}-a_{i}^{(3)})^{2}\)) 모든 출력 결과의 오차에 대해 합산하는 구조를 가진다.
여기서 \(\frac{\partial J(\theta)}{\partial \theta_{11}^{(1)}}\)를 계산 한다고 할 때 \(\theta_{11}^{(1)}\)가 \(a_{1}^{(3)}\)와 \(a_{2}^{(3)}\)에 영향을 미치는 것을 확인 할 수 있다. 여기서 오차함수는 각 출력에 대한 개별 오차의 합계이기 때문에 각 경로로 파생된 체인을 계산하고 간단히 더할 수 있다.
이 때 파란색 경로에 대한 연쇄법칙:
$$ (\frac{\partial J(\theta )}{\partial a_{1}^{(3)}}) (\frac{\partial a_{1}^{(3)}}{\partial z_{1}^{(3)}}) (\frac{\partial z_{1}^{(3)}}{\partial a_{1}^{(2)}}) (\frac{\partial a_{1}^{(2)}}{\partial z_{1}^{(2)}}) (\frac{\partial z_{1}^{(2)}}{\partial \theta_{11}^{(1)}}) $$
오렌지색 경로에 대한 연쇄법칙:
$$ (\frac{\partial J(\theta )}{\partial a_{2}^{(3)}}) (\frac{\partial a_{2}^{(3)}}{\partial z_{2}^{(3)}}) (\frac{\partial z_{2}^{(3)}}{\partial a_{1}^{(2)}}) (\frac{\partial a_{1}^{(2)}}{\partial z_{1}^{(2)}}) (\frac{\partial z_{1}^{(2)}}{\partial \theta_{11}^{(1)}}) $$
위의 두 결과를 결합하여 \(\frac{\partial J(\theta)}{\partial \theta_{11}^{(1)}}\)에 대한 결과를 도출할 수 있다.
$$ \frac{\partial J(\theta)}{\partial \theta_{11}^{(1)}}= {(\frac{\partial J(\theta )}{\partial a_{1}^{(3)}}) (\frac{\partial a_{1}^{(3)}}{\partial z_{1}^{(3)}}) (\frac{\partial z_{1}^{(3)}}{\partial a_{1}^{(2)}}) (\frac{\partial a_{1}^{(2)}}{\partial z_{1}^{(2)}}) (\frac{\partial z_{1}^{(2)}}{\partial \theta_{11}^{(1)}})} + {(\frac{\partial J(\theta )}{\partial a_{2}^{(3)}}) (\frac{\partial a_{2}^{(3)}}{\partial z_{2}^{(3)}}) (\frac{\partial z_{2}^{(3)}}{\partial a_{1}^{(2)}}) (\frac{\partial a_{1}^{(2)}}{\partial z_{1}^{(2)}}) (\frac{\partial z_{1}^{(2)}}{\partial \theta_{11}^{(1)}})} $$
References:
'인공지능 수학 > 미분적분' 카테고리의 다른 글
오차역전파(Backpropagation)-1 (0) | 2022.06.12 |
---|---|
적분(integral) 정리 (0) | 2022.06.01 |
테일러 급수(Taylor Series) (0) | 2022.05.22 |