어떤 머신러닝 모델에서나 그렇듯이 컨볼루션 신경망을 학습시킬 때 가장 중요한 관심사는 과적합이 발생하지 않도록 하는 것입니다. 과적합이란 모델이 학습 데이터의 특성에 지나치게 맞춰져 새로운 예를 접했을 때 일반화할 수 없는 상태를 말합니다. CNN을 구축할 때 다음과 같은 두 가지 기법을
사용하여 과적합을 방지할 수 있습니다.
데이터 확장: 기존 이미지를 임의로 변형함으로써 학습용 예의 다양성과 개수를 인위적으로 늘려 새로운 변형 세트를 만듭니다 (그림 7 참고). 데이터 확장은 학습용 데이터 세트가 비교적 작을 때 특히 유용합니다.
드롭아웃 정규화: 학습 중 경사(gradient) 단계에서 신경망으로부터 유닛을 임의로 삭제합니다.
그림 7. 개 이미지 1개를 대상으로 한 데이터 확장 (Kaggle에서 제공되는 '개와 고양이' 데이터 세트에서 발췌). 왼쪽: 학습 세트의 원본 개 이미지.
오른쪽: 임의의 변형을 사용해 원본 이미지에서 생성된 9개의 새로운 이미지
[null,null,["최종 업데이트: 2025-01-18(UTC)"],[[["\u003cp\u003eOverfitting in convolutional neural networks can be mitigated by using techniques like data augmentation and dropout regularization.\u003c/p\u003e\n"],["\u003cp\u003eData augmentation involves creating variations of existing training images to increase dataset diversity and size, which is particularly helpful for smaller datasets.\u003c/p\u003e\n"],["\u003cp\u003eDropout regularization randomly removes units during training to prevent the model from becoming overly specialized to the training data.\u003c/p\u003e\n"],["\u003cp\u003eWhen dealing with large datasets, the need for dropout regularization diminishes and the impact of data augmentation is reduced.\u003c/p\u003e\n"]]],[],null,["# ML Practicum: Image Classification\n\n\u003cbr /\u003e\n\nPreventing Overfitting\n----------------------\n\nAs with any machine learning model, a key concern when training a convolutional\nneural network is *overfitting*: a model so tuned to the specifics of the\ntraining data that it is unable to generalize to new examples. Two techniques to\nprevent overfitting when building a CNN are:\n\n- **Data augmentation**: artificially boosting the diversity and number of training examples by performing random transformations to existing images to create a set of new variants (see Figure 7). Data augmentation is especially useful when the original training data set is relatively small.\n- **Dropout regularization**: Randomly removing units from the neural network during a training gradient step.\n\n| For more on dropout regularization, see [Training Neural Nets using Backpropagation](https://developers.google.com/machine-learning/crash-course/neural-networks/backpropagation) in [Machine Learning Crash Course](https://developers.google.com/machine-learning/crash-course/).\n\n*Figure 7. Data augmentation\non a single dog image (excerpted from the [\"Dogs vs. Cats\" dataset](https://www.kaggle.com/c/dogs-vs-cats/data)\navailable on Kaggle). **Left** : Original dog image from training set.\n**Right**: Nine new images generated from original image using random\ntransformations.*\n| Overfitting is more of a concern when working with smaller training data sets. When working with big data sets (e.g., millions of images), applying dropout is unnecessary, and the value of data augmentation is also diminished.\n| **Key Terms**\n|\n| |---------------------------------------------------------|-------------------------------------------------------------------------------|\n| | - data augmentation | - [dropout regularization](/machine-learning/glossary#dropout_regularization) |\n| | - [overfitting](/machine-learning/glossary#overfitting) |\n|"]]