Jak mogę zautomatyzować wybór topologii sieci neuronowej dla dowolnego problemu?

14

Załóżmy, że chcę rozwiązać problem z siecią neuronową, którego albo nie mogę dopasować do już istniejących topologii (perceptron, Konohen itp.), Albo po prostu nie jestem świadomy ich istnienia lub nie jestem w stanie zrozumieć ich zamiast tego polegam na mechanice.

Jak mogę zautomatyzować wybór topologii (tj. Liczby warstw, rodzaju aktywacji, rodzaju i kierunku połączeń itp.) Sieci neuronowej dla dowolnego problemu?

Jestem początkującym, ale zdałem sobie sprawę, że w niektórych topologiach (lub przynajmniej w perceptronach) bardzo trudno jest, jeśli nie niemożliwe, zrozumieć wewnętrzną mechanikę, ponieważ neurony ukrytych warstw nie wyrażają żadnego matematycznie znaczącego kontekstu.

Zoltán Schmidt
źródło

Odpowiedzi:

11

Myślę, że w tym przypadku prawdopodobnie będziesz chciał użyć algorytmu genetycznego do wygenerowania topologii zamiast pracować samodzielnie. Osobiście lubię NEAT (NeuroEvolution of Augmenting Topologies) .

Oryginalny dokument NEAT obejmuje ewolucję wag połączeń, ale jeśli chcesz tylko topologii, możesz zamiast tego użyć algorytmu ważenia. Możesz także łączyć funkcje aktywacyjne, jeśli nie jesteś pewien, którego użyć. Oto przykład zastosowania propagacji wstecznej i wielu typów neuronów.

DanTheMan
źródło