Finalidade e determinação de quando usar camadas ocultas

9

Continuando com esta pergunta ...

Estou tentando aprender a usar e criar redes neurais para minha pesquisa, e um ponto está me escapando um pouco. Percebo que as camadas ocultas são uma parte um tanto necessária disso, mas estou preso em dois pontos que minhas referências não estão explicando para minha satisfação:

  1. Qual é o objetivo exato da camada oculta?
  2. Como se determina quantas camadas ocultas usar?

Pelo que entendi, é "modelar" a funcionalidade do mundo real, mas, se possível, gostaria de uma explicação um pouco mais.

te
fonte
mas há algum tempo, acho que, se você aumentar as camadas ocultas, o problema de super adaptação é muito difícil de dizer quantas camadas ocultas podemos usar? pode ser que seja atingido e método de teste.

Respostas:

9

Uma camada oculta é usada para aumentar a expressividade da rede. Ele permite que a rede represente modelos mais complexos do que é possível sem a camada oculta.

Escolher o número de camadas ocultas ou, geralmente, escolher sua arquitetura de rede, incluindo o número de unidades ocultas nas camadas ocultas, são decisões que devem se basear nos dados de treinamento e de validação cruzada. Você deve treinar a rede com uma quantidade definida de nós (para iniciar, tente uma camada oculta, com uma unidade por unidade de entrada) e teste o modelo.

Consulte este link para obter mais ajuda: http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html

Neal Tibrewala
fonte
11
esse link é bastante útil
the_e
6

Suponho que estamos discutindo redes neurais simples de feed-forward, ou seja, perceptrons de várias camadas.

  1. A camada oculta é necessária para capturar dependências não lineares entre os recursos de seus dados e a variável que você está tentando prever. Se você não usar uma camada oculta, também poderá usar regressão linear (para regressão) ou regressão logística (para classificação).
  2. Tentando vários números de camadas ocultas e avaliando como elas funcionam, por exemplo, em uma configuração de validação cruzada. Geralmente, uma camada oculta será suficiente e o desempenho da NN é otimizado variando seu tamanho e a regularização.

Observe que, com mais de duas camadas ocultas, você está em um ambiente de aprendizado profundo e provavelmente precisa de algoritmos personalizados para treinar sua rede. O motivo é que a retropropagação de baunilha sofre com o problema do "gradiente de fuga" em redes profundas: o gradiente da função de erro morre nas camadas próximas à entrada e essas camadas dificilmente serão treinadas.

Fred Foo
fonte