네트워크가 깊을 수록 성능이 좋음을 알 수 있었다.
그러나 깊은 네트워크를 학습시키는데 gradient vanishing문제나 Training loss가 잘 낮아지지 않는 최적화 문제가 존재한다.
만약 layer 20개가 최적의 깊이일 경우 30개 layer를 쌓으면 나머지10개는 identity 함수(x=y)로 학습을 하면 되지 않을까?
→ 그러나 그게 잘 안된다.
→ 그럼 잘 되게 하자
따라서 Residual Block을 쌓게 된다.
Residual이 없는 plain network의 경우 깊어질수록 성능이 낮고
Resnet은 레이어가 깊어질수록 성능이 높다.
위의 아이디어로 성능이 좋은 줄 알았으나 알고보니 Resnet은 gradient vanishing을 잘 해결해주는 것이었다.
∴ Residual을 gradient vanishing을 방지하는 방법
현재 제안되는 대부분의 큰 네트워크들은 residual connection을 차용하고 있다. (ex: Transformer)