hchang 14 Dec 2021
공부를 하는데, 사람들이 레즈넷 레즈넷 하는데, 무엇인지 몰라서 한참을 고민했습니다.
ResNet의 핵심 아이디어를 이해하려면, 거기에 다다르기에까지 어떠한 과정이 있는지 이해해야합니다. 그 이전까지의 이미지 분류 모델을 보면, 더 다양한 표현력을 위해 Convolution layer를 층층히 쌓지만, 과적합과 관계없이 원하는 지점에 수렴하지 못하는 현상이 식별되었습니다. 훨씬 더 많은 다양성 구분할 수 있지만, 그 안에서 정답을 찾지 못하는 것 처럼 보입니다.
위 그래프를 보았을 때 알 수 있는 것은, 층을 많이 쌓을 때의 정확도가 좋지 않은 것은, 과적합 때문이 아니라는 점입니다. 과적합일 때에는 train_error 는 낮아지고, test_error가 높아져야하지만, 여기서는 train_error자체가 층이 더 적을 때 좋은 것을 볼 수 있습니다. 이것으로 표현력이 좋아진 만큼, 그 안에서 정답을 찾아낼 트릭이 필요하다는 것을 생각할 수 있습니다. 이를 해결할 아이디어가 Residual Network입니다.
기본적인 개념은 Convolution를 추가로 쌓아서 오히려 더 안좋아질 것이라면, 이전 엑티베이션 맵이 가진 특성에 Convolution을 통과한 맵을 단순히 더해서, 기존에 표현력에, 새로운 표현력을 더하기만 하겠다는 것입니다. 층을 더 쌓아서 안좋아지는 현상은 없에고, 표현력만 늘리겠다는 것이죠.
이는 단순하지만 매우 효과적이였고, 이후에 나오는 거의 모든 모델에 영향을 미쳤습니다. 또 결론적으로 microsoft는 이를 이용하여, 100층 이상의 모델을 구현하고 매우 좋은 성과를 거두어 우승을 거두었습니다.