Carnet de Bord Semaine 1

2018-03-08

Présent

Zakari, Bilal, Dinesh

Objectif 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
Egalement, dès le premier samedi ou l'on s'est vu , nous avons demandé de l'aide pour comprendre ses sujets sur le forum de Openclassroom. Nous avons été redirigé vers une association nommé Arbre des Connaissances(http://arbre-des-connaissances-apsr.org/) qui permet a des lycéens et collegiens de decouvrir le monde de la recherche scientifique.Pour ça, ils mettent en place des partenariats entre etablissement scolaire et des centres de recherches publique(Inria,Cnrs,Uiversité) et privé (Thales,Safran).

Références

  1. https://trustmyscience.com/une-ia-genere-une-nouvelle-ia-plus-performante-que-toutes-les-autres/
  2. https://jeux.developpez.com/tutoriels/jeux-video/
  3. https://pub.phyks.me/sdz/sdz/comment-creer-un-jeu-video.html
  4. https://openclassrooms.com/courses/comment-creer-un-jeu-video/les-outils-generiques-accessibles-sans-programmation
  5. https://openclassrooms.com/courses/apprenez-a-programmer-en-python
  6. https://openclassrooms.com/courses/l-algorithme-rsa/les-programmes-de-cryptage-et-decryptage
  7. https://openclassrooms.com/courses/apprenez-a-programmer-en-python/qu-est-ce-que-python
  8. https://www.youtube.com/watch?v=fBcI7UajjjM
  9. https://fr.wikipedia.org/wiki/Probl%C3%A8me_du_voyageur_de_commerce
  10. http://perso.ensta-paristech.fr/~lunevill/sim_numerique/projets/vdc.pdf
  11. https://fr.wikipedia.org/wiki/Probl%C3%A8me_de_plus_court_chemin
  12. http://www.ensta-paristech.fr/~lunevill/sim_numerique/projets/vdc.pdf
  13. https://interstices.info/jcms/c_376
  14. https://openclassrooms.com/forum/sujet/ocaml-amp-algorithmique-probleme-du-voyageur-de-commerce-56686
  15. </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, Dinesh

Objectif 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

  1. https://experiments.withgoogle.com/quick-draw
  2. https://fr.wikipedia.org/wiki/Reconnaissance_de_visage
  3. http://mashable.france24.com/tech-business/20170619-google-tensorflow-reconnaissance-image-api-machine-learning
  4. https://sites.google.com/site/tpelintelligenceartificielle/la-reconnaissance-faciale
  5. https://www.morpho.com/fr/terminaux-biometriques/terminaux-de-controle-dacces/visage
  6. https://www.morpho.com/fr/reconnaissance-faciale
  7. 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'objet

Carnet de Bord Semaine 3

2018-03-22

Présent

Zakari, Bilal, Dinesh

Objectif de la séance

Recherche de documents sur : l'intelligence artificielle la reconnaissance d'image/ reconnaissance d'objet avec l'IA Apprentissage artificielle

Travaux 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.pdf

Travaux à réaliser pour la semaine suivante

Faire des recherches sur les différents types d’apprentissages Regarder comment fonctionne ces techniques et comment le coder

Carnet de Bord Semaine 4

2018-03-29

Présent

Zakari, Bilal, Dinesh

Objectif de la séance

Recherche des différentes méthodes d'apprentissage artificielle supervisé non supervisée Technique d’apprentissage

Travaux réalisé

Etude des detail des differentes techniques: •Support Vecteur Machine •K plus proche voisin •Arbre de décision •Réseaux de neurones

Ré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%A9cision

Travaux à 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, Dinesh

Objectif 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'apprentissage

Travaux 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.html

Travaux à réaliser pour la semaine suivante

Définir le choix de la technique d'apprentissage artificielle à utiliser

Carnet de Bord Semaine 6

2018-04-12

Présent

Zakari, Bilal, Dinesh

Objectif de la séance

tutoriel python tutoriel codage réseau de neurones

Travaux 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 accomplie

Carnet de Bord Semaine 7

2018-04-19

Présent

Zakari, Bilal, Dinesh

Objectif de la séance

•Rencontrer le chercheur et lui présenter le travail accompli. •Coder un reseau de neurones plus simple

Travaux 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-perceptron

Travaux à réaliser pour la semaine suivante

•Finir de coder le reseau de neurones simple •Tester le reseau de neurones

Carnet de Bord Semaine 8

2018-04-26

Présent

Zakari, Bilal, Dinesh

Objectif 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.html

Travaux à 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, Dinesh

Objectif 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 PyTorch

Carnet de Bord Semaine 10

2018-05-10

Présent

Zakari, Bilal, Dinesh

Objectif 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-draw

Travaux à 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 projet

Carnet de Bord Semaine 11

2018-05-17

Présent

Zakari, Bilal, Dinesh

Objectif de la séance

Savoir comment coder l’interface graphique Savoir avec quel outils

Travaux 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 concret

Ré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/document

Travaux à 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, Dinesh

Objectif 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, Dinesh

Objectif 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

Présent

Zakari, Bilal, Dinesh

Objectif de la séance

•Se préparer à l’oral pour la présentation finale.

Travaux réalisé

Références

Travaux à réaliser pour la semaine suivante

Address

Lycée Adolphe Cherioux
Vitry sur Seine, 94400
France