simple_ai_example
Ceci est une ancienne révision du document !
Table des matières
Exemple simple d'IA
Un exemple d'utilisation de datas pour s'entrainer
Jeux de données utilisables pour un Apprentissage Automatique
Je suis paresseux et je veux un exemple simple.
Les datas utilisées seront:
Letter Recognition Data Set
Contexte des datas
- Letter Recognition Using Holland-Style Adaptive Classifiers Machine Learning, 6, 161-182 (1991) © 1991 Kluwer Academic Publishers, Boston. Manufactured in The Netherlands. PETER W. FREY Department of Psychology, Northwestern University, Evanston, IL 60208 DAVID J. SLATE Pattern Recognition Group, Odesta Corporation, 1890 Maple Avenue, Evanston, IL 60201 Editor: Tom Dietterich
L'objectif n'est pas d'utiliser cet apprentissage pour reconnaître des lettres dans d'autres contextes: il faut faire l'apprentissage sur 16000 items, puis tester l'efficacité sur les 4000 restantes. C'est tout!
Avec numpy
Ressources
- L'intelligence du sémaphore propose un script pour reconnaître les positions d'un sémaphores.
- Une I.A. en 50 lignes de code Une intelligence artificielle qui reconnaît des chiffres manuscrits.
Code sur GitHub
Résultat
Get data done. ((16000, 16), (16000,), (4000, 16), (4000,)) Train Value 0 = [ 2 8 3 5 1 8 13 0 6 6 10 8 0 8 0 8] Train Label 0 = 19 Test Value 0 = [ 4 10 6 7 9 9 6 4 3 6 7 7 9 8 5 6] Test Label 0 = 20 Temps de calcul par cycle: 3.26 s Meilleur résultat: learningrate=0.02495 efficacité=73.25 s
Commentaires
- Les datas sont anciennes (1991): la méthode pour caractériser les lettres n'est pas pertinente. De nos jours, on utilise directement des images et des Réseau neuronal convolutif.
- Il n'y a pas assez de data pour l'apprentissage: il faut au moins 2000 items par objet: ici il n'y a que 640 items pour l'apprentissage.
- Le script fait une Optimisation des paramètres sur le Learning Rate avec 100 tests.
- Mais à chaque calcul avec un nouveau learningrate, le fichier de poids est réinitialisé avec un random: il faudrait l'initialiser et l'enregistrer juste après la récupération des datas, en l'indexant. Puis relancer 100 fois le tout pour voir l'influence de l'initialisation.
- Cela ferait 100*100 cycles soit 36000 secondes soit 10 heures pour un tout petit exemple.
- D'où la nécessité d'avoir un gros centre de calcul pour les professionnels de l'IA. Quel carte graphique choisir en Juin 2020 ?
Avec cupy
Avec Tensorflow
simple_ai_example.1599395443.txt.gz · Dernière modification : 2020/09/06 12:30 de serge