Path: blob/master/site/pt-br/addons/tutorials/optimizers_conditionalgradient.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
Otimizadores do TensorFlow Addons: ConditionalGradient
Visão geral
Este notebook demonstra como usar o Otimizador Conditional Gradient do pacote do Addons.
ConditionalGradient
A restrição dos parâmetros de uma rede neural mostrou ser vantajosa no treinamento devido a efeitos de regularização subjacentes. Com frequência, os parâmetros são restringidos por uma penalidade soft (que nunca garante a satisfação da restrição) ou por uma operação de projeção (que é computacionalmente cara). O otimizador Conditional gradient (GC), pelo contrário, aplica as restrições estritamente sem a necessidade de um passo caro de projeção. Ele minimiza uma aproximação linear do objetivo no conjunto de restrições. Neste notebook, você demonstra a aplicação da restrição da norma de Frobenius pelo otimizador CG no dataset MNIST. O CG já está disponível como uma API do TensorFlow. Confira mais detalhes sobre o otimizador em https://arxiv.org/pdf/1803.06453.pdf
Configuração
Crie o modelo
Prepare os dados
Defina uma função de callback personalizada
Treine e avalie: usando CG como otimizador
Basta substituir os otimizadores típicos do Keras pelo novo otimizador do tfa
Treine e avalie: usando SGD como otimizador
Norma de Frobenius de pesos: CG x SGD
A implementação atual do otimizador CG é baseada na Norma do Frobenius, considerando-a como regularizadora na função alvo. Portanto, você compara o efeito regularizado do CG com o otimizador SGD, que não aplicou o regularizador de Norma de Frobenius.