[ILSVRC 논문 정리해 보기] DenseNet, SENet과 대회 그 이후

2025. 9. 5. 13:34·Computer Vision1/Paper reviews

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에서는 y=F(x)+x를 하였다면 DenseNet에 DenseBlock에서는 출력 F(x) 입력 x를 채널 차원에서 Concatenate. y=[x,F(x)]. 이러다 보면 채널 수가 점점 늘어나는데 이 늘어나는 속도를 조절하는 게 Growth Rate (k)

 

하지만 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

Depthwise + Pointwise Convolution  = ​( H×W×Cin​×K×K ) + ( H×W×Cin​×Coutx1x1) => (H×W×Cin​)(Cout+KxK)

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를 받아 출력 y를 생성하는 하나의 함수로 이해
  • 핵심은 CNN을 어떤 역할로 사용할지와 어떤 테스크에 적용할지 결정하는 것이다

아키텍쳐 보다는 CNN을 통해 어떤 특징(feature)을 추출할지, 학습 목표(loss function)과 데이터 특성에 맞게 CNN을 설계/활용하는것이 중요하다.

CNN 활용 예시 참고

  • 이미지 분류(Classification): 유용한 피처 추출 후 분류
  • 객체 검출(Object Detection): 관심 객체를 잘 표현하는 피처 추출
  • 생성 AI(Generative AI): 데이터를 이해하기 쉬운 latent space로 매핑

https://newitlec.com/entry/5%ED%8E%B8-%ED%95%A9%EC%84%B1%EA%B3%B1-%EC%8B%A0%EA%B2%BD%EB%A7%9DCNN-%EA%B0%9C%EC%9A%94%EC%99%80-%EB%8F%99%EC%9E%91-%EB%A7%A4%EC%BB%A4%EB%8B%88%EC%A6%98-%EB%B0%8F-%EC%9D%91%EC%9A%A9%EB%B6%84%EC%95%BC

 

[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
'Computer Vision1/Paper reviews' 카테고리의 다른 글
  • [Object Detection] One-Stage Object Detection - YOLO, SSD, RetinaNet
  • [Generative AI] Flow Matching for Generative Modeling
  • [ILSVRC 논문 정리해 보기] VGGNet, GoogleNet, ResNet
  • [Object Detection] Faster R-CNN
임승택
임승택
"Hello, I am Lim Seungtaek, a computer engineering student. Nice to meet you!"
  • Lim's Technology
    임승택
    임승택
    "Welcome to Lim's Technology!"
  • 누적 조회수
    총 회
    구독하기
    • 분류 전체보기 (102)
      • Blog (10)
      • Computer Vision (44)
        • Computer Vision (4)
        • Paper reviews (24)
        • Project (8)
        • Basic (8)
      • LLM (8)
        • Paper reviews (3)
        • Project (3)
        • Basic (2)
      • Data Analysis (11)
        • Basic (8)
        • Project (3)
      • Computer Graphics (2)
        • Basic (2)
      • Robotics (5)
        • Paper reviews (3)
        • Basic (2)
      • Technology Notes (15)
      • Memo (5)
  • 인기 글

  • 최근 댓글

  • 최근 글

임승택
[ILSVRC 논문 정리해 보기] DenseNet, SENet과 대회 그 이후
상단으로

티스토리툴바