VGGNet

2025. 10. 27. 00:38·ML&DL/논문리뷰

1. Introduction

  • 2012년 AlexNet 이후 CNN은 이미지 인식 분야에서 큰 성공을 거뒀음
  • 본 논문에서는 네트워크의 깊이(depth)를 크게 늘리면 성능이 향상되는가? 를 집중적으로 연구
  • 모든 layer에 3X3 Conv filter를 사용하면서 depth를 점진적으로 늘려감

2. Convnet Configurations

  • 입력은 고정 크기 224×224 RGB 이미지, 학습 데이터셋 전체에서 계산된 평균 RGB 값을 픽셀에서 빼주어 전처리

  • 특징:
    • 모든 합성곱 층: 3×3 필터 (가장 작은 receptive field)
    • 1x1 필터는 선형 변환이랑 같음
    • stride = 1, padding = 1로 공간 해상도 유지
    • 5개의 max-pooling 층 (2×2, stride 2)
    • 마지막: 3개의 Fully Connected (4096, 4096, 1000 softmax)
    • ReLU 비선형 활성화 함수 적용
    • Local Response Normalization(LRN)은 사용하지 않음 (효과 없음, 메모리 사용량 및 계산량만 증가)
  • 구성은 같으나 깊이에 따른 모델 버전:
    • A (11층) ~ E (19층)
    • 가장 얕은 모델은 conv 8개 + FC 3개 = 11층
    • 가장 깊은 모델은 conv 16개 + FC 3개 = 19층
  • 7x7 한 층 대신 3x3 세 층을 사용하는 것의 장점:
    • ReLU 비선형성이 3번 들어가므로 결정 함수가 더 강력
    • 파라미터 수가 줄어듦.
      • 입력과 출력이 C채널일 때:
      • 3×3 세 층 = 27C²
      • 7×7 한 층 = 49C²
    • 즉, 7×7 필터를 3×3 필터 조합으로 분해하도록 정규화 효과를 부여

 

 

3. Classification Framework

3.1 Training

  • multinomial logistic regression objective 미니배치 SGD 이용, 모멘텀(0.9)으로 설정
  • 배치 크기: 256
  • weight decay(L2), dropout(0.5, FC에만 적용)으로 정규화
  • learning rate: 0.01 → 검증 정확도가 개선되지 않을 때마다 10배 감소
  • 가중치 초기화
    • 네트워크 A를 무작위 초기화로 학습 후, 더 깊은 네트워크를 학습할 때는 앞쪽 4개의 Conv 층과 마지막 3개의 FC 층을 네트워크 A에서 학습한 가중치로 초기화했고, 중간층은 무작위 초기화
    • 무작위 초기화 시에는 평균 0, 분산 10⁻²의 정규분포에서 샘플링했으며, bias는 0으로 설정
  • 데이터 증강:
    • 랜덤 크롭 (224×224)
    • 좌우 반전, 색상 변화
    • 두 가지 학습 방식
      • 단일 스케일 학습 (Single-scale training): S를 고정
        • S=256, S=384 두 경우 실험
        • S=384 학습 시, 먼저 S=256으로 학습 후 가중치를 초기화로 사용, learning rate는 10⁻³
      • 다중 스케일 학습 (Multi-scale training, scale jittering): S를 [256, 512] 범위에서 랜덤으로 선택
        • 실제 학습은 S=384 모델을 사전 학습 후 fine-tuning 방식으로 진행

3.2 Testing

  • 입력 스케일링
    • 이미지를 비율 유지 리사이즈 → 가장 짧은 변을 Q(test scale)로 맞춤
    • Q는 학습 스케일 S와 달라도 됨
  • Dense Evaluation
    • 완전연결층(FC)을 합성곱(conv) 층으로 변환
      • 첫 FC → 7×7 conv
      • 나머지 두 FC → 1×1 conv
    • 전체 이미지에 네트워크를 적용 → class score map 생성
    • score map을 공간 평균(pooling)하여 고정 길이 벡터로 변환
  • 데이터 증강
    • 좌우 반전 이미지도 평가 후 softmax 확률 평균
  • Dense vs Crop 비교
    • Dense: 효율적 (이미지 전체 한 번만 계산)
    • Crop: 비효율적 (각 crop마다 네트워크 재계산 필요하므로)
    • 하지만 crop 방식은 더 세밀한 샘플링으로 정확도 ↑
    • 두 방식은 경계 처리 방식이 달라 상호 보완적
      • Crop: 0-padding
      • Dense: 주변 이미지 부분으로 padding

