1

Supposons que j'essaie de créer un réseau neuronal pour reconnaître des caractères sur une simple grille de pixels 5x5. J'ai seulement 6 caractères possibles (symboles) - X,+,/,\,|Reconnaissance de caractères de réseau neuronal

En ce moment j'ai un Feedforward Neural Network - avec 25 noeuds d'entrée, 6 noeuds cachés et un seul noeud de sortie (entre 0 et 1 - sigmoïde).

La sortie correspond à un symbole. Tels que 'X' = 0.125, '+' = 0.275, '/' = 0.425 etc.

Quelle que soit la sortie du réseau (lors du test), correspond à n'importe quel caractère le plus proche numériquement. i.e - 0.13 = 'X'

En entrée, 0,1 signifie que le pixel n'est pas ombré du tout, 0,9 signifie entièrement ombré.

Après avoir entraîné le réseau sur les 6 symboles, je l'ai testé en ajoutant du bruit.

Malheureusement, si j'ajoute un tout petit peu de bruit à '/', le réseau pense qu'il est '\'. Je pensais que peut-être l'ordre des 6 symboles (c'est-à-dire, e - quelle représentation numérique ils correspondent à) pourrait faire une différence. Peut-être que le nombre de nœuds cachés est à l'origine de ce problème. Peut-être que mon concept général de mappage des caractères aux nombres est à l'origine du problème.

Toute aide serait grandement appréciée pour rendre le réseau plus précis.

+1

Utilisez un réseau de neurones convolutionnels pour cette tâche et non un MLP. Obtenir plus de données est également un bon moyen d'améliorer les performances. –

Répondre

3

Le codage de sortie est le plus gros problème. Vous devriez mieux utiliser un codage à chaud unique pour la sortie afin que vous ayez six nœuds de sortie.

Par exemple,

- 1 0 0 0 0 0 
X 0 1 0 0 0 0 
+ 0 0 1 0 0 0 
/ 0 0 0 1 0 0 
\ 0 0 0 0 1 0 
| 0 0 0 0 0 1 

Cela est beaucoup plus facile pour le réseau de neurones pour apprendre. Au moment de la prédiction, choisissez le noeud ayant la valeur la plus élevée comme votre prédiction. Par exemple, si vous avez en dessous des valeurs de sortie à chaque noeud de sortie:

- 0.01 
X 0.5 
+ 0.2 
/ 0.1 
\ 0.2 
| 0.1 

Prédire le caractère « X ».

+0

C'était une amélioration massive, merci beaucoup! –