지난 강의 복습
즉, optimization은 loss를 최소화하는 W를 찾아가는 과정이다. (Parameter update)
Computational Graph
Backpropagation
- Forward Pass
Input에 대한 Gradient를 구하면(Output에 얼마정도의 영향을 미치는지)
f에 대한 gradient를 구해준다.
Forward pass를 하는 과정에서 local gradient를 구할 수 있다.
Backward pass를 하는 과정에서 global gradient를 구할 수 있다.
=> 결국 local gradient와 global gradient를 곱해 gradient를 구할 수 있다.
다른 예제로 다시 확인
gradient 계산
- sigmoid function
복잡한 계산 없이 자기 자신의 값으로 미분값을 표현 가능하다.
- Backward flow의 패턴
add gate : gradient를 그대로 같은 값으로 전파해준다. local gradient = 1
max gate : 큰 것만 곱하기 1을 하는 결과가 되어 하나만 취하게 된다.
mul gate : 곱하는 것의 반대쪽 gradient로 바뀌게 된다.
- Gradient가 분기 되었을 때는 더하면 된다.
- Implementation : forward / backward API
이렇게 수많은 layer들을 레고 조립하듯이 구성하는 과정을 거친다.
x,y,z가 벡터인 경우 dL/dz는 벡터가 되고, dz/dx는 matrix가 된다.
Q : what is the size of the Jacobian matrix?
A : 4096X4096
Q2: what does it look like?
A: identity matrix와 유사하지만, 모두 1이 아닌 구조
- mini-batch를 사용한 경우
mini batch size가 100인 경우 [409,600 x 409,600] matrix가 된다.
Neural Network
non-parametric approach : one class - one classifier
parametric approach : one class - multi classifier
- 뉴런과의 비교
-Activation Function의 종류
신경망의 종류
more neurons -> more capacity(분류 능력)
하지만 오버피팅이 되지 않도록 조절하기 위해서 신경망의 사이즈를 조절하는 것이 아니라, regularization을 조절해야한다.
neural networks: bigger = better (but might have to regularize more strongly)
'컴퓨터비전' 카테고리의 다른 글
[CS231n 2016] 7강 Convolutional Neural Network (0) | 2022.07.11 |
---|---|
[CS231n 2016] 6강 Training NN part 2 (0) | 2022.07.05 |
[CS231n 2016] 5강 Training NN part 1 (0) | 2022.07.04 |
[CS231n 2016] 3강 Loss fn, optimization (0) | 2022.06.30 |
[CS231n 2016] 2강 Image classification pipeline (0) | 2022.06.28 |