Ao treinar redes neurais, há pelo menos quatro maneiras de regularizar a rede:
além disso, é claro, outras coisas, como compartilhamento de peso e redução do número de conexões, que podem não ser regularização no sentido mais estrito.
Mas como escolher qual desses métodos de regularização usar? Existe uma maneira mais baseada em princípios do que "apenas tentar de tudo e ver o que funciona"?
neural-network
regularization
Thomas Johnson
fonte
fonte
Respostas:
Não existem princípios fortes e bem documentados para ajudá-lo a decidir entre os tipos de regularização nas redes neurais. Você pode até combinar técnicas de regularização, não precisa escolher apenas uma.
Uma abordagem viável pode basear-se na experiência e seguir os resultados da literatura e de outras pessoas para ver o que deu bons resultados em diferentes domínios de problemas. Tendo isso em mente, o abandono provou ser muito bem-sucedido em uma ampla gama de problemas, e você provavelmente pode considerá-lo uma boa primeira opção quase independentemente do que está tentando.
Às vezes, apenas escolher uma opção com a qual você esteja familiarizado pode ajudar - trabalhar com técnicas que você entende e tem experiência pode obter melhores resultados do que tentar um pacote completo de opções diferentes, nas quais você não tem certeza de qual ordem de magnitude tentar por um parâmetro . Uma questão importante é que as técnicas podem interagir com outros parâmetros de rede - por exemplo, você pode aumentar o tamanho das camadas com desistências, dependendo da porcentagem de desistências.
Por fim, pode não interessar imensamente quais técnicas de regularização você está usando, apenas para entender seu problema e modelar o suficiente para detectar quando está se ajustando demais e poderia ter mais regularização. Ou vice-versa, identifique quando está com pouco ajuste e você deve reduzir a regularização.
fonte
Método de regularização
Para as quatro técnicas a seguir, é desnecessário dizer que a Regularização L1 e a Regularização L2 devem ser um método de regularização. Eles diminuem o peso. L1 se concentraria em diminuir uma quantidade menor de peso se os pesos tivessem maior importância.
O abandono evita o excesso de ajustes, eliminando temporariamente os neurônios. Eventualmente, calcula todos os pesos como uma média para que o peso não seja muito grande para um neurônio específico e, portanto, é um método de regularização.
A normalização de lotes não deve ser um método de regularização, pois o principal objetivo é acelerar o treinamento, selecionando um lote e forçando o peso a ser distribuído próximo de 0, nem muito grande nem muito pequeno.
Escolhendo
Para mim, o mini-lote é obrigatório, pois pode acelerar o processo e melhorar o desempenho da rede sempre.
L1 e L2 são semelhantes e eu preferiria L1 em redes pequenas.
Idealmente, o abandono deve ser aplicado se houver um grande problema de variação ou ajuste excessivo.
Por último, mas não menos importante, concordo com Neil Slater que isso depende da situação e que nunca haverá uma solução ótima.
Eu recomendo que você leia isso para obter mais informações. Este é um material muito bom. http://neuralnetworksanddeeplearning.com/chap3.html
fonte
Observe essas opções algorítmicas como hiperparâmetros adicionais e otimize-as da mesma maneira que você faz para seus outros hiperparâmetros. Normalmente, isso exigirá mais dados.
fonte