Overfitting, 과적합
딥러닝 모델을 연구하는 과정에서 피할 수 없는 문제인 과적합(Overfitting) 지난 포스팅에서 자세히 설명했던 과적합을 간단히 설명해보면 모델의 능력이 높아 학습 데이터를 다 외워버려서 실전 데이터를 판단하는 능력이 떨어지는 걸 뜻합니다. 즉 연습경기는 훌륭한데 실전 경기에서 실력을 보여주지 못하는 경우입니다.
사람에게 도움 될만한 인공지능 제품이 나오려면 모델의 높은 성능은 필수입니다. 모델의 성능을 높이는 과정을 과적합을 해결하는 과정과 같다고 표현할 수도 있을 만큼 모델과 많은 연관성을 가집니다. 모델의 능력이 높아질수록(모델의 층수가 늘어날수록) 성능이 떨어질 확률이 높아집니다. 성능이 떨어진 원인은 정말 다양하며 그에 맞게 해결하는 방법도 여러 가지입니다.
이처럼 과적합은 모델의 성능을 떨어뜨리는 주요 이슈입니다. 이걸 사전에 방지하거나 발생했을 때 해결하는 여러 가지 방법들이 있습니다. 어떤 방법들이 있는지 하나씩 알아보겠습니다.
비전공자도 알수있는 Overfitting(과대적합)과 Underfitting(과소적합) 의미
인공지능의 학습 인공지능이란 사람처럼 배우고 판단할 수 있는 지능을 연구하는 공학분야입니다. 우리는 강아지와 고양이를 잘 구분합니다. 하지만 어떻게 구분하는지 설명할 수 있을까요? 털
aiday.tistory.com
과적합 방지와 해결방법들
1. 충분히 많은 데이터로 학습
이전에 설명한 것처럼 모델이 학습 데이터의 특정 패턴이나 노이즈들까지도 모두 외우게 되어 발생하므로 데이터의 양을 늘려준다면 일반적인 패턴을 학습하게 되어 과적합을 방지 및 해결할 수 있습니다. 준비된 데이터의 양이 너무 적다면 기존 데이터를 조금씩 변형해서 데이터 양을 늘리기도 하는데 이것을 데이터 증식 또는 증강(data augmentation) 방법이라고 합니다.
이미지 데이터 - 이미지를 회전시키거나 일부를 수정, 노이즈 추가를 통한 증식
텍스트 데이터 - 텍스트 데이터를 번역 후 재번역을 통해 만드는 역번역(Back Translation) 증식
2. 모델의 복잡도 줄이기
모델의 능력을 줄인다고 표현할 수 있으며 이것은 데이터 양을 늘려주는 것과 반대로 학습하는 데이터의 수준에 맞게 모델의 능력을 조정해주는 방법입니다. 정확히는 인공 신경망의 은닉층의 수나 매개변수의 수를 줄여줍니다.
3. Regularization
Regularization은 학습데이터(training accuracy)를 낮추고 평가 데이터 정확도(testing accuracy)를 높이는 것입니다. 쉽게 말해 모델이 학습 데이터에 지나치게 의존하지 않도록 페널티를 부과해주는 것입니다. 대표적으로 L1 규제(Lasso:라쏘, 마름모), L2 규제(Lidge:릿지, 원), Drop Out, Early Stopping 등이 있습니다.
4. Normalization
Normalization은 데이터 값의 범위(scale)를 간단하게 만들어주는 것 입니다. 집값이나 거리 등 범위 큰 데이터를 그대로 학습에 사용하면 너무 크면 노이즈가 생기기 쉽습니다. 그렇게 되면 오버 피팅이 발생하기 쉬워집니다. 따라서 학습을 진행하기 전에 데이터를 0~1 사이의 범위로 만들어줍니다. 이 작업을 데이터 스케일링(Data Scaling)이라고 표현합니다. 대표적으로 Batch Normalization, Scikit-learn MinMaxScaler등이 있습니다.
5. Standardization
Standardization은 데이터 값의 범위(scale)를 평균 0, 분산 1로 변환해줍니다. Normalization과 마찬가지로 데이터 범위를 리스케일링 해주어서 노이즈 데이터가 생기는 걸 막아 오버 피팅을 방지합니다. 우리말로 표준화라고 부르며 대표적으로 Scikit-learn StandardScaler등이 있습니다.
내용 참고 서적
한양대학교 인공지능융합대학원 딥러닝 개론 강의자료
'AI' 카테고리의 다른 글
생성적 적대 신경망:GAN 원리/학습/구조/목적함수/활용사례 (41) | 2022.10.25 |
---|---|
배치 정규화:Batch Nomalization 이론/특징/알고리즘/한계/장단점 (66) | 2022.10.24 |
비전공자도 알수있는 Overfitting(과대적합)과 Underfitting(과소적합) 의미 (66) | 2022.10.11 |
[로봇인공지능] 핵심 총정리 (58) | 2022.09.29 |
[로봇인공지능]Markov Decision Process (46) | 2022.09.28 |