Ich habe gelegentlich neuronale Netze (Back Propagation Networks) mit einigen ziemlich komplizierten Datensätzen (Backgammon-Positionen und OCR) trainiert. Dabei scheint es, dass ein Großteil der Arbeit darin besteht, verschiedene Konfigurationen der Netzwerke auszuprobieren, um die optimale Konfiguration für das Lernen zu finden. Oft gibt es einen Kompromiss zwischen kleinen Netzen, die schneller zu verwenden / zu lernen sind, und größeren Netzen, die mehr Wissen darstellen können.
Dann frage ich mich, ob es möglich sein könnte, einige Netzwerke zu erstellen, die sowohl schnell als auch groß sind. Ich denke, dass in einem Netzwerk, in dem nicht jedes Neuron vollständig verbunden ist, die Berechnung schneller sein sollte als in Netzen mit vollständiger Verbindung auf allen Ebenen. Es könnte das Training sein, das erkannt hat, dass bestimmte Eingaben von bestimmten Neuronen nicht benötigt werden, und daher diese Verbindungen entfernt. In gleicher Weise könnte das Training auch das Hinzufügen neuer Neuronen beinhalten, wenn einige Neuronen "überlastet" zu sein scheinen.
Ist das etwas, das mit Erfolg ausprobiert wurde? Gibt es Klassen von Netzwerken mit dieser Art von Verhalten?