[18′ ICLR] mixup: BEYOND EMPIRICAL RISK MINIMIZATION

This entry is part 1 of 5 in the series Semi Supervised Learning

1. 들어가며

머신러닝과 딥러닝 모델은 복잡한 데이터 분포와 다양한 데이터셋에서 성능을 발휘해야 합니다. 그러나 기존의 Empirical Risk Minimization (ERM) 방법은 이러한 복잡한 데이터 분포를 효과적으로 처리하는 데 한계가 있습니다. ERM 방법은 overfitting의 위험을 내포하고 있으며, 데이터 포인트 간의 가정이 없어 복잡한 데이터 분포를 잘 처리하지 못합니다. 이러한 문제를 해결하기 위해, Mixup이라는 새로운 학습 전략이 제안되었습니다.

이번 글에서는 Mixup의 기본 개념과 작동 원리를 자세히 탐구합니다. 파이토치 코드와 함께 제시되는 Mixup 방법은 이해를 돕기 위해 시각적 요소를 포함합니다. 또한, 논문에서 제시된 실험 결과를 통해 Mixup이 어떻게 prediction error와 gradient의 norm을 줄이는 효과를 가지는지 설명합니다.

다양한 문제에 대한 기존 ERM 방식과 Mixup 방식의 성능 비교를 통해, Mixup의 실질적인 효과를 실제로 확인할 수 있습니다. 이를 통해 Mixup이 어떻게 모델의 일반화 성능을 향상시키는지, 그리고 데이터의 다양성을 증가시켜 과적합을 방지하는지에 대한 인사이트를 제공합니다.

물론, 모든 기술에는 장단점이 존재합니다. 본 글에서는 Mixup의 장점과 단점을 공정하게 평가하고, 이를 통해 Mixup이 실제 문제 해결에 어떻게 적용될 수 있는지에 대한 깊은 이해를 제공합니다.

마지막으로, Mixup의 근본적인 의의를 탐색합니다. 이를 통해 Mixup이 머신러닝과 딥러닝 분야에 어떤 영향을 미치고 있는지, 그리고 앞으로 어떻게 발전해 나갈 수 있는지에 대한 통찰을 제공합니다.

이 글을 통해, 독자 여러분은 Mixup에 대한 깊고 풍부한 이해를 얻길 바랍니다. 시작해 보겠습니다!

2. 기존 방법의 문제점

본격적으로 Mixup에 대해 알아보기 전에, Mixup이 해결하고자 했던 기존 방법의 문제점을 살펴보겠습니다. 논문에서는 기존 방법으로 ERM(Emprical Risk Minimization)을 자세히 설명합니다. 먼저 ERM이 무엇인지 알아야 하는데요. ERM을 단어 그대로 해석해보면, 경험적 위험 최소화라는 뜻입니다. 이는 일반적으로 딥러닝 모델을 학습할때 사용하는 Gradient Descent 방식의 Backpropagation을 의미한다고 보시면 됩니다. 다만 Empirical(경험적) 이라는 단어가 붙은 이유는 모든 머신러닝 알고리즘의 특성 때문이죠. 애초에 우리는 세상에 존재하는 모든 데이터에 대해 모델을 학습할 수 없잖아요? 필연적으로 일부 데이터만을 모아서 모델을 학습하게 되죠. 결국 모델은 자신이 경험한 일부 데이터 (경험 데이터)에 의존해 세상의 모든 데이터를 일반화하도록 학습하게 됩니다.

문제는 이러한 ERM 방식에는 몇 가지 한계가 있다는 것입니다.
첫 번째는 Overfitting 위험입니다. ERM 방식은 일부 훈련 데이터를 사용하여 전체 데이터에 대한 일반화를 시도하기에, 모델이 훈련 데이터에 대해 과적합 될 수 있습니다. 즉 모델이 경험한 학습 데이터에서는 성능이 좋지만, 실제로 잘 해야 하는 테스트 데이터에서는 성능이 낮은 문제가 발생할 수 있습니다.

두 번째는 데이터 포인트 간의 간격에 대한 가정이 없다는 점입니다. 특히 이 부분이 Mixup에서 주목한 부분인데요. 예를 들어 강아지와 고양이를 구분하는 Binary Classification 모델 입장에서 생각해볼게요. Label을 만들때 강아지는 (1,0)으로, 고양이는 (0,1)로 만들어서 학습했다고 가정해보겠습니다. 이렇게 되면 이 모델 입장에서는 이 세상이 완벽한 강아지, 아니면 완벽한고양이만 존재하게 되겠죠. 하지만 세상에는 고양이 같은 강아지도 있고, 강아지 같은 고양이도 있잖아요? 하지만 이 모델에게 그런 개념이 존재할 수 없습니다. 이는 모델의 성능 저하로 연결되게 되죠.

