gradient vanishing
역전파과정에서 비선형활성함수의 미분값을 계속 곱하는데 깊어질수록 비선형활성함수가 많아져서 많이 곱하면 곱할수록 0에 가까워진다 (비선형활성함수의 미분값이 0~1사이기 때문)
그래서 relu로 해결 relu 미분값 = 1 (0이하에서는 0)
vgg에서는 relu사용 근데 vgg기반 cnn에서 깊어질수록 어느시점에서 성능 떨어짐
이유 : gradient vanishing ????
ResNet
기존 cnn
인풋 x가 레이어를 통과 : H(x)
H(x)를 타깃값 y로 매핑하도록 학습
resnet
인풋 x가 레이어를 통과 : F(x)
H(x) = F(x) + x
F(x) + x를 최소화되록 학습 (왜?)
하지만 x는 현시점 고정값
F(x)를 0으로 매핑하도록 학습
즉 출력값을 입력값으로 매핑하도록 학습
그러면 좋음??? 머지
질문
1. 기존 activation함수들의 문제 gradeint vanishing을 해결하려고 relu만들었는데 relu를 사용한 vgg기반 cnn에서도 gradient vanishing이 있다함 왜 있음??
2. resnet에서 출력값에 입력값을 더한(F(x)+x)를 왜 최소화하도록 학습함??
어렵네요..
1. 합성함수를 예로 들겠음. f와 g의 합성함수 f(g(x))가 있고 이를 미분하면 g'(x)f'(g(x))가 됨. 두 함수가 다항식이라고 가정하고 이러한 함수가 여러개이고 계속 미분이 가해진다면 앞함수의 의미는 점차 없어지겠지. 비슷한 원리. Relu가 절대적 해결책이 아님. 2. 지금 말하는건 skip connection 식 자체 - dc App
이전 레이어와 그 다음레이어 사이의 관계식이 뭐가되었던 손실을 줄여서 예측하고자 하는 딥러닝 모델 훈련의 목적은 같음 - dc App
resnet 쓰면 gradient vansihing 더 해결 잘됨. 그리고 f(x) + x를 왜 최소화시킴? resnet이랑 f(x) + x 최소화시키는거랑 관련 없음