Até onde eu sei, a coisa mais próxima do que você pode estar procurando é este artigo recente de pesquisadores do Google: Normalização em lote: acelerando o treinamento em rede profunda, reduzindo a mudança de Covariada interna .
Normalização de lote
Considere a saída de ativação de uma camada que é a não linearidade (ReLU, tanh, etc), são os pesos e os vieses respectivamente e é o minibatch de dados.euyeu= f( Wx + b )fW, bx
O que a Normalização em lote (BN) faz é o seguinte:
- Padronize para ter zero médio e variância um. Fazemos isso no minibatch. Vamos denotar os valores padronizados de ativação intermediária, ou seja, é a versão normalizada de .Wx + bx^x^Wx + b
- Aplique uma transformação afiada parametrizada (aprendível)x^→ γx^+ β.
- Aplique a não linearidade: .y^eu= f( γx^+ β)
Portanto, o BN padroniza as saídas de ativação "brutas" (leia-se: antes de aplicar a não linearidade) com zero médio, variação 1, e depois aplicamos uma transformação afiada aprendida e, finalmente, aplicamos a não linearidade. Em certo sentido, podemos interpretar isso como permitindo à rede neural aprender uma distribuição de entrada parametrizada apropriada para a não linearidade.
Como toda operação é diferenciável, podemos aprender parâmetros por meio de retropropagação.γ, β
Motivação de transformação afim
Se não realizássemos uma transformação afim parametrizada, toda não linearidade teria como distribuição de entrada uma distribuição média de zero e variância 1. Isso pode ou não ser ideal. Observe que, se a distribuição de entrada média zero, variância 1 for ideal, a transformação afim poderá teoricamente recuperá-la definindo igual à média do lote e igual ao desvio padrão do lote. Ter essa transformação afim parametrizada também tem o bônus adicional de aumentar a capacidade de representação da rede (parâmetros mais aprendidos).βγ
Padronizando primeiro
Por que padronizar primeiro? Por que não aplicar apenas a transformação afim? Teoricamente falando, não há distinção. No entanto, pode haver um problema de condicionamento aqui. Ao padronizar primeiro os valores de ativação, talvez seja mais fácil aprender parâmetros ideais . Isso é pura conjectura de minha parte, mas houve análogos semelhantes em outras arquiteturas de convenção de última geração. Por exemplo, no relatório técnico recente da Microsoft Research Deep Residual Learning for Image Reconhecimentoγ, β, eles aprenderam uma transformação na qual usaram a transformação de identidade como referência ou linha de base para comparação. Os co-autores da Microsoft acreditavam que ter essa referência ou linha de base ajudou a pré-condicionar o problema. Não acredito que seja exagero imaginar que algo semelhante está ocorrendo aqui com o BN e com a etapa inicial de padronização.
Aplicações BN
Um resultado particularmente interessante é que, usando a Normalização em lote, a equipe do Google conseguiu que uma rede de iniciação de tanh fosse treinada no ImageNet e obtivesse resultados bastante competitivos. Tanh é uma não-linearidade saturante e tem sido difícil conseguir que esses tipos de redes aprendam devido ao problema de gradação de saturação / desaparecimento. No entanto, usando a Normalização em lote, pode-se supor que a rede foi capaz de aprender uma transformação que mapeia os valores de saída de ativação no regime não saturante das não linearidades de tanh.
Notas Finais
Eles até fazem referência ao mesmo fato Yann LeCun que você mencionou como motivação para a Normalização de lotes.