Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Residual Networks (ResNet)

잔차 네트워크(ResNet)는 스킵 연결을 통해 각 블록의 입력을 출력에 더하여 매우 깊은 네트워크도 학습할 수 있게 합니다. 블록, 변형 및 코드를 다룹니다.

잔차 네트워크(ResNet)는 잔차 블록으로 구성된 심층 합성곱 신경망(CNN)입니다. 각 블록에서 바로 가기 연결이 블록의 입력을 출력에 더합니다. 따라서 각 블록은 입력에 대한 보정만 학습하므로 50개, 152개 또는 1,000개가 넘는 레이어를 가진 네트워크도 안정적으로 학습할 수 있습니다. Microsoft Research의 Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jun Sun은 2015년 논문 이미지 인식을 위한 심층 잔차 학습에서 ResNet을 소개했습니다. 잔차 네트워크 앙상블은 ILSVRC 2015 분류 과제에서 ImageNet 기준 상위 5개 오류율 3.57%로 우승했습니다. 이후 잔차 연결은 Transformer와 실시간 객체 탐지기를 포함한 대부분의 심층 아키텍처에서 표준 구성 요소가 되었습니다.

성능 저하 문제#

ResNet 이전에는 일반적인 컨볼루션 층에 레이어를 추가하면 결국 성능이 나빠졌습니다. ResNet 저자들은 56레이어 일반 네트워크의 학습 오류가 20레이어 네트워크보다 높다는 사실을 보여 주었으므로, 과적합으로는 성능 저하를 설명할 수 없었습니다. 더 깊은 네트워크는 추가 레이어를 항등 함수로 설정해 얕은 네트워크와 같은 성능을 낼 수 있었지만, 경사 하강법은 그 해법을 찾지 못했습니다. 저자들은 이를 성능 저하 문제라고 불렀습니다. 정규화된 가중치 초기화와 배치 정규화로 기울기 소실 문제는 이미 대부분 해결되어 일반적인 심층 네트워크도 수렴했지만, 더 나쁜 해법으로 수렴했습니다.

잔차 블록의 작동 방식#

잔차 블록은 y = F(x) + x를 계산합니다. 여기서 x는 블록의 입력이고 F는 보통 배치 정규화와 ReLU를 포함한 2개 또는 3개의 컨볼루션으로 구성된 작은 레이어 스택입니다. 블록에 가장 적합한 매핑이 항등 매핑에 가까우면 레이어가 F를 0에 가깝게만 조정하면 되므로, 처음부터 항등 매핑을 학습하는 것보다 훨씬 쉽습니다. 또한 바로 가기를 통해 모든 블록을 거쳐 뒤로 전달되는 기울기의 직접 경로가 생깁니다. 항등 바로 가기는 매개변수가 추가되지 않고 연산량도 거의 증가하지 않습니다. 블록에서 채널 수를 변경하거나 스트라이드 2로 다운샘플링하면 x와 F(x)의 형태가 더 이상 일치하지 않으므로, 1×1 컨볼루션으로 바로 가기를 새로운 형태에 맞게 투영합니다.

ResNet-18과 ResNet-34는 기본 2-컨볼루션 블록을 쌓습니다. ResNet-50, ResNet-101, ResNet-152는 컨볼루션 세 개로 구성된 병목 블록을 사용합니다. 1×1 컨볼루션으로 채널을 줄이고 3×3 컨볼루션으로 처리한 다음, 두 번째 1×1 컨볼루션으로 채널을 복원하여 심층 모델의 연산 비용을 낮춥니다. ResNet-50은 약 2,560만 개의 매개변수를 가집니다. 원 논문에서는 CIFAR-10으로 1,202레이어 네트워크를 학습해 학습 오류를 0.1% 미만으로 낮췄지만, 테스트 오류는 7.93%로 110레이어 네트워크의 6.43%보다 높았습니다. 저자들은 이 차이가 작은 데이터셋에서의 과적합 때문이라고 설명했습니다.

