[BONUS] Reconnaissance de chiffre


Le réseau que nous utilisions jusqu'à présent permet de distinguer une ligne verticale d'une ligne horizontale dans une image en noir et blanc de taille 3 x 3.
Ici on va utiliser un réseau de neurone différent, celui-ci sera capable de reconnaître les dix chiffres arabes à partir d'une image en nuance de gris de 28 x 28.

Présentation du réseau

Comme le réseau précédent, il ne possède qu'une seule couche cachée, cependant le nombre de neurones est bien plus élevé ! La première couche est composée de 784 neurones (28 x 28), la couche cachée de 200 neurones et la couche de sortie de 10 neurones (les 10 chiffres qu'il peut reconnaître).

Si tu veux en savoir plus sur la confection de ce réseau : source. Garde bien à l'esprit qu'il à été entraîné de la même manière que le mien, mais pour classifier des choses différentes. Ainsi les valeurs dans les matrices des poids ne sont pas les mêmes que celles vu avant (elles n'ont d'ailleurs pas les mêmes tailles !).

Utilisation

Dessine dans le cadre de gauche le chiffre de ton choix.
Tu peux utiliser le bouton "Reconnaître" pour utiliser une implémentation du réseau de neurone déjà existante (mais qui t'es cachée), pour te permettre de comparer le résultat de ton code par rapport à l'implémentation réelle.

Objectif

Implémente les 3 fonctions de la classification de ce réseau.
N'hésite pas à regarder tes solutions aux exercices précédents pour t'en servir comme modèle. Reste vigilant que le nombre de neurones de chaque couche est différent des exercices précédents !

Notes : fais attention aux noms de tes variables, particulièrement celle des boucles ! Si tu modifie une variable qui est encore utilisée tu risque d'avoir des comportements inattendus. Donc je te conseil de donner un nom de variable différent pour chaque variable de boucle (i)

You have block(s) left.

Information

Author(s) Loan
Deadline No deadline
Submission limit No limitation

Sign in