A camada ReLU funciona bem para uma rede superficial?

7

Atualmente, estou trabalhando no treinamento de uma rede neural de 5 camadas e tive alguns problemas com a camada tanh e gostaria de experimentar a camada ReLU. Mas descobri que isso se torna ainda pior para a camada ReLU. Gostaria de saber se é por isso que não encontrei os melhores parâmetros ou simplesmente porque o ReLU é bom apenas para redes profundas?

Obrigado!

nomedeusuário123
fonte
11
até onde sei pela literatura do DNN, as redes ReLu são as ativações mais dominantes, especialmente para redes profundas porque raramente têm problemas de gradiente de fuga / explosão durante o treinamento.
Charlie Parker
2
A rede neural de 5 camadas geralmente não é considerada superficial. Raso é geralmente reservado para camada simples.
Charlie Parker

Respostas:

6

A alteração da função de ativação interage com todas as outras opções de configuração que você fez, desde o método de inicialização até os parâmetros de regularização. Você precisará ajustar a rede novamente.

Sycorax diz restabelecer Monica
fonte
3

Ao substituir sigmoid ou tanh pelo ReLU, normalmente você também precisará:

  1. Diminua sua taxa de aprendizado significativamente, geralmente em 1/100. Isso ocorre porque o resultado da ReLU cresce sem limites e é muito menos resistente a altas taxas de aprendizado.
  2. Aumente o número de parâmetros (ou seja, peso) em cerca de 2X ou mais. Isso ocorre por causa de um problema real.
  3. Pode ser necessário aumentar o número de épocas devido à LR muito menor.
  4. Você normalmente precisará de um método de inicialização melhor que o init aleatório, como Glorot init ou He init. Muitas vezes você pode sobreviver sem isso, mas à custa de uma convergência muito mais lenta.
  5. Muito provavelmente você também precisará de uma regularização mais forte, como a desistência, novamente devido ao maior número de parâmetros e ao aumento do número de épocas.

Portanto, em resumo, as coisas não são tão simples quanto trocar sigmoid / tanh pelo ReLU. Assim que você adicionar o ReLU, você precisará das alterações acima para compensar outros efeitos.

Shital Shah
fonte
talvez você precise de mais camadas de rede neural, além de um número maior de dados de entrada? Por exemplo: esse cara tem problema de convergência com a rede rasa (2 camada): stats.stackexchange.com/questions/284203/...
Peter Teoh
2

ReLU, ou seja, Unidade Linear Retificada e tanh, ambos são funções de ativação não linear aplicadas à camada neural. Ambos têm sua própria importância. É só depende do problema na mão que queremos resolver e o resultado que queremos. Às vezes, as pessoas preferem usar a ReLU em vez de tanh porque a ReLU envolve menos computação .

Quando comecei a estudar Deep Learning, tive a pergunta: por que não usamos apenas a função de ativação linear em vez de não linear ? A resposta é que a saída será apenas uma combinação linear de entrada e a camada oculta não terá efeito e, portanto, a camada oculta não poderá aprender recursos importantes.

Por exemplo, se queremos que a saída esteja dentro de (-1,1), precisamos de tanh . Se precisarmos de saída entre (0,1), use a função sigmóide . No caso de ReLU, ele fornecerá no máximo {0, x} . Existem muitas outras funções de ativação, como o ReLU com vazamento. insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui

Agora, para escolher a função de ativação apropriada para o nosso objetivo de obter melhores resultados, é apenas uma questão de experimento e prática que é conhecida como ajuste no mundo da ciência de dados.

No seu caso, pode ser necessário ajustar seu parâmetro, conhecido como ajuste de parâmetros, como número de neurônios em camadas ocultas, número de camadas etc.

A camada ReLU funciona bem para uma rede superficial?

Sim, é claro que a camada ReLU funciona bem para uma rede superficial.

homem de Ferro
fonte
0

Gostaria de saber se é por isso que não encontrei os melhores parâmetros ou simplesmente porque o ReLU é bom apenas para redes profundas?

Acredito que posso assumir com segurança que você quer dizer hiperparâmetros em vez de parâmetros.

Uma rede neural com 5 camadas ocultas não é superficial. Você pode considerar isso profundamente.

A busca no espaço de hiperparâmetros por melhores parâmetros é uma tarefa sem fim. Por melhor, quero dizer os hiperparâmetros que permitem que a rede atinja os mínimos globais.

Eu concordo com o Sycorax que, depois de alterar a função de ativação, você precisará ajustar a rede novamente. Geralmente, pode-se obter desempenho comparável em várias configurações diferentes de hiperparâmetros para a mesma tarefa.

ingênuo
fonte