Path: blob/master/site/pt-br/addons/tutorials/average_optimizers_callback.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
Visão geral
Este notebook demonstra como usar o Otimizador Moving Average com o Model Average Checkpoint do pacote do TensorFlow Addons.
Moving Average
A vantagem do Moving Average é que ele é menos propenso às mudanças desenfreadas de perda ou à representação de dados irregulares no lote mais recente. Ele dá uma ideia suavizada e mais geral do treinamento do modelo até um ponto específico.
Stochastic Average
A média de peso estocástico (SWA) converge para uma óptima mais larga. Ao fazer isso, ela se parece com o ensembling geométrico. A SWA é um método simples que melhora o desempenho do modelo quando é usado como um wrapper em outros otimizadores e resultados de média a partir de diferentes pontos da trajetória do otimizador interno.
Model Average Checkpoint
callbacks.ModelCheckpoint
não oferece a opção de salvar os pesos de média móvel no meio do treinamento, portanto, os Otimizadores Model Average exigem uma callback personalizada. Usando o parâmetroupdate_weights
,ModelAverageCheckpoint
permite o seguinte:
Atribuir os pesos de média móvel ao modelo e salvá-los.
Manter os pesos não médios antigos, mas usar os pesos médios no modelo salvo.
Configuração
Crie o modelo
Prepare o dataset
Vamos comparar três otimizadores:
SGD sem wrapper
SGD com Moving Average
SGD com a média de peso estocástico
Confira o desempenho deles com o mesmo modelo.
Ambos os otimizadores MovingAverage
e StochasticAverage
usam ModelAverageCheckpoint
.