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

Prochaine révision
Révision précédente
reprenez_le_controle_de_votre_cerveau_partie_1 [2020/12/07 11:11] – créée 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 60% centeralign>
 +**{{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__**\\
 +**Il n'y a pas d'intelligence dans l'intelligence Artificielle!**
 +
 +**Partie 1: Une intelligence artificielle en 50 lignes de code**
 +</WRAP>
 +
 +<WRAP center round box 90% centeralign>
 +[[reprenez_le_controle_de_votre_cerveau|Plan Général]] ... [[reprenez_le_controle_de_votre_cerveau_partie_1|Partie 1]] ... 
 +[[reprenez_le_controle_de_votre_cerveau_partie_2|Partie 2]]
 +</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=====
 +===python===
 +[[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.\\
 +<code python>
 +print('Hello, world!')
 +</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 = 8
 +hauteur = 3
 +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: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 =====
 +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|}}
 +  * Le programme donne **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 |}}
 +
 +=====Des datas en entrèes=====
 +**Sans data = jeu de données, pas d'Intelligence Artificielle.**
 +
 +====Source de mnist.npz====
 +{{ :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é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====
 +
 +===Extrait de 3 images===
 +<WRAP group>
 +<WRAP third column>
 +{{:media_14:28_input_0.png?28|}}
 +{{:media_14:400_input_0.png?200|}}
 +</WRAP>
 +<WRAP third column>
 +{{:media_14:28_input_2.png?28|}}
 +{{:media_14:400_input_2.png?200|}}
 +</WRAP>
 +<WRAP third column>
 +{{:media_14:28_input_3.png?28|}}
 +{{:media_14:400_input_3.png?200|}}
 +</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===
 +
 +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====
 +  * Comment ont été construites ces données ?
 +  * Comment ont-elles été contrôlées ?
 +  * 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 =====
 +====Principe biologique====
 +  * [[https://svt-ccc.pagesperso-orange.fr/4/4_p32_ch1.html\La communication nerveuse entre les organes|SVT au collège Clos Chassaing de Périgueux]]
 +
 +{{ :media_14:neurone.jpg?300 |}}
 +{{ :media_14:neurone_reseau.jpg?600 |}}
 +{{ :media_14:photo-de-neurone.jpg?300 |}}
 +
 +=====Traduction en un modèle informatique=====
 +====Analogie avec les univers parallèles====
 +
 +  * **[[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 |}}
 +
 +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 |}}
 +
 +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====
 +===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
 +{{ media_12:relu.jpg?400 |}}
 +
 +
 +===Sigmoïd===
 +{{ media_12:sigmoid.png?400 |}}
 +
 +
 +====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====
 +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}}
reprenez_le_controle_de_votre_cerveau_partie_1.1607339469.txt.gz · Dernière modification : 2020/12/07 11:11 de serge