Por que não usamos taxas de aprendizado não constantes para o gradiente decente para outras coisas que não as redes neurais?


14

A literatura de aprendizado profundo está cheia de truques inteligentes com o uso de taxas de aprendizado não constantes na descida do gradiente. Coisas como decaimento exponencial, RMSprop, Adagrad etc. são fáceis de implementar e estão disponíveis em todos os pacotes de aprendizado profundo, mas parecem inexistentes fora das redes neurais. Existe alguma razão para isso? Se as pessoas simplesmente não se importam, existe uma razão pela qual não precisamos nos preocupar fora das redes neurais?


2
Acho que a pesquisa por linha ou o método de região confiável são taxas de aprendizado "não constantes".
Haitao Du

2
Existem muitos métodos de gradiente não constantes que foram desenvolvidos independentemente dos NNs. Barzilai-Borwein GD e Nesterov GD são dois exemplos proeminentes.
Sycorax diz Restabelecer Monica

@ Sycorax, mas eles são realmente usados ​​diariamente fora das NNs?
Tim

2
@ Tim eu não posso dizer. Quando preciso fazer pesquisa local fora das NNs, tenho o luxo de usar métodos de segunda ordem. Mas fiquei empolgado em aprender sobre métodos mais rápidos de GD para a ocasião em que poderia ter um truque fofo no bolso de trás.
Sycorax diz Restabelecer Monica

1
Vale a pena notar que (para minha surpresa) me deparei com casos em que os GBMs não usam taxas constantes de aprendizado, para surpresa das pessoas. Um exemplo específico foi a implementação do DART no LightGBM. Embora os documentos originais não usem uma LR cada vez menor, a implementação real faz por padrão.
usεr11852 diz Reinstate Monic 9/09/19

Respostas:


16

Isenção de responsabilidade: não tenho muita experiência com otimização fora das redes neurais; portanto, minha resposta será claramente tendenciosa, mas há várias coisas que desempenham um papel:

  • As redes neurais (profundas) têm muitos parâmetros . Isso tem várias implicações:

    Em primeiro lugar, meio que exclui os métodos de ordem superior, simplesmente porque o cálculo do Hessian e dos derivados superiores se torna inviável. Em outros domínios, essa pode ser uma abordagem válida melhor do que qualquer ajuste no SGD.

    Em segundo lugar, embora o SGD seja maravilhoso , ele tende a ser impraticável- mente lento. Essas variantes aprimoradas do SGD permitem principalmente um treinamento mais rápido, enquanto potencialmente perdem algumas das boas propriedades do SGD . Em outros domínios, o tempo de treinamento do SGD pode não ser o gargalo, portanto, as melhorias obtidas com a aceleração podem ser simplesmente insignificantes.

  • O treinamento de redes neurais profundas é uma otimização não convexa e não estou ciente dos resultados significativos de relaxamento convexo no campo. Ao contrário de outros campos, as redes neurais não estão focadas em soluções comprovadamente ótimas em termos globais, o que leva a investir mais esforços para melhorar as propriedades da superfície de perda e sua passagem durante a otimização.

    Em outros campos, empregar relaxamento convexo e obter soluções globalmente ideais pode estar no centro do interesse, em vez do algoritmo de otimização, porque uma vez que o problema é definido como um problema convexo, a escolha do algoritmo de otimização não pode melhorar a qualidade da solução. .

Suponho que essa resposta não cubra todos os aspectos possíveis e estou curioso sobre outras opiniões.


Então você está basicamente dizendo que outros problemas são muito mais simples, então não precisa dos truques e o SGD de baunilha é suficiente para eles?
Tim

3
Isso está simplificando demais minha mensagem. 1) alguns problemas podem usar métodos de ordem superior, sem necessidade de SGD adaptável. 2) alguns problemas não podem se beneficiar da melhoria do SGD devido à lei da Amdahl. 3) alguns problemas podem oferecer soluções convexas e a principal dificuldade é colocá-las como convexas. Nada disso diz que outros problemas são muito mais simples que o aprendizado profundo, mas explica por que melhorar o SGD não está no centro de suas atenções.
Jan KUKACKA

Um possível ponto 4: se você adotasse algum outro método e o tornasse complexo o suficiente (alta dimensional, não-linear, não-convexo) para se beneficiar de métodos sofisticados de descida em gradiente, provavelmente seria chamado de rede neural.
22418 Nathaniel

1
@JanKukacka Eu sei, eu estava procurando esclarecimentos, já que sua resposta foi indireta.
Tim
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.