WEBVTT

00:00:00.000 --> 00:00:05.231
bonjour à tous et à toutes donc nous nous attaquons aujourd'hui ce quatrième chapitre du module compétences

00:00:05.231 --> 00:00:09.846
transversales annuel de en intelligence artificielle donc ce quatrième chapitre est dédié à chaque portail

00:00:09.846 --> 00:00:12.000
donc ici au portail sciences et techniques

00:00:12.000 --> 00:00:16.615
alors est-ce que nous allons faire ce que nous allons donner des éléments d'information et de réflexion sur

00:00:16.615 --> 00:00:20.205
les questions suivantes la première sais comment fonctionne plus précisément les modèles de machine

00:00:20.205 --> 00:00:24.564
learning et tchatche hébété en particulier la deuxième question que nous allons analyser ses quelles sont les

00:00:24.564 --> 00:00:28.923
performances des élèves pour des tâches de raisonnement puisque c'est beaucoup pour ça actuellement qu ils sont

00:00:28.923 --> 00:00:32.000
promus et donc ça vous touche évidemment directement dans les études scientifiques

00:00:33.000 --> 00:00:36.636
et la troisième question nous allons analyser sais comment le marché du travail en développement logiciel

00:00:36.636 --> 00:00:38.000
est modifié par l'arrivée des hlm

00:00:39.000 --> 00:00:44.385
alors le plan est en quatre parties d'abord nous allons euh faire des rappels et donner un petit peu plus de

00:00:44.385 --> 00:00:47.718
formalisation sur le principe de l'apprentissage machine machine learning et des réseaux neuronaux

00:00:47.718 --> 00:00:51.821
artificiels et ensuite nous allons à donner plus de précisions sur tchatche comment est-ce que ça

00:00:51.821 --> 00:00:55.923
fonctionne ensuite nous allons voir euh donc quelques travaux récente qui évalue les performances des élèves

00:00:55.923 --> 00:00:59.000
pour des tâches de raisonnement et enfin e d e s informer

00:00:59.000 --> 00:01:04.040
sur eux les dédouaner en tous cas sur le marché du travail actuel en développement logiciel et également

00:01:04.040 --> 00:01:06.000
des témoignages de personnes dans le domaine

00:01:08.000 --> 00:01:13.793
alors rappelons donc ça ce sont des choses que l on a vu e l an dernier en l un rappelons ce qui est un

00:01:13.793 --> 00:01:17.500
modèle de deux machines indiquent donc c'est est une fonction mathématique paramétrer qui va associer une

00:01:17.500 --> 00:01:22.134
entrée x à une sortie grecque avec des paramètres pour cette fonction que l'on nomme t on avait pris l'exemple

00:01:22.134 --> 00:01:26.768
de la reconnaissance de chiffres manuscrits on va voir des chiffres il s'agit de deux codes postaux et on va

00:01:26.768 --> 00:01:27.000
devoir

00:01:27.000 --> 00:01:32.185
pour chaque image et bien euh avoir une fonction pour automatiquement détecté s il s agit d un zéro un deux

00:01:32.185 --> 00:01:37.370
trois etc jusqu'à neuf la difficulté eux de faire cela c'est que euh il y a énormément de variabilité du monde

00:01:37.370 --> 00:01:42.062
réel dans la façon d'écrire un chiffre et donc il est pas possible d'énumérer tous les motifs correspondant à

00:01:42.062 --> 00:01:45.519
un seul chiffre avec des variations d'épaisseur d'inclinaison de positionnement dans la case etc

00:01:45.519 --> 00:01:47.000
l'intérêt d'une approche deux machines indiquent

00:01:47.580 --> 00:01:51.270
elle va permettre de ne pas faire d'hypothèses sur les 
motifs à détecter pour créer la fonction               

00:01:52.000 --> 00:01:56.419
donc ce qu'on va faire c'est qu'on va euh prendre un détecteur de motifs basiques qui eux va correspondre à

