Descida gradiente de


7

Estou lendo Por que o Momentum Really Works , um post do novo diário de destilação. Parafraseando as principais equações que levam à parte que me confunde, o post descreve a intuição em mais detalhes.

O algoritmo de descida de gradiente é dado pelo seguinte processo iterativo

wk+1=wkαf(wk)
Onde wk é o valor da iteração k, a taxa de aprendizado é α e f(w) é o gradiente da função f avaliado em w. A funçãof você deseja minimizar.

A descida de gradiente com momento é dada adicionando "memória" à descida, isto é descrito pelo par de equações:

zk+1=βzk+f(wk)wk+1=wkαzk+1

Na próxima seção "Primeiros passos: descida do gradiente", o autor considera uma função quadrática convexa

f(w)=12wTAwbTw,wRn,ARn,n
que tem gradiente
f(w)=Awb
Se assumirmos UMA é simétrico e invertível, então f tem solução ideal W=UMA-1 1b.

Se usarmos a descida gradiente, iteraremos para esta solução ideal da seguinte maneira

Wk+1 1=Wk-αf(W)=Wk-α(UMAWk-b)

O artigo continua dizendo: "Existe um espaço muito natural para ver a descida gradiente, onde todas as dimensões agem independentemente - os autovetores de UMA". Acho que isso faz sentido, embora minha intuição seja meio confusa.

Toda matriz simétrica UMA tem uma decomposição de autovalor em que

UMA=Qdiag(λ1 1,,λn)QT.

Onde λ1 1>>λn e Q é o vetor com os vetores próprios correspondentes como colunas (certo?).

Esta próxima parte é onde eu não entendo o que está acontecendo:

Se fizermos uma mudança de base, xk=QT(Wk-W), as iterações se separam, tornando-se:

xik+1=xikαλixik=(1αλi)xik=(1αλi)k+1xi0

Voltando ao nosso espaço original w, nós podemos ver isso

wkw=Qxk=in=xi0(1αλi)kqi

O que está acontecendo aqui? Onde está a motivação de tomarwkwno eigendomain? O que éxk? Por que agora estamos olhando para elementos inviduais do vetor? Eu tentei seguir as caculações, masxk+1 depende de wk+1 o que depende zk, que pensei que estávamos tentando eliminar. Minha pergunta é: alguém pode expandir esses poucos passos com alguma intuição e cálculos? Obrigado.

Respostas:


5

Em muitas aplicações matemáticas, a motivação fica mais clara após a obtenção do resultado. Então, vamos começar com a álgebra.

Suponha que devemos executar o GD por Titerações. Isso nos dará o conjunto(wk)k=1T.

Vamos fazer uma mudança de base:

wk=Qxk+w xk=QT(wkw)

Agora temos (xk)k=1T. O que podemos dizer sobre eles? Vamos olhar para cada coordenada separadamente. Ao substituir o acima e usar a etapa de atualização do GD,

xik+1=(QT(wk+1w))i=(QT(wkα(Awkb)w))i

Arranjar,

xik+1=(QT(wkw))iα(QT(Awkb))i

O primeiro termo é exatamente xik. Para o segundo mandato, substituímosUMA=QdEuumag(λ1 1λn)QT. Isso produz,

xEuk+1 1=xEuk-αλEuxEuk=(1 1-αλEu)xEuk

Qual foi um único passo. Repetindo até chegarmos aox0 0, Nós temos

xEuk+1 1=(1 1-αλEu)k+1 1xEu0 0

Tudo isso parece realmente inútil neste momento. Vamos voltar à nossa preocupação inicial, aWs. De nossa mudança original de base, sabemos queWk-W=Qxk. Outra maneira de escrever a multiplicação da matrizQ pelo vetor xk é tão EuxEukqEu. Mas mostramos acima quexEuk=(1 1-αλEu)kxEu0 0. Conectando tudo, obtivemos a fórmula "formulário fechado" desejada para a etapa de atualização do GD:

Wk-W=EuxEu0 0(1 1-αλEu)kqEu

Esta é essencialmente uma expressão para o "erro" na iteração k de GD (a que distância estamos da solução ideal, W) Como estamos interessados ​​em avaliar o desempenho da GD, essa é a expressão que queremos analisar. Existem duas observações imediatas. A primeira é que esse termo chega a 0 comokvai para o infinito, o que obviamente é uma boa notícia. A segunda é que o erro se decompõe muito bem nos elementos separados dex0 0, o que é ainda melhor para o bem de nossa análise. Aqui cito o post original, pois acho que eles explicam bem:

Cada elemento de x0 0 é o componente do erro no palpite inicial no Q-base. temn tais erros, e cada um desses erros segue seu próprio caminho solitário ao mínimo, diminuindo exponencialmente com uma taxa composta de 1 1-αλEu. Quanto mais próximo esse número é de 1, mais lento ele converge.

Espero que isso esclareça as coisas o suficiente para você continuar lendo o post. É realmente bom!


Uau, muito obrigado, esta é uma excelente resposta! Talvez eu devesse ter lido um pouco mais sobre qual era o objetivo de tudo isso. Fácil ficar desanimado quando você está perdido no primeiro pouco de matemática em uma revista dedicada a explicações claras: P
HBeel

1

Eu li o mesmo artigo, fiquei preso no mesmo lugar e trabalhei com a ajuda da resposta de galoosh33 .

Eu simplesmente não achei óbvio o passo:

xEuk+1 1=(QT(Wk-W))Eu-α(QT(UMAWk-b))Eu=xEu-αλEuxEuk

Portanto, para aqueles que não querem trabalhar com a álgebra e não vêem imediatamente, como nos livramos b, é de substituição Wk=Qxk+W e W=UMA-1 1b e o fato de os autovetores serem ortogonais Q-1 1=QT.

(QTUMAWk-QTb)Eu=(QTUMAQxk+QTUMAWUMA-1 1b-QTb)Eu=(QTQEudiag(λ1 1,,λn)QTQEuxk+QTUMAUMA-1 1Eub-QTb0 0)Eu=λEuxEuk


0

Fornecerei alguns comentários no idioma do aprendizado de máquina que, com sorte, o levarão a uma conclusão lógica útil.

Primeiro, minimizar esse objetivo quadrático é como resolver um problema dos mínimos quadrados (se isso não for óbvio, tente prová-lo como um exercício). Segundo, para qualquer problema de mínimos quadrados, se os recursos são ortogonais, estimar os coeficientes de forma separada ou sequencial (como fazer exatamente uma rodada de descida de coordenadas) é equivalente a estimar em conjunto. (Se isso não for óbvio, suponha que os recursos sejam ortogonais. Você vê issoUMAdeve ser diagonal? Isso significa que cada entrada da solução não depende das outras).

Então agora a pergunta é: como podemos resolver o mesmo problema, mas com uma matriz diagonal no lugar de UMA? Terceiro, o2A norma é invariante ortogonalmente; portanto, se você esquerda ou direita multiplica o que estiver dentro da norma por uma matriz ortogonal (que é interpretada como uma rotação), você pode simplesmente resolver esse problema e depois recuperar a transformação ortogonal no final. Desde aUMA é simétrico positivo semi-definido, podemos obter essas matrizes ortogonais a partir da decomposição do autovalor de UMA (também conhecido por "diagonalizando" UMA)

Voltar às estatísticas: Esse processo às vezes é chamado de clareamento ou pré-clareamento, embora eu acredite que haja uma falta de concordância quanto ao uso desse termo.

Coloque de forma simples e vaga, no espaço próprio da UMA, as colunas / linhas de UMA pode ser visto como informações totalmente separadas e não relacionadas.

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.