Como e por que a Normalização de lote usa médias móveis para rastrear a precisão do modelo enquanto ele treina?


20

Eu estava lendo o documento de normalização em lote (BN) (1) e não entendia a necessidade de usar médias móveis para rastrear a precisão do modelo e, mesmo se eu aceitasse que era a coisa certa a fazer, não entendo o que eles estão fazendo exatamente.

Para meu entendimento (o que posso estar errado), o artigo menciona que ele usa as estatísticas populacionais em vez do minilote, estatísticas quando o modelo termina o treinamento. Depois de alguma discussão sobre estimativas imparciais (isso me parece tangencial e não entendo por que fala sobre isso), eles dizem:

Usando médias móveis, rastreamos a precisão do modelo enquanto ele treina.

Essa é a parte que é confusa para mim. Por que eles fazem médias móveis para estimar a precisão do modelo e sobre qual conjunto de dados?

Normalmente, o que as pessoas fazem para estimar a generalização de seu modelo, elas apenas rastreiam o erro de validação de seu modelo (e potencialmente interrompem precocemente sua descida do gradiente para regularizar). No entanto, parece que a normalização de lote está fazendo algo completamente diferente. Alguém pode esclarecer o que e por que está fazendo algo diferente?


1 : Ioffe S. e Szegedy C. (2015),
"Normalização de lotes: acelerando o treinamento em rede profunda, reduzindo a mudança de Covariável Interna",
Anais da 32ª Conferência Internacional sobre Aprendizado de Máquina , Lille, França, 2015.
Journal of Machine Learning Research: Volume W&CP 37


Você está satisfeito com a resposta votada? Não é uma "resposta", se você me perguntar; se ainda for relevante, posso fornecer uma resposta melhor.
OverLordGoldDragon 8/11

Respostas:


8

Ao usar batch_normalization, a primeira coisa que precisamos entender é que ele funciona de duas maneiras diferentes quando em Treinamento e Teste .

  1. No treinamento, precisamos calcular a média do mini lote para normalizar o lote

  2. Na inferência, aplicamos apenas estatísticas de mini lotes pré-calculadas

Então, na segunda coisa, como calcular esta estática de mini lotes

Aí vem a média móvel

running_mean = momentum * running_mean + (1 - momentum) * sample_mean
running_var = momentum * running_var + (1 - momentum) * sample_var

Isso não responde à pergunta de nenhuma maneira; foi perguntado "por que" e "como", e um "quê" superficial. Não deve ser votado.
OverLordGoldDragon 8/11

1

Eles estão falando sobre a normalização de lotes, que eles descreveram para o procedimento de treinamento, mas não para inferência.

Este é um processo de normalização das unidades ocultas usando meios de amostra etc.

Nesta seção, eles explicam o que fazer para o estágio de inferência, quando você está apenas fazendo previsões (ou seja, após a conclusão do treinamento).

No entanto, na validação interrompida, você intercala a previsão no conjunto de validação com o treinamento para estimar seu erro de validação.

Portanto, durante esse processo, você não possui uma média populacional (as médias ainda estão mudando à medida que você treina); portanto, você usa uma média operacional para calcular os parâmetros da norma do lote para calcular o desempenho no conjunto de validação.

É nesse sentido que

Usando médias móveis, rastreamos a precisão do modelo enquanto ele treina.

nada a ver com o uso literal dos meios de corrida como uma métrica para o desempenho da rede neural.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.