모델 변형 (ResNet 계열 크기)

모델 변형 (ResNet 계열 크기)

ResNet은 깊이에 따라 여러 변형이 있어요. torchvision에서는 크기별로 사전학습 모델을 제공하고, 용도(정확도 vs 속도)에 따라 고르면 돼요.

ResNet 계열 종류

  • resnet18 — 가장 가볍고 빠름. 기본 잔차 블록 사용
  • resnet34 — resnet18보다 깊은 기본 블록 구성
  • resnet50 — 병목(bottleneck) 블록 도입. 널리 쓰이는 표준 백본
  • resnet101 — resnet50보다 더 깊은 병목 구성
  • resnet152 — 가장 깊은 구성. 원본 논문의 ImageNet 152층 모델

표기 규칙에서 숫자는 콘볼루션 층 수를 뜻해요(원본 논문은 32×(잔차 블록) + 마지막 FC 등으로 구성).

병목 블록 (50 이상)

resnet50부터는 3x3 콘볼루션 두 개 대신 1x1 → 3x3 → 1x1 병목(bottleneck) 블록을 사용해 파라미터를 줄이면서 깊이를 늘려요.

사용 예시

import torchvision.models as models

resnet50 = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)

weights='DEFAULT'ResNet50_Weights.IMAGENET1K_V2와 동일해요. 학습된 백본으로 분류·검출·세그멘테이션 등 다양한 헤드를 붙여 쓸 수 있어요.

더 알아보기