Carnet de Bord Semaine 1
2018-03-08
Présent
Zakari, Bilal, DineshObjectif de la séance
- Recherche de différentes idées de projet.
- Recherche d'information pour chaque idées de projet.
Travaux réalisé
Nous avons fait des recherches sur des sujets potentiel pour le projet et en avons trouvé un :- reprise du site web fait pour le projet précédent ( faire un site dynamique avec du javascript sur un nouveau thème)
- logiciel de cryptage de message
- réalisation d'un mini jeu vidéo (jeu de plateforme type mario bros)
- Algorithme de reconnaissance d'image par apprentissage artificielle ( réseaux de neurones) [1]
- Algorithme d'optimisation pour le problème de voyageur de commerce
Références
- https://trustmyscience.com/une-ia-genere-une-nouvelle-ia-plus-performante-que-toutes-les-autres/
- https://jeux.developpez.com/tutoriels/jeux-video/
- https://pub.phyks.me/sdz/sdz/comment-creer-un-jeu-video.html
- https://openclassrooms.com/courses/comment-creer-un-jeu-video/les-outils-generiques-accessibles-sans-programmation
- https://openclassrooms.com/courses/apprenez-a-programmer-en-python
- https://openclassrooms.com/courses/l-algorithme-rsa/les-programmes-de-cryptage-et-decryptage
- https://openclassrooms.com/courses/apprenez-a-programmer-en-python/qu-est-ce-que-python
- https://www.youtube.com/watch?v=fBcI7UajjjM
- https://fr.wikipedia.org/wiki/Probl%C3%A8me_du_voyageur_de_commerce
- http://perso.ensta-paristech.fr/~lunevill/sim_numerique/projets/vdc.pdf
- https://fr.wikipedia.org/wiki/Probl%C3%A8me_de_plus_court_chemin
- http://www.ensta-paristech.fr/~lunevill/sim_numerique/projets/vdc.pdf
- https://interstices.info/jcms/c_376
- https://openclassrooms.com/forum/sujet/ocaml-amp-algorithmique-probleme-du-voyageur-de-commerce-56686 </ol>
Travaux à réaliser pour la semaine suivante
Choisir définitivement un sujet de projet </div>Carnet de Bord Semaine 2
2018-03-15
Présent
Zakari, Bilal, DineshObjectif de la séance
•Choisir le sujet du projet. •Effectuer des recherches dessus.Travaux réalisé
On a défini notre projet qui sera la reconnaissance d’images. Nous nous sommes informés sur comment réaliser ce projet On a recherché les différentes logiciels ou les sites internets utilisants la reconnaissance d’images(Shazam,Google lens,Aipoly,Face id (Iphone),Facebook)
On a donc choisi ce sujet car il représente pour nous un vrai challenge, et il pourrait enrichir nos connaissances en algorithmique et en codage. On sait que ce projet représente un travail assez considérable mais nous en sommes conscient et l’on se verra souvent afin d’avancer le plus rapidement possible. En parallele nous avons contacter l'Abre des Conaissances,qui nous ont d'abord interroger sur la raison pour laquelle nous les avons contacter, nous leurs expliquer notre projet,ils nous ont ensuite promis de nous recontacter pour esseyer de nous aider dans notre demarche.
Références
- https://experiments.withgoogle.com/quick-draw
- https://fr.wikipedia.org/wiki/Reconnaissance_de_visage
- http://mashable.france24.com/tech-business/20170619-google-tensorflow-reconnaissance-image-api-machine-learning
- https://sites.google.com/site/tpelintelligenceartificielle/la-reconnaissance-faciale
- https://www.morpho.com/fr/terminaux-biometriques/terminaux-de-controle-dacces/visage
- https://www.morpho.com/fr/reconnaissance-faciale
- https://bfmbusiness.bfmtv.com/hightech/video-cette-application-reconnait-tout-grace-a-l-intelligenc-artificielle-1359189.html
Travaux à réaliser pour la semaine suivante
Poursuivre les recherches concernant la reconnaissance d’image/d'objetCarnet de Bord Semaine 3
2018-03-22
Présent
Zakari, Bilal, DineshObjectif de la séance
Recherche de documents sur : l'intelligence artificielle la reconnaissance d'image/ reconnaissance d'objet avec l'IA Apprentissage artificielleTravaux réalisé
Nous avons effecuté des recherches approfondie sur l'histoire de l'IA, des méthodes d'apprentissage et leurs utilisations pour reconnaître des visages, des objets.Références
https://fr.wikipedia.org/wiki/Intelligence_artificielle https://fr.wikipedia.org/wiki/Histoire_de_l%27intelligence_artificielle https://sites.google.com/site/int3llig3nc3artifici3ll3/retrospective-de-l-histoire-de-l-ia https://openclassrooms.com/courses/premier-pas-dans-l-ia-avec-l-ocr https://www.inprincipio.xyz/images-video/ https://fr.wikipedia.org/wiki/Apprentissage_automatique http://members.cbio.mines-paristech.fr/~thocking/mines-course/2011-05-13-clustering/coursFM-apprentissage.pdfTravaux à réaliser pour la semaine suivante
Faire des recherches sur les différents types d’apprentissages Regarder comment fonctionne ces techniques et comment le coderCarnet de Bord Semaine 4
2018-03-29
Présent
Zakari, Bilal, DineshObjectif de la séance
Recherche des différentes méthodes d'apprentissage artificielle supervisé non supervisée Technique d’apprentissageTravaux réalisé
Etude des detail des differentes techniques: •Support Vecteur Machine •K plus proche voisin •Arbre de décision •Réseaux de neuronesRéférences
https://www.math.univ-toulouse.fr/~agarivie/mydocs/apprentissageSupervise.pdf https://fr.wikipedia.org/wiki/Apprentissage_supervis%C3%A9 https://fr.wikipedia.org/wiki/Apprentissage_non_supervis%C3%A9 https://openclassrooms.com/forum/sujet/svm-support-vector-machine https://i2.wp.com/charlesen.fr/wp-content/uploads/2015/10/images_reseauxneurones.png?fit=393%2C220&ssl=1 https://fr.wikipedia.org/wiki/R%C3%A9seau_de_neurones_artificiels https://fr.wikipedia.org/wiki/Arbre_de_d%C3%A9cisionTravaux à réaliser pour la semaine suivante
Recherche des fondamentaux de mathématique pour ces méthodes:, produit matricielle/scalaire, convexité, optimisation (descente de gradient), fonction mathématique et dérivé: calcul du gradient C'est durant cette semaine que l'association que nous avons contacter en début de projet, est revenu vers nous,pour nous mettre en contact avec un chercheur en inteligence artificiel :- Dr Nacim Belkhir
- Chercheur à Safran Tech (centre de recherche du groupe Safran) et INRIA (Institut National de la Recherche en Informatique et en Automatique)
- mail: nacim.belkhir@safrangroup.com
Carnet de Bord Semaine 5
2018-04-05
Présent
Zakari, Bilal, DineshObjectif de la séance
•Mise en communs des document et partage des informations trouvés sur les méthodes mathématiques •Compréhension des différentes méthodes d'apprentissageTravaux réalisé
Durant cette séance nous avons mis en commun toutes les recherches documentaires que nous avons effectué chacun de notre côté , nous avons pu découvrir les différentes méthode d’apprentissage artificielle et en particulier les réseaux de neurones mais aussi le Support Vecteur Machine qui sont des approches très utilisé.Nous avons vu les différents mécanisme de ces deux méthodes , comment elles fonctionnent et également les fonctions mathématique associé à ces méthodes.Références
-https://www.lemonde.fr/pixels/article/2015/07/24/comment-le-deep-learning-revolutionne-l-intelligence-artificielle_4695929_4408996.html -https://www.supinfo.com/articles/single/6041-machine-learning-introduction-apprentissage-automatique -http://www.college-de-france.fr/media/yann-lecun/UPL4485925235409209505_Intelligence_Artificielle______Y._LeCun.pdf -https://fr.wikipedia.org/wiki/Apprentissage_automatique -https://siecledigital.fr/2016/12/22/machine-learning-deep-learning-ca-marche/ -http://www.ceppecs.eu/?p=1926 -https://www.lebigdata.fr/machine-learning-et-big-data -https://openclassrooms.com/courses/utilisez-des-modeles-supervises-non-lineaires/entrainez-un-perceptron -https://www.math.univ-toulouse.fr/~besse/Wikistat/pdf/st-m-app-rn.pdf -http://www.grappa.univ-lille3.fr/polys/apprentissage/sortie005.htmlTravaux à réaliser pour la semaine suivante
Définir le choix de la technique d'apprentissage artificielle à utiliserCarnet de Bord Semaine 6
2018-04-12
Présent
Zakari, Bilal, DineshObjectif de la séance
tutoriel python tutoriel codage réseau de neuronesTravaux réalisé
Durant cette séance nous avons suivie une video permettant de coder un reseau de neurones simple mais long,faites par un youtuber nommé Sharethegeek. Egalement,en parallele nous avons discuté avec le chercheur par mail pour definir une date ou nous pourrons nous pourrons nous rencontrer et qu'il nous guide pour qu'il fasse mieux le concept des reseaux de neurones et qu'il guide notre projet.Nous nous sommes donc convenue à ce que nous nous rencontrions la semaine d'après au centre de recherche de l'Inria Paris.Références
[1] https://www.youtube.com/watch?v=Dso6nQNGrrw https://openclassrooms.com/courses/apprenez-a-programmer-en-python https://openclassrooms.com/courses/apprenez-a-programmer-en-python https://docs.python.org/fr/3/tutorial/index.html https://python.developpez.com/cours/Travaux à réaliser pour la semaine suivante
Rencontrer le chercheur et lui presenter le projet et les demarches accomplieCarnet de Bord Semaine 7
2018-04-19
Présent
Zakari, Bilal, DineshObjectif de la séance
•Rencontrer le chercheur et lui présenter le travail accompli. •Coder un reseau de neurones plus simpleTravaux réalisé
codage d'un réseau de neurone simple Durant cette semaine,nous avons rencontré le chercheur auquel nous avons présenté le travail que nous avons fait depuis le début du projet.Nous avons également pu lui montrer la 1ere implémentation de neurones et nous avons commencé à approfondir nos connaissance et à éclaircir certains points que nous ne comprenions pas jusqu'à présent sur les réseaux de neurones.Nous avons défini que nous allons nous revoir toutes les deux semaines. Nous avons aussi,durant cette semaine, commencer à coder un réseau de neurones plus simple et plus optimisé que nous avons trouver sur internet.Références
[1] http://iamtrask.github.io/2015/07/27/python-network-part2/ [2]http://fann.sourceforge.net/fann_fr.pdf http://blog.supermaker.space/creer-un-reseau-de-neuronnes-en-javascript-en-30-lignes-de-codes/ https://www.developpez.net/forums/d603631/general-developpement/algorithme-mathematiques/statistiques-data-mining/methodes-predictives-apprentissage-automatique/programmation-d-reseau-neurones/ https://openclassrooms.com/courses/utilisez-des-modeles-supervises-non-lineaires/entrainez-un-perceptronTravaux à réaliser pour la semaine suivante
•Finir de coder le reseau de neurones simple •Tester le reseau de neuronesCarnet de Bord Semaine 8
2018-04-26
Présent
Zakari, Bilal, DineshObjectif de la séance
•Finir le code du réseau de neurones simple •Tester l’implémentation.Travaux réalisé
Durant cette séance nous avons fini de coder le réseau de neurones, nous l’avons lancer avons vu qu’il y avait des erreurs.Nous avons donc passer le reste de la semaine à chercher d'où cette erreur venait mais nous n'avons pas trouvé.Nous avons donc attendu que le chercheur reviennent pour lui faire part de ces problèmes et qu’il puisse nous aider.Références
http://www-lisic.univ-littoral.fr/~teytaud/files/Cours/Apprentissage/tpNN.pdf https://franpapers.com/fr/machine-learning-ai-fr/2017-implementation-dun-reseau-de-neurones-en-javascript-a-travers-un-exemple/ https://www.technologies-ebusiness.com/langages/le-deep-learning-pas-a-pas-limplementation-22 https://openclassrooms.com/forum/sujet/implementation-du-reseau-de-neurone https://zestedesavoir.com/forums/sujet/9385/implementation-dun-reseau-neuronal/ http://www.aromate.org/cours/tp_ia_3.pdf http://www.xavierdupre.fr/app/ensae_teaching_cs/helpsphinx/specials/deep_learning.htmlTravaux à réaliser pour la semaine suivante
•Faire part des erreurs concernant le réseau de neurones au chercheur. •Tester le reseau avec lui.Carnet de Bord Semaine 9
2018-05-05
Présent
Zakari, Bilal, DineshObjectif de la séance
•Faire corriger les erreurs de l'implémentation au chercheur. •Faire des test avec le réseau si possible.Travaux réalisé
Durant cette semaine , nous avons montré les erreurs que nous avions sur le réseau au chercheur qui nous a aider a les corrigés et toujours avec lui ,nous avons testé ce réseau en lui faisant par exemple séparer des points de différentes couleur ou appliquer une loi booléenne. Durant cette séance nous avons également fait part de l’un des fruits de notre recherche : une librairie ultra optimisé qui permet de faire un réseau de neurones très perfomant : PyTorch.Il nous alors expliqué son fonctionnement ( car nous n'avions absolument rien compris à comment elle marche).Nous avons appris que de nombreuses grosses entreprise l'utilise (Facebook, etc) mais également des universités.Références
https://www.developpez.net/forums/d259802/general-developpement/algorithme-mathematiques/statistiques-data-mining/methodes-predictives-apprentissage-automatique/ia-entrainer-reseau-neurones-algorithme-retropropagation/ http://www.statsoft.fr/concepts-statistiques/reseaux-de-neurones-automatises/reseaux-de-neurones-automatises.htm https://openclassrooms.com/forum/sujet/reseau-de-neurones-artificiel-89799 https://pixees.fr/jouez-avec-les-neurones-de-la-machine/ http://www.etis.ensea.fr/neurocyber/Videos/cours_master/TP_IA_M2/TP_reseaux_de_neurones.pdf https://www.imagile.fr/creation-dun-petit-reseau-de-neurones-artificiels-netait-complexe/Travaux à réaliser pour la semaine suivante
•Esseyer de créer une implémentation à l'aide de PyTorchCarnet de Bord Semaine 10
2018-05-10
Présent
Zakari, Bilal, DineshObjectif de la séance
Essayer de créer une.nouvelle implémentation Essayer de l'adapter à à la reconnaissance d'image.Travaux réalisé
Durant cette séance , nous avions décidé de commencer à créer une nouvelle implémentation de neurones à l'aide de PyTorch, c'est la que nous avons commencé à nous intéresser à QuickDraw de Google,et ainsi nous voulons s’inspirer de ce logiciel afin de créer notre interface graphique pour effectuer des dessins numériques. Nous avons bien compris comment notre projet allait marcher.Nous voulions créer un réseau de neurones qui puissent reconnaître les dessins que l'utilisateur fait.Nous avons décidé de mettre en place un protocole pour réaliser le réseau: en 1er nous allions écrire le code qui permet d'importer des dessins que les utilisateurs ont dessiné et sont gardées sur la base de données de Google , ce code permet également de donner ces images au réseau de neurones.Il yavais plus de 190 000 images pour chaque classes d'objet qui était au nombre de xxx.Nous avons dessiné de retenir 20 classes d'objet et de garder 2000 image pour chaque dessins de ces 20 classes,ensuite nous allions coder le réseau de neurones l'aide de Py Torch pour ensuite coder une interface graphique nous allons relier au réseau de neurones.Références
https://quickdraw.withgoogle.com/ http://benjamin-balet.info/developpement/automatisation-et-tests-des-ihm-avec-sikuli/ https://www.numerama.com/tech/209699-faites-deviner-vos-dessins-a-lia-de-google.html https://www.huffingtonpost.fr/2017/04/13/avec-autodraw-google-metamorphose-vos-gribouillis-en-beaux-dess_a_22037974/ https://www.commentcamarche.com/faq/44080-identifier-un-tableau-un-dessin-sur-internet-google https://www.wacom.com/fr-ca/discover/draw/digital-sketch-and-drawTravaux à réaliser pour la semaine suivante
•S’informer sur la manière et la méthode pour coder le réseau de neurones à l'aide de PyTorch. •Effectué quelques recherche sur la maniere de creer une interface graphique pour effectuer des dessins numerique. •Informer le chercheur et solliciter son aide sur la nouvelle direction que prend le projetCarnet de Bord Semaine 11
2018-05-17
Présent
Zakari, Bilal, DineshObjectif de la séance
Savoir comment coder l’interface graphique Savoir avec quel outilsTravaux réalisé
Nous avons ainsi commencé à coder le réseau de neurones à l’aide de PyTorch avec le soutien du chercheur,nous avons défini la forme du réseau de neurones qui serait à l’image de Resnet et également les fonctions d’activations , le nombre de couches cachée et aure.Nous n’avons pa pu finir de le coder durant cette semaine ,donc le chercheur nous a donné toutes les informations nécessaire pour le finir la semaine prochaine.En parallèle nous avons aussi effectué des recherches pour savoir comment nous allons créer l’interface graphique qui vas permettre de faire les dessins , nous avons décidé d’en faire une toute simple. Et ainsi nous pourrons tester notre projet et avoir des résultats concretRéférences
https://www.huffingtonpost.fr/2017/04/13/avec-autodraw-google-metamorphose-vos-gribouillis-en-beaux-dess_a_22037974/ https://www.commentcamarche.com/faq/44080-identifier-un-tableau-un-dessin-sur-internet-google https://www.wacom.com/fr-ca/discover/draw/digital-sketch-and-draw https://www.numerama.com/sciences/260256-google-quickdraw-le-reseau-de-neurones-artificiels-a-besoin-de-votre-cerveau-humain.html https://www.numerama.com/tech/270738-ce-reseau-neuronal-developpe-par-google-anticipe-vos-dessins.html https://tel.archives-ouvertes.fr/tel-00008989/documentTravaux à réaliser pour la semaine suivante
•Commencer à finaliser le projet et faire l’interface graphique et finaliser le réseau de neurone afin de faire des tests.Carnet de Bord Semaine 12
2018-05-24
Présent
Zakari, Bilal, DineshObjectif de la séance
•Finaliser le réseau de neurones •Faire l’interface graphique.Travaux réalisé
Durant cette semaine,et avec les consignes du chercheur,nous avons finalisé le réseau de neurones,également nous avons creer une interface graphique que nous avons relié avec le réseau de neurones.C’est à ce moment que nous avons décidé de commencer à faire apprendre le réseau de neurones les différents dessins et les a classés d’objet.Pour cela nous avons séparé un les images de chaque classes en 3 partie: Sur les 20 classes ,50% des images seront utilisé pour l’apprentissage , 25% le seront pour tester si l’apprentissage a réussi et les 25% restant le seront eux pour valider le réseau de neurones.C’est donc durant cette semaine que le réseau a appris les différentes images,au début il y avait quelques erreurs car il confondait les abeilles et les brocolis,nous avons ensuite réussi à régler ce problème.Par la suite nous avons tester le réseau de neurones en dessinant différents dessins et le réseau les a tous reconnu,nous l’avons donc validé.Références
Travaux à réaliser pour la semaine suivante
•Préparer la présentation powerpoint pour chacun des membres du groupe •Rédiger un rapport sur les façons dont le projet s’est déroulé.Carnet de Bord Semaine 13
2018-06-01
Présent
Zakari, Bilal, DineshObjectif de la séance
•Rediger le rapport •Preparer les presentations PowerPoint.Travaux réalisé
Durant cette avant-dernière semaine ,nous avons rédigé un rapport sur le projet ,les différents codes que nous fait,comment nous les avons fait et également les méthodes et définitions qui concernent les réseaux de neurones et tout ce qui concerne l’apprentissage arti. Nous avons aussi realisé nos presentations powerpoint.Références
Travaux à réaliser pour la semaine suivante
S'entrainner pour l'oral.Carnet de Bord Semaine 14
2018-06-08