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/07 12:53] – [Relu_prime] 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, numpy +===python=== 
-  * matricetenseur +[[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.\\ 
-  image +<code python> 
-  * fichier toto.npz+print('Helloworld!') 
 +</code> 
 +[[https://fr.wikipedia.org/wiki/Python_(langage)|Python]] est utilisé comme langage de programmation dans l'enseignement secondaire et supérieurpar les chercheurs, scientifiques. Tous les programmes dit d'IA peuvent se programmer en python. 
 +<code python> 
 +base = 8 
 +hauteur = 3 
 +aire = base hauteur / 2 
 +print(aire) 
 +print(Aire)  # !! Erreur !!                
 +</code>
  
-===Sources des exemples sans les videos===+===Matrice et Tenseur=== 
 +{{:media_14:matrice_tableur.png?200|}}{{:media_14:matrice_informatique.png?200|}}\\ 
 +{{:media_14:numpy-1d2d3d-array.png?400|}}
  
 +===Sources des exemples sans les videos===
 +  * **[[https://github.com/sergeLabo/atelier_ia/tree/main/ia_50_lignes|Une ia en 50 lignes de code]]**
  
 ===== Une IA en 50 lignes de code ===== ===== Une IA en 50 lignes de code =====
 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: chiffre_1.png +  * En entrées, une image de 28 x 28 pixels: {{:media_14:28_input_0.png?28|}} 
-  * Un chiffre écrit à la main: 1 +  * Le programme donne **la réponse** !!! 
-  * Le programme (Le Sâr Rabindranath Duval) doit prédire répondre à la question:  +  * Le programme affichera aussi la **vraie réponse** qui sera la probabilité pour chaque chiffre.
-  Votre sérénité, pouvez-vous me dire quel est le numéro du compte en banque de Monsieur ? +
-  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====
- +{{ :media_14:mnistexamples.png?400 |}} 
-à chercher et trouver +  * **[[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ées. Sur cette plateforme, les 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====
  
 ===Extrait de 3 images=== ===Extrait de 3 images===
- 
 <WRAP group> <WRAP group>
 <WRAP third column> <WRAP third column>
Ligne 60: Ligne 77:
 </WRAP> </WRAP>
 </WRAP> </WRAP>
 +
 +===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 |}}
 +
 +===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 hasard des images avec leur label
 +{{ vimeo>488509308?medium }}
 +
  
 ===Format d'enregistrement des images=== ===Format d'enregistrement des images===
  
 +Matrix des images = Matrix des x; Matrix des labels = Matrix des y
 +<code>
 +x = 0  0  0  125  ......  0  0 soit 784 valeurs comprises entre 0 et 255\\
 +    0  0  0  125  ......  0  0 
 +    ....
 +    0  0  0  125  ......  0  0 sur 60 000 lignes
  
 +y = 4  
 +     5  
 +       
 +       
 +     ....... 
 +     7  
 +     8 sur 60 000 lignes 
 +</code>
  
 ====Qualité des datas d'entrés==== ====Qualité des datas d'entrés====
Ligne 69: Ligne 111:
   * Comment ont-elles été contrôlées ?   * Comment ont-elles été contrôlées ?
   * Comment est justifié la décision si le chiffre écrit est ambigu ?   * Comment est justifié la décision si le chiffre écrit est ambigu ?
 +  * 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====
 +L'Intelligence Artificielle ne voit pas çà:
  
- +{{:media_01:terminator_1_vision.png?400|}} 
- +{{:media_14:00_58_1700073.png?400|}}
  
 ===== Origine des réseaux de neurones ===== ===== Origine des réseaux de neurones =====
Ligne 84: 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 |}}
  
-une belle image à faire dans inkscape+Représentation de notre modèle 
 +{{ :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 |}} 
 + 
 +**En boites** 
 +{{ :media_14:calcul_boite.png?600 |}} 
 + 
 +**Calcul matriciel ** 
 +{{ :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 |}}
  
-====Dérivée de Relu==== 
-  * **[[https://fr.wikipedia.org/wiki/Fonction_de_Heaviside|Fonction de Heaviside]]** 
  
-{{ :media_14:dirac_distribution_cdf.svg?400 |}} +===Sigmoïd===
-====Sigmoïd====+
 {{ media_12:sigmoid.png?400 |}} {{ media_12:sigmoid.png?400 |}}
  
-====Sigmoïd prime====+ 
 +====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====
 +Méthodes mathématiques pour qu'un processus atteigne le plus vite possible une consigne:  
 +  * Annealing
 +  * Stochastic Gradient Descent
 +  * AW-SGD (new!)
 +  * Momentum (SGD)
 +  * Nesterov Momentum (SGD)
 +  * AdaGrad
 +  * AdaDelta
 +  * ADAM
 +  * BFGS
 +  * LBFGS
 +
 +<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.1607345628.txt.gz · Dernière modification : 2020/12/07 12:53 de serge