Deep Learning CNN Architectures
Deep Learning CNN Architectures
컴퓨터 비전 분야의 발전, 특히 ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 우승 모델들을 중심으로 CNN 아키텍처의 발전 과정을 다룹니다. 초기 LeNet-5부터 시작하여 네트워크가 점차 깊어지고(Deeper), 효율적으로(Efficient) 변화하는 과정을 확인할 수 있습니다.
주요 아키텍처별 특징
LeNet-5 (1998)
- 특징: 초창기 CNN 모델로, 우편 번호와 같은 손글씨 숫자 인식을 위해 개발되었습니다.
- 구조: [Conv - Pool - Conv - Pool - FC - FC] 형태의 단순한 구조를 가집니다.
- 필터: \(5 \times 5\) 크기의 컨볼루션 필터를 사용했습니다.
AlexNet (2012) - 1차 혁명
- 의의: 최초의 CNN 기반 ILSVRC 우승 모델로, 딥러닝 붐을 일으킨 시발점입니다. Top-5 에러율을 16.4%로 획기적으로 낮췄습니다.
- 주요 기법:
- ReLU 사용: Sigmoid 대신 ReLU 활성화 함수를 처음 도입하여 학습 속도를 높였습니다.
- Dropout: 과적합(Overfitting) 방지를 위해 0.5 비율의 Dropout을 사용했습니다.
- Data Augmentation: 데이터 증강 기법을 적극적으로 활용했습니다.
- GPU 활용: 당시 메모리 제약으로 인해 네트워크를 두 개의 GPU로 나누어 학습시켰습니다.
- 구조: 8개의 레이어(5 Conv + 3 FC)로 구성되어 있습니다.
ZFNet (2013)
- 특징: AlexNet의 하이퍼파라미터를 개선한 모델입니다.
- 개선점:
- 첫 번째 레이어의 필터 크기를 \(11 \times 11\)에서 \(7 \times 7\)로 줄이고, Stride를 4에서 2로 줄여 정보 손실을 최소화했습니다.
- 중간 레이어(Conv3, 4, 5)의 필터 수를 늘려 성능을 향상했습니다.
VGGNet (2014) - 깊이(Depth)의 미학
- 핵심 아이디어: “작은 필터를 깊게 쌓자”는 철학으로 설계되었습니다.
- 구조: \(3 \times 3\) 크기의 작은 필터만을 사용하여 16~19층까지 깊이를 늘렸습니다 (VGG16, VGG19).
- \(3 \times 3\) 필터의 장점: \(3 \times 3\) 필터를 3번 쌓으면 \(7 \times 7\) 필터 1번과 동일한 수용 영역(Receptive Field)을 가지면서도, 파라미터 수는 줄어들고 비선형성(Non-linearity)은 증가합니다.
- 단점: FC(Fully Connected) 레이어 비중이 높아 파라미터 수가 매우 많고(약 1억 3,800만 개), 메모리 사용량이 큽니다.
GoogLeNet (Inception V1) (2014) - 효율성(Efficiency)
- 특징: ILSVRC 2014 우승 모델로, 22개의 레이어를 가지면서도 파라미터 수는 AlexNet의 1/12 수준(500만 개)으로 매우 효율적입니다.
- Inception 모듈: \(1 \times 1\), \(3 \times 3\), \(5 \times 5\) 컨볼루션과 \(3 \times 3\) 풀링을 병렬로 수행하고 결과를 합치는(Concatenate) 구조입니다.
- Bottleneck 구조 (\(1 \times 1\) Conv): 연산량 감소를 위해 \(3 \times 3\)이나 \(5 \times 5\) 컨볼루션 전에 \(1 \times 1\) 컨볼루션을 배치하여 채널 수(Depth)를 줄였습니다.
- Global Average Pooling: 마지막에 FC 레이어 대신 Global Average Pooling을 사용하여 파라미터 수를 획기적으로 줄였습니다.
ResNet (2015) - 잔차 학습(Residual Learning)
- 혁신: 네트워크가 너무 깊어지면 오히려 성능이 떨어지는(Degradation) 문제를 해결하여 152층이라는 초심층 모델을 구현했습니다.
- Residual Block: 입력을 출력에 더해주는 Skip Connection (\(F(x) + x\)) 구조를 도입했습니다. 이는 네트워크가 입력을 그대로 보존하는 ‘Identity Mapping’을 쉽게 학습하도록 도와줍니다.
- 성과: 인간의 인식 능력(에러율 약 5.1%)을 뛰어넘는 3.57%의 에러율을 기록했습니다.
이후 발전 모델
- Inception-v4: ResNet의 잔차 연결(Skip Connection)과 Inception 모듈을 결합한 형태입니다.
- SENet (2017): Squeeze-and-Excitation 모듈을 도입했습니다. 이는 특징 맵(Feature map)의 채널별 중요도를 학습하여 가중치를 재조정(Recalibration)하는 방식입니다.
비교 및 분석 (Comparison)
- 정확도 vs 연산량:
- VGGNet은 정확도는 높지만 파라미터가 가장 많고 연산량이 큽니다(비효율적).
- GoogLeNet은 매우 효율적이며 적은 파라미터로 높은 성능을 냅니다.
- ResNet은 깊이에 비해 효율적이며 가장 높은 정확도를 보여줍니다.
- 트렌드: AlexNet 이후 네트워크는 더 깊어지고(Deep), 파라미터 효율성(Efficiency)을 추구하는 방향으로 발전했습니다.
맺음말
CNN 아키텍처가 단순한 구조에서 시작하여, 깊이와 효율성을 동시에 잡기 위해 Inception Module (\(1 \times 1\) Conv)이나 Residual Connection 같은 구조로 발전해 온 역사를 보여줍니다.
This post is licensed under CC BY 4.0 by the author.