Como evitar overfitting
Assim como em qualquer modelo de machine learning, uma questão fundamental ao treinar uma rede neural convolucional é o overfitting: um modelo tão ajustado aos detalhes dos dados de treinamento que não é possível generalizar para novos exemplos. Veja duas técnicas para evitar overfitting ao criar uma CNN:
- Aumento de dados: aumenta artificialmente a diversidade e o número de exemplos de treinamento executando transformações aleatórias em imagens atuais para criar um conjunto de novas variantes (veja a Figura 7). O aumento de dados é especialmente útil quando o conjunto de dados de treinamento original é relativamente pequeno.
- Regularização de dropout: remoção aleatória de unidades da rede neural durante uma etapa de gradiente de treinamento.
Figura 7. Aumento de dados em uma única imagem de cachorro (excluída do conjunto de dados de "Dogs vs. Cats" disponível no Kaggle). Esquerda: imagem original do cachorro do conjunto de treinamento. Direito: nove imagens novas geradas com a imagem original usando transformações aleatórias.