Estou procurando um artigo que possa ajudar a fornecer diretrizes sobre como escolher os hiperparâmetros de uma arquitetura profunda, como auto-codificadores empilhados ou redes de crenças profundas. Existem muitos hiperparâmetros e estou muito confuso sobre como escolhê-los. O uso da validação cruzada também não é uma opção, pois o treinamento realmente leva muito tempo!
38
Respostas:
Existem basicamente quatro métodos:
fonte
Existe uma grande variedade de métodos. Eles podem ser amplamente particionados em métodos de pesquisa aleatórios / não direcionados (como pesquisa em grade ou pesquisa aleatória) e métodos diretos. Esteja ciente, no entanto, de que todos eles exigem testar uma quantidade considerável de configurações de hiperparâmetro, a menos que você tenha sorte (pelo menos centenas, depende do número de parâmetros).
Na classe de métodos diretos, várias abordagens distintas podem ser identificadas:
Você pode procurar no Optunity , um pacote Python que oferece uma variedade de solucionadores para o ajuste de hiperparâmetros (tudo o que mencionei, exceto EGO e Kriging, por enquanto). O Optunity estará disponível para MATLAB e R em breve. Isenção de responsabilidade: eu sou o principal desenvolvedor deste pacote.
Com base na minha experiência pessoal, os métodos evolutivos são muito poderosos para esses tipos de problemas.
fonte
Não procure mais! Yoshua Bengio publicou um dos meus papéis aplicados favoritos, que recomendo a todos os novos engenheiros de aprendizado de máquina quando começarem a treinar redes neurais: recomendações práticas para o treinamento baseado em gradiente de arquiteturas profundas. Para obter sua perspectiva sobre o giro do hiperparâmetro: incluindo taxa de aprendizado, programação da taxa de aprendizado, paradas antecipadas, tamanho de minibatch, número de camadas ocultas etc., consulte a Seção 3.
fonte