00:01:56.419 --> 00:02:00.174
ce appel appelle une fonction neurones artificiels et en fait cette fonction neurones artificiels on avait vu

00:02:00.174 --> 00:02:04.151
l'an dernier que c'est une simple moyenne pondérée c'est une moyenne pondérée eux tout bête qui va euh

00:02:04.151 --> 00:02:08.791
prendre en entrée est par ici en l'occurrence un les pixels de l image donc ça va être des valeurs de

00:02:08.791 --> 00:02:11.000
luminance par exemple plutôt zéro six noir c'est plutôt euh

00:02:12.000 --> 00:02:16.314
vers un si et si c'est clair si ces plans et euh on va faire une moyenne pondérée pour détecter des motifs

00:02:16.314 --> 00:02:20.627
alors si vous voulez vous rappeler de comment est-ce qu'on fait ça je vous réfère à votre cours de l un mais

00:02:20.627 --> 00:02:24.353
si est important c'est que cette moyenne pondérée alors qui va passer ensuite dans une linéarité on le verra

00:02:24.353 --> 00:02:28.275
dans la salle de d'attrait pour avoir juste un une une détection zéro un si le motif est présent l'important

00:02:28.275 --> 00:02:31.608
c'est que cette mouline cette moyenne pondérée par l a d e facteur de pondération c'est-à-dire des

00:02:31.608 --> 00:02:32.000
coefficients moi

00:02:32.000 --> 00:02:35.696
le coefficient exactement la même façon que vous calculer votre moyenne coefficient à la fin du semestre

00:02:35.696 --> 00:02:40.043
et euh l'idée en fait ça va être que un une fonction neuronale officiel et bien elle puisse détecter un

00:02:40.043 --> 00:02:44.174
motif très simple et euh ça va être la combinaison des détection de motifs très simples qui vont nous

00:02:44.174 --> 00:02:48.304
permettre de détecter des motifs plus complexes de la façon qui vous est représenté ici nous par exemple si

00:02:48.304 --> 00:02:52.000
vous détectez un terre-neuve je vous rappelle c'est une boucle sur la partie supérieure de l image

00:02:52.000 --> 00:02:56.468
et puis à priori de bar à peu près vertical sur la partie droite donc euh on pourrait imaginer alors là

00:02:56.468 --> 00:03:01.362
c'est une c'est une simca synthétique que on aurait euh ben un oeuf qui est détecté si à la fois une boucle est

00:03:01.362 --> 00:03:05.191
détecté et une barre verticale est détecté dans ce cas-là il faudrait avoir un détecteur donc un autre

00:03:05.191 --> 00:03:09.447
neurone artificiel qui détecte la boucle et la boucle et bien c'est euh une combinaison donc il faut que tous

00:03:09.447 --> 00:03:12.000
les petits traits constituant la boucle soit présent et comme ça on

00:03:12.000 --> 00:03:17.000
on arrive à une décomposition e de motifs complexes en motifs simples qui vont être détecté successivement

00:03:17.000 --> 00:03:22.000
pour arriver finalement à reconnaître un motif complexe et ça c'est est un réseau de neurones artificiels

00:03:22.000 --> 00:03:27.060
donc là le coeur c et e la fonction neurones artificiels on a dit que c est une moyenne pondérée ici

00:03:27.060 --> 00:03:32.843
vous avez les entrées donc les variables de la fonction qui eux sont à noter a a zéro a un etc et nous avons

00:03:32.843 --> 00:03:36.699
eux de nombreux paramètres dans ses fonctions nous avons les pondérations dont nous avons les coefficients

00:03:36.699 --> 00:03:42.000
de la moyenne euh coefficient t qu on appelle des w pour white et on a également e un b qui corrèze

00:03:42.000 --> 00:03:47.679
pont à un seuil de détection par exemple je veux que ici on a tout soit euh ma moyenne pondérée et bien soit

00:03:47.679 --> 00:03:52.123
par exemple supérieur largement à dix pour pouvoir ensuite considéré que le motif est présent et donc ça

