본문 바로가기
AI · 인공지능/AI 칼럼

최신 머신러닝 모델은 과학습이 일어나지 않는다? Deep Double Descent.

by 두우우부 2020. 1. 18.
반응형

3개의 요점

✔️ 모델이 과학습을 해도 더 학습을 진행하면 정밀도가 향상됨

✔️ 학습 자료, 학습 횟수, 학습 모델은 클수록 좋다

✔️ 왜 이런 현상이 발생하는가?

DEEP DOUBLE DESCENT : WHERE BIGGER MODELS AND MORE DATA HURT
written by Preetum Nakkiran, Gal Kaplun, Yamini Bansal, Tristan Yang, Boaz Barak, Ilya Sutskever
(Submitted on 4 Dec 2019)
subjects : Machine Learning (cs.LG) ; Computer Vision and Pattern Recognition (cs.CV); Neural and EvolutionaryComputing (cs.NE); Machine Learning (stat.ML)

DEEP DOUBLE DESCENT-WHERE BIGGER MODELS AND MORE DATA HURT.pdf
8.20MB

머신러닝은 학습 양에 따라 정확도가 향상되지만 학습량이 너무 많아 과학습 상태에 빠지면 정밀도는 떨어진다고 알려져 있습니다. 그러나 거기서 더 학습량을 늘리면 정밀도가 오히려 향상될 수 있습니다.

 

이 현상은 Deep Double Descent라고, 모델이 큰 첨단 머신러닝 모델에서 확인된 현상입니다. 기존의 머신러닝에 대한 생각은 '모델이 복잡하고 클수록 학습 데이터에 과적응(Overfitting)하고 테스트 데이터에 오류가 증가한다.'는 것이 일반적이었기 때문에, 클수록 나쁜 모델로 간주되어 왔습니다.

 

그러나 최신 머신러닝 연구에 사용된 모델은 거대한 학습 데이터를 장시간에 걸쳐 학습하여도 과학습이 발생하지 않고 학습하지 않은 데이터에 대해서도 좋은 성적을 내고 있습니다.

 

그럼 이 Deep Double Descent는 무엇일까요?

 

Deep Double Descent

머신러닝에서는 모델 크기, 데이터 크기, 또는 학습 횟수가 증가함에 따라 정확도가 향상되며, 모델이 과학 습하기 시작하면 테스트 데이터에 대한 정확도가 떨어집니다. Deep Double Descent는 거기서 모델 크기, 데이터 크기, 학습 횟수를 더 늘리면 테스트 데이터에 대한 정확도가 다시 증가되는 현상을 말합니다.

 

아래의 그림은 오른쪽이 모델 사이즈에 대한 Double Descent로, 가로축의 Width10 전후의 영역에서 세로축의 Test Error가 상승하고 있는 것을 알 수 있습니다. 이것이 고전적인 과학습입니다. 그러나 ResNet18의 Width Parameter를 더 늘려가면, 과학습 상태에서 벗어나 Test Error가 감소하고 있습니다.

 

 

과적 응이 발생하는 경우와 거기서 탈피할 수 있는 조건은 복잡하고 딱히 정해진 방법이 없습니다. 모델의 복잡도가 충분히 작은 경우, 모델의 복잡도 함수에서의 테스트 오류는 고전 이론(모델이 큰 것이 나쁘다)에 따릅니다.

 

모델이 작은 경우, 학습 데이터를 늘리면 테스트 데이터에 대한 정확도가 떨어집니다. 이것은 아마도 데이터량에 비해 모델이 작은 것이 원인일 수 있습니다. 모델이 충분히 커지면 학습 데이터가 많아질수록 테스트 데이터에 대한 정확도가 향상될 수 있습니다.

 

또한 여기서 effective model complexity(EMC)라는 개념을 도입합니다. 이것은 학습 데이터에 대한 오류를 0(zero)으로 만들 수 있는 샘플의 최대 개수로 정의합니다.

T : 학습법

