본문 바로가기
Computer Vision

[EECS 498-007] lec8. CNN Architectures

by se0_ing 2024. 8. 13.
반응형

 

 

 

*강의 영상*: https://www.youtube.com/watch?v=XaZIlVrIO-Q&t=2390s

 

 

 

 

 

 

저번 강의에서 우리는 CNN의 구성요소와 각 layer와 하이퍼 파라미터들이 어떤 것을 하고 왜 존재하는지에 대해 배워보았고 이러한 기본 요소들을 어떻게 조합하여 고성능의 CNN을 만들 수 있는지에 대한 생각을 해보게 되었다.

 

 



오늘은 해가 지남에 따라 CNN 아키텍처의 발전에 대해 알아보자.


ImageNet 대회는 CNN 아키텍처의 발전에 중요한 역할을 했다. 2010년과 2011년 대회 초기에는 CNN이 아닌 전통적인 방법들이 사용되고 그나마 지금같은 형태를 띄는 아키텍처 중 LeNet-5가 있었지만, 2012년 AlexNet이 등장하면서 상황이 크게 변화했다.

 

AlexNet은 당시로서는 매우 깊은 CNN 모델이었으며, ImageNet 대회에서 다른 경쟁자들을 압도했다. Citation(인용) 수가 다윈의 진화론과 버금가는 현대 신경망의 아버지같은 존재이다.

 

 

AlexNet

2012년에 발표된 AlexNet은 CNN이 컴퓨터 비전 분야에서 주류가 되는 데 큰 기여를 한 모델이다.

 

이 모델은 5개의 컨볼루션 레이어와 3개의 완전 연결 레이어로 구성되며, ReLU 활성화 함수와 드롭아웃(dropout) 기법을 도입하여 학습 속도를 개선하고 과적합을 방지했다. AlexNet은 당시 제한된 GPU 메모리 용량으로 인해 두 개의 GPU에 모델을 분산하여 학습해야 했다. 또한, AlexNet은 LRN(Local Response Normalization)이라는 정규화 기법을 사용했으나, 이후 배치 정규화(batch normalization)가 더 널리 사용되면서 LRN은 사라졌다.

 

 

 

 

 

ZFNet

ZFNet(Zeiler & Fergus Net)은 AlexNet의 후속작으로, 2013년에 발표되었다. 이 모델은 AlexNet의 구조를 개선하여 성능을 향상시켰다.

 

첫 번째 컨볼루션 레이어의 커널 크기와 스트라이드를 조정하여 더 많은 세부 정보를 캡처할 수 있게 했고, 후속 레이어에서는 필터의 수를 증가시켜 네트워크의 용량을 확장했다. 이러한 변경 사항은 ZFNet이 AlexNet보다 더 나은 성능을 보이는 데 기여했다.

 

 

 

 

 

VGG

VGGNet은 2014년에 발표된 아키텍처로, CNN 설계에 있어 일관성과 단순성을 추구했다. 이 모델은 모든 컨볼루션 레이어에서 3x3 필터를 일관되게 사용하며, 각 풀링 레이어 이후 채널 수를 두 배로 증가시킨다. 단순성과 일관성을 이용하여 복잡한 튜닝 과정을 가지지 않고 layer를 삽입하는 과정을 쉽게 하여 작업 효율을 높였다.

VGGNet은 16층(VGG-16)과 19층(VGG-19)으로 구성된 버전이 주로 사용되며, 깊이가 깊어질수록 성능이 향상되는 경향을 보였다. 그러나 VGGNet은 AlexNet에 비해 연산량과 메모리 사용량이 크게 증가하였으며, 이는 네트워크가 매우 깊기 때문이다.

 

 

 

 

GoogLeNet

 

GoogLeNet은 2014년에 발표된 모델로, 효율성에 중점을 둔 아키텍처이다. GoogLeNet은 Stem network와 Inception 모듈이라는 독특한 구조를 도입했으며, 이 모듈은 다양한 크기의 컨볼루션 필터를 병렬로 적용하여 네트워크의 성능을 극대화함과 동시에 computation complexity는 크게 증가하지 않는다.

 

또한, GoogLeNet은 마지막에 flatten 과정, matrix를 vector로 푸는 과정을 글로벌 평균 풀링(global average pooling) 과정으로 대체하여 fully connected network를 없애, 파라미터 수를 크게 줄였다. 이러한 효율성 덕분에 GoogLeNet은 높은 성능을 유지하면서도 AlexNet이나 VGGNet보다 적은 연산량으로 동작할 수 있었다.

 

하지만 GoogLeNet이 나온 시점은 Batch Norm, 배치 정규화가 개발되기 전이다. 그렇기 때문에 2014년 전 신경망 연구자들은 그래디언트를 converge, 수렴시키기 위해선 자신의 신경망을 hack through 하여 auxiliary classifier을 layer 중간에 삽입하여 학습을 시켰었다.

 

 

 

 

 

ResNet

ResNet(Residual Network)은 2015년에 발표된 모델로, 깊은 네트워크에서도 학습이 가능하게 만든 잔차 블록(residual block)을 도입했다. 잔차 블록은 입력을 출력에 더하는(skip connection) 구조로, 이를 통해 매우 깊은 네트워크에서도 기울기 소실 문제를 해결할 수 있었다. 

 

ResNet은 단순하면서도 강력한 설계를 통해 수백 개의 층을 가지면서도 높은 성능을 유지할 수 있었으며, 이는 컴퓨터 비전 분야에서 큰 혁신으로 평가받았다. Residual connection은 input X를 output F(X)에 더해줌으로써 과적합, overfitting problem을 해결하고 신경망에게 조금 더 학습할 수 있는 환경을 만들어주어, residual block을 단순히 replace 했음에도 성능이 과거의 아키텍처보다 훨씬 뛰어났다.

 

 

 

 

 


추가적으로, ResNeXt라는 모델은 ResNet의 잔차 블록을 개선하여 여러 개의 병렬 경로를 추가한 구조이다. ResNeXt는 각 잔차 블록에 여러 개의 병렬 경로, parellel pathway를 추가함으로써 연산량을 크게 늘리지 않으면서도 성능을 향상시켰다. Parellel pathway와 각 경로의 채널 수를 조절할 수 있어, 네트워크의 크기와 성능을 유연하게 조정할 수 있는 장점이 있다.

 

 

 

 

 

 


CNN 아키텍처는 AlexNet 이후 급격한 발전을 거듭하며, 다양한 설계 원칙과 구조를 통해 성능을 지속적으로 향상시켜 왔다. 2017년에 ImageNet Classification 대회가 막을 내렸지만, CNN의 발전에 엄청나게 기여했다는 것만은 확실하다.

 

각 아키텍처는 특정 목표에 맞추어 설계되었으며, 이러한 발전은 컴퓨터 비전 분야에서의 딥러닝 모델이 더욱 복잡하고 정교한 작업을 수행할 수 있게 만든 중요한 동력으로 작용했다. 위 그림은 년도별 CNN의 발전과 그에 대한 성능 지표이다.

 

 

 

 

 

 

 

 

...오늘은 다양한 연도별 CNN Architecture와 성능과 구조에 대해 알아보았다.

반응형