Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Equipment >> Robô industrial

Quantas camadas e nós ocultos uma rede neural precisa?

Este artigo fornece diretrizes para configurar a parte oculta de um Perceptron multicamadas.


Até agora, nesta série sobre redes neurais, discutimos NNs de Perceptron, NNs multicamadas e como desenvolver tais NNs usando Python. Antes de prosseguirmos para a discussão de quantas camadas e nós ocultos você pode escolher para empregar, considere acompanhar a série abaixo.
  1. Como realizar a classificação usando uma rede neural:o que é o Perceptron?
  2. Como usar um exemplo de rede neural simples Perceptron para classificar dados
  3. Como treinar uma rede neural Perceptron básica
  4. Compreendendo o treinamento de rede neural simples
  5. Uma introdução à teoria de treinamento para redes neurais
  6. Compreendendo a taxa de aprendizagem em redes neurais
  7. Aprendizado de máquina avançado com o Multilayer Perceptron
  8. A função de ativação sigmóide:ativação em redes neurais multicamadas Perceptron
  9. Como treinar uma rede neural multicamadas Perceptron
  10. Noções básicas sobre fórmulas de treinamento e retropropagação para percepções multicamadas
  11. Arquitetura de rede neural para uma implementação Python
  12. Como criar uma rede neural multicamadas Perceptron em Python
  13. Processamento de sinais usando redes neurais:validação no projeto de redes neurais
  14. Conjuntos de dados de treinamento para redes neurais:como treinar e validar uma rede neural Python
  15. Quantas camadas e nós ocultos uma rede neural precisa?


Recapitulação da camada oculta


Primeiro, vamos revisar alguns pontos importantes sobre nós ocultos em redes neurais.

O diagrama a seguir resume a estrutura de um Perceptron multicamadas básico.





Quantas camadas ocultas?


Como você pode esperar, não há uma resposta simples para essa pergunta. No entanto, o mais importante a entender é que um Perceptron com uma camada oculta é um sistema computacional extremamente poderoso. Se você não está obtendo resultados adequados com uma camada oculta, tente outras melhorias primeiro - talvez você precise otimizar sua taxa de aprendizado ou aumentar o número de períodos de treinamento ou aprimorar seu conjunto de dados de treinamento. Adicionar uma segunda camada oculta aumenta a complexidade do código e o tempo de processamento.

Outra coisa a se ter em mente é que uma rede neural superpotente não é apenas um desperdício de esforço de codificação e recursos do processador - ela pode realmente causar danos positivos ao tornar a rede mais suscetível a overtraining.

Falamos sobre overtraining na Parte 4, que incluiu o diagrama a seguir como uma forma de visualizar a operação de uma rede neural cuja solução não é suficientemente generalizada.






Um Perceptron com superpotência pode processar dados de treinamento de uma forma que é vagamente análoga a como as pessoas às vezes “pensam demais” em uma situação.

Quando nos concentramos muito nos detalhes e aplicamos um esforço intelectual excessivo a um problema que na realidade é bastante simples, perdemos o “quadro geral” e terminamos com uma solução que se revelará abaixo do ideal. Da mesma forma, um Perceptron com poder de computação excessivo e dados de treinamento insuficientes pode se estabelecer em uma solução excessivamente específica em vez de encontrar uma solução generalizada (como mostrado na próxima figura) que classificará com mais eficácia as novas amostras de entrada.






Então, quando realmente precisamos de várias camadas ocultas? Eu não posso te dar nenhuma orientação por experiência pessoal. O melhor que posso fazer é transmitir a experiência do Dr. Jeff Heaton (consulte a página 158 do texto vinculado), que afirma que uma camada oculta permite que uma rede neural se aproxime de qualquer função envolvendo “um mapeamento contínuo de um espaço finito para outro . ”

Com duas camadas ocultas, a rede é capaz de "representar um limite de decisão arbitrário com precisão arbitrária".


Quantos nós ocultos?


Encontrar a dimensionalidade ideal para uma camada oculta exigirá tentativa e erro. Conforme discutido acima, ter muitos nós é indesejável, mas você deve ter nós suficientes para tornar a rede capaz de capturar as complexidades do relacionamento de entrada-saída.

Tentativa e erro é muito bom, mas você precisará de algum tipo de ponto de partida razoável. No mesmo livro vinculado acima (na página 159), o Dr. Heaton menciona três regras básicas para escolher a dimensionalidade de uma camada oculta. Vou desenvolver isso oferecendo recomendações com base em minha vaga intuição de processamento de sinal.
  1. Se a rede tem apenas um nó de saída e você acredita que a relação entrada-saída necessária é bastante direta, comece com uma dimensionalidade da camada oculta que é igual a dois terços da dimensionalidade de entrada.
  2. Se você tiver vários nós de saída ou acreditar que a relação entrada-saída necessária é complexa, torne a dimensionalidade da camada oculta igual à dimensionalidade de entrada mais a dimensionalidade de saída (mas mantenha-a menor que o dobro da dimensionalidade de entrada).
  3. Se você acredita que a relação entrada-saída exigida é extremamente complexa, defina a dimensionalidade oculta para um a menos do que o dobro da dimensionalidade de entrada.


Conclusão


Espero que este artigo tenha ajudado você a entender o processo de configuração e refinamento da configuração da camada oculta de um Perceptron multicamadas.

No próximo artigo, exploraremos os efeitos da dimensionalidade da camada oculta usando minha implementação Python e alguns exemplos de problemas.

Robô industrial

  1. O que é uma tecla de alternância e como ela funciona?
  2. Como funciona uma prensa de cremalheira e pinhão?
  3. O que é moldagem por transferência e como ela funciona?
  4. O que é uma transmissão e como funciona?
  5. Incorporação de nós de polarização em sua rede neural
  6. Como aumentar a precisão de uma rede neural de camada oculta
  7. Conjuntos de dados de treinamento para redes neurais:como treinar e validar uma rede neural Python
  8. Como Criar uma Rede Neural Perceptron Multicamadas em Python
  9. O que é uma embreagem industrial e como ela funciona?
  10. Quanto HP uma bomba hidráulica precisa?