Wie kann ich die Wahl der Topologie eines neuronalen Netzwerks für ein beliebiges Problem automatisieren?

14

Angenommen, ich möchte ein Problem mit einem neuronalen Netzwerk lösen, das entweder nicht zu bereits vorhandenen Topologien (Perceptron, Konohen usw.) passt, oder ich bin mir dessen Existenz einfach nicht bewusst, oder ich kann ihre nicht verstehen Mechaniker und ich verlassen uns stattdessen auf meine eigenen.

Wie kann ich die Wahl der Topologie (dh die Anzahl der Schichten, die Art der Aktivierungen, die Art und Richtung der Verbindungen usw.) eines neuronalen Netzwerks für ein beliebiges Problem automatisieren?

Ich bin ein Anfänger, aber ich habe festgestellt, dass es in einigen Topologien (oder zumindest in Perzeptronen) sehr schwierig, wenn nicht unmöglich ist, die innere Mechanik zu verstehen, da die Neuronen der verborgenen Schichten keinen mathematisch bedeutsamen Kontext ausdrücken.

Zoltán Schmidt
quelle

Antworten:

11

In diesem Fall sollten Sie wahrscheinlich einen genetischen Algorithmus verwenden, um eine Topologie zu generieren, anstatt selbst zu arbeiten. Ich persönlich mag NEAT (NeuroEvolution of Augmenting Topologies) .

Das NEAT-Originalpapier enthält das Entwickeln von Gewichten für Verbindungen. Wenn Sie jedoch nur eine Topologie wünschen, können Sie stattdessen einen Gewichtungsalgorithmus verwenden. Sie können Aktivierungsfunktionen auch mischen, wenn Sie nicht sicher sind, welche Sie verwenden sollen. Hier ist ein Beispiel für die Verwendung von Backpropagation und mehreren Neuronentypen.

DanTheMan
quelle