D : 데이터 분포

Errors(M) : 샘플 S의 모델 M의 평균 오차

 

EMC는 데이터의 특성과 모델의 매개 변수뿐만 아니라, 학습 횟수에도 영향을 받습니다. (당연하지만) 학습 횟수가 많을수록 EMC도 증가합니다.

 

최근 연구에서 밝혀진 것으로, 모델이 학습할 수 있는 양(EMC) 보다 적은 학습 데이터 량이면 Double Descent가 생기며 학습하면 할수록 정확도가 향상됩니다. 모델이 학습할 수 있는 양(EMC)보다 데이터량이 많으면 고전적인 과학습이 발생합니다.

 

 

본 연구에서는 데이터 세트에 라벨 노이즈를 부여하고 있습니다. 데이터 세트에 라벨 노이즈를 주면 Double Descent가 현저하게 발생하기 때문입니다. 이 라벨 노이즈의 효과는 단순히 분류의 난이도를 높이기 위한 것으로, 머신러닝에 진짜 영향을 미치는 것은 아니라고 생각합니다. 이번 실험에 사용된 데이터 세트 CIFAR-100를 보면에서 노이즈가 없는 데이터 세트에서도 Double Descent가 발생합니다.

 

실험에 사용된 데이터 세트 목록

 

Model-wise Double Descent

모델 크기에 대한 Double Descent에 대해, 모델이 CNN, ResNet18에서는 데이터 라벨 노이즈가 있는 조건에서 Double Descent가 발생합니다.

 

Figure4에 나타내는 그래프는 모델이 ResNet18에서 데이터가 CIFAR-100, CIFAR-10의 경우 모델의 폭(Width)이 10 전후로 Double Descent가 발생합니다. 이 정도 크기의 모델에서 과학습이 발생합니다. 또한 모델이 커지면 과학습을 해소할 수 있으며, 모델이 클수록 테스트 데이터에 대한 정확성도 향상됩니다.

 

Epoch-wise Double Descent

학습 횟수에 대한 Double Descent도 예상한 결과가 나오고 있습니다.

충분히 큰 모델은

1. 학습 횟수와 함께 오류가 감소하고

2. 그 후 과적응 상태가 되고

3. 학습을 늘리면 오류가 감소해 갑니다.

 

Figure10에서는, 라벨 소음 10%의 경우에 Double Descent가 발생합니다.

 

 

Sample-wise Non-monotonicity

학습 데이터의 양을 늘리면 테스트 오류는 감소하지만, 테스트 오류의 피크를 오른쪽으로 이동시키는 효과가 있습니다.

 

예를 들어 아래 그림의 경우 (학습) 샘플 수의 증가와 함께 그래프가 아래로(오류가 줄어드는 방향으로) 이동합니다만, 동시에 과도한 학습으로 오류가 증가하는 피크도 오른쪽으로 이동합니다.

기본적으로 데이터를 늘릴수록 좋다는 결론이지만, 특정 상황에서 이러한 효과의 조합으로 인해 데이터를 늘려도 테스트 오류가 늘어나는 경우가 있습니다.

 

정리

모델이 데이터를 다 학습하지 못할 정도로 큰 경우, Double Descent가 생기고 학습량이 많을수록 정확도가 올라갑니다. 이것은 모델의 크기와 데이터 양에 따라서 몇몇 테스트 데이터의 정확성을 악화시킬 가능성도 있다는 것을 보여줍니다.

 

그런데 왜 Double Descent가 발생하는 것인가?

그 이유는 현재도 아직 해결되지 않은 문제이며, 딥 모델을 학습시키는 데 있어서 중요한 연구 과제입니다. 또한 문제에 대한 최적의 모델 크기, 학습 횟수, 데이터의 양의 결정방법도 중요한 미해결 문제입니다. 이들은 머신러닝의 기초에 관한 중요한 과제이기 때문에 앞으로의 연구에 더욱 기대가 큽니다.

반응형