2025.09.05 - [분류 전체보기] - [ILSVRC 논문 정리해 보기] VGGNet, GoogleNet, ResNet
[ILSVRC 논문 정리해 보기] VGGNet, GoogleNet, ResNet
이전 논문 리뷰에 이어서 ILSVRC논문을 정리해보았다.2025.05.07 - [Computer Vision1/Paper reviews] - [ILSVRC 논문 정리해 보기] AlexNet (ImageNet Classification with Deep Convolutional Neural Networks) [ILSVRC 논문 정리해 보기]
c0mputermaster.tistory.com
DenseNet

ResNet의 Residual Block에서는

하지만 Concat을 해버리면 기존의 피처가 그대로 뒤로 전달되면서 작은 파라미터로 풍부한 피처를 활용가능하지만 채널 수 증가 문제가 발생함 => 중간에 Transition Layer( conv + pooling ) 넣어서 해결

Bottleneck 구조
- ResNet과 DenseNet 모두 병목(bottleneck) 아이디어를 씀. 하지만 동작은 다름

CNN에서 3×3 convolution을 채널이 많을 때 그대로 쓰면 연산량이 너무 크니까 좁은 병목 구간(bottleneck)을 거쳐 연산을 줄이자
- 1×1 conv: 채널 축소 (예: 256 → 64)
- 3×3 conv: 실제 feature extraction (64 채널만 사용)
- 1×1 conv: 채널 복원 (다시 256)
근데 DenseNet에서는 어차피 채널이 길어지기 때문에 ResNet처럼 1×1 conv해서 늘린다음 더하는게 아니라 3x3 conv후 Concat
여기서 k = Growth rate
SENet ( Squeeze-and-Excitation Networks )

Squeeze-and-Excitation Networks, 마지막 ILSVRC의 우승작
기존 ILSVRC에 CNN 모델들이 전반적으로 모델의 설계 구조를 제안하였다면 SENet은 모델에 하나의 플러그인 모듈을 제안함 (SE block) =>
Feature recalibrarion을 제안 플러그인처럼 붙여서(global 정보를 보정)
Squeeze와 Excitation 하나씩 살펴보자
Squeeze

압축 => 각 채널의 평균을 구함 = GAP
(H x W x C) => Global average pooling을 통해 백터로 만듬, 백터화 => 그럼 C만큼의 1x1 사이즈의 백터가 생성됨 ( 채널별 특징 )

Excitation

재조정 => FC1 - ReLU - FC2 - Softmax를 통과 그럼 결과적으로 출력값이 확률로 변화됨
결론적으로 이 출력값을 가중치로 사용하여 원래 채널에 곱해줌 즉 채널별의 중요도를 찾아주는 과정
Squeeze-and-Excitation과정 = Attention
https://codingopera.tistory.com/41
3. Attention [초등학생도 이해하는 자연어처리]
안녕하세요 '코딩 오페라'블로그를 운영하고 있는 저는 'Master.M'입니다. 현재 저는 '초등학생도 이해하는 자연어 처리'라는 주제로 자연어 처리(NLP)에 대해 포스팅을 하고 있습니다. 제목처럼
codingopera.tistory.com

이런식으로 모델에 모듈을 달 수 있는데 그냥 사용하는 것은 아니고 global한 정보를 다루는 부분에 붙였을 떄 큰 효과가 있었다고 한다.
After ILSVRC

성능 최적화 중심 → 경량화 중심
- 초기에는 정확도를 높이는 게 목표였음. (AlexNet → VGG → ResNet 같은 흐름)
- 이후에는 모바일·임베디드 환경에서도 쓸 수 있게 경량화(라이트웨이트) 모델 연구가 활발해짐.
- 대표: MobileNet, ShuffleNet, EfficientNet
ResNeXt: 그룹 컨볼루션으로 연산량 줄이면서 성능 유지

- 채널별로 그룹을 나눠서 필터링 => 연산량이 줄어듦
MobileNet: Xception 아이디어
Xception?: Depthwise + Pointwise Convolution (연산량 대폭 절감)

