5주차 : (CS231 Lecture 4) Backpropagation and Neural Networks
[Backpropagation and Neural Networks]
: 현재 w에 의해서 계산된 score 값이, 내가 원하는 값과 얼마나 차이나는지 어떻게 계산할 것인가?
* 딥 뉴럴네트워크의 학습방법
<학습데이터> 이런 입력을 줬을 때, 이런 아웃풋이 나왔으면 좋겠어
<실제 OUTPUT>
= 차이 (loss) → RMS Error 계산하여 loss를 구함. loss에 맞춰서 W를 업데이트! 그 다음, 학습 데이터를 다시 입력 → 출력 계산 → 원하는 값과 비교 → 또 loss가 났으므로 업데이트 → roof를 계속 돌림
=> roof가 돌아갈 수록 RMS Error가 작아짐
Backpropagation
: 그레디언트를 출력단부터 입력단까지 계속 바꾸고, 그 결과값으로 또 바꾸고, 뒤로 보내면서 w를 늘릴래 줄일래? 하는 것이 오류역전파.
w에 대해 미분하면서 w를 줄어드는 방향으로 w를 업데이트 시켜간다
q를 x가지고 미분하면 1이다 = x가 1 증가하면 q도 1 증가한다
q를 y가지고 미분하면 1이다 = y가 1 증가하면 q도 1 증가한다
q = x+y
입력에 따라 출력이 어떻게 변하나
sigmoid 함수
= activation function
출력이 입력에 대해 시그모이드라는 함수가 얼마나 sensetive한가?
초창기 sigmoid :
이미 충분히 크면 출력이 1로 나감. 1000 이었던 것을 999로 바꾸어도 출력값에는 변화X
충분히 크기 때문에 그레디언트가 0이 되어버림 => vanising gradient = 학습이 안 됨
요즘엔 ReLU를 쓴다! : 많이 씀! 꼭 써야하는 것은 아니다
네트워크가 깊어져도 그레디언트가 입력단 까지 잘 전달이 되도록 (0이 안되도록)
=> 학습이 잘 되도록 만들었다
'🤖 Education > 2021석사과정' 카테고리의 다른 글
[확률통계] 2주차 베이지안 (0) | 2023.07.16 |
---|---|
[확률통계] 1주차 (0) | 2023.07.15 |
[딥러닝기초] 4주차 : (CS231 lecture 3) Linear Classification (0) | 2023.06.30 |
[딥러닝기초] 3주차 : (CS231 lecture 2) Image Classification Pipeline (0) | 2023.06.30 |
[딥러닝기초] 2주차 : 딥러닝(Deep Learning) (0) | 2023.06.30 |