세 번째는 복잡한 데이터 분포 처리 능력이 떨어진다는 문제입니다. 이 또한 두번째 문제와 연결지어 생각해볼 수 있는데요. 문제가 복잡해질 수록 명확하게 개념이 분리되는 경우는 적어지죠. 많은 문제가 경계선에 걸쳐있는 경우가 많은데요. ERM 방식은 모아니면 도 방식으로 학습하기에, 이렇게 불분명한 경우에 대해 취약해집니다. 특히 클래스간의 경계가 복잡해질수록 취약해지는 모습을 보이죠. 이는 어려운 문제일 수록 기존 ERM 방식의 모델은 성능이 떨어진다고 볼 수 있습니다.

3. Mixup

여기까지 기존 ERM 방식의 문제점을 살펴봤는데요. 그럼 Mixup은 어떻게 ERM 방식의 한계를 극복했는지에 초점을 맞춰서 Mixup의 제안 방법을 살펴보겠습니다.

3-1. 제안 방법

제안 방법은 간단합니다.

그림1. Mixup 파이토치 코드
그림1. Mixup 파이토치 코드

위 그림은 Mixup 알고리즘의 파이토치 코드를 보여주고 있습니다. Train image 2개를 Interpolation 하여 하나의 x를 만들어냅니다. 마찬가지로 동일한 가중치로 y에 대해서도 Interpolation 하여 하나의 y를 만들어냅니다. 이렇게 만들어낸 x와 y를 이용하여 Classification 등을 동일하게 학습합니다. 이를 그림으로 표현하면 이렇습니다.

기존-방식과-비교
그림2. 기존 방식과 비교

위 그림에서 왼편은 기존 방법을 표현하고 있고요, 오른쪽은 Mixup 방식을 표현하고 있습니다. Mixup 방식을 보면 강아지와 고양이 그림을 1:1로 섞은 모습이죠? 마찬가지로 Label도 (0.5, 0.5)로 1:1로 섞어서 표현하고 있습니다. 모델 입장에서 생각해보면, ‘이 그림은 강아지면서 동시에 고양이야’ 라고 학습해야 되는 것이죠.

그림3. Mixup 효과
그림3. Mixup 효과

위 그림에서는 ERM과 Mixup으로 각각 학습한 모델의 출력 확률 분포를 표현하고 있습니다. 파란색이 모델의 출력 확률 분포를 나타내는데요. 왼쪽의 ERM 방식은 파란색이 중앙에 더 모여있는 모습이죠? 반면 Mixup 방식은 출력값이 좀 더 넓게 분포하고 있는 모습입니다. 쉽게 생각해보면 모델의 융통성이 더 좋아졌다고 볼 수 있겠죠.

3-2. 효과

다음은 Mixup 방식의 효과에 대해 알아보겠습니다.

그림4. Prediction Error 감소 효과
그림4. Prediction Error 감소 효과

먼저 Prediction Error를 비교해 보겠습니다. 위 그림은 ERM 방식과 Mixup 방식의 Prediction Error를 비교한 그래프인데요. 확실히 Mixup의 Error 값이 더 낮아진 모습을 볼 수 있습니다.

그림5. Gradient Norm 감소 효과
그림5. Gradient Norm 감소 효과

다음은 Gradient의 Norm을 비교해보겠습니다. 위 그림은 ERM과 Mixup 방식의 Gradient Norm을 비교한 그래프입니다. Mixup 방식의 Norm이 더 작은 모습을 볼 수 있습니다. 이렇게 Gradient Norm이 더 작다는 말은 모델이 학습할 양이 더 적다는 의미잖아요? 따라서 모델이 더 안적적으로 학습할 수 있습니다. 또한 Gradient가 폭발할 위험도 더 적어지죠. 따라서 Convergence 하기 수월하고, 결과적으로 더 좋은 일반화 성능을 갖는 모델이 될 수 있는겁니다.

4. 실험 결과

다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.

4-1. Image classification

먼저 image classification 성능입니다.

imagenet-classification
그림6. Imagenet Classification

Mixup 𝛼가 0.2 ~ 0.4 수준에서 가장 높은 성능을 보이고, 그 보다 높아지면 underfitting으로 성능이 하락하는 모습입니다. ERM 방식보다 mixup 방식이 좋은 성능을 보입니다.

4-2. CIFAR10, CIFAR100

다음은 CIFAR10, CIFAR100 데이터셋에 대한 classification 성능입니다.

cifar10-cifar100-성능
그림7. Cifar10, Cifar100 성능

ERM 방식보다 mixup 방식이 좋은 성능을 보입니다.

4-3. Speech data

다음은 speech data에 대한 classification 성능입니다.

speech-data-성능
그림8. Speech Data 성능

4-4. Memorization of corrupted labels

다음은 corrupted label 데이터셋에 대한 성능입니다.

memorization-of-corrupted-labels
그림9. Memorization of Corrupted Labels

ERM 방식은 corruption 비율과 상관없이 낮은 training error를 보이는 반면 높은 test error를 보입니다. 이 말은 corrupted training dataset을 memorization 했다는 의미입니다. 반면 mixup 모델들은 corrupted training dataset에 대해 높은 error를 보이고 낮은 test error를 보입니다. mixup + drop out 방식이 가장 좋은 성능을 보이며, 이 말은 mixup 방식은 drop out 등 다른 regularizer 들과 혼합하여 사용할 수 있다는 의미입니다.

