본문 바로가기
C.W.K.
Stream
Lesson 04 of 12 · published

고전 CNN의 계보

~18 min · cnn, history, resnet

Level 0호기심
0 XP0/73 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

5개 아키텍처, 15년을 관통한 하나의 흐름

LeNet-5 (1998): Yann LeCun이 숫자 인식을 위해 만든 신경망이야. 합성곱층 둘, 완전 연결층 둘, 시그모이드 활성화로 구성했어. 제대로 작동했지만 당시 컴퓨터로는 규모를 키우기 어려웠지.

AlexNet (2012): 합성곱층 다섯, 완전 연결층 셋에 ReLU 활성화와 드롭아웃을 적용하고 GPU로 학습했어. ImageNet에서 압도적인 격차로 우승하면서 딥러닝 열풍에 불을 붙였지.

VGG (2014): 작은 3×3 합성곱을 쌓아 깊이를 늘렸어. 구조가 단순하고 규칙적이라 읽기 쉬워. 다만 매개변수가 많고, ‘더 깊으면 더 좋다’는 점 외에는 귀납 편향이 강하지 않아.

GoogLeNet / Inception (2014): 한 층 안에서 여러 크기의 합성곱을 병렬로 사용해. 1×1, 3×3, 5×5 합성곱을 함께 배치하고, 적은 비용으로 채널을 섞기 위해 1×1 합성곱을 도입했어.

ResNet (2015): 잔차 연결을 사용해 100+ 층 신경망도 학습할 수 있게 만들었어. 설계 아이디어가 워낙 탄탄해서 2026년에도 흔히 쓰이는 백본이야.

EfficientNet (2019), ConvNeXt (2022): EfficientNet은 너비, 깊이, 해상도를 세심하게 함께 확장해. ConvNeXt는 Transformer에서 검증된 설계 선택인 LayerNorm, GELU, 더 큰 커널을 CNN에 가져왔어.

팁: CNN 논문을 처음부터 끝까지 한 편만 읽는다면 ResNet을 골라. 잔차 연결은 지난 10년 동안 가장 많이 차용된 설계 아이디어라서 거의 모든 현대 아키텍처에서 만나게 돼.

2026년에도 중요한 이유

아마 CNN을 처음부터 직접 학습할 일은 많지 않을 거야. 보통 torchvision 또는 timm의 사전학습 백본을 사용하거든. 그래도 이 계보를 알면 목적에 맞는 백본을 고를 수 있어. 일반적인 용도에는 ResNet50, 강력한 현대식 기준선에는 ConvNeXt-Tiny, mobile/edge 환경에는 EfficientNet, Transformer를 원하면 ViT-B/16을 선택하면 돼.

원칙: 2026년의 CNN 아키텍처 선택은 대부분 ‘과제에 맞는 사전학습 백본을 고르고 미세 조정하는 일’이야. 각 백본이 왜 그런 구조로 설계됐는지 알면 무작위로 고르는 대신 근거 있게 선택할 수 있어.

Code

torchvision 사전학습 백본·python
import torch.nn as nn
import torchvision.models as tvm
from torchvision.models import (
    ResNet50_Weights, ConvNeXt_Tiny_Weights, EfficientNet_B0_Weights,
)

resnet = tvm.resnet50(weights=ResNet50_Weights.IMAGENET1K_V2)
convnext = tvm.convnext_tiny(weights=ConvNeXt_Tiny_Weights.IMAGENET1K_V1)
effnet = tvm.efficientnet_b0(weights=EfficientNet_B0_Weights.IMAGENET1K_V1)

# Replace the head for your N-class task
def replace_head(model, n_classes):
    if hasattr(model, "fc"):
        model.fc = nn.Linear(model.fc.in_features, n_classes)
    elif hasattr(model, "classifier"):
        model.classifier[-1] = nn.Linear(model.classifier[-1].in_features, n_classes)
    return model

External links

Exercise

사전학습 백본 3개인 ResNet50, ConvNeXt-Tiny, EfficientNet-B0을 가져와. 각각 같은 작은 데이터셋으로 1에폭 미세 조정해. 검증 정확도와 학습 시간을 비교하고, 정확도와 속도 사이의 절충 관계를 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.