병목 블록에 대한 코드를 살펴보았는데 기본 블록과 병목 블록에 대한 차이가 있었습니다. 기본 블록이 3×3 합성곱층 두 개를 갖는 반면, 병목 블록은 1×1 합성곱층, 3×3 합성곱층, 1×1 합성곱층의 구조를 갖습니다. 기본 블록을 병목 블록으로 변경하는 이유는 계층을 더 깊게 쌓으면서 계산에 대한 비용을 줄일 수 있기 때문입니다. 그리고 계층이 많아진다는 것은 곧 활성화 함수가 기존보다 더 많이 포함된다는 것이고, 이것은 더 많은 비선형성(non-linearity)을 처리할 수 있음을 의미하기도 합니다. 즉, 다양한 입력 데이터에 대한 처리가 가능하다는 의미입니다.
결국 아이덴티티 매핑과 병목 블록으로 ResNet 네트워크에 더욱 깊은 계층을 쌓을 수 있게 된 것입니다.
이제 ResNet 모델에 대한 네트워크를 정의해 봅시다. ResNet 역시 VGG처럼 다양한 모델이 있습니다.