속도와 학습 효율이 연결되는 하나의 이야기
CNN 기본
→ 왜 느려지는가 (연산·메모리·gradient 중복)
→ Backbone 진화 (VGG → ResNet → DenseNet)
→ Darknet: 실시간 중심 설계
→ CSPNet: gradient 중복 제거
→ YOLO 계열 실질적 속도 향상
→ CNN feature의 RNN/Seq 응용




CNN은 이미지처럼 공간 구조를 가진 데이터를 다루기 위해 설계되었다.
핵심 특성은 세 가지다.
국소 수용 영역 (Local Receptive Field)
가중치 공유 (Weight Sharing)
공간 구조 보존
이로 인해 CNN은 edge, corner, texture 같은 위치 불변 패턴을 매우 효율적으로 추출한다.
하지만 CNN이 느려지는 이유는 단순히 “깊어서”가 아니다.
Conv 연산 + Feature map이 깊어질수록 기하급수적으로 누적되기 때문
Vanishing / Exploding
해결: Residual Connection
Channel 증가
Feature map 재사용 증가
같은 정보가 여러 경로로 반복 학습
DenseNet에서 가장 심각
“학습 효율 vs 연산 비용” 문제가 본격화된다.
구조 단순
깊어질수록 연산량 폭발
Skip connection으로 gradient 흐름 개선
정보 중복은 여전히 존재
모든 이전 feature를 연결
파라미터 효율은 좋음
Gradient 중복 최악
성능은 좋아졌지만 연산·메모리·학습 효율이 한계에 도달
Darknet은 YOLO를 위해 설계된 실시간 중심 프레임워크다.
설계 철학은 명확하다.
GPU/CPU에서 실시간
연산 예측 가능
구조 단순
Darknet-53의 특징
ResNet 계열
BatchNorm + LeakyReLU
불필요한 구조 제거
하지만 한계는 남아 있었다.
Gradient 중복 + Feature 중복 문제는 여전히 존재
CSPNet은 “경량화 트릭”이 아니다.
학습 구조 자체를 바꾼 모델이다.
Feature map을 둘로 나누고
한쪽만 깊은 연산을 수행한 뒤
마지막에 다시 합친다
Input
├─ Part A (shortcut)
└─ Part B (Conv Block)
↓
Transition
↓
Concat
Gradient 경로 분리
중복 gradient 학습 제거
연산량 감소
메모리 사용 감소
학습 안정성 증가
CSPNet은 성능을 유지하면서 “불필요한 학습”만 제거한다.
YOLOv4의 backbone은 CSPDarknet53이다.
결과
FLOPs ↓ 10~20%
FPS ↑
메모리 ↓
속도가 빨라진 이유는 명확하다.
GPU가 좋아서가 아니라 학습해야 할 정보 자체가 줄었기 때문
여기서 시야를 확장한다.
공간 정보 → 의미 있는 feature 표현
이미지, 프레임, 스펙트로그램
Image / Frame
→ CNN (feature extractor)
→ Feature Sequence
→ RNN / LSTM / GRU
→ Prediction
대표 사례
Video classification
Image captioning
OCR
Speech recognition
즉,
CNN = Backbone
RNN = Temporal Head
Feature 품질
Gradient 중복 제거
더 다양한 표현
Latency
RNN은 순차적
CNN이 느리면 전체 파이프라인 붕괴
Edge / Real-time
Jetson, Mobile 환경
CNN + RNN 구조는 병목에 매우 취약
CSPNet은 “RNN이 먹는 입력을 더 싸게, 더 좋게” 만든다
CNN은 공간을 이해한다
Darknet은 현실적인 속도를 선택했다
CSPNet은 중복 학습을 제거했다
YOLO의 속도 향상은 구조 혁신의 결과다
RNN/Seq 모델은 이 결과를 시간 축으로 확장한다
CSPNet은 YOLO만 빠르게 만든 게 아니라,
CNN이 만드는 ‘표현의 질과 비용 구조’를 바꿨다.