이전 논문 리뷰에 이어서 ILSVRC논문을 정리해보았다.
[ILSVRC 논문 정리해 보기] AlexNet (ImageNet Classification with Deep Convolutional Neural Networks)
ILSVRC(ImageNet Large-Scale Visual Recognition Challenge)이란?- 2010년 ~ 2017년 매년 개최된 국제 컴퓨터 비전 경진대회로 대규모 데이터셋(ImageNet)을 기반으로 이미지 인식 성능을 겨루었던 역사적인 대회- 2012
c0mputermaster.tistory.com
VGGNet

- 제안자: 옥스포드 대학의 Visual Geometry Group (VGG).
- 등장: ILSVRC 2014 이미지넷 대회에서 분류(Classification) 2등, 위치(Localization) 1등.
- 의의: 구조가 단순하면서도 강력하여, 이후 컴퓨터 비전 모델의 백본(Feature Extractor) 으로 널리 사용됨.
- VGG-16 / VGG-19: 학습되는 층(Convolution + Fully Connected)을 각각 16개, 19개 사용.
- 특징:
- 3×3 Convolution 필터를 일관적으로 사용.
- 2×2 Max Pooling으로 다운샘플링.
- Fully Connected Layer 3개 + Softmax 출력.
- 성능:
- Top-5 Accuracy: 92.7%.
- 단순하고 규칙적인 구조 → 재사용성, 전이학습(Transfer Learning)에서 높은 활용도.
핵심 아이디어
- 기존: AlexNet 등에서는 11×11, 5×5 등 다양한 크기의 필터 사용.
- VGG: 모든 Conv Layer를 3×3 필터로 통일.

- 비선형성(Non-linearity) 증가
- 7×7 한 번 = ReLU 1번
- 3×3 세 번 = ReLU 3번
→ 같은 수용영역(Receptive Field)을 가지면서도 더 많은 비선형성 확보 → 표현력이 강해짐.
- 파라미터 수 감소
- 7×7 필터 1개 = 49개의 파라미터.
- 3×3 필터 3개 = 27개의 파라미터.
→ 같은 리셉티브 필드지만 더 적은 파라미터 → 과적합 위험 감소.
- 표현력과 성능의 균형
- 더 깊은 네트워크 구조 가능.
- 작은 필터를 여러 번 쌓음으로써 복잡한 패턴을 더 효과적으로 학습.
구조가 단순하고 성능이 좋아 오늘날에도 Object Detection, Segmentation 등 다양한 CV 작업에서 백본(Feature Extractor)으로 쓰이고, 이미지 스타일 변환, 초해상화 등에서 손실 계산용 네트워크( Perceptual Loss)로 자주 활용됨.
GoogleNet

(Inception v1)
배경
- 발표: ILSVRC 2014 ImageNet 대회 1등 모델.
- 명칭: GoogLeNet, 혹은 Inception v1. (LeNet을 오마주한 이름)
- 의의: “더 깊게 쌓되, 효율적으로 설계할 방법”을 제안.
기본 구조
- Stem: 입력 이미지를 다운샘플링하여 작은 크기의 feature map으로 변환.
- Inception Module: GoogLeNet의 핵심 블록.
- 1×1 Conv
- 3×3 Conv
- 5×5 Conv
- 3×3 Max Pooling
→ 모두 병렬 실행 후 Concatenation으로 합침.
- Inception 모듈 개수: 9개 쌓아서 전체 네트워크 형성.
- Auxiliary Classifier (보조 분류기): 중간에 2개 삽입, 학습 시에만 사용하여 vanishing gradient 방지. (추론 시에는 제거)

1×1 Convolution의 의미

- 공간적 정보는 거의 보지 않음 (픽셀 단위).
- 채널 축을 압축/확장하는 역할 → 파라미터 수와 연산량 감소.
- 예: 192채널 입력 → 1×1 Conv(64 filters) → 64채널 출력.
- 효과:
- 연산량 줄임 (3×3이나 5×5 Conv 앞단에 사용).
- 채널 간 조합을 통해 더 다양한 feature 표현 가능.
1x1 conv랑 FC랑 효과가 같다?
Fully Connected Layer (FC)는 입력 벡터의 모든 요소와 출력 노드가 전부 연결됨. 예를 들어, 입력이 크기 N이고 출력이 크기 M이라면, 가중치 행렬 으로 곱한 후 bias를 더해서 출력 계산.
1×1 Convolution은? 한 픽셀 위치에서, 입력 채널들을 모두 받아서 선형 결합 후 출력 채널을 만듦. (h,w)에서 채널 백터에 가중치 행렬을 곱함
채널 축에서의 선형 변환이라는 점에서 수학적으로 동일하고 1×1 Conv는 픽셀 위치별로 독립적으로 FC를 적용하는 것과 같다.
성능/특징
AlexNet: 8개의 레이어, 파라미터 수 60M.
GoogLeNet: 훨씬 깊은 구조(22층)이지만 파라미터 수 5M.
연산량 최적화, 성능 우수하지만 구조가 복잡하여 구현/변형 난이도가 높음. 이후 Inception v2, v3, v4에서 개선되어 계속 사용됨.
ResNet

