Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Evitare l'overfitting
Come per qualsiasi modello di machine learning, un problema chiave durante l'addestramento di una rete neurale convezionale è l'overfitting: un modello così ottimizzato per le specifiche dei dati di addestramento da non essere in grado di generalizzare a nuovi esempi. Esistono due tecniche per
evitare l'overfitting durante la creazione di una CNN:
Aumento dei dati: aumenta artificialmente la diversità e il numero di esempi di addestramento eseguendo trasformazioni casuali sulle immagini esistenti per creare un insieme di nuove varianti (vedi Figura 7). L'aumento dei dati è particolarmente utile quando il set di dati di addestramento originale è relativamente piccolo.
Regolarizzazione con dropout: rimuovi in modo casuale le unità dalla rete neurale
durante un passaggio del gradiente di addestramento.
Figura 7. Aumentazione dei dati su una singola immagine di cane (estratto dal set di dati"Cani contro gatti" disponibile su Kaggle). A sinistra: immagine originale di un cane del set di addestramento.
A destra: nove nuove immagini generate dall'immagine originale utilizzando trasformazioni random.
[null,null,["Ultimo aggiornamento 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|"]]