00:03:52.123 --> 00:03:57.556
voudra dire que je vais choisir mais un poids de façon à détecter le motif désiré et ensuite ici b zéro voudra

00:03:57.556 --> 00:04:02.000
moins dix je vais comparer à dix je passe cela dans une linéarité par exemple du temps gentil

00:04:02.000 --> 00:04:05.800
bowling ou une fonction symbolique qui va tout simplement me ramener à ce réel ici entre zéro et un

00:04:05.800 --> 00:04:08.000
zéro le moitié n'est pas présent un le motif est présent

00:04:08.000 --> 00:04:12.546
question du coup euh ça va être comment est-ce qu'on détermine ses paramètres de la fonction les w et les b

00:04:12.546 --> 00:04:16.660
et qu'est-ce que l'on va faire c'est qu'on va considérer qu on a des données d'exemple et ses données

00:04:16.660 --> 00:04:20.773
exemple par exemple l'application qu on avait considéré et bien ça va être des des images des associations des

00:04:20.773 --> 00:04:24.670
des pères images et euh étiquettes ou labels qui correspond ouvrez chiffres donc là ici par exemple j'ai

00:04:24.670 --> 00:04:29.000
une image de zéro c'est un chiffre zéro jean image de cinq est un chiffre cinq l'âge une autre île

00:04:29.130 --> 00:04:30.930
deux zéro mais c est toujours le concept zéro qui est  
affiché                                                

00:04:31.000 --> 00:04:35.222
de la même façon ici pour ce trois ou trois ce sont deux images différentes mais les deux représentent un

00:04:35.222 --> 00:04:40.078
trois et donc sont associées à la sortie désirée qui est la même ici à trois et donc ce qu'on va faire c'est

00:04:40.078 --> 00:04:44.511
qu'on va utiliser ces données d'exemple donc ils sont en fait des paires e x i grec de notre fonction pour

00:04:44.511 --> 00:04:48.311
trouver les fameux paramètres de la fonction trouver les paramètres de la fonction pour ensuite euh après ça

00:04:48.311 --> 00:04:50.000
pouvoir utiliser et bien si on appelle l'entraînement

00:04:51.000 --> 00:04:55.524
donc euh l'entrainement il est fait de la façon suivante sur les données d'exemple et bien ce qu'on va

00:04:55.524 --> 00:04:59.810
vouloir faire ça va trouver les paramètres qui minimise l'erreur e que fait la fonction sur les exemples

00:04:59.810 --> 00:05:03.619
c'est-à-dire qui minimise finalement la différence entre la sortie de fonction est la vraie sortie comme

00:05:03.619 --> 00:05:08.143
par exemple ici je donc ce sont des probabilités en sortie que chaque chiffre soit présent et bien par

00:05:08.143 --> 00:05:11.000
exemple six est le chiffre trois qui est représenté et donc je

00:05:11.000 --> 00:05:15.583
que le désirez et bien euh c'est euh un vecteur avec des zéros partout mais avec un un sur eux la composante

00:05:15.583 --> 00:05:19.750
correspondant au chiffre trois et bien je vais vouloir que la sortie de ma fonction qui est un vecteur de

00:05:19.750 --> 00:05:23.917
composantes se rapproche le plus possible de ce vecteur avec des zéros partout et ici nous pour faire ça tout

00:05:23.917 --> 00:05:28.083
simplement ce que je vais faire c'est que je vais définir une fonction de coût et je vais essayer de

00:05:28.083 --> 00:05:31.000
minimiser cette fonction donc si on e formelle et un petit peu les choses

00:05:31.000 --> 00:05:35.375
cette fonction de coût et bien en fait ça va être la moyenne des erreurs qui sont faites sur tous les

00:05:35.375 --> 00:05:39.125
exemples de l'ensemble des entraînements donc ça veut dire ça va être la différence entre la sortie effective

00:05:39.125 --> 00:05:44.333
de la fonction donc f état de icsi moins y reiki je me fiche lucie est-ce que je veux c'est que ça se soit le

