Dropout, Otimização, Funções Perda e Exemplos
UFPE
Overfitting é um problema comum em redes neurais, onde o modelo se ajusta excessivamente aos dados de treinamento e perde a capacidade de generalizar para novos dados.
Isso acontece porque a rede pode se tornar muito complexa e memorizar os padrões do conjunto de treinamento. O Dropout ajuda a mitigar esse problema introduzindo uma forma de “ruído” durante o treinamento.
Quando se trata de combater o overfitting, o dropout definitivamente não é a única opção. Existem outras técnicas, como por exemplo:
Parada antecipada: interromper o treinamento automaticamente quando uma medida específica de desempenho (por exemplo, perda de validação, acurácia) parar de melhorar.
Decaimento de peso: incentivar a rede a usar pesos menores adicionando uma penalidade à função de perda (isso garante que as normas dos pesos sejam distribuídas de forma relativamente uniforme entre todos os pesos na rede, o que impede que apenas alguns pesos influenciem fortemente a saída da rede).
Ruído: permitir algumas flutuações aleatórias nos dados através da augmentação (o que torna a rede robusta a uma maior distribuição de entradas e, portanto, melhora a generalização).
Combinação de modelos: fazer a média das saídas de redes neurais treinadas separadamente (requer muito poder computacional, dados e tempo).
Apesar da abundância de alternativas, o dropout continua sendo uma medida protetora extremamente popular contra o overfitting por causa de sua eficiência e eficácia.
Como o dropout remove algumas das unidades de uma camada, uma rede com dropout ponderará as unidades restantes mais fortemente durante cada execução de treinamento para compensar as entradas ausentes.
No entanto, no momento do teste, não é viável usar os pesos do modelo treinado em seus estados exagerados e, portanto, cada peso é reduzido multiplicando-se pelo hiperparâmetro \(p\).
Esse fenômeno pode ser observado no exemplo abaixo.
Vamos observar uma rede com quatro unidades em uma camada (imagem abaixo). O peso em cada unidade será inicialmente \(\dfrac{1}{4} = 0.25\).
Como podemos ver, duas unidades foram “desligadas” aleatoriamente.
Isso significa que as conexões dessas unidades foram removidas temporariamente da rede.
Como apenas duas unidades são consideradas, cada uma terá um peso inicial de \(\dfrac{1}{2} = 0.5\).
No entanto, o dropout é usado apenas no treinamento, então não queremos que esses pesos fiquem fixos nesse valor alto durante o teste.
Para resolver esse problema, quando passamos para a fase de teste, multiplicamos os pesos por \(p\) (como visto na imagem abaixo), terminando com \(0.5*0.5 = 0.25\), que nesse caso, coincidentemente foi igual ao peso inicial correto.
Configurações de hiperparâmetros que têm se mostrado eficazes com a regularização por dropout incluem uma alta taxa de aprendizado decrescente e um alto momento. Isso se deve a alguns fatores específicos:
Portanto, a combinação de uma alta taxa de aprendizado decrescente e um alto momento, junto com a regularização por dropout, pode melhorar significativamente a eficácia do treinamento de redes neurais, resultando em modelos mais robustos e com melhor capacidade de generalização.
Minimização da Função de Perda: O principal objetivo de um otimizador é minimizar a função de perda, que mede o quão bem a rede está performando.
Ajuste dos Pesos: Durante o treinamento, os otimizadores ajustam iterativamente os pesos das conexões neuronais para melhorar a performance da rede.
Eficiência e Convergência: Um bom otimizador deve ser eficiente em termos de tempo de computação e deve garantir a convergência para um mínimo global ou local da função de perda.
Gradiente Descendente: O otimizador mais simples e amplamente utilizado, que ajusta os pesos na direção oposta ao gradiente da função de perda.
Gradiente Descendente Estocástico (SGD): Uma variação do gradiente descendente que atualiza os pesos com base em um subconjunto aleatório dos dados de treinamento.
Adam: Um otimizador popular que combina as vantagens do gradiente descendente com o RMSprop e o momento.
RMSprop: Um otimizador que ajusta a taxa de aprendizado de forma adaptativa com base na média dos gradientes quadrados.
Momentum: Um otimizador que acumula um termo de momento para acelerar a convergência e suavizar o processo de otimização.
A Cross-Entropy é uma função de perda comumente usada em problemas de classificação, especialmente para classificação multiclasse e classificação binária.
Para um problema de classificação binária:
\[\text{Cross-Entropy} = -\frac{1}{n} \sum_{i=1}^{n} \left[ y_i \log(p_i) + (1 - y_i) \log(1 - p_i) \right]\]
Para um problema de classificação multiclasse: \[\text{Cross-Entropy} = -\sum_{i=1}^{n} \sum_{g=1}^{c} y_{i,g} \log(p_{i,g}),\] em que:
Considerando que estamos usando a função de ativação softmax na camada de saída, a função de perda da entropia cruzada é a escolha padrão para problemas de classificação multiclasse, esta é dada por:
\[ \sigma(z_{i,g}) = \frac{e^{z_{i,g}}}{\sum_{g=1}^{c} e^{z_{i,g}}} \]
em que:
Essa função transforma o vetor de valores \(z_i\) em um vetor de probabilidades que somam 1, sendo usada geralmente na camada de saída de modelos de classificação.
RMSE é uma função de perda comumente usada em problemas de regressão. Ela mede a média das diferenças quadradas entre os valores previstos e os valores reais.
\[\text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (\hat{y}_i - y_i)^2}\]
Onde:
BRAGA, A. P.; CARVALHO, A.; LUDEMIR, T. Redes Neurais Artificiais: Teoria e Aplicações. .: [s.n.], 2000.
HOPFWELD, J. J. Neural networks and physical systems with emergent collective computational abilities. Proc. NatL Acad. Sci., v. 79, p. 2554–2558, 1982.
LUDWIG, O.; MONTGOMERY, E. Redes Neurais - Fundamentos e Aplicações com Programas em C. .: Ciência Moderna, 2007.
MINSKY, M.; PAPERT, S. Perceptrons: an introduction to computationational geometry. [S.l.]: MIT Press, 1969.
PINHEIRO, C. A. R. Inteligência Analítica: Mineração de Dados e Descoberta de Conhecimento. .: [s.n.], 2008.
RICH, E.; KNIGHT, K. Inteligência Artificial. .: [s.n.], 1993.
ROSENBLATT, F. Principles of Neurodynamics: Perceptrons and Theory of Brain Mechanisms. .: Washigton, DC, 1962.
OBRIGADO!
Slide produzido com quarto
Redes Neurais - Prof. Jodavid Ferreira