ILSVRC라는 Visual Recognition Challenge와 대회에서 수상을 했던 4개의 Network의 특징에 대해 알아보자.
VGGNet
convolution filter의 크기를 가장 작은 크기인 3x3으로 고정시켜 모델의 layer를 깊게 만들고, 파라미터의 수는 상대적으로 적게 줄였다.
3x3 filter로 두번 convolution 연산하는 것과 5x5 filter로 한번 convolution 연산하는 것은 같은 크기의 receptive field를 갖는다.
그러나, 3x3 filter를 2번 사용하는 것이 파라미터의 수가 훨씬 적게 필요하다. (3*3*2 < 5*5)
3x3 convolution filter를 사용함으로써 네트워크의 깊이가 깊어져 비선형성이 증가하고, 파라미터의 수는 줄어들어 훈련시키는 비용을 줄이고 과적합 문제를 완화할 수 있다.
GoogleNet
검정색 박스를 친 부분이 inception block을 사용한 위치이다.
inception block은 위와 같은 구조로, 다양한 크기의 filter를 사용해 여러 특징들을 추출한다.
또한, 1x1 크기의 convolution layer를 활용해 channel의 차원을 축소시켜 모델의 파라미터 수를 줄였다.
ResNet
모델의 layer가 깊어지면서 발생하는 gradient vanishing/exploding 문제를 해결하기 위해 네트워크 구조에 skip connection을 추가하였다.
skip connection은 이전 layer의 출력값이 현재 layer를 뛰어 넘고 다음 layer의 입력값에 더해지는 형태로 구현된다.
이를 통해 네트워크의 깊이가 증가하더라도 입력값과 연관된 특징을 유지하여 모델의 성능을 높일 수 있다.
DenseNet
ResNet에서 skip connection이 이전 layer의 출력값과 다음 layer의 입력값을 더했다면, DenseNet은 concatenation을 사용한다.
모든 이전 layer의 출력값, 즉 feature map의 정보가 쌓여 현재 layer에 전달되기 때문에 효과적인 특징 추출이 가능하다.
'AI > Deep Learning' 카테고리의 다른 글
[Deep Learning] LSTM을 직접 구현해보자! (0) | 2023.03.29 |
---|---|
[Deep Learning] RNN의 구조 (2) | 2023.03.24 |
[Deep Learning] Regularization (0) | 2023.03.21 |
[Deep Learning] 최적화 기법 (0) | 2023.03.21 |
[Deep Learning] 모델 최적화를 위한 중요한 개념들 (0) | 2023.03.21 |