A descida do gradiente sempre converge para o ideal?


21

Gostaria de saber se existe algum cenário em que a descida do gradiente não converja ao mínimo.

Estou ciente de que nem sempre é garantido que a descida do gradiente converja para um ótimo global. Também estou ciente de que ele pode divergir de um ótimo se, digamos, o tamanho da etapa for muito grande. No entanto, parece-me que, se divergir de um ótimo, acabará indo para outro ótimo.

Portanto, a descida do gradiente garantiria convergir para um ótimo local ou global. Isso está certo? Caso contrário, você poderia fornecer um contra-exemplo aproximado?


1
Espero que este link ajude no futuro .. datascience.stackexchange.com/a/28417/35644
Aditya

1
Veja esta resposta para exemplos 3 concretas e simples, incluindo provas, imagens e código que cria uma animação do gradiente descendente
Oren Milman

Respostas:


28

Gradient Descent é um algoritmo projetado para encontrar os pontos ideais, mas esses pontos ideais não são necessariamente globais. E sim, se acontecer de divergir de um local local, poderá convergir para outro ponto ideal, mas sua probabilidade não é muito grande. A razão é que o tamanho da etapa pode ser muito grande, o que leva a recuar um ponto ideal e a probabilidade de oscilar é muito mais do que convergência.

Sobre a descida do gradiente, existem duas perspectivas principais: era do aprendizado de máquina e do aprendizado profundo. Durante a era do aprendizado de máquina, considerou-se que a descida em gradiente encontrará o ideal local / global, mas na era do aprendizado profundo, onde a dimensão dos recursos de entrada é excessiva, é demonstrado na prática que a probabilidade de que todos os recursos sejam localizados nesse valor ótimo em um único ponto não é demais e, em vez disso, procurando ter ótimas localizações nas funções de custo, na maioria das vezes são observados pontos de sela. Essa é uma das razões pelas quais o treinamento com muitos dados e épocas de treinamento faz com que os modelos de aprendizado profundo superem outros algoritmos. Portanto, se você treinar seu modelo, ele encontrará um desvio ou encontrará um caminho para descer ladeira abaixo e não ficará preso nos pontos de sela, mas você deverá ter tamanhos de degraus adequados.

Para mais intuições, sugiro que você se refira aqui e aqui .


3
Exatamente. Esses problemas sempre surgem na teoria, mas raramente na prática real. Com tantas dimensões, isso não é um problema. Você terá um mínimo local em uma variável, mas não em outra. Além disso, a descida em gradiente em mini-lote ou estocástico também ajuda a evitar mínimos locais.
Ricardo Cruz

3
@RicardoCruz sim, eu concordo senhor
Media

12

Além dos pontos que você mencionou (convergência para mínimos não globais e tamanhos de etapas grandes, possivelmente levando a algoritmos não convergentes), "intervalos de inflexão" também podem ser um problema.

Considere o seguinte tipo de função "cadeira reclinável".

insira a descrição da imagem aqui

Obviamente, isso pode ser construído para que haja um intervalo no meio em que o gradiente seja o vetor 0. Nesse intervalo, o algoritmo pode ser bloqueado indefinidamente. Os pontos de inflexão geralmente não são considerados extremos locais.



3

[Nota 5 de abril de 2019: Uma nova versão do documento foi atualizada no arXiv com muitos novos resultados. Também apresentamos versões de retorno do Momentum e NAG, e comprovamos a convergência sob as mesmas premissas do Backtracking Gradient Descent.

Os códigos-fonte estão disponíveis no GitHub no link: https://github.com/hank-nguyen/MBT-optimizer

Melhoramos os algoritmos de aplicação ao DNN e obtivemos um desempenho melhor do que algoritmos de última geração, como MMT, NAG, Adam, Adamax, Adagrad, ...

A característica mais especial de nossos algoritmos é que eles são automáticos; você não precisa fazer o ajuste manual das taxas de aprendizado como prática comum. Nosso ajuste fino automático é de natureza diferente de Adam, Adamax, Adagrad, ... e assim por diante. Mais detalhes estão no jornal.

]

Baseado em resultados muito recentes: No meu trabalho conjunto neste artigo https://arxiv.org/abs/1808.05160

f

Com base no exposto, propusemos um novo método de aprendizado profundo, que está em pé de igualdade com os métodos atuais de última geração e não precisa de ajustes manuais das taxas de aprendizado. (Em poucas palavras , a idéia é que você execute a descida do gradiente de retorno durante um certo período de tempo, até ver que as taxas de aprendizado, que mudam a cada iteração, se estabilizam. Esperamos que essa estabilização, em particular em um ponto crítico C ^ 2 e não é degenerado, devido ao resultado de convergência que mencionei acima.Neste ponto, você muda para o método de descida gradiente padrão. Consulte o artigo citado para obter mais detalhes.Este método também pode ser aplicado a outros algoritmos ideais .)

PS Com relação à sua pergunta original sobre o método de descida de gradiente padrão, que eu saiba apenas no caso em que a derivada do mapa é globalmente Lipschitz e a taxa de aprendizado é pequena o suficiente para que o método de descida de gradiente padrão seja comprovadamente convergido. [Se essas condições não forem satisfeitas, existem contra-exemplos simples que mostram que nenhum resultado de convergência é possível, consulte o artigo citado para alguns.] No artigo citado acima, argumentamos que, a longo prazo, o método de descida gradiente de retorno será o método de descida de gradiente padrão, que explica por que o método de descida de gradiente padrão geralmente funciona bem na prática.

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.