일러두기 (Disclaimer)
본 글은 AI의 도움을 받아 작성되었습니다. 최대한 정확한 정보를 전달하기 위해 검수를 거쳤으나, AI 모델의 특성상 내용에 일부 오류나 부정확한 정보가 포함될 수 있습니다. 따라서 실제 논문의 상세한 수식이나 실험 세부 조건 등은 반드시 원문을 직접 확인하시기 바랍니다.
논문 링크 : https://arxiv.org/abs/2101.03697
RepVGG: Making VGG-style ConvNets Great Again
We present a simple but powerful architecture of convolutional neural network, which has a VGG-like inference-time body composed of nothing but a stack of 3x3 convolution and ReLU, while the training-time model has a multi-branch topology. Such decoupling
arxiv.org
초록 (Abstract)
본 연구에서는 단순하지만 강력한 구조를 가진 합성곱 신경망(Convolutional Neural Network, CNN) 아키텍처를 제시합니다. 이 모델은 추론(Inference) 단계에서는 오직 3x3 합성곱(Convolution)과 ReLU 활성화 함수만으로 구성된 VGG와 유사한 형태를 가지지만, 학습(Training) 단계에서는 다중 분기(Multi-branch) 형태의 위상을 가집니다. 학습 시간과 추론 시간의 아키텍처를 분리하는 이러한 방식은 구조적 재매개변수화(Structural re-parameterization) 기술을 통해 구현되었으며, 이에 따라 모델의 이름은 RepVGG로 명명되었습니다.
ImageNet 데이터셋에서 RepVGG는 80% 이상의 Top-1 정확도를 달성했으며, 본 연구진이 아는 한 평범하고 단순한(Plain) 모델로서는 처음 있는 성과입니다. NVIDIA 1080Ti GPU 환경에서 RepVGG 모델은 ResNet-50보다 83%, ResNet-101보다 101% 빠르게 작동하면서도 더 높은 정확도를 기록했습니다. 또한 EfficientNet 및 RegNet과 같은 최신 모델들과 비교해도 정확도와 속도 사이에서 유리한 균형을 보여줍니다.
1. 한줄 요약 & 3줄 핵심 (Executive Summary)
학습할 때는 복잡한 다중 분기 구조로 모델의 성능을 끌어올리고, 실제 사용할 때는 수학적 변환을 통해 이를 일직선의 단순한 구조로 합쳐 연산 속도를 극대화하는 발상의 전환을 보여준 모델입니다.
- 기존의 문제점 (Pain point): 최근의 인공지능 모델들은 높은 정확도를 내기 위해 데이터를 여러 갈래로 나누어 처리하는 복잡한 분기 구조를 사용하였으며, 이는 메모리 접근 비용을 증가시키고 병렬 처리를 방해하여 하드웨어에서의 실제 구동 속도를 크게 저하시켰습니다.
- 이 논문의 해결책 (Solution): '구조적 재매개변수화' 기법을 도입하여, 학습 중에는 성능 향상에 필수적인 다중 경로를 활용하되 학습이 끝난 후에는 모든 경로의 가중치를 단일 3x3 합성곱 필터 하나로 병합하는 방식을 제안합니다.
- 달성한 성과 (Key Result): 분기가 없는 단순한 구조를 통해 GPU의 병렬 처리 능력을 극한으로 끌어올렸으며, 이미지 분류 분야에서 80% 이상의 높은 정확도를 유지하면서도 기존 모델(ResNet) 대비 최대 2.66배 빠른 추론 속도를 달성했습니다.
2. 들어가며: 왜 이 연구가 필요했나? (The "Why")
딥러닝을 활용한 컴퓨터 비전 분야는 2014년에 등장한 VGG 모델을 기점으로 큰 도약을 이루었습니다. VGG 모델은 3x3 크기의 작은 합성곱 연산을 깊게 쌓아 올리는 일직선 형태의 단순한 구조(Plain architecture)를 통해 이미지 인식에서 높은 성능을 증명했습니다. 그러나 네트워크의 깊이가 깊어짐에 따라, 입력 데이터에 가까운 앞쪽 계층으로 학습 신호인 기울기(Gradient)가 잘 전달되지 않는 현상, 즉 기울기 소실 문제가 발생했습니다. 단순한 구조만으로는 네트워크를 무한정 깊게 만들 수 없다는 한계에 부딪힌 것입니다.
이러한 문제를 해결하기 위해 2015년 컴퓨터 비전 역사에 획을 그은 ResNet이 등장했습니다. ResNet은 입력값을 연산 계층을 건너뛰어 다음 계층으로 바로 전달하는 잔차 연결(Skip Connection)을 도입했습니다. 잔차 연결은 일종의 지름길 역할을 하여, 데이터가 여러 갈래로 나뉘어 흐르도록 만들었습니다. 이후 GoogLeNet, Inception, DenseNet과 같이 데이터 흐름을 여러 갈래로 나누었다가 다시 합치는 다중 분기(Multi-branch) 구조가 컴퓨터 비전 분야의 표준으로 자리 잡았습니다. 최신 연구에서는 신경망 구조 탐색(NAS) 기법을 통해 인공지능이 스스로 최적의 아키텍처를 찾도록 하면서, 모델의 뼈대는 사람이 직관적으로 이해하기 어려울 정도로 갈수록 복잡해졌습니다.
하지만 딥러닝 모델이 산업 현장에 본격적으로 적용되기 시작하면서 연구자들은 한 가지 역설적인 현상을 발견합니다. 인공지능 모델이 고도화될수록 모델의 연산량(FLOPs) 지표는 점점 줄어들었지만, 실제 하드웨어에서의 구동 속도는 오히려 느려지거나 기대만큼 빨라지지 않았다는 점입니다. 이 현상의 근본적인 원인은 모델 구조의 복잡성에 있었습니다.
첫째, 복잡한 구조는 메모리 접근 비용(Memory Access Cost, MAC)을 기하급수적으로 증가시킵니다. 다중 분기 구조에서는 하나의 데이터를 여러 경로로 나누어 처리한 뒤 나중에 다시 합쳐야 합니다. 이를 위해서는 나누어진 중간 결과물들을 덧셈이나 결합 연산이 이루어질 때까지 메모리에 계속 보관해야 합니다. 이 과정에서 연산 장치가 데이터를 계산하는 데 걸리는 시간보다, 메모리에서 데이터를 읽고 쓰는 데 더 많은 시간과 에너지가 소모됩니다. VGG와 같은 단순한 구조에서는 데이터를 한 번 읽어 연산한 뒤 그 결과를 다음 계층으로 바로 넘기고 이전 메모리를 비우면 되지만, ResNet과 같은 구조에서는 그럴 수 없었던 것입니다.
둘째, 구조의 복잡성은 하드웨어의 병렬 처리(Parallelism) 효율을 저하시킵니다. GPU와 같은 현대의 텐서 연산 하드웨어는 단순하고 거대한 크기의 행렬 곱셈을 한 번에 처리할 때 가장 높은 효율을 냅니다. 하지만 네트워크가 작고 다양한 연산들로 잘게 쪼개져 있으면, GPU 코어들이 유기적으로 작동하지 못하고 동기화나 연산 준비를 위해 대기하는 시간이 길어집니다. 이를 연산의 파편화(Fragmentation) 현상이라고 부릅니다.
이에 연구자들은 단순한 VGG 모델이 하드웨어 효율성 측면에서는 압도적으로 유리하다는 사실을 다시 주목했습니다. 단순한 모델은 빠르고 메모리도 적게 소모하며 하드웨어에 친화적입니다. 반면 다중 분기 모델은 학습이 원활하게 이루어지며 정확도가 높습니다. 연구자들은 이 두 가지 구조가 양립 불가능해 보이는 상황에서, 시간의 흐름에 따라 모델의 형태를 바꾸는 방법을 고민하기 시작했습니다. 즉, 구조적 재매개변수화라는 방법론을 통해 모델의 학습 능력을 유지하면서도 추론 속도를 극대화하고자 한 것입니다.
3. 이 논문의 뿌리 (Key Reference)
RepVGG 모델은 독창적인 아이디어를 단독으로 제시한 것이 아니라, 이전 딥러닝 연구의 핵심적인 성과들을 비판적으로 수용하고 발전시킨 결과물입니다. 이 논문이 탄생하기 위해 가장 큰 영감을 주었거나 비판적으로 계승한 핵심 연구들을 살펴보면 RepVGG의 설계 철학을 더 명확히 이해할 수 있습니다.
- VGG (2014): RepVGG의 뼈대와 정신적 지주 역할을 하는 연구입니다. VGG는 복잡한 하이퍼파라미터 튜닝이나 기교 없이 3x3 크기의 작은 합성곱 블록만을 층층이 쌓아 올리는 직관적인 구조를 제안했습니다. RepVGG는 실제 서비스를 위한 추론 단계에서 VGG의 이러한 단일 경로(Single-path) 개념을 그대로 차용합니다. 이를 통해 GPU와 같은 가속기 환경에서 연산 속도를 최고 수준으로 끌어올리고 메모리 점유율을 최소화하는 기반을 마련했습니다.
- ResNet (2015): 이 논문은 딥러닝 모델의 학습 능력을 한 차원 높인 잔차 연결의 핵심 원리를 차용하되, 이를 완전히 새로운 관점으로 재해석했습니다. 잔차 연결은 기울기 소실을 막아 깊은 네트워크의 학습을 가능하게 한 일등 공신입니다. RepVGG는 다중 분기 구조가 여러 개의 얕은 모델들을 앙상블(Ensemble)하는 것과 같은 암묵적인 효과를 내어 학습 성능을 높인다는 연구 결과를 적극적으로 수용했습니다. 따라서 RepVGG는 훈련 단계의 뼈대를 ResNet의 다중 경로와 유사하게 구성하여 강력한 학습 성능을 확보했습니다. 다만, ResNet이 잔차 연결을 추론 시점에도 계속 유지한 것과 달리, RepVGG는 이를 학습 시에만 사용하고 추론 전에는 제거한다는 결정적인 차이점을 두었습니다.
- DiracNet (2017): 모델 매개변수 변환에 대한 수학적 영감을 준 중요한 연구입니다. DiracNet은 잔차 연결과 같은 구조적인 지름길을 두는 대신, 합성곱 필터 자체의 수학적 표현식을 변경하여 깊은 네트워크를 훈련시키려 한 시도였습니다. 합성곱 가중치를 수식적으로 조작하여 모델의 최적화를 도우려 했다는 점에서는 RepVGG와 목적이 비슷합니다. 그러나 DiracNet은 훈련 과정에 실제 물리적인 다중 데이터 흐름(Dataflow)이 존재하는 것이 아니라 수식적인 우회로만 제공했기 때문에, 성능 면에서 동급의 ResNet을 뛰어넘지 못했습니다. RepVGG는 이 아이디어를 발전시켜, 훈련 중에는 단순히 수식을 바꾸는 것을 넘어 실제로 독립적인 배치 정규화(Batch Normalization) 계층이 포함된 다중 경로를 만들어 학습하고 나중에 통합하는 진정한 의미의 '구조적 재매개변수화' 방식으로 문제를 해결했습니다.
4. 핵심 아이디어: 무엇이 다른가? (The "Aha!" Moment)
RepVGG의 가장 중요한 차별점이자 핵심 아이디어는 "모델이 학습할 때의 위상(Topology)과 실제 배포되어 사용할 때의 위상이 완전히 다르다"는 점입니다. 이를 논문에서는 구조적 재매개변수화(Structural Re-parameterization)라고 지칭합니다.
쉽게 이해하기 위해 보조 바퀴가 달린 자전거를 처음 배우는 과정에 비유해 볼 수 있습니다. 처음 두 발 자전거를 탈 때(학습 단계)는 넘어지는 것을 방지하고 주행 감각을 안전하게 익히기 위해 뒷바퀴 양옆에 보조 바퀴를 달아줍니다. 이 보조 바퀴는 자전거가 균형을 잃지 않도록 지탱해주며 탑승자가 자전거의 원리를 쉽게 체득하게 돕습니다. 하지만 주행법을 완벽히 마스터하고 나서 실제 경주에 나갈 때(추론 단계)는 무겁고 속도를 제한하는 보조 바퀴를 과감히 떼어냅니다.
기존의 ResNet, DenseNet, Inception 같은 모델들은 구조적으로 뛰어난 학습 능력을 발휘했지만, 경주에 나갈 때도 이 보조 바퀴를 계속 달고 달리는 형태였습니다. 성능 향상을 위해 도입된 우회로와 분기들이 추론 속도를 늦추고 메모리를 낭비하는 짐이 되었습니다. 하지만 RepVGG는 학습이 끝난 모델의 가중치들을 수학적으로 하나로 통합하여, 거추장스러운 보조 바퀴들을 메인 바퀴 하나로 매끄럽게 합치는 혁신적인 방식을 취합니다.
- 이전의 접근 방식 (ResNet 기반): 데이터가 입력 계층을 지나면 보통 세 갈래로 나뉩니다. 주된 연산을 담당하는 3x3 합성곱, 데이터의 채널만 축소하는 1x1 합성곱, 그리고 입력 데이터를 아무 처리 없이 넘기는 항등 연결(Identity)입니다. 이 세 갈래를 통과한 결과값들은 마지막 지점에서 서로 합쳐집니다. 이 구조는 시작부터 끝까지 변경되지 않습니다.
- 발상의 전환 (RepVGG 구조): 학습 과정에서는 이전 방식과 동일하게 데이터를 세 갈래로 나누어 처리합니다. 하지만 학습이 완료된 후, 연구자들은 각 갈래가 가지고 있던 가중치 필터들을 하나의 커다란 3x3 합성곱 상자로 융합시킵니다. 따라서 실제 데이터를 처리할 때는 복잡한 갈래를 거칠 필요 없이 새로 만들어진 단 하나의 3x3 상자만 통과시키면 이전의 복잡한 연산을 수행한 것과 정확히 동일한 결과값이 산출됩니다.
이러한 발상의 전환 덕분에 훈련 중에는 다중 분기가 주는 풍부한 학습 능력, 즉 기울기가 원활하게 흐르고 다양한 특징을 추출할 수 있는 이점을 온전히 누리게 됩니다. 동시에 훈련이 끝난 후에는 단일 경로 연산이 주는 막대한 하드웨어 가속 성능과 메모리 절약 효과를 얻을 수 있게 되었습니다.
5. 작동 원리: 어떻게 돌아가는가? (The "How")
구조적 재매개변수화가 실제로 어떻게 작동하여 데이터를 처리하는지, 연산의 흐름 위주로 살펴봅니다. 증명 과정의 복잡한 수식은 배제하되, 직관적인 단계별 변환 과정을 설명합니다.
1단계: 훈련 시점의 모델 구조 구성
학습 시점의 RepVGG 블록은 기본적으로 ResNet에서 영감을 받은 3개의 병렬적인 가지(Branch)로 나뉩니다.
- 3x3 합성곱 가지: 데이터의 주변 공간적 특징을 폭넓게 파악하는 주된 연산 계층입니다.
- 1x1 합성곱 가지: 픽셀의 공간적 범위는 무시한 채 픽셀 단위로 깊이 방향의 특징(채널의 특성)만을 파악합니다.
- 항등 연결 (Identity branch): 입력 데이터를 아무런 연산 없이 그대로 다음 계층으로 전달하는 지름길입니다. 이 지름길은 입력 데이터와 출력 데이터의 크기 차원이 완전히 동일할 때만 생성됩니다.
데이터가 입력되면 이 세 갈래를 각각 독립적으로 통과합니다. 통과한 결과값들은 각각 독립적인 배치 정규화(Batch Normalization, BN) 과정을 거칩니다. 배치 정규화는 데이터의 분포를 고르게 만들어 학습 속도를 비약적으로 높여주는 필수적인 장치입니다. 이후 정규화된 3개의 텐서 행렬들은 마지막에 하나의 결과물로 덧셈 연산을 통해 합쳐지고, ReLU 활성화 함수를 통과하며 비선형성을 얻은 뒤 다음 블록으로 전달됩니다. RepVGG 네트워크 전체는 총 5개의 스테이지로 나뉘며, 각 스테이지의 첫 번째 블록에서 이미지의 해상도를 가로세로 절반으로 줄이는 다운샘플링을 수행합니다.
2단계: 매개변수 변환 과정 (융합)
가장 핵심이 되는 단계입니다. 학습이 성공적으로 종료되면, 배포를 위해 모델을 단일 경로로 변환하는 과정을 거칩니다. 이는 대수학의 분배법칙처럼 매우 명료한 선형 대수학적 계산을 통해 이루어집니다.
- 정규화 계층(BN) 흡수: 합성곱 연산과 배치 정규화 연산은 모두 수학적으로 선형(Linear) 연산의 성질을 가집니다. 따라서 연속된 두 개의 선형 연산을 하나의 선형 연산으로 수식화하여 합칠 수 있습니다. 각 가지에 존재하던 배치 정규화의 평균, 분산, 스케일 값을 사용하여 앞에 위치한 합성곱 가중치의 값을 수정해 줍니다. 결과적으로 배치 정규화 계층 자체는 사라지고, 그 역할이 합성곱 가중치와 편향(Bias)에 내재화됩니다.
- 가중치 행렬의 형태 맞추기: 3개의 가지를 하나로 더하려면 연산을 수행하는 텐서 행렬의 크기가 같아야 합니다. 목표는 모든 가지를 3x3 행렬로 통일하는 것입니다.
- 3x3 합성곱 가지는 이미 목표 형태이므로 변환이 필요 없습니다.
- 1x1 합성곱 가지의 행렬은 가운데 중심 픽셀만 존재합니다. 따라서 그 주변을 0의 값을 가지는 테두리로 감싸는 패딩(Zero-padding) 과정을 거쳐 강제로 3x3 크기로 변환합니다.
- 항등 연결의 경우 데이터를 그대로 통과시킨다는 것은 수학적으로 단위 행렬(Identity Matrix)을 곱하는 것과 같습니다. 따라서 중심 픽셀의 값만 1이고 주변은 모두 0인 특수한 3x3 합성곱 행렬로 치환할 수 있습니다.
- 단일 커널로 병합: 행렬의 크기가 3x3으로 모두 동일해졌으므로, 이 3개의 가중치 행렬을 같은 위치의 원소끼리 단순 덧셈하여 합칩니다. 편향 값들 역시 모두 더합니다. 결과적으로 세 갈래의 복잡한 연산을 대신할 수 있는 강력하고 커다란 단일 3x3 가중치 필터 하나가 탄생합니다.
3단계: 추론 시점의 모델 구조
변환 과정을 마치고 나면, 다중 분기 구조는 온데간데없이 사라지고 오로지 단일 3x3 합성곱 계층들만 층층이 쌓인 VGG 형태의 뼈대만 남게 됩니다. 새로운 데이터가 입력되었을 때의 흐름은 극도로 단순해집니다.
- 데이터를 새로 융합된 3x3 합성곱 연산 블록에 통과시킵니다.
- 활성화 함수인 ReLU를 적용합니다. 이 흐름이 반복될 뿐입니다. 더 이상 데이터를 여러 갈래로 분산 처리하거나 중간 결과물을 메모리에 할당해 둘 필요가 없으므로, 데이터가 입력단에서 출력단까지 막힘없이 직진하며 초고속으로 연산됩니다.
6. 작동 원리: 어떻게 학습하는가? (The "How")
강력한 모델 아키텍처를 설계하더라도, 이를 뒷받침할 구체적인 데이터와 학습 프로세스가 부재하다면 우수한 성능을 끌어낼 수 없습니다. 본 연구에서는 제안된 RepVGG 모델을 훈련하기 위해 대규모 데이터셋과 다양한 최적화 기법을 동원했습니다.
입력 데이터 명세
학습을 위해 채택된 주력 데이터셋은 이미지 분류 분야의 표준 벤치마크인 ImageNet-1K입니다.
- 입력 데이터 포맷: 3개의 색상 채널(Red, Green, Blue)을 가지는 2차원 해상도의 디지털 이미지 배열과, 이 이미지가 어떤 사물인지를 나타내는 정수형 클래스 라벨의 쌍으로 구성됩니다.
- 수량: 인공지능 모델을 학습시키는 데 약 128만 장의 다채로운 자연 이미지가 투입되었으며, 학습 결과의 신뢰성을 검증하기 위해 5만 장의 검증용 이미지가 별도로 사용되었습니다.
- 해상도 차원: 입력되는 이미지 크기는 가로 224픽셀, 세로 224픽셀(224x224)로 고정되어 학습에 활용되었습니다. 논문에서 성능 비교 대상인 EfficientNet-B3 모델에만 300x300 해상도가 적용되었을 뿐, 최상위 대형 모델인 RepVGG-B3를 포함한 모든 RepVGG 모델은 예외 없이 224x224 해상도를 사용하여 실험을 진행했습니다.
- 구체적 예시:
- 입력 예시: 컴퓨터가 이해할 수 있는 224x224x3 형태의 픽셀 숫자 배열로 이루어진 '초원에서 달리는 말'의 이미지 데이터.
- 라벨 예시: 해당 동물이 속한 종을 식별하는 고유 번호 텍스트(예: 클래스 인덱스 번호 '339').
데이터의 양적 한계를 극복하고 모델이 예측하지 못한 변수에도 유연하게 대처하게 만들기 위해, 논문에서는 강력한 데이터 전처리(Augmentation) 정책을 펼쳤습니다. 경량급 모델의 경우 이미지를 무작위 위치에서 잘라내어 크기를 조절하거나 좌우를 반전시키는 기초적인 변형만을 적용했습니다. 반면 높은 잠재력을 지닌 대형 모델(RepVGG-B3 등)을 훈련할 때는, 인공지능이 스스로 최적의 변형 방식을 찾는 Autoaugment 기법이나 두 장의 이미지를 반투명하게 겹치고 라벨 정답 비율을 분배하는 Mixup 기법을 적용하여 모델의 데이터 과적합(Overfitting)을 강하게 억제했습니다.
출력 데이터 명세
- 출력 포맷: 최종 출력은 모델의 예측값을 나타내는 1차원 형태의 실수 배열(확률 벡터)입니다. ImageNet 데이터셋의 종류 기준에 맞추어 1000개의 공간을 가지는 벡터로 도출됩니다.
- 구체적 예시: 모델을 완전히 통과한 데이터는 [0.01, 0.02,..., 0.90,..., 0.001] 형태로 변환됩니다. 각 인덱스 위치의 숫자는 입력 이미지가 해당 카테고리에 속할 확률 값을 퍼센트 내지 소수로 표현한 것입니다. 예를 들어 339번째 인덱스의 위치에서 0.90(90%)이라는 가장 높은 확률 값이 계산되었다면, 신경망은 그 사진을 '말'이라고 판정한 것입니다.
학습 프로세스 디테일
연산 장치로는 8대의 NVIDIA 1080Ti GPU가 사용되었으며, 256장의 이미지를 하나의 배치(Batch)로 묶어 동시에 처리했습니다. 기초 모델들은 전체 데이터셋을 120회 반복 학습(Epoch)하는 과정을 거쳤으나, 대형 모델들은 성능을 한계까지 짜내기 위해 총 200회를 반복 학습했습니다. 최적화 알고리즘으로는 딥러닝에서 가장 검증된 확률적 경사 하강법(SGD)을 차용하였으며, 가중치가 너무 커지지 않도록 억제하는 가중치 감소(Weight decay) 기법을 함께 적용해 안정성을 도모했습니다.
또한, 이미지 내에 있는 픽셀 하나하나가 어떤 사물에 속하는지를 정밀하게 칠해주는 의미론적 분할(Semantic Segmentation) 작업에 대한 실험도 병행되었습니다. 자율주행 기술의 근간이 되는 이 작업을 위해 Cityscapes 데이터셋이 투입되었고, 이때 입력 데이터의 해상도는 713x713픽셀 단위로 커져 모델이 거시적인 픽셀 조밀도와 상관관계를 학습하도록 했습니다.
7. 결과: 얼마나 좋아졌나? (Results)
RepVGG는 모델의 실용성을 결정짓는 가장 중요한 지표인 하드웨어에서의 실행 속도와 정확도 간의 최적화 비율에서 동시대의 여러 SOTA(State-of-the-art) 모델들을 압도하는 결과를 보여주었습니다.
속도와 정확도의 압도적 균형
| 모델명 | Top-1 정확도 (%) | 추론 속도 (초당 처리 이미지 수) | 파라미터 수 (M) |
| ResNet-18 | 71.16 | 2,442 | 11.68 |
| RepVGG-A0 | 72.41 | 3,256 | 8.30 |
| ResNet-101 | 77.21 | 430 | 44.49 |
| RepVGG-B1g4 | 77.58 | 868 | 36.12 |
| ResNet-152 | 77.78 | 297 | 60.11 |
| RepVGG-B1g2 | 77.78 | 792 | 41.36 |
- 가장 가벼운 라인업인 RepVGG-A0는 컴퓨터 비전의 기본 벤치마크로 널리 쓰이는 ResNet-18에 비해 정확도는 약 1.25%포인트 향상되었으면서도, 구동 속도는 무려 33%나 빠릅니다. 게다가 요구하는 파라미터 용량마저 더 적습니다.
- 무거운 고성능 라인업에 속하는 RepVGG-B1g2는 층이 매우 깊어 연산이 복잡한 ResNet-152 모델과 소수점 아래까지 완전히 동일한 정확도(77.78%)를 보입니다. 그러나 속도 측면에서는 ResNet 대비 2.66배라는 경이로운 가속 성능을 증명했습니다.
- 심층 데이터 전처리를 거쳐 200번 반복 학습한 초대형 모델(RepVGG-B3)은 단일 경로 구조만으로도 ImageNet 기준 정확도 80.52%를 돌파했습니다. VGG와 같이 평범한 일직선 뼈대만으로 80% 이상의 정확도를 달성한 것은 전례가 없었으며, 당대의 최첨단 신경망 탐색 모델이었던 RegNet이나 EfficientNet과 동등한 예측 능력을 보여준 셈입니다.
비결은 GPU 최적화 연산 (Winograd Algorithm)
단순히 이론적인 곱셈 연산량(FLOPs) 수치가 낮다고 해서 실제 구동 속도가 빠른 것은 절대 아닙니다. 논문은 이 점을 명확히 지적하며 위노그라드(Winograd) 알고리즘이라는 핵심 원리를 소개합니다.
현대의 GPU나 CPU 내부의 최적화 라이브러리(NVIDIA cuDNN, Intel MKL 등)에는 3x3 크기의 합성곱 연산을 극단적으로 가속하는 위노그라드 알고리즘이 기본적으로 내장되어 있습니다. 이 수학적 트릭을 사용하면 일반적인 곱셈 연산 횟수를 기존의 9분의 4 수준으로 대폭 삭감할 수 있습니다.
다른 복잡한 딥러닝 모델들은 5x5 합성곱이나 1x1 합성곱, 혹은 분기 연산을 섞어 쓰기 때문에 이 마법 같은 가속의 혜택을 온전히 받지 못합니다. 하지만 RepVGG는 추론 단계의 모든 연산자를 오로지 3x3 합성곱 하나로 통일시켜 버렸기 때문에 위노그라드 가속의 시너지를 100% 흡수할 수 있었습니다. 이로 인해 서류상의 이론적 연산량이 다른 모델보다 많아 보일지라도, 실제 장치 위에서 측정된 구동 속도는 압도적으로 빨랐던 것입니다.
실패 케이스 및 한계점 (Limitations)
모든 문제를 해결하는 완벽한 인공지능 모델은 없으며, 솔직한 한계점의 제시는 본 연구의 신뢰도를 더욱 높여줍니다. 논문 및 후속 연구들에서 확인된 RepVGG의 뚜렷한 한계점은 다음과 같습니다.
- 파일 크기와 파라미터 수의 증가: 복잡한 기교 없이 3x3 채널 행렬을 그대로 유지하다 보니, 파라미터 수(가중치 개수) 자체는 다소 크게 산정됩니다. 성능 제약이 덜한 고성능 GPU 서버 환경이나 전용 AI 추론 반도체 환경에서는 최상의 성능을 뽐내지만, 배터리가 적고 메모리 용량 자체가 극단적으로 부족한 저전력 스마트폰 등 초경량 엣지(Edge) 디바이스에서는 MobileNet이나 ShuffleNet 계열의 네트워크보다 불리할 수 있습니다.
- 학습 시의 막대한 메모리 소모 현상: 구조적 재매개변수화 기술은 배포를 위한 추론 단계에서만 극적인 이점을 제공합니다. 훈련 단계 중에는 여전히 세 갈래의 데이터 흐름(3x3, 1x1, Identity)을 모두 독립적인 텐서(Tensor) 형태로 GPU 비디오 메모리(VRAM)에 할당해야 합니다. 따라서 훈련 과정에서 소모되는 메모리가 매우 커서, 연구자나 실무자가 장비를 구성할 때 메모리 한계에 직면하기 쉽다는 치명적인 약점이 발견되었습니다.
8. 이 논문의 계보와 발전 (Impact & Follow-ups)
RepVGG의 단순하고도 파괴적인 아이디어는 이미지 분류라는 특정 문제를 해결하는 것에 그치지 않았습니다. 이 구조적 재매개변수화 철학은 딥러닝 연구 생태계에 거대한 패러다임 전환을 일으키며 수많은 후속 연구와 파생 모델들의 폭발적인 등장을 이끌어냈습니다. 특히 실무 현장에서 가장 필수적인 객체 탐지(Object Detection) 분야의 혁신을 견인하였고, RepVGG 자체의 단점을 보완하는 방향으로 최신 트렌드가 분화되었습니다.
실시간 객체 탐지 기술의 진화: YOLOv6와 YOLOv7
RepVGG 구조의 가장 성공적인 응용 사례는 자율주행 자동차나 지능형 CCTV에서 실시간으로 사물을 인식하고 위치를 찾아내는 YOLO(You Only Look Once) 시리즈입니다. 초당 수십 프레임 이상을 실시간으로 분석해야 하는 객체 탐지 분야에서는 정확도만큼이나 속도가 생명입니다. 메이투안(Meituan) 연구진이 2022년 공개한 YOLOv6 모델은 네트워크의 특징을 추출하는 뼈대(Backbone)로 기존의 ResNet이 아닌 RepVGG를 적극 도입했습니다. 이들은 구조적 재매개변수화 기법을 최적화하여 EfficientRep이라는 이름의 독자적인 뼈대 구조를 창안해 냈습니다. 하드웨어 친화적이고 병렬 처리 효율이 극한으로 높은 RepVGG의 단일 경로 특성을 흡수한 덕분에, YOLOv6 및 후속작인 YOLOv7은 산업계의 객체 탐지 과제에서 전례 없는 초고속 실시간 처리 속도와 높은 맵(mAP) 수치를 동시에 달성하는 쾌거를 이루었습니다.
양자화(Quantization) 붕괴 문제 해결: QARepVGG (AAAI 2024)
인공지능 모델을 서버가 아닌 모바일 기기나 실생활 기기에 배포하기 위해서는 모델의 용량과 연산 비용을 줄여야 합니다. 이를 위해 가중치 데이터를 32비트 실수(FP32) 형태에서 8비트 정수(INT8)로 변환해 압축하는 양자화(Quantization) 과정이 널리 쓰입니다. 그러나 RepVGG 구조에는 치명적인 결함이 존재했습니다. 여러 갈래의 배치 정규화 계층을 하나의 3x3 합성곱 필터로 욱여넣어 병합하는 변환 과정에서, 특정 가중치 값이 비정상적으로 치솟는 이상점(Outlier)이 대량 발생한 것입니다. 이로 인해 기존 RepVGG 모델을 INT8 정수로 양자화하면 예측 정확도가 72.2%에서 50.3%로 곤두박질치는 심각한 성능 붕괴(Quantization Collapse) 현상이 나타났습니다.
이를 근본적으로 구제하기 위해 등장한 혁신적인 후속 연구가 바로 QARepVGG(Quantization-Aware RepVGG) 입니다. 이 연구는 기존 구조의 네 가지 요소를 세밀하게 교정했습니다. 학습 과정에서 1x1 브랜치와 항등 연결 브랜치 내부에 존재하던 배치 정규화(BN) 계층을 과감히 제거하고, 세 갈래가 덧셈으로 합쳐진 직후에 새로운 후처리 정규화 계층(Post-addition BN)을 삽입하는 등 수학적 안전장치를 도입했습니다. 그 결과, 양자화를 수행한 이후에도 정확도 하락 폭을 1.5% 미만으로 방어하는 훌륭한 성과를 거두었습니다. 최근에는 이 정수 최적화 기술이 이스라엘의 딥러닝 최적화 기업 Deci AI가 자체 개발한 고성능 객체 탐지 모델인 YOLO-NAS에도 핵심 기술로 접목되어, 정확도와 추론 속도를 모두 챙기는 데 이바지하고 있습니다.
학습 과정의 메모리 폭증 문제 극복: OREPA 및 RepOptimizer
RepVGG의 또 다른 태생적 한계인 '학습 중 과도한 GPU VRAM 소모 현상'을 해결하기 위해서도 창의적인 연구들이 뒤따랐습니다.
- OREPA (Online Convolutional Re-parameterization, CVPR 2022): 학습 시 구조가 복잡해지면 메모리 소모가 극심해지는 문제를 실시간(Online) 연산 기법으로 해결하려 한 연구입니다. OREPA 연구진은 학습 블록 내부에 비선형 계층 대신 선형 스케일링 계층(Linear Scaling Layer)을 전략적으로 배치했습니다. 이를 통해 훈련 과정에서 다중 분기 구조의 특성을 논리적으로 유지하면서도, 물리적인 계산 단계에서는 하나의 합성곱으로 실시간 압축 연산을 수행할 수 있게 만들었습니다. 결과적으로 기존 RepVGG 대비 학습 시 메모리 소모량을 무려 70%나 절감하고 훈련 속도는 2배가량 향상시켰습니다.
- RepOptimizer (NeurIPS 2022): 아예 구조적 변형이라는 프레임 자체를 뛰어넘어 최적화의 패러다임을 바꾼 기발한 아이디어입니다. 이 연구는 모델의 구조를 학습 때나 추론 때나 모두 단순한 VGG 형태(단일 경로)로 고정하여 메모리 폭증을 원천 차단합니다. 대신 데이터를 학습하고 오류를 수정하는 방향을 결정하는 최적화 알고리즘의 그라디언트(기울기) 계산 수식 자체를 조작합니다. 마치 눈에 보이지 않는 다중 분기가 존재하는 것처럼 기울기 업데이트 흐름을 유도하는 기울기 재매개변수화(Gradient Re-parameterization) 기술을 제시한 것입니다. 이 접근법은 메모리와 시간 낭비 없이 RepVGG의 정확도 향상 효과를 그대로 획득하는 성과를 올렸습니다.
9. 마무리
RepVGG는 지난 수년간 딥러닝 학계 전체를 사로잡았던 "성능을 높이려면 모델 구조를 더 기하학적이고 복잡하게 꼬아야만 한다"는 맹목적인 믿음에 정면으로 반기를 든 결과물입니다. 연산 횟수라는 서류상의 숫자(FLOPs)를 줄이는 데만 급급했던 기존 설계의 맹점을 간파하고, 실제 메모리 칩과 GPU 코어 구조의 물리적인 병렬 연산 특성이라는 본질적인 하드웨어 제약을 깊게 통찰했습니다. 수학적 변환이라는 매끄러운 징검다리를 놓음으로써, 강력하고 유연해야 하는 훈련 환경의 요구사항과 가볍고 직선적이어야 하는 서비스 배포 환경의 요구사항을 하나의 모델 안에서 완벽하게 분리해 냈습니다. 이는 딥러닝 설계 패러다임을 소프트웨어 중심에서 하드웨어 중심으로 바꾼 매우 실용적이고 영리한 발상의 전환입니다.
하지만 훌륭한 이론적 성과에도 불구하고, 이 기술을 현장의 제품이나 자율주행 시스템 등에 배포하고 운용할 때는 몇 가지 사항을 각별히 주의해야 실질적인 성과를 거둘 수 있습니다.
- 개발 환경의 GPU 메모리 한계 인식: 최신 기법인 OREPA나 RepOptimizer 등을 조합하지 않고 논문 초기 형태의 오리지널 RepVGG 구조를 그대로 훈련시킬 경우, 동급 성능의 ResNet보다 훨씬 막대한 GPU 비디오 메모리(VRAM) 용량이 필요합니다. 따라서 다루어야 할 데이터 크기나 한 번에 처리할 배치 사이즈(Batch Size)를 설계할 때, 보유한 하드웨어 자원의 한계를 보수적으로 산정해야 시스템 다운을 막을 수 있습니다.
- Edge 환경 배포 전 양자화 검토 필수: 생성된 모델을 최대한 가볍게 압축하여 로드사이드 유닛(RSU), 드론, 스마트 CCTV 등에 탑재하기 위해 8비트 정수 형태의 양자화를 곧바로 시도한다면 치명적인 시스템 오작동(정확도 붕괴)이 일어납니다. 이 경우에는 사전에 반드시 QARepVGG가 제시한 양자화 친화형(Quantization-Aware) 학습 가이드를 아키텍처에 선행 적용하여 가중치 분포의 튀는 현상을 제어해야 합니다.
- 모바일 최적화 네트워크와의 목적 구별: RepVGG 계열 모델의 칩셋 상 '처리 속도'는 그 어떤 모델보다 지배적으로 빠르지만, 모델의 전체 파라미터 용량(파일 크기) 자체가 작은 편은 아닙니다. 따라서 램(RAM) 용량이나 저장 공간 제약이 극심하고 전력 소모를 극한으로 줄여야 하는 배터리 기반 소형 디바이스에서는 MobileNet 시리즈나 ShuffleNet 계열이 여전히 더 실용적인 선택지가 될 수 있음을 인지해야 합니다.
이 논문이 제시한 구조적 최적화 철학은 향후 새롭게 설계될 인공지능 전용 반도체(NPU, 신경망 처리 장치)의 미래 방향성을 제시합니다. 잘게 쪼개진 복잡하고 파편화된 신경망 텐서들을 처리하기 위해 반도체 칩셋 내부에 복잡한 제어 및 스케줄링 로직을 밀어 넣는 대신, 칩 제조사들은 RepVGG와 같이 범용적이고 커다란 3x3 행렬 곱셈 덩어리에 전용 코어를 효율적으로 할당하는 방향으로 하드웨어 칩 설계 트렌드를 집중할 가능성이 큽니다. 구조적 재매개변수화 기법은 이미 객체 탐지 분야를 제패하였으며, 앞으로는 이미지를 넘어 대규모 언어 모델(LLM)의 트랜스포머 아키텍처 뼈대를 최적화하고 가벼운 배포를 돕는 데 응용될 가능성이 큽니다. 한계를 돌파한 이 단순함의 미학은 훈련 인프라와 서비스 배포 환경 사이의 기술적 격차를 줄이는 마스터키로 계속해서 진화해 나갈 것입니다.