0

Ich arbeite an einem Bilderkennungsprojekt in Python. Ich habe in Fachzeitschriften gelesen, dass, wenn die Clusterbildung, die durch eine selbstorganisierende Karte (SOM) durchgeführt wird, in ein überwachtes neuronales Netzwerk eingegeben wird, die Genauigkeit der Bilderkennung im Gegensatz zum überwachten Netzwerk verbessert wird. Ich habe dies selbst versucht, indem ich eine Bibliothek verwendet habe, um Clustering durchzuführen und die Koordinaten des gewinnenden Neurons nach jeder Iteration als Eingabe in ein mehrschichtiges Perzeptron aus dem Keras zu verwenden. Die Genauigkeit ist jedoch sehr schlecht.Wie man eine selbstorganisierende Karte und ein mehrschichtiges Perzeptron in Python kombiniert

Kennt jemand eine andere Möglichkeit, ein SOM und ein mehrschichtiges Perzeptron zu kombinieren, als die gewinnenden SOM-Koordinaten zu verwenden?

+0

Ich nicht jetzt, wenn ich richtig verstehe. Trainierst du zuerst die SOM-Schicht und nach dem unbeaufsichtigten Training gibst du MLP-gewinnende Neuronenkoordinaten? – viceriel

+0

Ja, ich trainiere zuerst das SOM, das die Bilder gruppiert, die ich eingegeben habe. Nach dem unbeaufsichtigten Training der SOM speichere ich die gewinnenden x, y Koordinaten in einem 2d numpy Array und ich liefere dies als Eingabe an die MLP, aber die Testgenauigkeit der MLP ist wirklich niedrig und ich fragte mich, ob es einen anderen Weg gab Kombinieren Sie ein SOM und ein MLP mit Ausnahme der Koordinaten –

+0

Mögliches Duplikat von [Hybrid SOM (mit MLP)] (https://stackoverflow.com/questions/36434218/hybrid-som-with-mlp) –

Antwort

1

Eine weitere Möglichkeit zur Verwendung von SOM ist die Vektorquantisierung. Verwenden Sie nicht die gewinnenden SOM-Koordinaten, sondern die Codebuchwerte des gewinnenden Neurons. Nicht sicher, welche Artikel Sie lesen, aber ich hätte gesagt, dass SOM in MLP wird nur eine bessere Genauigkeit in bestimmten Fällen bieten. Außerdem müssen Sie Parameter wie Dimensionalität und Kartengröße mit Bedacht auswählen.

Für die Bildverarbeitung hätte ich gesagt, dass Autoencoder oder Convolutional Neural Networks (CNNs) modernere Alternativen zu SOM sind, um zu untersuchen, ob Sie nicht auf der SOM + MLP-Architektur festgelegt sind.

0

Ich habe mich gefragt, ob es einen Kilometer gibt, ein separates überwachtes neuronales Netzwerk für die Eingänge zu trainieren, die jedem Knoten in der SOM zugeordnet werden. Sie hätten dann ein separates überwachtes Lernen für die Teilmenge der Eingabedatenzuordnung zu jedem SOM-Knoten. Die Netzwerke, die an jeden Knoten angeschlossen sind, wären vielleicht kleiner und leichter zu trainieren als ein großes Netzwerk, das mit dem gesamten Eingangsbereich zu tun hatte. Es kann auch von Vorteil sein, Eingabevektoren zu enthalten, die den benachbarten SOM-Knoten zugeordnet sind.

Weiß jemand, dass dies Gegenstand der Forschung ist?

Verwandte Themen