이미지 인식 능력이 사람을 뛰어 넘음 152개의
기존 Degradation 문제
- 층을 계속 쌓으면 표현력은 늘지만, 실제 학습은 더 어려워져 오히려 훈련/테스트 오류가 커지는 현상(= degradation).
- 학습과 최적화 난이도가 높아지고 오버피팅, vanishing gradient 등의 문제가 생김

CIFAR-10와 Unseen data에 대해 56레이어와 20레이어에 대해 테스트 결과 레이어가 많은 신경망이 오버피팅, vanishing gradient 문제로 인해 Train error가 더 높았음 = 층이 무조건 많다고 좋은 신경망이 아니였다.
잔차 학습(Residual Learning, Block)

- 블록 출력 H(x)를 직접 학습하지 않고 차이 F(x)=H(x) 를 학습 = 출력과 입력의 차이를 학
- 입력 x를 지름길(Shortcut)로 더해 아이덴티티 경로를 유지 → 정보/그라디언트가 막힘없이 흐름 → 깊게 쌓아도 학습 용이.
레지듀얼 블록 형태

CBR? BRC? ResNet에 후속 논문에서는 순서가 바뀜
- Basic Block 3×3 Conv → BN → ReLU → 3×3 Conv → BN + skip add → ReLU
Batch Normalization?
정규화를 하는 이유? → 빠른 수렴과 정규화 효과. ( 오버피팅과 기울기 소실 문제 완화 )
[ML]정규화(normalization)와 표준화(standardization)는 왜 하는걸까?
exploration을 진행하다보니 **인공지능 모델을 훈련시키고 사용할 때, 일반적으로 입력은 0 ~ 1 사이의 값으로 정규화 시켜주는 것이 좋습니다.** 라는 말을 봤는데, 그 말에대한 설명이 없어 개인적
velog.io

모든 Conv 뒤에 BN을 넣어 내부 공변량 변화(Internal Covariate Shift) 완화 → 빠른 수렴과 정규화
- Conv 경로에서는 보통 Dropout의 효과가 있어 불필요
- 학습 시 배치 통계 사용, 추론 시 이동평균(러닝 스탯) 사용.

- Batch Normalization은 학습 과정에서 각 배치 단위 별 다양한 분포를 가진 데이터를 각 배치별(채널)로 평균과 분산을 이용해 정규화하는 것이다.
- Batch Normalization는 별도의 과정으로 있는 것이 아닌, 신경망 안에 포함되어 학습시 평균과 분산으로 조정하는 과정이다.
Batch Normalization도 중요한 것은 Dropout 처럼 학습 단계와 추론 단계에서 다르게 적용되어야 한다. 왜?
train은 배치 단위로 들어오니까

여기서 x를 통해 평균과 분산을 구할 수 있지만 test에서는 배치가 없어서 평균과 분산의 개념이 없음
그래서 train 과정에서 평균과 분산을 메모리에 저장해놓은뒤 사용되도록 사용하기 때문에 학습과 추론이 다르게 적용된다.
정리하자면 “어떤 CNN을 쓸지 모르겠다면 ResNet부터”라는 말이 나올 정도로 범용 백본이다.
- 대표 구성 ResNet-152(152층).
- 깊이가 깊어질수록(34 → 50 → 101 → 152) 오류 감소 그럼에도 연산 효율은 VGG 대비 우수
- 분류뿐 아니라 Detection/Segmentation/재식별/Metric Learning/Perceptual Loss 등 거의 모든 CV 작업의 기본 뼈대.
다른 논문들은 이어서 다음 포스팅에서 알아보겠다.
2025.09.05 - [분류 전체보기] - [ILSVRC 논문 정리해 보기] DenseNet, SENet과 대회 그 이후
[ILSVRC 논문 정리해 보기] DenseNet, SENet과 대회 그 이후
2025.06.14 - [Computer Vision1/Paper reviews] - [ILSVRC 논문 정리해 보기] VGGNet, GoogleNet, ResNet [ILSVRC 논문 정리해 보기] VGGNet, GoogleNet, ResNetVGGNet 제안자: 옥스포드 대학의 Visual Geometry Group (VGG).등장: ILSVRC 2014
c0mputermaster.tistory.com
'Computer Vision > Paper reviews' 카테고리의 다른 글
| [Generative AI] Flow Matching for Generative Modeling (0) | 2025.09.11 |
|---|---|
| [ILSVRC 논문 정리해 보기] DenseNet, SENet과 대회 그 이후 (0) | 2025.09.05 |
| [Object Detection] Faster R-CNN (0) | 2025.08.06 |
| [Object Detection] SPPNet과 Fast R-CNN (0) | 2025.07.17 |
| [Object Detection] Two-Stage Object Detection – R-CNN (0) | 2025.07.10 |