4-5. Robustness to adversarial examples

다음은 adversarial test 성능입니다.

robustness-to-adversarial-examples
그림10. Robustness to Adversarial Examples

ERM 방식에 비해 mixup 방식이 adversarial attack에 더 강건한 모습을 보입니다.

4-6. Tabular data

다음은 tabular data에 대한 성능입니다.

tabular-data-성능
그림11. Tabular Data 성능

4-7. Stabilization of generative adversarial networks (GAN)

다음은 GAN을 사용하여 파란색 점을 학습한 결과입니다.

stabilization-of-generative-adversarial-networks
그림12. Stabilization of Generative Adversarial Networks

ERM 방식은 파란색 점을 제대로 일반화하지 못하는 반면, mixup 방식은 파란색 점을 고루 표현하며 일반화하는 모습을 보입니다.

5. 장단점

다음으로 Mixup의 장단점에 대해 정리해보겠습니다.

5-1. 장점

첫 번째 장점은 일반화 성능의 향상입니다. 위에서 설명했던 대로 Mixup을 하면 더욱 융통성 있는 모델이 되고, 결과적으로 일반화 능력이 좋아지게 됩니다.

두 번째 장점은 Data Augmentation 효과입니다. Mixup을 사용하면 Interpolation 비율을 조정하여 무한가지 경우의 Data Augmentation이 가능해집니다.

세 번째 장점은 Overfitting 감소입니다. 위의 두 가지 장점으로 인해, 결과적으로 Overfitting 위험이 줄어듭니다.

5-2. 단점

첫 번째 단점은 하이퍼파라미터가 늘어난다는 점입니다. Mixup은 Interpolation 비율의 범위를 정해줘야 하는데요. 개발자 입장에서 이는 추가적인 하이퍼파라미터를 의미합니다. 결과적으로 모델 개발의 복잡성이 늘어난다는 것이죠.

두 번째 단점은 학습 시간 증가입니다. Mixup은 각 Epoch 마다의 연산량을 증가시켜 학습 시간을 약간 증가시킬 수 있습니다. 또한 데이터가 Augmentation 되며 일반화하기 위한 시간이 더 요구됩니다.

6. 의의

마지막으로 Mixup의 의의를 생각해보겠습니다.

첫 번째 의의는 새로운 학습 패러다임을 제시했다는 점입니다. 기존 Data Augmentation과는 달리 Label을 선형적으로 조합하는 방법을 제안했는데요. 이는 모델이 더 강건하고 일반화 성능이 뛰어난 특성을 학습하도록 도와줍니다.

두 번째 의의는 다양한 도메인에 적용할 수 있는 방법이라는 점입니다. 본문에서는 이미지 도메인에 대해서만 설명했지만, 텍스트, 음성 등 대부분의 도메인에서 동일한 논리와 방법으로 Mixup을 적용할 수 있습니다.

세 번째 의의는 모델의 안정성과 성능 향상 방법을 제안했다는 점입니다. Mixup은 모델의 안정성을 향상시키고, 여러 학습 문제에서 모델의 성능을 향상시킬 수 있는 방법입니다.

7. 마치며

이번 글을 통해, Mixup의 핵심 개념과 작동 원리, 그리고 장단점에 대해 깊게 이해할 수 있었습니다. Mixup은 기존의 ERM 방법의 한계를 극복하고, 모델의 일반화 성능을 향상시키는 데 큰 도움을 줄 수 있는 효과적인 학습 전략입니다. 특히, 복잡한 데이터 분포와 다양한 데이터셋에서의 성능 향상은 Mixup의 눈에 띄는 장점 중 하나입니다.

물론, Mixup도 완벽하지는 않습니다. 그러나 이 글을 통해 Mixup의 단점과 한계를 이해하고, 이를 극복하기 위한 가능한 방법에 대해 생각해 볼 수 있었습니다. 이러한 이해는 Mixup을 실제 문제에 적용할 때 더욱 효과적으로 사용할 수 있게 도와줄 것입니다.

본 글에서 제공된 파이토치 코드와 함께, 독자 여러분은 직접 Mixup을 구현하고 실험해 볼 수 있습니다. 이를 통해 Mixup의 실질적인 효과와 작동 원리를 직접 경험하고 느낄 수 있을 것입니다.

마지막으로, Mixup의 근본적인 의의와 머신러닝과 딥러닝 분야에 미치는 영향에 대해 다시 한번 생각해 볼 기회를 가질 수 있습니다. 이는 앞으로의 연구와 실제 응용 분야에서 Mixup을 더욱 효과적으로 활용할 수 있는 기반을 마련해 줄 것입니다.

이 글이 Mixup에 대한 귀중한 인사이트와 유용한 정보를 제공하였기를 바랍니다. 여러분의 연구와 프로젝트에 큰 도움이 되길 기대합니다. FFighting!!

Series Navigation[19′ ICML] Manifold Mixup : Better Representations by Interpolating Hidden States >>
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top