0

Ma première approche à ce sujet n'avait aucune implication avec les réseaux de neurones. Je comparerais simplement l'entrée manuscrite (nombres 1-3) à une image de modèle où elle comparerait les pixels des deux images via l'index et verrait si elles ont la même valeur RVB. Cette méthode fonctionne mal et ne fonctionnerait que si le nombre manuscrit avait des pixels en commun avec l'image de base. Maintenant, je veux mettre en place une sorte de réseau de neurones, mais j'ai quelques questions.Réseau de neurones pour les numéros manuscrits

Toutes les images sont constituées de tous les pixels noirs ou blancs et chaque image est de 500 x 500 pixels. J'ai une compréhension de base des réseaux neuronaux où il y a propagation arrière, biais, poids, couches cachées, etc ... Je comprends ce qu'ils font de façon abstraite mais je suis perplexe quant à la façon dont je mettrais en place un réseau de neurones. Quels sont les modèles que l'ordinateur peut reconnaître?

Je tiens à souligner que je ne me limite pas aux réseaux neuronaux, je suis ouvert à d'autres solutions à ce problème, mais les réseaux de neurones semblent être une bonne façon d'aborder cela.

+0

Pas de réponse (car la question est peut-être trop large), mais NVIDIA travaille sur ce genre de choses (entre autres). En particulier, la bibliothèque https://developer.nvidia.com/cudnn est essentiellement livrée avec un seul échantillon, qui est un programme de classification pour http://yann.lecun.com/exdb/mnist/ – Marco13

+0

Il n'y a pas de limite sur le genre des modèles qu'un NN peut apprendre. Bien sûr, il est important d'avoir suffisamment de données. Je ne recommanderais pas de mettre en œuvre votre propre implémentation NN, mais d'utiliser des bibliothèques bien testées. Nous ne connaissons pas la langue que vous utilisez, mais l'une des bibliothèques les plus conviviales pour les débutants (et encore super puissante) est [keras] (https://keras.io/) (python) qui a aussi un bon départ modèle pour le problème MNIST mentionné par Marco [ici] (https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py). Il y a d'autres exemples MNIST. La recherche moderne vous apprendra: utilisez ** des filets de convolution! **. – sascha

Répondre

0

Dans mon cas cela a fonctionné ... après modifications. Votre réseau de neurones fait probablement un mauvais travail, car vous prenez directement l'intensité des couleurs des pixels en tant que vecteur de caractéristiques. Cela les rend très sensibles aux décalages (par exemple, déplacer l'image d'un pixel donnera un vecteur complètement différent). Essayez de normaliser l'image en fonction de la position et de la taille des personnages. Pensez également si vous pourriez utiliser d'autres informations de l'image pour compléter les vecteurs de caractéristiques. PS. Pourquoi ne convertiriez-vous pas l'échelle RVB en gris? Visuellement, vous obtenez la même information, mais vous aurez 3 fois moins de fonctionnalités pour vous entraîner.