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:
- Qual é o objetivo exato da camada oculta?
- 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.
Respostas:
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
fonte
Suponho que estamos discutindo redes neurais simples de feed-forward, ou seja, perceptrons de várias camadas.
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.
fonte