Outils pour utilisateurs

Outils du site


reprenez_le_controle_de_votre_cerveau_partie_1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
reprenez_le_controle_de_votre_cerveau_partie_1 [2020/12/09 03:05] – [Rétro-propagation avec une Descente du Gradient stochastique] sergereprenez_le_controle_de_votre_cerveau_partie_1 [2021/03/03 17:48] (Version actuelle) – [Que contient mnist.npz] serge
Ligne 1: Ligne 1:
 ====== Reprenez le contrôle de votre cerveau Partie 1 ====== ====== Reprenez le contrôle de votre cerveau Partie 1 ======
  
-<WRAP center round box 90% centeralign> +<WRAP center round box 60% centeralign> 
-**{{tagpage>ia|Toutes les pages sur L'Intelligence Artificielle}}** +**{{tagpage>ia|Intelligence Artificielle}}**     **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Freprenez_le_controle_de_votre_cerveau_partie_1|English Version]]** 
 +</WRAP> 
 +<WRAP center round box 60% centeralign> 
 +**[[les_pages_intelligence_artificielle_en_details|Les Pages Intelligence Artificielle en détails]]** 
 +</WRAP>
  
 +<WRAP center round box 90% centeralign>
 **__Atelier impertinent sur l'[[intelligence_artificielle|Intelligence Artificielle]] Partie 1__**\\ **__Atelier impertinent sur l'[[intelligence_artificielle|Intelligence Artificielle]] Partie 1__**\\
 +**Il n'y a pas d'intelligence dans l'intelligence Artificielle!**
  
 **Partie 1: Une intelligence artificielle en 50 lignes de code** **Partie 1: Une intelligence artificielle en 50 lignes de code**
Ligne 13: Ligne 19:
 [[reprenez_le_controle_de_votre_cerveau_partie_2|Partie 2]] [[reprenez_le_controle_de_votre_cerveau_partie_2|Partie 2]]
 </WRAP> </WRAP>
 +
 +=====Renommons l'Intelligence Artificielle====== 
 +A la fin de l'atelier, vous devrez proposer une Nouvelle appellation, avec un nom féminin, parce que quand c'est Mal, c'est Féminin (gag au 11ème degré) (exemple **la** covid) !
 =====Vocabulaire===== =====Vocabulaire=====
 ===python=== ===python===
-Python est un langage de programmation apprécié par les bons pédagogues (dont je fais partie) qui y trouvent un langage où la syntaxe permet une initiation aisée aux concepts de base de la programmation.  +[[https://www.python.org/|Python]] est un langage de programmation apprécié par les bons pédagogues (dont je fais partie) qui y trouvent un langage où la syntaxe permet une initiation aisée aux concepts de base de la programmation.\\ 
-Python est utilisé comme langage de programmation dans l'enseignement secondaire et supérieur, par les chercheurs, scientifiques. Tous les programmes dit d'IA peuvent se programmer en python. +<code python> 
-  +print('Hello, world!'
-===matrice tenseur===+</code> 
 +[[https://fr.wikipedia.org/wiki/Python_(langage)|Python]] est utilisé comme langage de programmation dans l'enseignement secondaire et supérieur, par les chercheurs, scientifiques. Tous les programmes dit d'IA peuvent se programmer en python. 
 +<code python> 
 +base 
 +hauteur 
 +aire base * hauteur / 2 
 +print(aire) 
 +print(Aire)  # !! Erreur !!                
 +</code> 
 + 
 +===Matrice et Tenseur===
 {{:media_14:matrice_tableur.png?200|}}{{:media_14:matrice_informatique.png?200|}}\\ {{:media_14:matrice_tableur.png?200|}}{{:media_14:matrice_informatique.png?200|}}\\
 {{:media_14:numpy-1d2d3d-array.png?400|}} {{:media_14:numpy-1d2d3d-array.png?400|}}
- 
-===Image=== 
-Une image en gris est un tableau de nombre compris entre 0 et 255 
-{{ :media_14:external-content.duckduckgo.com.jpeg?400 |}} 
  
 ===Sources des exemples sans les videos=== ===Sources des exemples sans les videos===
Ligne 32: Ligne 47:
 Un programme pour reconnaissance les chiffres de 0 à 9. Un programme pour reconnaissance les chiffres de 0 à 9.
   * En entrées, une image de 28 x 28 pixels: {{:media_14:28_input_0.png?28|}}   * En entrées, une image de 28 x 28 pixels: {{:media_14:28_input_0.png?28|}}
-  * Le programme (Le Sâr Rabindranath Duval) doit prédire la réponse à la question:  +  * Le programme donne **la réponse** !!! 
-  Votre sérénité, pouvez-vous me dire quel est le numéro du compte en banque de Monsieur ? +  * Le programme affichera aussi la **vraie réponse** qui sera la probabilité pour chaque chiffre.
-  Vous pouvez le dire ? +
-  * Oui !!! +
-  * Le programme donnera la réponse !!! +
-  * Le programme affichera aussi la vraie réponse qui sera la probabilité pour chaque chiffre.+
  
 {{ :media_14:chiffres_numpy_50_lignes.png?200 |}} {{ :media_14:chiffres_numpy_50_lignes.png?200 |}}
  
 =====Des datas en entrèes===== =====Des datas en entrèes=====
-Sans data, pas d'Intelligence Artificielle.+**Sans data = jeu de données, pas d'Intelligence Artificielle.**
  
 ====Source de mnist.npz==== ====Source de mnist.npz====
-  * **[[https://www.kaggle.com/|www.kaggle.com]]** Inside Kaggle you’ll find all the code & data you need to do your data science workUse over 50,000 public datasets and 400,000 public notebooks to conquer any analysis in no time. +{{ :media_14:mnistexamples.png?400 |}} 
 +  * **[[https://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_MNIST|MNIST]]** sur Wikipedia 
 +  * **[[https://www.kaggle.com/|www.kaggle.com]]** Kaggle est une plateforme web organisant des compétitions en science des donnéesSur cette plateformeles entreprises proposent des problèmes en science des données et offrent un prix aux datalogistes obtenant les meilleures performances. L'entreprise a été fondée en 2010 par Anthony Goldbloom. **La société mère est Google (2017–présent)**! 
 +  * **[[https://www.kaggle.com/vikramtiwari/mnist-numpy|mnist-numpy]]** This is classic MNIST dataset and pickled (in npz format).
 ====Que contient mnist.npz==== ====Que contient mnist.npz====
  
Ligne 66: Ligne 79:
  
 ===Les valeurs des pixels d'une image=== ===Les valeurs des pixels d'une image===
 +Une image en gris est un tableau de nombre compris entre 0 et 255
 +{{ :media_14:external-content.duckduckgo.com.jpeg?400 |}}
 {{ :media_14:pixel.png?800 |}} {{ :media_14:pixel.png?800 |}}
- 
  
 ===Analyse des images=== ===Analyse des images===
  
-Exécuter le script **[[https://github.com/sergeLabo/atelier_ia/blob/main/ia_50_lignes/display_gray_with_chiffre.py|display_gray_with_chiffre.py]]** qui fait défiler au hazard des images avec leur label+Exécuter le script **[[https://github.com/sergeLabo/atelier_ia/blob/main/ia_50_lignes/display_gray_with_chiffre.py|display_gray_with_chiffre.py]]** qui fait défiler au hasard des images avec leur label
 {{ vimeo>488509308?medium }} {{ vimeo>488509308?medium }}
  
Ligne 78: Ligne 92:
  
 Matrix des images = Matrix des x; Matrix des labels = Matrix des y Matrix des images = Matrix des x; Matrix des labels = Matrix des y
- 
 <code> <code>
 x = 0  0  0  125  ......  0  0 soit 784 valeurs comprises entre 0 et 255\\ x = 0  0  0  125  ......  0  0 soit 784 valeurs comprises entre 0 et 255\\
Ligne 93: Ligne 106:
      8 sur 60 000 lignes       8 sur 60 000 lignes 
 </code> </code>
- 
- 
  
 ====Qualité des datas d'entrés==== ====Qualité des datas d'entrés====
Ligne 102: Ligne 113:
   * Comment a été compilé le 1er compilateur ?   * Comment a été compilé le 1er compilateur ?
  
 +{{ :media_14:mnist_classification_using_multinomial_logistic.png?600 |}}
 +Un **[[apprentissage_non_supervise|apprentissage non supervisé]]** permet d'analyser un jeu de données.
  
 ====Conclusion==== ====Conclusion====
Ligne 117: Ligne 130:
 {{ :media_14:photo-de-neurone.jpg?300 |}} {{ :media_14:photo-de-neurone.jpg?300 |}}
  
-=====Quelques explications du code=====+=====Traduction en un modèle informatique===== 
 +====Analogie avec les univers parallèles====
  
-====Traduction mathématique====+  * **[[https://fr.wikipedia.org/wiki/Jean-Pierre_Petit|Jean-Pierre PETIT]]** célèbre sur Wikipedia, spécialiste du changement de variable ! 
 +  * **[[https://www.jp-petit.org/|Jean-Pierre PETIT]]** est aussi spécialiste en **[[https://www.jp-petit.org/science/mhd/mhd_fr.htm|Magnéto hydro dynamique]]** et auteur de la théorie **[[https://www.jp-petit.org/science/f200/sommaire_de_f200.htm|Cosmologie Gémellaire]]**, notion fondamentale pour permettre les voyages au fond de la galaxie. 
  
 +====Analogie ...====
 {{ :media_14:reseaux_neurones_feed_forwarded_2.png?400 |}} {{ :media_14:reseaux_neurones_feed_forwarded_2.png?400 |}}
  
-Le réseau de neurones est constitué de matrices (appelé tenseur si la dimension est supérieure à 3)+Le réseau de neurones est constitué de matrices. Les liens entre les nœuds symbolisent les liens de la multiplication de matrices.  
 +{{ :media_14:arrow_matrix.png?400 |}}
  
-====Réseau des matrix réelles==== +Représentation de notre modèle 
-faire une image avec des matrices+{{ :media_14:perceptron.png?800 |}} 
 +====Traduction informatique d'une reconnaissance==== 
 +**Un Réseau des matrices avec des fonctions d'activation** 
 +{{ :media_14:shema_boite.png?600 |}}
  
-===Calcul de prédiction d'une image===+**En boites** 
 +{{ :media_14:calcul_boite.png?600 |}} 
 + 
 +**Calcul matriciel **
 {{ :media_14:calcul_d_une_prediction.svg.png?600 |}} {{ :media_14:calcul_d_une_prediction.svg.png?600 |}}
 +
 +====Des vidéos qui font un tour de magie====
 +<WRAP center centeralign round alert 80%>
 +Extrait des explications: "C'est compliqué, sinon ça ne serait pas une intelligence !"\\
 +**Grosse connerie, il n'y a aucune intelligence dans l'intelligence Artificielle!**
 +</WRAP>
 +<WRAP group>
 +<WRAP  quater column>
 +Un réseau de neurones c'est quoi?
 +{{youtube>aircAruvnKk?160x90}}
 +</WRAP>
 +<WRAP quater column>
 +Descente du gradient
 +{{youtube>IHZwWFHWa-w?160x90}}
 +</WRAP>
 +<WRAP  quater column>
 +Backpropagation
 +{{youtube>Ilg3gGewQ5U?160x90}}
 +</WRAP>
 +<WRAP quater column>
 +Un peu long !
 +{{youtube>tIeHLnjs5U8?160x90}}
 +</WRAP>
 +</WRAP>
  
 ====Explications sur les fonctions/courbes utilisées==== ====Explications sur les fonctions/courbes utilisées====
-====Relu====+===Initialisation de la matrice de poids==
 +La matrice de poids ne doit pas être nulle au départ. On la remplit avec des nombres au hasard. 
 +**[[https://mila.quebec/personne/xavier-glorot/|Xavier Glorot]]** et **[[https://scholar.google.com/citations?user=DhtAFkwAAAAJ&hl=en|Kaiming He]]** 
 + 
 +===Relu===
 Rectifier neural networks Rectifier neural networks
 {{ media_12:relu.jpg?400 |}} {{ media_12:relu.jpg?400 |}}
  
  
-====Sigmoïd====+===Sigmoïd===
 {{ media_12:sigmoid.png?400 |}} {{ media_12:sigmoid.png?400 |}}
  
  
-====Rétro-propagation==== +====Rétropropagation==== 
 +  * **[[https://fr.wikipedia.org/wiki/R%C3%A9tropropagation_du_gradient|Rétropropagation du gradient]]** La rétropropagation du gradient est une méthode pour calculer le gradient de l'erreur pour chaque neurone d'un réseau de neurones, de la dernière couche vers la première. 
 +{{ ::retropropagation.png?600 |}}
  
 ====Rétro-propagation avec une Descente du Gradient stochastique==== ====Rétro-propagation avec une Descente du Gradient stochastique====
Ligne 157: Ligne 209:
   * LBFGS   * LBFGS
  
-{{:media_14:sgd_high.png?400|}}{{:media_14:sgd_optimal.png?400|}}+<WRAP group> 
 +<WRAP half column> 
 +Inefficace 
 +{{:media_14:sgd_high.png?300|}} 
 +</WRAP> 
 + 
 +<WRAP half column> 
 +Efficace 
 +{{:media_14:sgd_optimal.png?300|}} 
 +</WRAP> 
 +</WRAP> 
 + 
 +=====Intelligence Artificielle===== 
 +**Un programme est une Intelligence Artificielle si il comprend une étape d'apprentissage automatique.** 
 + 
 +====Les étapes==== 
 +  * Collecte ou vol de datas 
 +  * Analyse, tri, étude, mise en forme des datas 
 +  * Apprentissage automatique 
 +  * Évaluation de l'efficacité 
 +  * Utilisation du fichier de poids 
 + 
 +====Exemple de programme==== 
 +  * Reconnaissance d'objets dans des images: il faut au moins 2000 images par objet, variées. 
 +  * Génération de texte automatique 
 + 
 + 
 +====Reconnaissance faciale==== 
 +  * **[[https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78|Machine Learning is Fun! Part 4: Modern Face Recognition with Deep Learning]]** 
 +{{ :media_01:face_recogn.png?200 |}} 
 + 
 +=====Résumé===== 
 +  * **[[https://www.youtube.com/watch?v=m0Xywn-Exk4|Le saviez-vous ? L’intelligence artificielle n’est pas… intelligente]]** 
 + 
 + 
 +{{ youtube>m0Xywn-Exk4?medium }} 
 + 
 +=====Quizz de contrôle===== 
 +{{ :media_14:loup.png?400 |}}
  
 +Comment une Intelligence reconnaît un loup ?
  
 +  * Réponse A: Il hurle quand il discute avec ses frères.
 +  * Réponse B: Ses dents rayent le plancher.
 +  * Réponse C: Il parle le loup, il nage comme un loup, il cancane comme un loup.
  
 +{{:media_14:rgb_pixels.png?250|}}{{:media_14:rgb_pixels_values.png?250|}}{{:media_14:rgb_pixels_values_nb.png?250|}}
 +=====Reprenez le contrôle de votre cerveau Partie 2=====
 +  * [[reprenez_le_controle_de_votre_cerveau_partie_2|Partie 2]]
  
 {{tag>atelier ia sb}} {{tag>atelier ia sb}}
reprenez_le_controle_de_votre_cerveau_partie_1.1607483112.txt.gz · Dernière modification : 2020/12/09 03:05 de serge