Respostas:
Não há uma maneira direta de encontrar o número ideal deles: as pessoas tentam empiricamente ver (por exemplo, usando a validação cruzada). As técnicas de pesquisa mais comuns são pesquisas aleatórias, manuais e em grade.
Existem técnicas mais avançadas, como processos gaussianos, por exemplo, otimização de hiperparâmetros de redes neurais com processos gaussianos para classificação de atos de diálogo , IEEE SLT 2016 .
Para uma abordagem mais inteligente do que pesquisas aleatórias ou exaustivas, você pode tentar um algoritmo genético como o NEAT http://nn.cs.utexas.edu/?neat . No entanto, isso não garante que encontre um ótimo global, é simplesmente um algoritmo de otimização baseado no desempenho e, portanto, vulnerável a ficar preso em um ótimo local.
Papel Szegedy C, Vanhoucke V, Ioffe S, et al. Repensando a arquitetura inicial para visão computacional [J]. pré-impressão do arXiv arXiv: 1512.00567, 2015. fornece alguns princípios gerais de design:
Evite gargalos representacionais, especialmente no início da rede;
Equilibre a largura e a profundidade da rede. O desempenho ideal da rede pode ser alcançado equilibrando o número de filtros por estágio e a profundidade da rede. Aumentar a largura e a profundidade da rede pode contribuir para redes de maior qualidade. No entanto, a melhoria ideal para uma quantidade constante de computação pode ser alcançada se ambos forem aumentados em paralelo. O orçamento computacional deve, portanto, ser distribuído de maneira equilibrada entre a profundidade e a largura da rede.
Porém, essas sugestões não oferecem o número ideal de neurônios em uma rede.
No entanto, ainda existem algumas pesquisas de compressão de modelos, por exemplo, Structured Sparsity Learning (SSL) da Deep Neural Networks , SqueezeNet , rede de poda que podem lançar alguma luz sobre como otimizar os neurônios por camada única.
Especialmente no aprendizado de escassez estruturada de redes neurais profundas , ele adiciona um Group Lasso
termo de regularização na função de perda para regularizar as estruturas (ou seja, filtros, canais, formas de filtro e profundidade da camada) de DNNs, que é zerar alguns componentes ( isto é, filtros, canais, formas de filtro e profundidade da camada) da estrutura da rede e obtém uma notável compactação e aceleração da rede, enquanto mantém uma pequena perda de precisão na classificação.
Você sabe que quando você tem muitos neurônios, é quando você supera o ajuste. Isso significa que não está funcionando bem porque o NN está tentando ativar a correspondência mais perfeita possível. Como dois gatos diferentes com a mesma quantidade de átomos, ou seja, é um detector NN que só é ativado em uma foto do seu gato de estimação e nada mais. Você deseja uma faixa mais ampla para o nn ativar. Como em qualquer foto de gato.
Overfitting é um problema que não tem uma solução rápida real. Você pode começar com muito poucos e continuar adicionando mais. Ou comece com muito e remova-os até que funcione corretamente.