Tout d'abord, quelques informations ...
FloydHub est l'une des plateformes cloud spécialement crées pour l'IA, et qui facilite beaucoup l'accès à cette technologie, même pour les novices.
De plus, FloyHub met à disposition en location des ordinateurs très puissants (option payante), dotés notamment des GPU très performants. Avec l'aide de parents, nous avons pu bénéficier de quelques heures de GPU.
Justement, c'est quoi un GPU ?
Le GPU (Graphical Processing Unit) est un circuit intégré avec une grande puissance de calcul, dédié aux fonctionnalités graphiques des ordinateurs. Il est doté d'une très grande puissance de calcul, une aisance pour le travail avec les vecteurs et les matrices ainsi que d'une capacité impressionnante d'executer des opérations en parallèle. Au début, les GPUs ont été crées pour jouer aux jeux comme Fortnite, mais, dans le domaine de l'AI ils permettent de réaliser des opérations d'apprentissage en quelques minutes au lieu de plusieurs heures.
À ce stade, nous réalisons dans Floyhub 30 cycles d'apprentissage en moins de 3 minutes au lieu de quelques heures. C'est assez impressionnant.
La libraire Keras
Keras est l'une des librairies d'IA les plus connues au monde, notamment grâce à sa simplicité. Nous avons utilisé Keras, leurs exemples (il y a beaucoup), ensemble avec des exemples fournis par le blog pyimagesearch.com, qui, entre autre, propose des exemples d'IA pour des cause humanitaires (diagnostiquer des maladies, ...).
Nous avons contacté pyimagesearch dans le cadre de notre projet, ils ont eu la gentillesse de nous répondre:
Expéditeur: Adrian at PyImageSearch <ask.me@pyimagesearch.com>
Date: 10 décembre 2018 à 13:38:00 UTC+1
Destinataire: alexis.ioachim@gmail.com
Objet: Rép : Contact From Submission from Alexis
Hi Alexis,
Thank you for taking the time to write and tell us something about your background and your goals. You're doing impressive work for a 16 year old! We'd love to hear more about your results, when you're ready to share them.
All the best,
--
David McDuffee
Correspondence Coordinator
ask.me@pyimagesearch.com
Tensorflow, créée par Google, est l'une des applications d'IA les plus utilisées au monde. La libraire Keras viens en complement afin de rendre la programmation de l'IA bien plus facile.
Le réseau IA
Nous avons utilisé pour notre projet des réseaux CNN (réseaux neuronaux convolutionnaires) avec la structure proposée par Karen Simonyan, Andrew Zisserman (Université Cornell) - "Very Deep Convolutional Networks for Large-Scale Image Recognition", en 2015. C'est actuellement l'un des réseaux CNN les plus performants pour la classification des images.
Premiers résultats
En utilisant l'algorithme de Karen Simonyan, nous obtenons en 30 itérations 95% de précision. C'est très, très bien !
Essayons d'améliorer ce premier résultat.
Modification de la taille des filtres de 3 à 11. L'agrandissement de filtres permet l'obtention plus rapide d'une image réduite, car les détails nous intéressent moins dans Morse (nous travaillons avec des points et des lignes). De plus, nous gardons des tailles nombre premiers (11), comme indiqué dans le cours de Andrew Ng.
Ce changement nous permet d'obtenir en 30 itérations 96,6% de précision. C'est encore mieux !