ICN project neuronal
Rapport de stage : ICN project neuronal. Recherche parmi 300 000+ dissertationsPar polonuim • 12 Octobre 2019 • Rapport de stage • 1 763 Mots (8 Pages) • 458 Vues
Séance du 13/02/2019
début du travail sur les réseaux de neurones et l'intelligence artificiel avec :
- une étude d'un neurone humain et de son fonctionnement au travers d'une activité et d'un site qui permet d'étudier l'évolution d'un neurone avec plusieurs facteurs ;
- une schématisation d'un neurone via les mathématiques puis avec python ;
- des consignes afin de réaliser un neurone simple qui reconnaîtra une image précise de 3 pixel en noir et blanc
Séance du 20/02/2019
Travail sur les neurones en progression avec :
- une étude des différentes façon de coder un d'entre eux en modifiant le code de l'activité réalisé afin que celui-ci soit plus "propre" et plus efficace : on a en effet donné aux poids synaptiques et au seuil des valeurs définies et non par défaut puis programmable par la suite. On a ensuite eu l'idée d'utiliser les listes afin d'ajouter autant de poids que nous le désirons sans avoir un code trop lourd et fastidieux;
- quelques révisions et découvertes sur python grâce à notre livre de chevet qui est celui rédigé par Mr Swinnen qui nous permettra de corriger nos lacunes et approfondir nos connaissances sur python.Nous avons par exemple appris à utiliser les fonctions class et self du langage informatique
Séance du 13/03/2019
Consolidation des connaissances acquises sur l'outil "class" de python afin de renforcer nos connaissances sur ce langage avec, par exemple :
- tout d'abord un programme qui permet, grâce à deux fonctions qui donnent respectivement les nombres présents sur les deux faces ainsi que la somme des et une "class : domino", permettant de "créer" un domino fictif, et via un appel de fonction, de faire reconnaître au logiciel les faces du domino que l'on définira de cette façon : D1[ici un domino quelconque]= domino[la class défini au début du programme](2,3)[les paramètres du domino] ;
- ensuite un programme qui permet de "créer" un compte bancaire fictif et de lui ajouter ou retirer une somme d'argent précise, grâce à une "class : CompteBancaire" avec 3 paramètres et trois fonctions qui permettent de gérer ce compte qu'on aura défini de la même façon que le domino.
D'autre exercices étaient réalisables mais je n'eus pas le temps de les traiter dans leur intégralité
Séance du 20/03/2019
Découverte de toutes les particularités de l'outil "class", grâce à une lecture des pages 180 à 190 de notre livre de chevet. Nous avons notamment découvert :
-le fait que nous pouvions définir une class à partir d'une autre, on parle donc de class parente et class fille. Cela permet de paramétrer la class fille à partir de la class parente tout en affinant : par exemple, nous avons vu une class "mammifère" à laquelle on a attribué une caractéristique ,puis une class "carnivore" contenant une autre caractéristique. De cette façon, un objet instancié avec la class fille possédera ici les caractéristiques de la class parente en plus de celle de sa class.
-Le polymorphisme de certaines commandes : après avoir défini deux class (l'une parente de l'autre) les commandes (par exemple les fonctions , comme affiche() ou __init__()) de la parente peuvent être réutilisé pour la class fille.Séance du 13/02/2019
Séance du 13/02/2019
-Lors de la premier séance, nous avons introduit le concept de l’intelligence artificiel neuronal :
~ (environ 30 min) Nous avons débuté par une petite conversation portant sur le projet à réaliser jusqu'à la fin de l’année.
~ (environ 20 min) Nous avons constaté notre niveau en python était réellement mauvais, de ce fait, vous nous avez conseillé de commencer à redresser le plus tôt possible notre niveau en python à l'aide du livre de Gerard Swinnen notamment (Programmer avec python 3). On a appris que le langage python est cependant un langage puissant et qui possédé énormément de fonctionnalité comme la modélisation d'une intelligence artificielle possédant des milliers de neurones.
~ (Tout la dernière heure) Nous nous sommes donné comme objectif de comprendre tout d’abord la fonction d'une seule neurone à l'aide d'un site intitulé : "http://www.icnisnlycee.free.fr/" :
1. Concept d'une neurone qui possédé une entrée et une sortie. Cependant, il est préférable de réaliser une classe neurone pour "n" entrées qui soit flexible et qui accepte un nombre quelconque d'entrées et de poids synaptiques.
2. La fonction d'activation du neurone dépend de la somme = e1*p1*e2*p2*[...]*ex*px (avec x appartenant au entier naturel)
- "e" équivaut aux nombres d'entrées (e1, e2, e3....)
- "p" équivaut aux poids synaptiques (p1, p2, p2....)
3. Nous avons établit une concordance entre neurone et seuil (deuxième méthode dans la classe neurone qui va correspondre à la fonction d’activation du neurone en fonction de sa sortie "y") permettant de mettre en évidence si le neurone est actif ou non.
# Ce premier cours était une simple introduction du sujet. Pour ma part tout semblerait annoncer un sujet vraiment passionnant et entretenant.
Séance du 20/02/2019
-Lors de la seconde séance, nous sommes entrée plus dans les détails. C'est-à-dire :
~ (environ 50 min) Nous avons commencer à feuilleter le chapitre 12 (un peu) et principalement le chapitre 11 du livre de Gerard Swinnen afin de posséder quelques bases avant d'entrer dans le cœur de la programmation en python :
1. Tout d'abord, nous avons vu la création de classe et d'objet (attribut est encore un terme vague pour moi)
2. Définition d’une classe élémentaire (p.164-165)
...