CNN이란 무엇인가?
Convolutional Neural Network(CNN or ConvNet)란 데이터로부터 직접 학습하는 딥러닝의 신경망 아키텍처입니다.
CNN은 수집 또는 수백 개의 계층을 가질 수 있으며 각 계층은 영상의 서로 다른 특징을 검출합니다. 각 훈련 영상에 서로 다른 해상도의 필터가 적용되고, 컨벌루션된 각 영상은 다음 계층의 입력으로 사용됩니다. 필터는 밝기, 경계와 같이 매우 간단한 특징으로 시작하여 객체를 고유하게 정의하는 특징으로 복잡도를 늘려갈 수 있습니다.
CNN 모델들의 역사적 발전 순서와 그 특징
CNN (Convolutional Neural Network)는 이미지 처리 및 분류 작업에 특히 탁월한 성능을 보이며, 여러 가지 변형과 발전을 거쳐 왔습니다. 주목해야 할 CNN 모델들의 역사적 발전 순서와 그 특징은 다음과 같습니다:
-
LeNet (1998)
- Yann LeCun에 의해 제안되었습니다.
- 초기 핸드쓴 문자 인식에 사용됐습니다.
- CNN의 초기 모델로서 기초적인 컨볼루션 레이어와 풀링 레이어의 구조를 갖고 있습니다.
-
AlexNet (2012)
- 2012년 ImageNet Large Scale Visual Recognition Challenge에서 우승한 모델입니다.
- 딥러닝의 인기를 불러일으키는 데 중요한 역할을 했습니다.
- 여러 컨볼루션 레이어와 완전 연결 레이어, 드롭아웃 등을 사용했습니다.
-
VGG (2014)
- Oxford VGG 팀에 의해 제안되었습니다.
- 3x3 컨볼루션의 반복 사용이 주요 특징입니다.
- VGG16 및 VGG19 등의 다양한 버전이 있습니다.
-
GoogLeNet / Inception (2014)
- 인셉션 모듈이라는 복잡한 구조를 도입하여 파라미터 효율성을 개선했습니다.
- 여러 버전의 인셉션 네트워크가 연속적으로 발표되었습니다.
-
ResNet (Residual Network, 2015)
- Microsoft Research에 의해 제안되었습니다.
- 깊은 네트워크에서 발생할 수 있는 학습의 어려움을 극복하기 위해 "잔여 연결" 또는 "스킵 연결"을 도입했습니다.
- 매우 깊은 네트워크 (예: ResNet-152)도 효과적으로 학습할 수 있게 되었습니다.
-
DenseNet (2017)
- 각 레이어의 출력이 그 다음 모든 레이어에 연결되는 밀집 연결 구조를 갖고 있습니다.
- 특징 재사용과 그래디언트 흐름 개선의 장점이 있습니다.
-
MobileNets (2017)
- 경량화된 모델로, 모바일 기기 및 엣지 디바이스에서의 고속 및 고효율 실행을 목표로 합니다.
- 깊이별 컨볼루션과 포인트별 컨볼루션을 사용하여 파라미터와 연산량을 크게 줄였습니다.
-
EfficientNet (2019)
- Compound Scaling 방법을 사용하여 네트워크의 깊이, 너비, 입력 해상도를 동시에 조절하는 방법을 제안했습니다.
- 기존의 모델보다 더 적은 파라미터로도 뛰어난 성능을 달성했습니다.
이러한 모델들은 모두 고유한 아키텍처와 기술적 혁신을 바탕으로 세계적인 딥러닝 경쟁에서 높은 성능을 보여주었습니다. 그 결과, 다양한 분야와 응용에서 이러한 아키텍처를 기반으로 한 연구와 활용이 이루어지고 있습니다.