Em algumas ocasiões, treinei redes neurais (redes de propagação traseira) com alguns conjuntos de dados bastante complicados (posições de gamão e OCR). Ao fazer isso, parece que muito do trabalho envolve a tentativa de configurações diferentes das redes, a fim de encontrar a configuração ideal para o aprendizado. Freqüentemente, há um compromisso entre redes pequenas que são mais rápidas de usar / aprender e redes maiores, capazes de representar mais conhecimento.
Então eu me pergunto se seria possível criar algumas redes que são rápidas e grandes. Penso que na rede em que todos os neurônios não estão totalmente conectados, deve ser mais rápido calcular do que as redes com conexão completa em todas as camadas. Poderia ser o treinamento que detectou que certas entradas não são necessárias por certos neurônios e, portanto, remove essas conexões. Da mesma forma, o treinamento também pode envolver a adição de novos neurônios se alguns neurônios parecerem "sobrecarregados".
Isso é algo que foi experimentado com algum sucesso? Existe alguma classe de rede com esse tipo de comportamento?