인공지능과 컴퓨터 비전 기술의 발전사를 논할 때, 2015년은 결코 빼놓을 수 없는 기념비적인 해입니다. 바로 마이크로소프트 리서치 팀(Kaiming He et al.)이 제안한 ResNet(Residual Network)이 등장하여 이미지넷(ImageNet) 대회를 휩쓸었기 때문입니다. 당시 ResNet은 152개 층이라는, 이전에는 상상조차 할 수 없었던 깊이의 신경망을 성공적으로 학습시키며 전 세계 연구자들에게 큰 충격을 안겨주었습니다. 이전 모델인 VGG가 19개 층이었던 것과 비교하면 실로 엄청난 도약이었습니다.
그렇다면 도대체 어떤 기술적 혁신이 있었기에 이렇게 깊은 네트워크를 학습시키는 것이 가능했을까요? 단순히 층을 쌓는다고 해서 성능이 좋아지는 것이 아니라는 것은 이미 널리 알려진 사실이었습니다. 그 비밀의 열쇠는 바로 '잔차 학습(Residual Learning)'이라는 독창적인 구조에 있습니다. 이번 포스트에서는 딥러닝의 역사를 바꾼 핵심 기술인 ResNet 잔차 학습 구조가 깊은 신경망 학습을 가능케 한 이유를 심층적으로 분석하고, 이 구조가 어떻게 현대 인공지능 모델의 표준이 되었는지 자세히 알아보겠습니다.
1. 깊은 신경망의 역설: 퇴보 문제(Degradation Problem)의 발견
딥러닝 연구 초기에는 "신경망의 층(Layer)이 깊어질수록 더 복잡하고 추상적인 특징(Feature)을 추출할 수 있어 성능이 향상될 것"이라는 믿음이 있었습니다. 실제로 AlexNet(8층)에서 VGG(19층)로 발전하면서 이러한 가설은 증명되는 듯했습니다. 그러나 연구자들은 곧 예상치 못한 난관에 봉착하게 됩니다.
성능이 오히려 떨어지는 기이한 현상
연구진이 층의 개수를 20개, 56개 등으로 무작정 늘려보았더니, 놀랍게도 더 깊은 네트워크의 성능이 얕은 네트워크보다 떨어지는 현상이 발생했습니다. 흔히 딥러닝에서 모델이 너무 복잡할 때 발생하는 과적합(Overfitting) 문제라고 생각하기 쉽지만, 실제로는 훈련 데이터에 대한 오차(Training Error)마저 깊은 모델에서 더 높게 나타났습니다. 이는 모델이 학습 데이터조차 제대로 외우지 못하고 있다는 것을 의미하며, 이를 퇴보 문제(Degradation Problem)라고 명명했습니다.
기울기 소실 그 이상의 난관
일반적으로 깊은 네트워크의 학습을 방해하는 주된 요인은 기울기 소실(Vanishing Gradient) 문제입니다. 역전파(Backpropagation) 과정에서 입력층으로 갈수록 미분값(기울기)이 0에 수렴하여 가중치 업데이트가 멈추는 현상입니다. 하지만 2015년 당시에는 이미 배치 정규화(Batch Normalization) 등의 기법으로 이 문제를 어느 정도 제어할 수 있었습니다. 그럼에도 불구하고 성능이 하락한 것은, 깊은 모델이 최적화(Optimization)하기에 너무나도 어렵다는 구조적 한계를 드러낸 것이었습니다. ResNet 잔차 학습 구조가 깊은 신경망 학습을 가능케 한 이유는 바로 이 최적화의 난이도를 획기적으로 낮춘 데에 있습니다.
2. 발상의 전환: 잔차 학습(Residual Learning)의 핵심 원리
ResNet 연구팀은 이 문제를 해결하기 위해 기존의 학습 방식을 완전히 뒤집는 아이디어를 제안했습니다. "입력 $x$를 타겟 $y$로 매핑하는 함수 $H(x)$를 직접 학습하는 대신, 그 차이(잔차)를 학습하면 어떨까?"라는 질문에서 시작된 것입니다.
$H(x)$ 대신 $F(x) + x$를 학습하다
기존의 신경망은 입력 $x$가 들어왔을 때, 최적의 출력 $H(x)$를 만들어내기 위해 레이어들이 $H(x)$ 자체를 근사하도록 학습했습니다. 하지만 ResNet은 다음과 같이 접근 방식을 변경합니다.
- 학습하고자 하는 레이어의 출력을 $H(x) = F(x) + x$로 재정의합니다.
- 여기서 $x$는 입력값을 변형 없이 그대로 전달하는 스킵 연결(Skip Connection)입니다.
- 결국 네트워크가 학습해야 하는 나머지 부분은 $F(x)$, 즉 $H(x) - x$ (잔차, Residual)가 됩니다.
이 방식이 효과적인 이유는 항등 매핑(Identity Mapping)을 학습하는 것이 훨씬 쉽기 때문입니다. 만약 최적의 함수가 입력값을 그대로 출력하는 것($H(x) = x$)이라면, 기존 네트워크는 복잡한 비선형 함수들을 조합하여 $x$를 만들어내야 하는 어려운 과정을 거쳐야 합니다. 반면, 잔차 학습 구조에서는 단순히 학습해야 할 $F(x)$의 가중치를 0으로 수렴시키기만 하면 $H(x) = x$가 되므로 학습 난이도가 대폭 하락합니다.
3. 스킵 연결(Skip Connection): 정보의 고속도로를 뚫다
ResNet 구조를 시각적으로 가장 잘 보여주는 특징은 입력 데이터를 중간 층들을 건너뛰어 출력에 바로 더해주는 스킵 연결(Skip Connection), 혹은 숏컷(Shortcut)입니다. 이 단순해 보이는 연결선 하나가 가져온 파급 효과는 실로 엄청납니다.
기울기 소실을 막는 수학적 비결
ResNet 잔차 학습 구조가 깊은 신경망 학습을 가능케 한 이유의 결정적인 메커니즘은 역전파 과정에서의 '기울기 흐름'에 있습니다. 수학적으로 $H(x) = F(x) + x$를 미분하면, 미분값은 $F'(x) + 1$의 형태를 띠게 됩니다.
- 기존 네트워크: 깊은 층을 통과하며 미분값들이 계속 곱해지기 때문에($\prod w_i$), 값이 점점 작아져 0으로 사라질 위험이 큽니다.
- ResNet: 미분값에 항상 '$1$'이라는 상수가 더해져 있습니다. 이는 스킵 연결을 통해 기울기가 변질되거나 줄어들지 않고 상위 층으로 직접 전달될 수 있는 '고속도로(Highway)' 역할을 합니다.
이 덕분에 수백 개의 층을 쌓아도 입력층 가까이 있는 초기 층까지 기울기가 생생하게 전달되어 학습이 가능해졌습니다. 마치 복잡한 결재 라인을 거치지 않고 사장이 말단 직원에게 직접 피드백을 줄 수 있는 직통 라인을 개설하여 조직 전체의 효율성을 극대화한 것과 같습니다.
4. 병목 구조(Bottleneck Architecture)를 통한 연산 효율성 증대
ResNet은 단순히 깊이만 추구한 것이 아니라, 현실적인 연산 비용과 효율성도 고려했습니다. 특히 ResNet-50 이상의 깊은 모델에서는 병목(Bottleneck) 구조라는 독특한 설계를 도입했습니다.
기존의 잔차 블록이 $3 imes 3$ 합성곱(Convolution) 두 개로 이루어졌다면, 병목 구조는 다음과 같이 3단계로 구성됩니다.
- $1 imes 1$ Conv: 차원을 축소하여 연산량을 줄임 (병목 구간 진입)
- $3 imes 3$ Conv: 낮은 차원에서 효율적으로 특징 추출 수행
- $1 imes 1$ Conv: 차원을 다시 확대하여 원래대로 복구
이 구조는 $1 imes 1$ 합성곱을 통해 채널 수를 유연하게 조절함으로써, 파라미터 수를 획기적으로 줄이면서도 네트워크의 깊이를 늘릴 수 있게 해주었습니다. 덕분에 ResNet-152와 같은 초거대 모델도 당시의 하드웨어 자원으로 충분히 학습이 가능했습니다. 이는 ResNet 잔차 학습 구조가 단순히 이론적인 성공에 그치지 않고 실용적인 딥러닝 모델로 자리 잡게 한 중요한 요인입니다.
5. 앙상블 효과(Ensemble Effect)로서의 재해석
ResNet의 성공 이후, 많은 연구자들이 이 모델이 왜 잘 작동하는지에 대해 다각도로 분석했습니다. 그중 가장 흥미로운 관점은 ResNet이 '다양한 깊이를 가진 수많은 얕은 신경망들의 앙상블(Ensemble)'처럼 동작한다는 것입니다.
스킵 연결 덕분에 데이터는 네트워크를 통과할 때 깊은 경로뿐만 아니라, 층을 건너뛰는 얕은 경로 등 지수적으로 많은 수의 경로를 선택할 수 있습니다. 학습 시에는 이 모든 경로들이 복합적으로 작용하지만, 결과적으로는 서로 다른 깊이를 가진 수많은 네트워크들이 협력하여 결과를 도출하는 것과 유사한 효과를 냅니다. 이는 특정 층 하나를 제거해도 전체 성능이 급격히 떨어지지 않는다는 실험 결과로도 뒷받침됩니다. 즉, ResNet은 깊지만 동시에 넓은 네트워크의 특성을 내포하고 있어 일반화(Generalization) 성능이 뛰어난 것입니다.
6. 결론: 단순함이 만들어낸 위대한 혁신
결론적으로, ResNet 잔차 학습 구조가 깊은 신경망 학습을 가능케 한 이유는 복잡하고 어려운 문제를 단순한 문제로 치환했기 때문입니다. 전체를 새로 배우는 것이 아니라 '차이(Residual)'만 조금씩 수정해 나가는 방식은 인간의 학습 방식과도 닮아 있습니다. 우리는 무언가를 배울 때 백지상태에서 시작하기보다, 기존의 지식을 바탕으로 새로운 정보를 더해나가는 것이 훨씬 효율적이라는 것을 본능적으로 알고 있습니다.
- 퇴보 문제 해결: 최적화 난이도를 낮춰 깊은 층에서도 학습 오차를 줄임
- 기울기 전파 개선: 스킵 연결을 통한 기울기 소실 방지 및 정보 흐름 원활화
- 유연한 구조: 필요 없는 층은 항등 매핑으로 무시할 수 있는 유연성 제공
ResNet 이후 등장한 DenseNet, EfficientNet, 그리고 현대 자연어 처리(NLP)의 핵심인 Transformer 아키텍처에 이르기까지, 스킵 연결과 잔차 학습의 개념은 이제 딥러닝 모델 설계의 필수적인 표준(De Facto Standard)이 되었습니다. 2015년의 이 직관적이고 단순한 아이디어 하나가 인공지능이 인간의 시각 능력을 초월하게 만든 결정적인 계기가 되었음을 기억해야 할 것입니다.