Machine Learning - IA - Intelligence Artificielle - exemple

Soyez le premier à donner votre avis sur cette source.

Vue 1 449 fois - Téléchargée 209 fois

Description

Machine Learning, IA, Intelligence Artificielle :
Voici un code source de réseau de neurones permettant l'apprentissage et la
reconnaissance de formes. Le Machine Learning fonctionne à l'aide d'un réseau de
neurones artificiels de type perceptron monocouche à apprentissage supervisé. La
reconnaissance des formes déssinées est en temps réel. Le code a été organisé en
suivant le design pattern : "model view presenter", permettant de découper et de
structurer l'architecture de l'interface utilisateur en couches. L'interface
graphique est réalisé avec GTK+3.0, l'application fonctionne sous windows ou
linux.


---------------------------------------------------------------------------------------------------------------------------------------------------------

La version de ce code source en Python est disponible ici :
https://codes-sources.commentcamarche.net/source/102437-machine-learning-ia-intelligence-artificielle-exemple

---------------------------------------------------------------------------------------------------------------------------------------------------------


De nouvelles fonctionnalités et améliorations seront rajoutées très prochainement.

1 - Suivis des versions :
- version : 02/10/19
code prêt au test de l'application, mais pas encore commenté. Des corrections,
ajouts de fonctionnalités, et améliorations pour la lisibilité du code sont
toujours en cours.


2 - comment lancer et tester l'application :
Sous windows :
- Aller dans le répertoire : ..\application executable\bin
il faut renommer application.ex_ en application.exe,
il faut décompresser "dll - 1.zip" et "dll - 2.zip" dans ce même répertoire,
ensuite il faut lancer application.exe dans ce même répertoire.

Sous linux :
- Aller au paragraphe "4 -"

3 - Fonctionnement de l'application :
- cadre "Forme déssinée" :
- clique gauche de la souris -> créer un pixel
- clique droit de la souris -> éffacer un pixel précédemment créé
- tour de la molette -> changer le nom de la forme à corriger
- clique sur la molette -> corriger la forme sélectionnée

- avec touche Ctrl gauche appuyé :
- tour de la molette -> changer la forme enregistrée affichée
- clique sur la molette -> crée une variante à la forme enregistrée affichée

- avec touche Ctrl gauche et shift gauche appuyés :
- tour de la molette -> changer la variante de la forme enregistrée affichée

- cadre "Forme reconnue" :
- Affiche la forme reconnue.

- Bouton "Apprentissage automatique" :
- le réseau de neurones apprend les formes jusqu'à qu'il les reconnaisse
toutes telles qu'elles ont été déssinnées lors de leurs création.
ce bouton est a utiliser de préférence une fois toutes les formes
créées ou quand le réseau de neurones a un taux d'érreur trop élevé.

- Bouton "Corriger" :
- sert à apprendre une forme légèrement différente de la forme déssinée
lors de sa création.
ex: on dessine une lettre 'A' qui a seulement 3 pixels de différence
avec la lettre 'A' que l'on avait créée précédemment, mais le réseau
de neurones reconnait une autre lettre. Dans ce cas on sélectionne
le nom de la lettre à corriger dans la combo box "nom de la forme à
corriger" puis on clique sur corriger, le réseau va alors corriger les
neurones et va reconnaitre alors la bonne lettre: 'A'). Au bout de
quelques milliers d'itérations le reseau de neurones reconnaitra à
presque 100% (voir meme 100% ) toutes les formes créées et leurs variantes.

- Bouton "Ajouter" :
crée une variante à la forme enregistrée selectionnée.

- entrée "maximum d'itérations" :
- nombre maximum de corrections effectuées lors d'un apprentissage
automatique du réseau de neurones. Doit rester bas de préférence
lors d'un apprentissage d'une grande quantité de formes créées pour
ne pas paralyser l'application.

- entrée "valeur de correction" :
- valeur utilisée pour chaque correction de neurones lors de
l'apprentissage du réseau de neurones. doit être positive et rester
basse de préference pour un apprentissage rapide.


4 - outils nécessaires si vous souhaitez compiler le code source :
Sous windows :
- Avoir GTK installé : https://www.gtk.org/download/windows.php
-----------------------------------------------------------------------------------------------------
Pour les utilisateurs de MSYS2 :
- il vous faudra copier le dossier contenant le code
source de l'application dans : C:\msys64\home\"nom utilisateur"
- ensuite executer le programme MSYS2
- dans la fenêtre de MSYS2 taper : cd "chemin repertoire du code source"
- compiler ensuite avec la commande : gcc `pkg-config --cflags gtk+-3.0` Machine Learning.c presenter.c interactor.c globales.c widget.c view.c model.c entry_validation.c -ldl -lm `pkg-config --libs gtk+-3.0`
- deplacer le fichier *.exe créée après compilation dans le repertoire :
C:\msys64\mingw32\bin si vous avez installer MSYS2 en 32 bits
C:\msys64\mingw64\bin si vous avez installer MSYS2 en 64 bits.
- vous pouvez maintenant éxécuter le programme :).
-------------------------------------------------------------------------------------------------------

Sous linux :
- Avoir GTK installé : apt-get install libgtk-3-dev
- compiler ensuite avec la commande : gcc `pkg-config --cflags gtk+-3.0` -o application Machine Learning.c presenter.c interactor.c globales.c widget.c view.c model.c entry_validation.c -ldl -lm `pkg-config --libs gtk+-3.0`


5 - Autres détails :
Si jamais vous rencontrez un problème avec l'application, ou si vous avez des
suggestions : n'hésitez pas à me le dire dans les commentaires.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.