스스로를 복제하는데 성능이 오른다고?
딥러닝에서 앙상블은 오래되고 강력한 기법이에요. 같은 architecture를 random seed만 바꿔 독립적으로 몇 개 학습한 뒤 출력을 평균 내면 test accuracy가 눈에 띄게 올라가요. CIFAR-100에서 ResNet-34 열 개를 앙상블하면 개별 모델보다 test accuracy가 약 5% 올라요.
더 신기한 건 knowledge distillation이에요. 앙상블의 soft label(예: “90% cat + 10% car”)을 정답 label 대신 맞추도록 학습시키면, 개별 모델과 같은 크기의 단일 모델 하나로 그 성능을 옮길 수 있어요.
Towards Understanding Ensemble, Knowledge Distillation and Self-Distillation in Deep Learning(ICLR 2023)의 핵심은 이거예요.
같은 architecture를, 같은 알고리즘으로, 같은 데이터에서, random seed만 다르게 학습한 몇 개의 network를 단순 평균했을 뿐인데 왜 test accuracy가 오를까요? 심지어 모든 개별 모델이 이미 training accuracy 100%를 달성했는데도요.
기존 이론으로는 설명되지 않아요
기존 앙상블 이론은 결합 계수를 학습하는 boosting, 모델마다 데이터가 다른 bagging, 서로 다른 architecture를 섞는 경우에만 적용돼요. 딥러닝에서 쓰는 앙상블은 여기 해당하지 않아요.
특히 NTK(Neural Tangent Kernel) 관점으로 보면 실제 딥러닝과 정반대 결론이 나와요. NTK는 앙상블을 feature space를 넓히는 feature selection으로 봐요. 그러면 두 가지 모순이 생겨요.
첫째, random feature에서는 $\frac{1}{L}\sum_\ell f_\ell$를 직접 학습하면 앙상블보다도 좋아요. 반면 실제 network에서는 이 direct training이 개별 모델만큼도 나아지지 않아요. 앙상블의 이득이 모델을 키우는 데서 오는 게 아니라는 뜻이에요.
둘째, random feature에서는 앙상블 결과가 개별 모델로 전혀 distill되지 않아요. 반면 실제 딥러닝에서는 distill이 잘 돼요.
결론은 딥러닝 앙상블을 feature selection이 아니라 feature learning 과정으로 봐야 한다는 거예요. 그러면 핵심 난제가 남아요. 단일 모델이 distillation으로는 앙상블의 feature를 배우면서, 왜 정답 label로 직접 학습할 때는 못 배울까요? soft label에 숨은 dark knowledge는 무엇일까요?
앙상블이 항상 작동하는 건 아니에요
앙상블은 데이터에 특정 구조가 있어야 작동해요. 입력이 Gaussian이나 mixture of Gaussian일 때는 label noise나 architecture와 무관하게 앙상블이 test accuracy를 높이지 못했어요.
이 결과는 앙상블을 “variance 감소”로 보는 관점을 반박해요. variance를 줄이면 cross-entropy 같은 convex loss는 줄어도 test error는 꼭 줄지 않아요. 실제로 CIFAR-10/100의 개별 모델은 이미 training accuracy 100%에 test accuracy 표준편차도 0.1~0.4%로 작은데, 그런데도 앙상블이 큰 이득을 줘요. 학습 실패도 generalization 실패도 없는데 앙상블이 작동한다는 뜻이에요.
Multi-view 데이터를 가정해요
저자들은 앙상블이 작동하는 데이터 구조로 multi-view를 제안해요. 핵심은 각 클래스에 여러 개의 feature(view)가 있다는 거예요.
직관은 이래요. 자동차 이미지는 headlight, wheel, window 중 하나만 봐도 자동차로 분류할 수 있어요. 보통은 이 feature들이 다 보이지만(multi-view data), 정면에서 찍은 사진은 wheel feature가 빠지기도 해요(single-view data). 그리고 자동차 headlight가 cat eye와 비슷하게 소량의 다른 클래스 feature를 가질 수도 있는데, 이게 나중에 dark knowledge가 돼요.
실제로 random seed가 다른 열 개의 ResNet-34는 같은 자동차 이미지를 서로 다른 부분을 근거로 분류해요. 데이터에 여러 view가 있고, 개별 network가 이 구조를 실제로 활용한다는 증거예요.
논문은 이 구조를 형식화해요. 전체 데이터의 대부분은 여러 feature가 모두 존재하는 multi-view data이고, 일부($\mu$의 비율)는 feature가 빠진 single-view data예요. 이 $\mu$가 test error를 재는 기준이 돼요.
개별 모델은 feature의 절반만 배워요
Multi-view 데이터에서 단일 network를 학습하면, 초기화 randomness에 따라 클래스마다 여러 feature 중 하나만 잡아요. 이렇게 하면 모든 multi-view data와 single-view data의 절반, 즉 전체의 90%가 정답으로 분류돼요. 남은 10%는 새 feature 없이 데이터의 noise로 memorize해요. 그 결과 training accuracy 100%, test accuracy 90%가 돼요.
주요 결과 (single model). 학습이 끝나면 training accuracy는 완벽하지만 test error는 약 $0.5\mu$예요. single-view data의 절반에서 빠진 view를 만나기 때문이에요. 초기화가 달라도 각 모델은 거의 똑같이 잘 학습되지만, 각자 다른 절반의 feature를 배워요.
앙상블은 빠진 view를 채워요
각 개별 network는 클래스마다 두 feature 중 하나를 50% 확률로 잡아요. 그래서 독립 학습한 모델을 몇 개만 앙상블해도 높은 확률로 모든 feature를 커버해요.
주요 결과 (ensemble). 개별 모델 몇 개만 앙상블하면 test error가 거의 0($\leq 0.001\mu$)이 돼요. “몇 개의 독립 모델 평균”만으로 충분하다는 게 실제 관찰과 맞아요.
Dark knowledge가 distillation을 가능하게 해요
앙상블은 모든 feature를 배웠기 때문에, label 1인 데이터에도 빠진 view에 대한 소량의 신호를 출력에 담아요. 개별 모델을 이 앙상블 출력에 맞추도록 학습시키면, 이미 training data를 완벽히 맞췄더라도 못 배운 feature까지 배우도록 강제돼요. 이 소량의 신호가 soft label에 숨은 dark knowledge예요.
주요 결과 (knowledge distillation). 앙상블을 단일 모델로 distill하면 test error가 거의 0($\leq 0.001\mu$)이 돼요. Distill된 모델이 앙상블의 feature를 모두 배웠다는 뜻이에요. 실제로 distillation으로 학습한 여러 모델을 다시 앙상블해도 성능이 거의 오르지 않아요. 이미 앙상블의 feature를 대부분 배워 서로 다양성이 적기 때문이에요.
dark knowledge가 작은 확률값에 담겨 있으니 temperature를 높여 이 신호를 증폭하면 전달이 강해져요. 논문이 결론에서 언급하듯 random cropping 같은 augmentation으로 network가 multi-view를 배우도록 강제하는 것도 효과가 있어요.
Self-distillation은 암묵적 앙상블이에요
Self-distillation은 단일 모델을 독립 학습된 다른 단일 모델의 출력에 맞추는 거예요. 앙상블 없이도 성능이 올라요.
주요 결과 (self-distillation). Self-distillation 후 test error가 $0.5\mu$에서 약 $0.26\mu$로 개선돼요.
이유는 이게 암묵적 ensemble + knowledge distillation이기 때문이에요. $F$를 독립 학습된 $G$에 맞추면 $F$는 두 모델이 배운 feature의 합집합을 배워요. 결과적으로 $F$가 혼자 배울 feature와 $G$의 feature를 앙상블한 뒤 다시 distill하는 것과 같은 효과예요.
실험이 이론을 뒷받침해요
실험의 핵심은 세 가지예요.
첫째, 딥러닝 앙상블은 random feature 앙상블과 근본적으로 달라요. Distillation과 self-distillation은 실제 network에서는 잘 작동하지만 neural kernel method에서는 거의 작동하지 않아요.
둘째, 앙상블 이득은 variance 감소가 아니에요. non-convexity와 seed 다양성만으로는 앙상블 이득이 보장되지 않고, 데이터 구조가 중요해요.
셋째, multi-view 구조가 실제로 있어요. Pre-trained ResNet의 중간 layer channel을 크게 줄여도 개별 모델 accuracy가 많이 떨어지지 않고, 개별 accuracy가 떨어져도 앙상블 accuracy는 거의 그대로예요. 중간 layer에도 여러 view가 있고 앙상블이 이를 모아준다는 증거예요.
Multi-view를 distillation 중에 강제할 수 있을까
이 이론을 뒤집으면 자연스러운 응용이 나와요. Distillation이 앙상블의 여러 view를 학생에게 옮기는 거라면, 학생에게 처음부터 다양한 view를 강제로 주입하면 되지 않을까요. 이걸 실제로 시도한 게 Angular-KD(NeurIPS, 2025)예요.
가장 직접적인 방법은 여러 teacher를 앙상블해 distill하는 거지만, 모델을 여러 개 학습·저장해야 해서 비싸요. 게다가 seed만 다른 앙상블은 architecture가 같아 view 다양성이 제한돼요. Angular-KD는 teacher 하나만 두고, 그 위에 가벼운 linear branch(view augmentation head)를 여러 개 붙여 다양한 view를 합성해요. 각 head는 orthogonal 초기화와 dropout으로 서로 다른 방향에서 출발해요.
핵심은 이 view들이 서로 다르면서도 유효하도록 강제하는 두 개의 angular loss예요. Inter-angle diversity loss는 view들끼리 cosine similarity를 낮춰 서로 다른 방향을 보게 만들어요. Intra-angle diversity loss는 각 view가 원본 teacher 출력을 중심으로 고르게 퍼지도록 offset 방향을 분산시켜요. 다만 view가 너무 멀어지면 엉뚱한 클래스로 새어나가니, teacher 출력에서 learnable margin $\gamma$ 안에 머물도록 제약을 걸어요. 이 제약이 원 논문의 dark knowledge 논리와 맞닿아 있어요. view는 다양해야 하지만 여전히 정답 클래스를 가리키는 유효한 신호여야 하니까요.
이렇게 만든 view들과 원본 teacher를 앙상블해 학생에 distill하면, “빠진 view를 인위적으로 만들어 채우기”가 돼요. 이론적으로도 angular diversity를 키우면 ensemble diversity가 커지고, 앙상블 expected loss의 upper bound가 줄어 학생 성능이 좋아진다는 걸 보여요. 실제로 random noise로 view를 흔드는 방식(TeKAP)보다 성능이 좋았고, teacher 하나만으로 multi-teacher에 준하는 효과를 냈어요.
다만 한계도 분명해요. 합성한 view는 결국 원본 teacher의 지식 안에 갇혀 있어서, teacher가 애초에 못 배운 fundamentally new한 view는 만들지 못해요. multi-view를 강제하는 게 만능이 아니라, teacher가 가진 view를 더 잘 짜내는 쪽에 가까워요.
정리
딥러닝 앙상블은 NTK나 variance 감소로 설명되지 않고, multi-view 같은 데이터 구조가 있어야 작동해요.
Multi-view 데이터에서 개별 network는 초기화 randomness에 따라 클래스마다 feature의 일부만 배워요. 그래서 training accuracy 100%에도 test error가 약 $0.5\mu$예요. 앙상블은 여러 모델을 합쳐 모든 view를 커버하고, soft label에 담긴 dark knowledge 덕분에 이 성능이 단일 모델로 distill돼요. Self-distillation은 암묵적으로 ensemble과 knowledge distillation을 결합한 것으로 볼 수 있어요.