ResNet의 변형 모델#

  • 사전 활성화 ResNet: 같은 저자들이 2016년에 발표한 후속 연구에서는 배치 정규화와 ReLU를 각 컨볼루션 앞에 배치하고 바로 가기 경로는 순수한 항등 함수로 유지했으며, CIFAR-10에서 1,001레이어 네트워크를 학습했습니다.
  • ResNeXt: 각 병목 블록을 카디널리티라고 부르는 다수의 병렬 저폭 경로로 나누어, 동일한 연산 비용으로 정확도를 높입니다.
  • Wide ResNet: 블록 수를 줄이고 폭을 넓혀, 폭을 늘리는 것으로 깊이의 일부를 대체할 수 있음을 보여 줍니다.
  • 현대화된 ResNet: ConvNeXt(2022)는 더 큰 커널, 레이어 정규화, GELU 활성화를 적용해 ResNet 설계를 개선하고 비전 Transformer와 경쟁할 수 있도록 했습니다.

사전 학습된 ResNet 사용#

사전 학습된 ResNet은 여전히 일반적인 기준 모델이자 백본, 전이 학습용 모델입니다. torchvision ResNet 모델은 ImageNet 가중치와 이에 맞는 전처리 기능을 제공하므로, 이미지 분류는 몇 줄의 코드로 수행할 수 있습니다.

import urllib.request

import torch
from torchvision.io import decode_image
from torchvision.models import ResNet50_Weights, resnet50

# Load ResNet-50 with ImageNet weights and its matching preprocessing
weights = ResNet50_Weights.DEFAULT
model = resnet50(weights=weights).eval()
preprocess = weights.transforms()

# Download and decode a sample image
data = urllib.request.urlopen("https://ultralytics.com/images/bus.jpg").read()
image = decode_image(torch.frombuffer(bytearray(data), dtype=torch.uint8))

# Classify the image and report the most likely ImageNet class
with torch.no_grad():
    probs = model(preprocess(image).unsqueeze(0)).softmax(dim=1)
score, index = probs.max(dim=1)
print(f"{weights.meta['categories'][index.item()]}: {score.item():.2f}")

사진 속 시내버스와 가장 가까운 ImageNet 1,000개 클래스 중 하나인 minibus: 0.25을 출력합니다. 사용자 지정 작업에서는 최종 완전 연결 레이어를 교체하고 새로운 레이블로 미세 조정하면, 잔차 단계가 ImageNet에서 학습한 특성을 재사용할 수 있습니다.

  • VGG와 같은 일반 네트워크: VGG는 바로 가기 없이 3×3 컨볼루션을 쌓으며 가중치 레이어는 최대 19개입니다. ResNet-152는 VGG-19보다 8배 더 깊으면서 복잡도는 더 낮습니다.
  • Highway 네트워크: ResNet과 비슷한 시기에 개발되었으며, 바로 가기를 차단할 수 있는 학습형 게이트를 추가합니다. ResNet의 항등 바로 가기는 차단되지 않고 매개변수도 추가하지 않습니다.
  • DenseNet: 바로 가기 하나를 더하는 대신 블록의 이전 레이어에서 나온 모든 출력을 연결합니다. 채널 수가 증가하는 대신 특성을 재사용합니다.
  • U-Net: 스킵 연결을 통해 인코더의 특성 맵을 디코더로 전달하고 그곳에서 연결하여, 개별 블록을 감싸는 대신 멀리 떨어진 단계를 연결합니다.
  • 비전 Transformer(ViT): 컨볼루션을 셀프 어텐션으로 대체하지만 모든 Transformer가 그렇듯 각 어텐션 및 피드포워드 하위 레이어 주변의 잔차 연결은 유지합니다.

최신 모델의 잔차 연결#

잔차 개념은 ResNet이라는 특정 아키텍처보다 오래 지속되었습니다. 대규모 언어 모델(LLM)의 모든 레이어는 어텐션과 피드포워드 출력을 누적 잔차 스트림에 더하며, 대부분의 CNN 탐지기는 잔차 블록으로 백본을 구성합니다. YOLO26에서는 C3k2 블록이 입력과 출력의 채널 수가 일치할 때 x + F(x)를 반환하는 병목 모듈로 구성됩니다. Ultralytics 패키지에는 Baidu의 RT-DETR에 ResNet-50 및 ResNet-101 백본을 사용하는 구성도 포함되어 있습니다. ResNet 논문은 CVPR 2016 최우수 논문상을 수상했으며, 2025년 Nature 분석에서는 21세기에 가장 많이 인용된 논문으로 선정되었습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요