compreendendo a normalização de lote

8

No documento Normalização em lote: acelerando o treinamento em rede profunda por Redução da mudança interna de covariáveis ​​( aqui ) Antes de explicar o processo de normalização em lote, o artigo tenta explicar os problemas relacionados (não estou entendendo qual é o problema exato abordado aqui) .

excerto da seção 2, parágrafo 2:

Poderíamos considerar as ativações de clareamento em cada etapa do treinamento ou em algum intervalo, modificando a rede diretamente ou alterando os parâmetros do algoritmo de otimização para depender dos valores de ativação da rede (Wiesler et al., 2014; Raiko et al., 2012 ; Povey et al., 2014; Desjardins & Kavukcuoglu). No entanto, se essas modificações forem intercaladas com as etapas de otimização, a etapa de descida do gradiente pode tentar atualizar os parâmetros de uma maneira que exija que a normalização seja atualizada, o que reduz o efeito da etapa de gradiente. Por exemplo, considere uma camada com a entrada u que adicione o viés aprendidobe normaliza o resultado subtraindo a média da ativação calculada sobre os dados de treinamento: x^=x-E[x] Onde x=você+b,X=x1 ...N é o conjunto de valores de x sobre o conjunto de treinamento e E[x]=1N(Eu=1nxEu) .

Se um passo de descida de gradiente ignora a dependência de E [x] em b, ele atualiza , onde . Então .bb+bb-eu/x^

(1)você+(b+b)-E[você+(b+b)]=você+b-E[você+b]

Assim, a combinação da atualização para be subsequente mudança na normalização não levou a nenhuma alteração na saída da camada nem, consequentemente, à perda. À medida que o treinamento continuar, b crescerá indefinidamente enquanto a perda permanece fixa. Esse problema pode piorar se a normalização não apenas centralizar, mas também dimensionar as ativações.

aqui está o meu entendimento da literatura:

  1. Temos um lote de tamanho N (um lote de treinamento)

  2. Haja duas camadas ocultas arbitrárias conectadas uma à outra (L1 e L2) conectadas pelos parâmetros eWb

  3. saída saindo de L1 é x1

  4. você=x1W (é aqui que a literatura acima começa. a dimensão de u é MxN) (M é o número de unidades em L2)

  5. x=você+b (dimensão b = dimensão x = dimensão u = MxN)

  6. Agora, antes de alimentar x em L2, nós o centralizamos subtraindo a média de de cada entrada em ( )xxx^=x-E[x]

  7. Calculamos a perda e retropropusamos o gradiente e atualizamos apenas a camada para fazer um teste de sanidade. Novo =bbb+Δb

  8. Nós o executamos novamente no mesmo lote com atualizadob

  9. repita 3 e 4

  10. xneW=você+b+Δb (dimensão b, = dimensão x = dimensão u = MxN)Δb

  11. Agora, antes de alimentar x em L2, nós o centralizamos subtraindo a média de de cada entrada em ( ). que é igual ao que foi calculado antes da atualização be, portanto, a atualização b teve efeito no treinamentoxxx^=x+Δb-E[x+Δb]=x-E[x]

Minha pergunta é com esta parte do trecho:

"Se um passo de descida de gradiente ignora a dependência de E [x] em b, ele atualiza , onde . Então ".bb+bb-eu/x^

(1)você+(b+b)-E[você+(b+b)]=você+b-E[você+b]

Porque é

" " depende do que vem antes dele? Qual é o sentido disso? Observe também o uso da palavra "Então" (em negrito), implicando que a declaração necessariamente extrai causalidade do que vem antes

(1)você+(b+b)-E[você+(b+b)]=você+b-E[você+b]
MiloMinderbinder
fonte

Respostas:

3

Vamos supor que você esteja tentando minimizar a seguinte perda para uma determinada tarefa,

(y,y^)=12__y-y^__2,
Onde ____ é a distância euclediana e a saída prevista é y^=x^Pela simplicidade. Os gradientes podem ser calculados da seguinte forma:

Δb=-x^x^b,Δω=-x^x^ω

Agora, o gradiente de x^ com relação ao viés b é

x^b=b(x-E[x])=b((você+b)-E[(você+b)])=1-bE[(você+b)]

Ignorando o fato E(x) depende de b torna o gradiente acima igual a 1 e, portanto, continua atualizando o viés da seguinte maneira:

x^b=1-bE[x]=1-0 0=1
e depois

Δb=-x^(1),bb+Δb

Caso contrário, se você quiser considerar essa dependência, o gradiente se tornará 0 e, portanto, nenhuma atualização será a seguinte:

x^b=1-bE[você+b]=1-(bE[você]+bE[b])=1-(0 0+1)=0 0
e depois
Δb=-x^(0 0),bb+0 0

Nos dois casos, independentemente da atualização de viés, a função de perda permanecerá fixa,

você+(b+Δb)-E[você+(b+b)]=você+b-E[você+b],

no entanto, no primeiro caso, o viés aumentará indefinidamente.

Shadi
fonte