O overfitting ocorre quando a rede decora os dados de treinamento. Ela falha em generalizar para dados novos não vistos. Primeiramente, a regularização é um conjunto de técnicas para prevenir este problema. Duas abordagens populares são o Dropout e o Data Augmentation. Elas são frequentemente utilizadas em conjunto para melhores resultados. Por exemplo, redes profundas com milhões de parâmetros precisam de forte regularização. Consequentemente, estas técnicas são essenciais para aplicações práticas de deep learning. Portanto, este guia explica como e quando utilizar cada uma delas.
dropout: desligando neurônios aleatoriamente
O Dropout é uma técnica simples e extremamente eficaz. Durante o treinamento, ele “desliga” aleatoriamente uma fração dos neurônios. A probabilidade de desligamento é um hiperparâmetro (tipicamente 0.5). Por exemplo, com dropout 0.5, metade dos neurônios é zerada em cada iteração. Isto força a rede a aprender representações redundantes e robustas. Durante o teste, todos os neurônios permanecem ativos. Contudo, suas saídas são multiplicadas pela probabilidade de permanência (1 – dropout). Matematicamente, durante o treinamento:
data augmentation: aumentando o conjunto de dados artificialmente
Data Augmentation cria variações artificiais das imagens de treinamento. Primeiramente, ela gera novos exemplos a partir dos existentes. Transformações comuns incluem rotações, translações e zoom. Por exemplo, girar uma imagem de um gato em 10 graus não muda sua classe. Outras transformações úteis são inversão horizontal, ajuste de brilho e recortes aleatórios. O aumento de dados é especialmente crucial quando o conjunto original é pequeno. Ele reduz drasticamente o overfitting, especialmente em visão computacional. Diferentemente do dropout, ele não altera a arquitetura da rede. Consequentemente, pode ser combinado com qualquer outra técnica de regularização. Por exemplo, aplica-se data augmentation antes do treinamento ou em tempo real durante o treinamento. Utilize data augmentation sempre que trabalhar com imagens. É uma prática padrão em praticamente todos os problemas de visão.
quando utilizar cada técnica
A escolha da técnica de regularização depende do problema. Utilize Dropout quando a rede tiver muitos parâmetros. Por exemplo, redes totalmente conectadas com milhões de pesos. O Dropout é menos necessário em redes já regularizadas por batch normalization. Utilize Data Augmentation sempre que possível em problemas de visão. Ele é especialmente útil quando o conjunto de dados é pequeno (menos de 10 mil imagens). Combine ambas as técnicas para melhores resultados. Por exemplo, aplique data augmentation no pré-processamento. Adicione camadas de dropout nas últimas camadas totalmente conectadas. Contudo, cuidado com regularização excessiva. Muito dropout (acima de 0.7) pode prejudicar o aprendizado. Data augmentation muito agressiva pode criar exemplos irreais. Portanto, experimente diferentes configurações para encontrar o equilíbrio ideal.