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?
14
Respostas:
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.
fonte