Os métodos de pesquisa de linha são usados ​​no aprendizado profundo? Por que não?

18

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)?α

Haitao Du
fonte
5
"E quase todos eles usam um tamanho fixo de etapa" - você tem certeza? Os hiper parâmetros da "taxa de aprendizagem" devem adaptar o tamanho da etapa às condições. Um muito popular algoritmo de Adam faz adaptar o tamanho do passo
Aksakal
1
hmm, métodos de gradiente de tamanho de etapa realmente adaptativos existem desde pelo menos 2011 e são citados na página de descida de gradiente estocástico da Wikipedia . Não são exatamente notícias quentes. Mesmo o SGD de baunilha é quase sempre usado com uma taxa de aprendizado que muda com o número de iterações ( programação ). Agora, uma pergunta muito boa seria: por que, mesmo que haja tantos métodos de descida de gradiente adaptável, a SGD ainda domina o mundo do Deep Learning? A questão é muito menos trivial do que parece.
DeltaIV 4/18
1
O retorno da pesquisa de linha fixa uma direção e, em seguida, procura uma maneira de reduzir a função. Portanto, a menos que você tenha uma maneira inteligente de escolher a direção para pesquisar, estará em uma otimização tediosa.
Alex R.
1
Não vejo que a pesquisa de linhas faça sentido para o SGD (em oposição à descida em gradiente [em lote]) - então eu diria que esse é o motivo.
Seanv507
3
Suspeito que o motivo pelo qual a pesquisa de linhas não seja muito popular seja o lote em descida gradiente. Você obtém um lote e calcula o gradiente. Não faz muito sentido ir e voltar da linha por causa do ruído no gradiente. É melhor continuar com o próximo lote, enquanto talvez recozendo o tamanho da etapa.
Aksakal

Respostas:

14

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.

Cliff AB
fonte
4
muito bom (+1), mas não sei por que, no último exemplo, você fala sobre uma única amostra. Concordo que calcular a pesquisa de linha com base em um minilote não faz sentido, mas um minilote ainda contém 512 amostras (geralmente e quando se fala em ImageNet): é claro que não há valor fixo para o número de amostras em um minilote. lote, mas uma amostra de mini lotes é um pouco extremada. Você os usou apenas para deixar seu argumento mais claro ou estou perdendo alguma coisa?
DeltaIV 5/0118
2
@ DeltaIV: amostra única é principalmente para fazer um ponto sobre o quão ruim poderia ser em um problema muito simples. Se fizéssemos mini-lote com 512 amostras em regressão logística com mais de 512 covariáveis, veríamos o mesmo problema.
Cliff AB
10

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 ).

Tim
fonte
2
@ DeltaIV: Todos os "outros" métodos sofisticados são construídos sobre o SGD. A questão principal é que os outros métodos aproveitam o conhecimento local para fazer saltos mais eficientes, em vez de apenas pontos de amostragem aleatórios para calcular o gradiente. Mas o SGD é tão simples e rápido, e não é completamente terrível por si só.
Alex R.
2
@AlexR. o ponto não é que o SGD seja simples e / ou rápido. A simplicidade não importa, pois todas as bibliotecas decentes implementam SGD, Adam, AdaGrad e RMSProp (e mais, às vezes). A velocidade importa ainda menos, porque o tempo gasto, por exemplo, por Adam, para calcular as atualizações no nível dos parâmetros é infinitesimal comparado ao tempo geral de treinamento de um modelo como o ResNet. O único ponto é que, por algum motivo que ainda não compreendemos hoje, a SGD generaliza melhor do que eles. Então, basicamente, se você quer vencer o SOTA, geralmente é forçado a usá-lo, ou pelo menos a mudar mais tarde durante o treinamento.
DeltaIV 4/18
3
@ DeltaIV Muito interessante. Abri o artigo ao qual você vinculou e faz referência à pré-impressão de Wilson e cols. 2017 para a alegação de que a SGD generaliza melhor do que Adam etc .; então quando você diz que é "bem conhecido", quer dizer bem conhecido desde cerca de meio ano, certo?
Ameba diz Reinstate Monica
2
@DeltaIV Thanks. Eu não estou aprendendo muito profundamente e nem sabia disso. Em 2012, mais ou menos, quando eu assistia às palestras de Hinton em Coursera, ele defendia principalmente o RMSprop e, nos últimos 1-2 anos, minha impressão foi de que todo mundo está usando Adam (que substitui o RMSprop, de acordo com o artigo de Adam). Quando eu estava jogando com auto-codificadores no ano passado, percebi que Adam trabalha muito mais rápido que o SGD, e desde então assumi que Adam é uma opção padrão hoje em dia.
Ameba diz Reinstate Monica
3
@CliffAB Sim, a relação entre parada precoce e regularização pode ser claramente vista para mínimos quadrados, onde a descida do gradiente opera na base do autovalor e os autovalores pequenos são os últimos a convergir; enquanto a penalidade na crista também penaliza pequenos autovalores. Eu tinha agora apenas uma rápida olhada em Wilson et al. acima, mas pelo menos em seus mínimos quadrados, o exemplo SGD vs Adam diferente não é explicado por paradas antecipadas e tardias. Eles alegam que convergem para diferentes soluções.
Ameba diz Restabelecer Monica