3.3 Implementation Details

  • 다중 GPU 학습은 데이터 병렬 처리 방식으로 수행:
    • 배치를 GPU별로 분할 → 병렬 처리 → 기울기 평균
    • 결과는 단일 GPU 학습과 동일
  • 4-GPU 시스템에서 단일 GPU 대비 3.75배 속도 향상

4. Classification experiments

  • 데이터셋: ILSVRC-2012 데이터셋
  • 지표: Top-1, Top-5 Error

4.1 Single Scale Evaluation

  • 고정 학습 스케일 S 사용 시 Q=S, 다중 스케일 학습 시 Q=0.5(Smin+Smax)
    • LRN을 추가한 A-LRN 네트워크는 성능 향상 없음 → 이후 모델에서는 LRN 제거
    • 네트워크 깊이가 깊을수록 에러율 감소 (11층 A → 19층 E)
    • 동일한 깊이라도, 1×1 conv를 포함한 C보다 3×3만 사용한 D가 더 성능 좋음 → 비선형성(1×1 conv)은 도움 되지만, 공간적 콘텍스트를 잡는 3×3 conv가 더 중요
    • 3×3 conv 여러 층을 사용하는 깊은 네트워크가 5×5 conv 얕은 네트워크보다 성능 우수 (shallow net은 top-1 에러가 7% 더 높음)
    • Scale jittering (훈련 시 S ∈ [256,512]) → 단일 스케일 학습보다 성능 크게 개선

4.2 Multi-Scale Evaluation

  • 고정 스케일 학습 모델: Q={S-32, S, S+32}, 다중 스케일 학습 모델: Q={Smin, 0.5(Smin+Smax), Smax}
    • 다중 스케일 테스트가 단일 스케일보다 더 나은 성능
    • 가장 깊은 D, E 모델이 최고 성능
    • 최고 성능 (단일 모델): Top-1 24.8%, Top-5 7.5% (검증 셋)

4.3 Multi-Crop Evaluation

  • Dense와 Multi-crop은 보완적 → 함께 쓰면 성능 향상
    • Multi-crop 단독 성능은 Dense보다 약간 좋음
    • Dense + Multi-crop 결합 → 가장 성능 좋음 (Top-5 7.1% → 7.0% 수준)

4.4 ConvNet Fusion

  • 여러 모델의 softmax 출력을 평균 → 성능 개선
    • ILSVRC 제출 당시: 7개 모델 앙상블 → Top-5 에러 7.3%
    • 이후, 단 두 모델(D, E)만 앙상블 → Top-5 에러 6.8% (Dense + Multi-crop 결합 시)
    • 단일 최고 모델(E)도 7.0% 성능 달성

4.5 Comparison with the State of the Art

  • VGGNet 결과는 이전 세대 모델(AlexNet, Zeiler & Fergus, OverFeat 등)을 크게 능가했으며, GoogLeNet과 비슷한 수준(GoogLeNet 6.7%, VGGNet 6.8%)
  • 단일 모델 기준: VGGNet E (7.0%) > GoogLeNet (7.9%)

5. Conclusion

  • 네트워크 깊이는 성능 향상에 매우 중요함
  • 고전적인 ConvNet 아키텍처를 크게 변경하지 않고 단순히 깊이를 증가시키는 것만으로도 state-of-the-art을 달성할 수 있음을 보여줌

[참조]

https://medium.com/@msmapark2/vgg16-논문-리뷰-very-deep-convolutional-networks-for-large-scale-image-recognition-6f748235242a

'ML&DL > 논문리뷰' 카테고리의 다른 글

BLIP  (0) 2025.11.03
CLIP  (0) 2025.11.03
YOLO  (0) 2025.10.27
GoogLeNet  (0) 2025.10.27
AlexNet  (0) 2025.10.27
'ML&DL/논문리뷰' 카테고리의 다른 글
  • CLIP
  • YOLO
  • GoogLeNet
  • AlexNet
minyoy
minyoy
  • minyoy
    MINYOY
    minyoy
  • 전체
    오늘
    어제
    • 분류 전체보기 (17)
      • ML&DL (16)
        • 논문리뷰 (16)
      • 알고리즘 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
minyoy
VGGNet
상단으로

티스토리툴바