Making AI a Business Reality Deep Learning avec Pytorch Chihuahua Muffin Chihua
Making AI a Business Reality Deep Learning avec Pytorch Chihuahua Muffin Chihuahua Chihuahua Muffin Chihuahua Muffin Chihuahua vs Muffin Est ce possible de classifier automatiquement ces images ? Deep Learning Machine Learning Machine Learning : Donner la possibilité à une machine d’apprendre sans avoir été programmée explicitement + Apprendre à modeliser un problème + Apprentissage de la modélisation à partir de données + Classification Le Deep Learning Neurone biologique Les dendrites reçoivent un signal électrique Les Synapses transforment ce signal Au delà d’un certain seuil, le neurone s’active (excitation) -> envoi d’un signal à d’autres neurones Neurone formel (1943) Représentation mathématique d’un neurone biologique Activation : Fonction Seuil Fonctions d’activations Perceptron (1957) 0 ou 1 Perceptron : Neurone artificiel utilisé pour faire de la classification -> Apprentissage : Trouver les poids qui marchent Activation = classe 1 Pas d’activation = classe 2 Perceptron simple Problème XOR Solution d’un perceptron simple Bonne solution Réseaux de neurone : Perceptron à une couche + Une couche caché + Chaque neurone de la couche cachée est connecté à toutes les entrées + Peut demander enormement de neurones sur la couche cachée Entrées Couche cachée Couche de sortie Poids / paramètres du réseau Perceptron multicouche + Besoin de moins de neurones au global s’il y a plusieurs couches + Information mieux representée -> Hierarchie Entrées Couche de sortie Couches cachées Poids / paramètres du réseau Prédiction d’un réseaux de neurones muffin chihuahua muffin chihuahua Transformation des données Données en entrée Prédiction On envoit les images en groupes : -> Batch d’images Deep Learning : Images ? Comment donner une image à un réseau de neurones ? Image = Tenseur en 3 dimension Deep Learning : Images Chaque neurone de la 1ere couche est connecté à chaque pixel de l’image. Images 256*256*3 -> 196608 pixels en entrée -> Transformation de l’image pour applatir les 3 channels de couleurs Deep Learning Frameworks Deep Learning Frameworks Pytorch Apprentissage d’un réseau Presque dix millions de paramètres (poids) à trouver -> Comment faire? 196608 Entrées 50 neurones cachée 2 neurones de sortie 196608*50+50 poids 50*2+2 poids Apprentissage d’un réseau de neurones -> Objectif : minimiser la fonction de coût : réduire les erreurs du réseau + Trouver les poids qui rendent l’erreur la plus petite possible + Problème : pas de solution analytique + Solution : aller petit à petit vers une meilleure solution -> Gradient : direction de la solution -> Calculer l’erreur : Fonction cout (loss) : Distance entre mes prédictions et la verité (le label) Retropropagation du gradient Labels Chihuahua | Muffin a 0.7 | 0.3 0.1 | 0.9 0.8 | 0.2 0.4 | 0.6 0.6 | 0.4 0.5 | 0.5 Prédictions Transformation des données Propagation des erreur Mise à jour des poids /paramètres Calcul des erreurs Batch de données en entrée + Une MAJ des poids par batch de données [1 0] [0 1] [1 0] [0 1] [1 0] [0 1] Apprentissage : Puissance de calcul + Enormement de petits calculs en parralèle + Utilisation de carte graphiques : GPUs + Apprentissage peut- être très long (jours, semaines, mois) et compliqué Pytorch Deep Learning : Images Fully-connected versus Convolutions on images Convolutions Filtre de convolution Convolutions : filtres Detecteur de contour + Réseau convolutionnel -> Beaucoup de filtres appliqués + Apprentissage : Trouver les filtres adaptés pour résoudre le problème + Hiérarchie de représentation des filtres Réseau convolutionnel : LeNet + Developpé fin 80 / début 90 + Reconnaissance de caractères sur les cheques + Architecture de base des réseaux de neurones convolutionels A popular CNN : Alexnet 2012 Etat de l’art sur ImageNet en 2012 -> c’est lui qui a lancé le Deep Learning -> 60 millions de paramètre VGGNet Pytorch Apprentissage par représentation + Les neurones se specialisent + Des representations sont apprises Representation Learning Features extraction Images + Utiliser un réseau appris sur une tache particulière (souvent ImageNet) + Profiter des representation des données qu’il peut construire Transfert Learning - Fine Tuning + Prendre un réseau pré-appris + Le “tuner” pour lui apprendre une autre tâche (similaire) Autres cas d’usages Quelques exemples de réseaux Tiramisu NicolasCaging DeepFakes FaceSwap : Dataset FaceSwap V1 FaceSwap V2 FaceSwap V3 Galvanize San Francisco 44 Tehama St San Francisco CA 94105 BPI Paris 8 Boulevard Haussmann 75009 Paris Seine Innopolis 72, rue de la République 76140 Le Petit-Quevilly +(33)2 72 88 31 69 | contact@saagie.com | www.saagie.com CONTACT Merci uploads/Industriel/ meetup-codeur-en-seine 2 .pdf
Documents similaires
-
19
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 20, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 4.8192MB