DeepLearning/Basic

[DL] ResNet의 Inspiration

yooj_lee 2021. 9. 24. 01:07
300x250

Why Residual Learning?

지금껏 ResNet을 읽으면서 가장 이해가 되지 않았던 점은 왜 ResNet은 deeper network를 만드는데에 residual learning의 개념을 적용한 것일까? 에 대한 것이었다.

Not about the Vanishing Gradient

물론 skip connection을 통해 gradient vanishing 등의 문제를 해결한다 이런 측면도 있겠지만, 논문에서 밝히길 여러 normalized initialization과 intermediate normalization layer로 인해서 해결 가능하다. 즉, 단순히 gradient vanishing 문제 등을 해결하기 위해 skip connection을 통한 residual learning이라는 접근을 생각한 게 아닐 것이라는 생각이 들었다. 논문의 아래와 같은 파트에 residual learning을 생각하게 된 일련의 사고과정이 담겨있고 이를 간단히 적어보았다.

Degradation → Optimization → Residual Mapping

deeper는 현재까지 나온 실증적 증거를 바탕으로 shallower보다 성능이 좋게 나와야하는 게 맞음. 근데 실제론 안 그럼.
→ not overfitting, degradation (optimization의 문제 → 깊은 네트워크는 최적화가 훨씬 어렵다, solution을 찾기 어렵다.) 


이론 상으로 deeper는 shallower보다 낮은 에러가 나오는 게 말이 안된다. 왜냐하면 deeper에서 추가된 파트가 identity mapping이라고 가정을 하면 달라진 건 없기 때문에 shallower counterpart보다 같은 에러를 보여줘야 하는 것. (근데 deeper → better라는 가정을 끌고 가니까 원래 깊은 네트워크가 성능이 더 좋아야한다는 거..)
근데 더 좋아지는 깊은 네트워크는 찾지 못했고 identity mapping을 갖는 네트워크가 지금으로서의 최선 (identity mapping = constructed solution).

그래서 identity mapping이 constructed solution이니까 이걸 찾아야되는데 바로 desired func (=identity mapping)을 approx하는 게 어려우니까 residual learning으로 태스크를 reformulate하자..(residual을 학습하는 게 더 쉽다는 걸 가정으로 함 → residual learning이 훨씬 "최적화"하기 쉽다는 걸 hypothesize하고 있음)

 

아직도 이해가 가지 않는 포인트

identity mapping이 constructed solution이다 → no higher training error를 보이는 게 맞다(Equal이 아니라는 점이 의아함)그러므로 우리가 최종적으로 modeling 해야하는 건 identity mapping이다.. (이게 맞나..?)→ 근데 어떤 걸 바로 mapping시키는 것보단 residual을 mapping시키는 게 더 최적화가 쉽다 (hypothesis)

300x250