00:05:44.333 --> 00:05:48.708
plus proche de zero possible donc je vais mettre ça au carré et puis je vais en faire tout simplement la

00:05:48.708 --> 00:05:51.000
moyenne donc sur les ms exemple dont je dispose et est-ce

00:05:51.000 --> 00:05:54.632
je vais faire c'est que je vais à cette fonction là en fait elle est définit les variables ce ne sont plus les

00:05:54.632 --> 00:05:57.000
x et les grecs x est une variable de f mais la fonction de coût

00:05:58.000 --> 00:06:02.235
ca variable c'était ce sont les paramètres et donc je vais travailler avec cette fonction de coût pour

00:06:02.235 --> 00:06:07.176
finalement la minimiser et chercher les valeurs des paramètres etc qui sont les w et les b e deux de chaque

00:06:07.176 --> 00:06:11.176
neurone de chaque fonction du rhône je vais chercher cet état pour minimiser la fonction de coût

00:06:11.176 --> 00:06:15.647
c'est-à-dire trouver un endroit où elle est euh la plus petite possible et pour minimiser une fonction eh bien

00:06:15.647 --> 00:06:18.000
vous savez depuis le lycée que on essaye eux danny

00:06:18.000 --> 00:06:24.389
la dérivée et donc on va chercher les valeurs des etats donc des w et des baies ou la dérivée salut ça c'est

00:06:24.389 --> 00:06:28.556
l'entraînement l'entraînement d'un modèle de machine learning si je prends des données d'exemples qui sont

00:06:28.556 --> 00:06:33.833
des pères entrées sorties que je connais et je vais essayer de minimiser les erreurs faites donc de trouver

00:06:33.833 --> 00:06:38.000
les paramètres de chaque neurone par exemple en minimisant les erreurs faites sur ses ex

00:06:39.000 --> 00:06:43.213
et pour minimiser cette fonction d'erreur et bien je fais tout simplement une descente de dérivés donc on

00:06:43.213 --> 00:06:46.489
parle d'entraînement ou d'apprentissage parce tout simplement une descente de dérivés donc une opération

00:06:46.489 --> 00:06:50.000
bien mathématique qui est assez éloigné de ce qui se passe dans le cerveau humain

00:06:51.000 --> 00:06:54.977
donc cette descente de dérivés ben vous l'avez illustrée ici sauf que bah en fait des paramètres on

00:06:54.977 --> 00:06:59.616
peut en avoir un on peut en avoir deux mais en général on en a plusieurs milliers voire plusieurs millions à

00:06:59.616 --> 00:07:02.709
plusieurs milliards cent soixante-quinze milliards dans la version de deux mille vingt-trois deux deux

00:07:02.709 --> 00:07:06.907
j'accepte et donc bien sûr c'est est une recherche dans un espace multidimensionnel si vous avez un espace un

00:07:06.907 --> 00:07:10.000
an en en deux dimensions dont on aurait de paramètres et on cherche le

00:07:10.800 --> 00:07:14.880
endroit où cette surface e et e la plus basse et donc  
on a ou on a un creux                                  

00:07:15.000 --> 00:07:20.000
et ensuite donc ça évidemment ça correspond à eux à chaque étape un on va venir adapter les poids pour

00:07:20.000 --> 00:07:24.250
minimiser cette euh pour minimiser cette fonctionnelle du coup vous avez si cela vous intéresse vidéo plus

00:07:24.250 --> 00:07:25.000
explicative mentionner ici

00:07:26.000 --> 00:07:30.524
donc ça c'était euh voilà la présentation générale est l'exemple que je vous ai pris sur les réseaux de

00:07:30.524 --> 00:07:34.095
neurones artificiels c'est son appel des réseaux de neurones qui sont complètement connecté avec des

00:07:34.095 --> 00:07:38.619
moyennes eux des moyennes un coefficient t mais qui sont faites sur la totalité de l'image couplée à la

