Aprendizado profundo: por que o aumento do tamanho do lote causa excesso de ajuste e como reduzi-lo?

8

Eu costumava treinar meu modelo na minha máquina local, onde a memória é suficiente apenas para 10 exemplos por lote. No entanto, quando eu migrei meu modelo para a AWS e usei uma GPU maior (Tesla K80), eu poderia acomodar um tamanho de lote de 32. No entanto, todos os modelos da AWS tiveram um desempenho muito, muito ruim, com uma grande indicação de sobreajuste. Por que isso acontece?

O modelo que estou usando atualmente é o modelo inception-resnet-v2, e o problema que tenho como alvo é o de visão computacional. Uma explicação em que consigo pensar é que provavelmente é o processo de norma de lote que o acostuma mais às imagens de lote. Como atenuação, reduzi a média móvel de decaimento batch_norm.

Além disso, devo usar o dropout juntamente com batch_norm? Essa prática é comum?

Minhas imagens de treinamento são de cerca de 5000, mas eu treinei por cerca de 60 épocas. Isso é considerado muito ou devo interromper o treinamento mais cedo?

infomin101
fonte
3
Eu acho que isso uma duplicata: stats.stackexchange.com/questions/164876
usεr11852
Possível duplicata do tamanho do lote
Sentry

Respostas:

3

Capítulo 6 do livro de Goodfellow :

Pequenos lotes podem oferecer um efeito regularizador (Wilson e Martinez, 2003), talvez devido ao ruído que agregam ao processo de aprendizagem. O erro de generalização geralmente é melhor para um tamanho de lote igual a 1. O treinamento com um tamanho de lote tão pequeno pode exigir uma taxa de aprendizado pequena para manter a estabilidade devido à alta variação na estimativa do gradiente. O tempo de execução total pode ser muito alto como resultado da necessidade de executar mais etapas, devido à taxa de aprendizado reduzida e porque são necessárias mais etapas para observar todo o conjunto de treinamento.

Erfan
fonte