Outils pour utilisateurs

Outils du site


simple_ai_example

Ceci est une ancienne révision du document !


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

Code sur GitHub

Résultat

........
Initialisation 7:
Création de l'objet ...
    0: Learningrate: 0.021 Résultat 68.67 %
    1: Learningrate: 0.0215 Résultat 73.97 %
    2: Learningrate: 0.022 Résultat 72.2 %
    3: Learningrate: 0.0225 Résultat 79.12 %
    4: Learningrate: 0.023 Résultat 76.4 %
    5: Learningrate: 0.0235 Résultat 76.58 %
    6: Learningrate: 0.024 Résultat 70.3 %
    7: Learningrate: 0.0245 Résultat 75.05 %
    8: Learningrate: 0.025 Résultat 76.35 %
    9: Learningrate: 0.0255 Résultat 77.72 %
 
Initialisation 8:
Création de l'objet ...
    0: Learningrate: 0.021 Résultat 64.83 %
    1: Learningrate: 0.0215 Résultat 71.47 %
    2: Learningrate: 0.022 Résultat 76.2 %
    3: Learningrate: 0.0225 Résultat 71.03 %
    4: Learningrate: 0.023 Résultat 77.58 %
    5: Learningrate: 0.0235 Résultat 75.75 %
    6: Learningrate: 0.024 Résultat 78.95 %
    7: Learningrate: 0.0245 Résultat 71.78 %
    8: Learningrate: 0.025 Résultat 74.9 %
    9: Learningrate: 0.0255 Résultat 71.1 %
 
Initialisation 9:
Création de l'objet ...
    0: Learningrate: 0.021 Résultat 66.03 %
    1: Learningrate: 0.0215 Résultat 71.4 %
    2: Learningrate: 0.022 Résultat 69.45 %
    3: Learningrate: 0.0225 Résultat 77.38 %
    4: Learningrate: 0.023 Résultat 75.7 %
    5: Learningrate: 0.0235 Résultat 77.5 %
    6: Learningrate: 0.024 Résultat 76.55 %
    7: Learningrate: 0.0245 Résultat 76.33 %
    8: Learningrate: 0.025 Résultat 72.4 %
    9: Learningrate: 0.0255 Résultat 77.72 %
 
Temps de calcul par cycle: 3.21 s
Meilleur résultat: learningrate = 0.0255 efficacité = 81.025

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 avec 10 test sur le Learning Rate, recommencer 10 fois pour réinitialiser le fichier de poids.
  • Cela prend beaucoup de temps, 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

Voir

Temps de calcul par cycle: 18.05 s
Meilleur résultat: learningrate=0.0208 efficacité=82.9

Code sur GitHub

Avec Tensorflow

Epoch 94/100
500/500 [==============================] - 0s 931us/step - loss: 0.1040 - accuracy: 0.9668
Epoch 95/100
500/500 [==============================] - 0s 920us/step - loss: 0.1001 - accuracy: 0.9678
Epoch 96/100
500/500 [==============================] - 0s 937us/step - loss: 0.1003 - accuracy: 0.9669
Epoch 97/100
500/500 [==============================] - 0s 934us/step - loss: 0.0966 - accuracy: 0.9682
Epoch 98/100
500/500 [==============================] - 0s 921us/step - loss: 0.0941 - accuracy: 0.9681
Epoch 99/100
500/500 [==============================] - 0s 930us/step - loss: 0.0934 - accuracy: 0.9689
Epoch 100/100
500/500 [==============================] - 0s 914us/step - loss: 0.0951 - accuracy: 0.9689
125/125 [==============================] - 0s 826us/step - loss: 0.2054 - accuracy: 0.9285

Testing ......    
Efficacité sur les tests: 0.9285
simple_ai_example.1599491147.txt.gz · Dernière modification : 2020/09/07 15:05 de serge