Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WTM21 - Intro au Design + Developpement en IA p...

WTM21 - Intro au Design + Developpement en IA par Houda Kaddioui & Gemma Trigueros

Les meilleures équipes d’apprentissage automatique et d’intelligence artificielle sont interdisciplinaires, avec des développeur.se.s et des designers travaillant ensemble, pour créer des produits en lesquels les utilisateur.trice.s peuvent avoir confiance. Dans cet atelier, vous découvrirez en même temps le code et les principes de design d'IA.
Niveau de compétence: cet atelier est conçu pour les développeur.se.s novices en conception et pour les désigner.euse.s novices dans le développement d’IA.
Objectif: L'objectif est de présenter à la fois le code («comment construire des réseaux neuronaux») et le design («comment construire des systèmes auxquels les utilisateur.trice.s peuvent faire confiance») en même temps. Si vous êtes développeur.se, nous espérons que ce sera une introduction utile et rapide au design. De même, si vous êtes designer, nous espérons que ce sera une bonne intro au code.

Women Techmakers Montreal

April 12, 2021
Tweet

More Decks by Women Techmakers Montreal

Other Decks in Programming

Transcript

  1. Soyez courtois Be courteous Posez vos questions oralement ou par

    chat Ask questions on the chat or unmute yourselves Vous avez des commentaires? Laissez-nous savoir \ Got feedback? We would love to hear from you Partagez dans les réseaux sociaux \ Share on social media #CourageToCreate #WTM21 #WTMMontreal
  2. Everyone in the dating business wants to know what women

    want – it’s the billion-dollar question. But it’s simple: put one in charge, and you find out.” Whitney Wolfe, founder of Bumble
  3. Intro au Développement + Design en IA International Women’s Day

    2021 Houda Kaddioui @sha3kouka Gemma Trigueros @gemmaqt
  4. À quoi s’attendre - What to expect Commencer à entraîner

    votre propre réseau de neurones sur TensorFlow et Colab Explorer comment aider vos utilisateurs à calibrer leur confiance grâce au guide People + AI Guidebook
  5. Agenda Entraîner un réseau de neurones sur TensorFlow 45 min

    IA centrée sur l'humain 15 min Explicabilité + Calibration de la confiance 15 min Afficher la certitude du modèle 20 min Q+A
  6. Faisons connaissance Qu’est-ce qui vous amène à l’évènement Quel est

    votre domaine d’expertise Pourquoi cet atelier en particulier? 💡 👐 🧲 5 minutes
  7. Les données d’entraînement collectées et annotées Des modèles sont construits,

    entraînés et évalués Des prédictions sont générées
  8. Les données d’entraînement collectées et annotées Des modèles sont construits,

    entraînés et évalués Des prédictions sont générées Nous déterminons les critères d’évaluation Et nous sommes affectés par les résultats Nous choisissons les sources de données
  9. Un sous type d’apprentissage automatique Entraîner des modèles utilisant des

    réseaux de neurones Meilleure option pour les données non structurées (images, texte, sons) Notre Objectif: Plonger au vif du sujet + mettre les mains à la pâte Deep Learning AI ML DL
  10. Nous allons parcourir le notebook ensemble Vous pouvez lancer le

    code et suivre en même temps! Il y a un petit exercice à la fin pour tester :) Rendez-vous sur ce lien: goo.gle/iwd2021 👉
  11. Activer un GPU Éditer et rouler des cellules Restaurer le

    notebook à son état initial (clean state) Sujets
  12. Deep Learning framework open source Développement en Python, JavaScript, or

    C++ Lancé par Google en 2015, actuellement >2,000 contributeurs dans le monde Aujourd’hui, vous allez écrire votre réseau de neurone en Python TensorFlow
  13. (train_images, train_labels), (test_images, test_labels) = mnist.load_data() 60,000 images pour entraîner

    10,000 images pour tester Chaque image est de 28x28x1 (grayscale) Le MNIST dataset of handwritten digits
  14. Les données d’entraînement collectées et annotées Nous choisissons les sources

    de données Des modèles sont construits, entraînés et évalués Des prédictions sont générées Nous déterminons les critères d’évaluation Et nous sommes affectés par les résultats
  15. Combinaison linéaire des valeurs d’entrées (inputs) et poids Bias not

    drawn (you could set x 1 to be a constant input of 1). Inputs poids somme activation output x 0 x 1 x 2 𝜃 0 𝜃 1 𝜃 2 g ŷ ∑ ŷ = g ( ∑ x i 𝜃 i ) ŷ = g ( xT𝜃 ) Peut être reformulé comme un produit scalaire Neurone
  16. Combinaison linéaire des valeurs d’entrées (inputs) et poids Bias not

    drawn (you could set x 1 to be a constant input of 1). Inputs poids somme activation output x 0 x 1 x 2 𝜃 0 𝜃 1 𝜃 2 g ŷ ∑ ŷ = g ( ∑ x i 𝜃 i ) ŷ = g ( xT𝜃 ) Peut être reformulé comme un produit scalaire Neurone
  17. 12 48 96 18 12 48 96 18 W x

    b + = Output Poids (weights) Valeurs d’entrée Biais Scores 1.4 0.5 0.7 1.2 130.1 Avion 0.5 Plusieurs inputs; un seul output Une vue différente d’un neurone
  18. 12 48 96 18 12 48 96 18 + =

    1.4 0.5 0.7 1.2 -2.0 0.1 0.2 -0.7 W est maintenant une matrice 130.1 Plane -11.4 Car 0.5 1.2 Maintenant avec deux outputs (starting to look like a NN!) Multiple inputs; multiple outputs W x b Output Weights Inputs Bias Scores
  19. Softmax activation converts scores to probabilities ... ... model =

    Sequential() model.add(Dense(10, input_shape=(784,), activation='softmax')) Now, in code
  20. Les données d’entraînement collectées et annotées Nous choisissons les sources

    de données Des modèles sont construits, entraînés et évalués Nous déterminons les critères d’évaluation Et nous sommes affectés par les résultats Des prédictions sont générées
  21. La taille des “pas”(learning rate). Des petits pas prennent du

    temps à converger vers le minimum; mais des grands pas risquent de nous faire sauter trop loin et de rater le minimum. Le rôle du ‘’optimizer’’ est d’ajuster tout ça automatiquement model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) Loss Parameter Gradient descent
  22. 0 0 1 0 0 0 0 0 0 0

    0 1 2 3 4 5 6 7 8 9 0.1 0.2 0.6 0.2 0.0 0.0 0.0 0.0 0.0 0.0 The label What the model predicted La perte d'entropie croisée (Cross entropy) compare ces deux nombres. model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) Loss
  23. Une epoch veut dire que le réseau de neurone a

    utilisé tous les exemples une fois pour mettre à jour les poids. Le plus on entraîne un modèle, le meilleur il deviendra à prédire correctement les exemples des données d’entraînement. Si on fait tourner le processus trop longtemps, le modèle va ‘’overfit’’: Il va apprendre par coeur plutôt que comprendre. model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5)
  24. Exercise ☝ ✌ Si vous êtes novices: http://bit.ly/wtm_AI Changer le

    dataset à Fashion MNIST Ajouter une couche pour créer un réseau de neurones . Questions? Vous pouvez écrire dans le chat ou désactiver votre micro et les poser! Déjà fini? Essayez le tutoriel #2
  25. Models are built, trained and evaluated Des modèles sont construits,

    entraînés et évalués Nous déterminons les critères d’évaluation Les données d’entraînement collectées et annotées Nous choisissons les sources de données Des prédictions sont générées Et nous sommes affectés par les résultats
  26. We still have a lot to learn about how to

    make users feel in control of technology not the other way around. Jess Holbrook and Josh Lovejoy People + AI Research (PAIR) “ “
  27. Besoins des utilisateurs & définition du succès Collection des données

    & évaluation Explicabilité & confiance Erreurs & échecs gracieux Models mentaux Feedback & contrôles
  28. Besoins des utilisateurs & définition du succès Collection des données

    & évaluation Models mentaux Explicabilité & confiance Erreurs & échecs gracieux Feedback & contrôles
  29. 🔑 À quel point les utilisateurs devraient faire confiance en

    les systèmes d’IA? Que devrions nous faire si nous ne sommes pas capable d’expliquer pourquoi une certaine prédiction est générée? Comment devrions-nous montrer aux utilisateurs le niveau de confiance associés aux prédictions générées par les modèles IA? Key concepts Explicabilité + Confiance
  30. Zero confiance Trop de confiance Confiance Calibrée 🤝 Je sais

    ce que le système sait bien faire Je sais quand je devrais utiliser ma propre intelligence pour corriger l’IA The trust spectrum
  31. 😤 😐 😱 😳 Quels sont les enjeux? Quels systèmes

    de données impactent la confiance dans cette situation? Quelles sont les choses que nos utilisateurs savent (ou ne savent pas) et qui risquent d’impacter la confiance dans cette situation? Calibrating trust
  32. 📊 Quels sont les enjeux? Quels systèmes de données impactent

    la confiance dans cette situation? Quelles sont les choses que nos utilisateurs savent (ou ne savent pas) et qui risquent d’impacter la confiance dans cette situation? Calibrating trust
  33. 🤔 Quels sont les enjeux? Quels systèmes de données impactent

    la confiance dans cette situation? Quelles sont les choses que nos utilisateurs savent (ou ne savent pas) et qui risquent d’impacter la confiance dans cette situation? Calibrating trust
  34. Pensez à un moment ou vous avez utilisé une app

    qui donne des prédictions / recommandations Quels étaient les enjeux? Qu’est-ce que vous saviez et qui a impacté votre décision? Vous pouvez désactiver votre micro ou écrire dans le chat nearby Discussion
  35. Certitude n’est pas toujours utile Test & iterate. Beaucoup. Chaque

    type d’affichage a des compromis Afficher la certitude (confiance)
  36. 🗣 design.google/ai-guidebook #pairguidebook Categorical Numeric Best match Good match Low

    match % N-best Datavis Imagine you were building an image classifier to help your users identify the breed of a dog (lab, husky, poodle, etc). Which confidence display pattern(s) might be most useful for your users? Afficher la certitude
  37. 👉 design.google/ai-guidebook #pairguidebook People + AI Guidebook Consider how the

    stakes, system data, and user knowledge calibrate trust Be sure to set aside lots of time to test if/when/how showing model confidence is beneficial for your users Actionable pointers