Como adicionar regularizações no TensorFlow?
Descobri em muitos códigos de rede neural disponíveis implementados usando o TensorFlow que os termos de regularização geralmente são implementados adicionando manualmente um termo adicional ao valor da perda.
Minhas perguntas são:
Existe uma maneira mais elegante ou recomendada de regularização do que fazer manualmente?
Eu também acho queget_variable
tem um argumentoregularizer
. Como deve ser usado? De acordo com minha observação, se passarmos um regularizador para ele (comotf.contrib.layers.l2_regularizer
, um tensor representando o termo regularizado será calculado e adicionado a uma coleção de gráficos denominadatf.GraphKeys.REGULARIZATOIN_LOSSES
. Essa coleção será usada automaticamente pelo TensorFlow (por exemplo, usada pelos otimizadores durante o treinamento)? Ou é esperado que eu deva usar essa coleção sozinho?