0

Je travaille sur un projet de reconnaissance d'image en python. J'ai lu dans des journaux que si le regroupement effectué par une carte auto-organisatrice (SOM) est entré dans un réseau neuronal supervisé, la précision de la reconnaissance d'image s'améliore par rapport au réseau supervisé seul. J'ai essayé ceci moi-même en utilisant une bibliothèque pour effectuer le regroupement et en utilisant les coordonnées du neurone gagnant après chaque itération comme entrée d'un perceptron multicouche des keras. Cependant, la précision est très mauvaise.Comment combiner une carte auto-organisatrice et un perceptron multicouche en python

Est-ce que quelqu'un connaît une autre façon de combiner un SOM et un perceptron multicouche autre que d'utiliser les coordonnées SOM gagnantes?

+0

Je ne sais pas si je comprends bien. Vous entraînez d'abord la couche SOM et après une formation non supervisée vous donnez des coordonnées de neurones gagnantes MLP? – viceriel

+0

Oui, je forme d'abord le SOM qui regroupe les images que je saisis dedans. Après l'entraînement non supervisé de la SOM, je stocke les coordonnées x, y gagnantes dans un tableau 2d numpy et je fournis cela au MLP en entrée, mais la précision de test du MLP est vraiment faible, donc je me demandais s'il y avait un autre moyen de combiner un SOM et MLP autres que la fourniture des coordonnées –

+0

duplication possible de [Hybrid SOM (avec MLP)] (https://stackoverflow.com/questions/36434218/hybrid-som-with-mlp) –

Répondre

1

Une autre façon d'utiliser SOM est la quantification vectorielle. Plutôt que d'utiliser les coordonnées SOM gagnantes, utilisez les valeurs du livre de codes du neurone gagnant. Je ne sais pas quels articles vous lisez, mais j'aurais dit que SOM dans MLP ne fournira qu'une meilleure précision dans certains cas. En outre, vous devrez choisir des paramètres comme la dimensionnalité et la taille de la carte à bon escient. Pour le traitement d'image, j'aurais dit que les Autoencoders ou CNN (Convolutional Neural Networks) sont des alternatives plus pointues à SOM pour déterminer si vous n'êtes pas déterminé sur l'architecture SOM + MLP.

0

Je me demandais s'il y avait un kilométrage à la formation d'un réseau de neurones supervisés séparés pour les entrées qui correspondent à chaque nœud dans le SOM. Vous auriez alors un apprentissage supervisé séparé sur le sous-ensemble du mappage des données d'entrée vers chaque nœud SOM. Les réseaux attachés à chaque nœud seraient peut-être plus petits et plus facilement formés qu'un seul grand réseau qui devait traiter tout l'espace d'entrée. Il peut également être avantageux d'inclure des vecteurs d'entrée qui sont mappés aux nœuds SOM adjacents.

Est-ce que quelqu'un sait que cela fait l'objet de recherches?