공간 정보는 채널별로 따로 보고, 채널 정보는 1x1 컨볼루션으로 합쳐서 연산을 대폭 줄인 컨볼루션
- Depthwise: 각 채널을 따로 3×3 같은 필터로 처리 → 공간 정보만 학습
- Pointwise (1×1): 채널끼리 정보를 합쳐서 출력 채널 생성 → 채널 정보 학습
일반적인 3x3 컨볼루션 = FLOPs(연산량) = H×W×Cin×Cout×K×K

ShuffleNet: MobileNet의 구조를 기본적으로 사용하고 grouped convolution을 통해 채널 전체를 다 고려하는 것이 아니라 일부만 고려하고 모든 채널을 다 고려하기 위하여 중간중간에 채널들을 섞어줘서 연산량 부분에서 이득을 봄
NAS (Nerual Architrcture Search)

- NAS(Neural Architecture Search): 네트워크 구조 설계를 사람이 아니라 AI가 자동으로 탐색
- 예: NASNet, AmoebaNet, FBNet
Generalize Network Design

자동화를 하는 것도 좋은데 사람이 그래도 좀 손을 타야 더 성능이 좋아지더라 하는 아이디어서 나온 아키텍쳐
- NAS(Neural Architecture Search)로 CNN 구조를 자동으로 설계 가능
- 하지만 완전히 자동화만으로는 최적 성능이 나오지 않을 때가 있음
- 사람의 직관을 적절히 개입하면 성능 향상 가능
RegNet
- 디자인 스페이스를 정의하고 제한된 선택지 내에서 탐색
- Width(W): 채널 수
- Depth: 레이어 수
- Bottleneck 비율: 채널 축 축소 정도
- Group Convolution 수: 그룹 수
- NAS가 모든 것을 탐색하는 대신 제한된 범위 내에서 탐색 → 효율적
EfficientNet
- 사람이 설계한 규칙 + 컴퓨터 탐색
- 주요 요소:
- Width(W): 채널 수
- Depth: 레이어 수
- Resolution: 피처 맵 H×W
- 컴파운드 스케일링(Compound Scaling)
- Width, Depth, Resolution의 균형을 공식으로 결정
- 예: Width 2배 → Depth는 1/2배, Resolution 적절히 조절
ILSVRC 논문을 정리하고 난뒤
LSVRC 기반의 다양한 CNN 아키텍처를 살펴본 이후, 단순히 구조를 아는 것보다 CNN을 어떤 역할로 활용할 것인지가 더 중요함을 강조한다.
- CNN 구조 자체(레이어 수, 필터 크기, Residual/ Inception 등)는 도구일 뿐
- 입력 x를 받아 출력 를 생성하는 하나의 함수로 이해
- 핵심은 CNN을 어떤 역할로 사용할지와 어떤 테스크에 적용할지 결정하는 것이다
아키텍쳐 보다는 CNN을 통해 어떤 특징(feature)을 추출할지, 학습 목표(loss function)과 데이터 특성에 맞게 CNN을 설계/활용하는것이 중요하다.
CNN 활용 예시 참고
- 이미지 분류(Classification): 유용한 피처 추출 후 분류
- 객체 검출(Object Detection): 관심 객체를 잘 표현하는 피처 추출
- 생성 AI(Generative AI): 데이터를 이해하기 쉬운 latent space로 매핑
[5편] 합성곱 신경망(CNN) 개요와 동작 매커니즘 및 응용분야
목 차합성곱 신경망, CNN(Convolution Neural Network) 알고리즘 개요CNN(Convolution Neural Network) 동작 개념도 및 동작 메커니즘 세부 설명CNN(Convolution Neural Network) 응용분야마무리본 편에서는 합성곱 신경망,
newitlec.com
'Computer Vision > Paper reviews' 카테고리의 다른 글
| [Object Detection] One-Stage Object Detection - YOLO, SSD, RetinaNet (0) | 2025.09.12 |
|---|---|
| [Generative AI] Flow Matching for Generative Modeling (0) | 2025.09.11 |
| [ILSVRC 논문 정리해 보기] VGGNet, GoogleNet, ResNet (0) | 2025.09.05 |
| [Object Detection] Faster R-CNN (0) | 2025.08.06 |
| [Object Detection] SPPNet과 Fast R-CNN (0) | 2025.07.17 |