Perceber as curvas de perda e precisão

Aug 20 2020

Este é um problema com o qual me deparei repetidamente. Perda (entropia cruzada neste caso) e gráficos de precisão que não fazem sentido. Aqui está um exemplo:

Aqui, estou treinando um ReNet18 no CIFAR10. O otimizador é SGD com taxa de aprendizagem de 0,1, momentum de Nesterov de 0,9, decaimento de peso 1e-4. A taxa de aprendizado é reduzida para a ⅕ nas épocas 60, 120, 160.

  • Inicialmente, as curvas são todas bonitas e elegantes; o que significa que a perda de treinamento e validação está diminuindo e as precisões estão aumentando.
  • Por volta da época 65 ~ 70, você vê sinais de sobreajuste; como val. a perda começa a aumentar e val. a precisão começa a diminuir (a caixa vermelha ). Ainda não há nada de estranho aqui.

Agora, existem duas coisas que não fazem sentido para mim:

  1. Após a época 120 (onde LR é diminuída) val. a perda e a precisão começam a melhorar por algumas épocas (a caixa verde ). Por que diminuir a taxa de aprendizado de repente melhoraria o desempenho de validação de um modelo que já estava com overfitting ?! Eu esperaria que a queda no LR realmente acelerasse o overfitting.

  2. Após a época ~ 125 (a caixa azul ), a perda começa a aumentar, mas a precisão continua melhorando. Eu entendo que a perda pode aumentar enquanto a precisão permanece constante (pelo modelo ficando mais confiante em suas previsões erradas ou menos confiante em suas previsões corretas). Mas não entendo como a precisão pode melhorar enquanto a perda aumenta.

Respostas

hH1sG0n3 Aug 20 2020 at 18:52

Apenas alguns pontos abaixo

  • Caixa vermelha: em termos estritos, o overfitting ocorre quando o modelo está se saindo melhor no treinamento do que o conjunto de validação. E então, eu diria que aqui começa antes do que é indicado em vermelho e provavelmente está relacionado ao modelo que encontra os melhores parâmetros que se aplicam apenas ao conjunto de treinamento. Digno de nota, nenhuma redução significativa de perda de trem.
  • Caixa verde: No treinamento, queda significativa nas perdas. Esta descoberta de mínimos significativamente melhores significa que também pode ser aplicada no conjunto de validação e é realmente refletida na curva de perda de val. Apesar disso, a perda não é melhor do que o checkpoint no início da caixa vermelha.
  • Caixa azul: perda e precisão não são métricas co-dependentes. Enquanto a precisão é uma medida do número de suposições corretas (quantas), a perda é uma medida da distância do correto dado um ponto de dados (a que distância).

Geralmente, lr menor significa que o modelo tem menos "liberdade" para pular muito no espaço de recursos. E assim, há menos chances de ver uma redução significativa e rápida das perdas. Como você sugere, há uma leve tendência de superajuste para cima na perda de valva, mas é tão significativa ou rápida quanto o menor lr permite no treinamento.

Além disso, observe que a perda de seu trem é maior do que a perda de val durante uma boa parte do seu treinamento (~ 55º período). Você pode querer investigar como seu modelo é regularizado, pois isso pode afetar suas curvas de aprendizado de maneiras que podem ajudá-lo a inferir diagnósticos melhor. Por exemplo, em pytorch, a perda de trem entre os estados do modelo (model.train () e model.eval ()) difere significativamente.