00:07:38.619 --> 00:07:42.429
moyenne de chaque neurone artificiel et bien c'était effrayant montrer la totalité des pixels de l'image

00:07:42.429 --> 00:07:46.000
dans les années deux mille dix sont apparus des réseaux de neurones artificiels plus efficace

00:07:47.000 --> 00:07:49.800
euh qu'on appelle des réseaux de neurones conventionnelles plus efficace parce que ils vont

00:07:49.800 --> 00:07:53.400
utiliser moins de paramètres pour décrire les motifs visuels donc si vous avez un exemple si je veux

00:07:53.400 --> 00:07:56.800
détecter une barre horizontale je n ai pas besoin d'avoir un détecteur pour les barres horizontales un

00:07:56.800 --> 00:08:00.800
peu longue sur la partie supérieure de l'image un peu long sur la partie inférieure de l'image un peu court

00:08:00.800 --> 00:08:04.800
sur la partie supérieure de l'image etc donc je vais juste avoir un détecteur que vous avez ici dans son

00:08:04.800 --> 00:08:06.000
appel un un filtre et ce

00:08:06.000 --> 00:08:11.000
détecteur là et bien il va être passé en fait un transat sur eux toutes les tous les localisations de

00:08:11.000 --> 00:08:15.500
l'image pour finalement avoir juste ces paramètres là donc ce sont les mêmes paramètres vous voulez c'est le

00:08:15.500 --> 00:08:20.000
même neurone artificiel mais qui va permettre de détecter le motif qu'il est censé détecter et donc en

00:08:20.000 --> 00:08:24.250
l'occurrence barre horizontale n'importe où dans l'image donc ça ça va faire gagner en efficacité et son

00:08:24.250 --> 00:08:26.000
appel les réseaux e convulsionné eux donc

00:08:27.000 --> 00:08:31.378
nouvelle architecture alliée avec beaucoup de données e allié avec de la puissance de calcul alliés avec eux

00:08:31.378 --> 00:08:36.000
donc les bruits de données si les grandes bases d'images a noter ça c'est un chien un chat etc

00:08:37.000 --> 00:08:41.667
qui a fait vraiment euh euh décoller le domaine dans le domaine de la de la vision par ordinateur avec des

00:08:41.667 --> 00:08:45.667
réseaux de neurones artificiels profonds si on appelle le type leur dit parce qu il a plusieurs couches

00:08:45.667 --> 00:08:49.889
successives de telles drogues qui vont pouvoir du coup détecter des motifs de plus en plus complexes et donc

00:08:49.889 --> 00:08:53.000
euh ah et bien euh effectuer des tâches de reconnaissance de formes très complexes

00:09:12.000 --> 00:09:16.722
donc pour résumer eux ce on avait vu l'an dernier hein c'est que avance on faisait ce qu'on prédéterminés les

00:09:16.722 --> 00:09:20.500
motifs qui ne paraissait pertinent pour un certain problème de classification et avec les réseaux de

00:09:20.500 --> 00:09:24.514
neurones conventionnel donc combiné avec un la puissance de calcul la quantité de données et donc les

00:09:24.514 --> 00:09:28.056
techniques algorithmiques et notamment la descente de gradient optimisée et bien on arrive maintenant à

00:09:28.056 --> 00:09:29.000
trouver et fait des

00:09:29.000 --> 00:09:32.519
représentation pertinence etc à prendre les motifs importants pour classer les données dans les classes

00:09:32.519 --> 00:09:36.506
qui nous intéresse nous ce qu on appelle de l apprentissage de représentations grâce au deep learning

00:09:36.506 --> 00:09:40.259
et c'est basé sur identifier des motifs pertinents identifiés des motifs c'est quoi c'est identifier des

00:09:40.259 --> 00:09:44.951
corrélations ou des associations dans les données là on a pris un exemple sur les données qui sont faites des

00:09:44.951 --> 00:09:48.000
pixels de l'image ça peut être aussi bien sur des combinaisons de mots
