Muitos tutoriais online falam sobre descida de gradiente e quase todos usam um tamanho de etapa fixo (taxa de aprendizado ). Por que não há uso de pesquisa de linha (como pesquisa de linha de retorno ou pesquisa de linha exata)?
Muitos tutoriais online falam sobre descida de gradiente e quase todos usam um tamanho de etapa fixo (taxa de aprendizado ). Por que não há uso de pesquisa de linha (como pesquisa de linha de retorno ou pesquisa de linha exata)?
Respostas:
A descida do gradiente de baunilha pode ser mais confiável usando pesquisas de linha; Eu escrevi algoritmos que fazem isso e cria um algoritmo muito estável (embora não necessariamente rápido).
No entanto, quase não faz sentido fazer uma pesquisa de linha por métodos de gradiente estocástico . A razão pela qual digo isso é que, se fizermos uma pesquisa de linha com base na minimização da função de perda total, perdemos imediatamente uma das principais motivações para a execução de métodos estocásticos; agora precisamos calcular a função de perda total para cada atualização, que normalmente possui um custo computacional comparável ao cálculo da primeira derivada completa. Dado que queríamos evitar calcular o gradiente completo por causa dos custos computacionais, parece muito improvável que desejamos concordar com o cálculo da função de perda total.
EDITAR
O @DeltaIV ressalta que isso também se aplica ao minilote, e não apenas às amostras individuais.
Os tutoriais falam sobre a descida do gradiente, presumivelmente porque é um dos algoritmos mais simples usados para otimização, por isso é fácil de explicar. Como a maioria desses tutoriais é bastante breve, eles se concentram em coisas simples. Existem pelo menos vários algoritmos populares de otimização, além da simples descida de gradiente, que são usados para aprendizado profundo. Na verdade, as pessoas geralmente usam algoritmos diferentes e descem gradualmente, pois geralmente convergem mais rapidamente. Alguns deles têm taxa de aprendizado não constante (por exemplo, diminuindo com o tempo). Para revisar esses algoritmos, você pode conferir a publicação Uma visão geral dos algoritmos de otimização de descida por gradiente, publicada por Sebastian Ruder (ou pelo artigo arXived ).