bonjour à toutes et à tous rebonjour Bertrand bonjour Jean-Luc et puis ben voilà bienvenue pour cette cette nouvelle saison fidle en direct en live sur sur la chaîne Youtube de de de fidle et euh ben on va commencer par présenter rapidement cette formation on fera pas chaque séquence mais là voilà c'est c'est le début on peut on peut commencer à regarder un petit peu donc et puis ben voilà fidol c'est une formation libre gratuite ouverte à toutes et à tous sans aucune inscription euh vous pouvez la suivre librement comme ça et c'est une formation autour du Deep learning de l'intelligence artificielle et et et du Deep learning en particulier alors euh très rapidement Fidel est porté par l'Institut d'intelligence artificiel Miai de de Grenoble par le CNRS et par l'Université Grenoble Alpe avec beaucoup de soutien il est très nombreux à intervenir à soutenir à participer à cette formation on on peut on peut citer l'idriss don don je suis le digne représentant toute une partie de l'équipe fidol fait partie la formation permanente du CNRS la mission pour initiativ transverse interdisciplinaire du CNRS laamti le les réseau thématique transverse technologique transverse résinfo calcul et devlog le laboratoire SAP le pnri et cetera voilà donc du monde pour faire fonctionner cette formation une petite chose importante et intéressante c'est que vous pouvez récupérer tous les supportsant on peut tout récupérer on peut tout récupérer les les supports effectivement à partir du site.cnr.fr voilà donc les supports de cours en PDF les environnements pour les travaux pratiques et puis évidemment les VIB de travaux pratiqu et est-ce qu'on va faire en fait des travaux pratiques aujourd'hui alors on fera des travaux pratiques légers encore une fois on a un parcours cours sur cette première partie de parcours dont la volonté c'est que ce soit accessible à tout le monde il y aura des alors ce qu'on appellera des illustrations des travaux pratiques que vous pourrez refaire chez vous si vous souhaitez mais vous n'avez voilà si vous ne faites pas les travaux pratiques si vous ne vous plongez pas dans le code ce n'est pas c'est voilà ça sera pas bloquant ça sera pas absolument pas gênant quoi voilà on verra comment fa emble et puis on va les faire ensemble tout tout à fait voilà alors si vous avez des questions euh la chose importante c'est le l'outil de gestion des questions donc fidal.ces.fr/q2a euh voilà donc c'est une interface c'est un weet c'est un service web sur lequel vous pouvez poser vos questions alors pourquoi utiliser q2a parce que les questions que vous posez si vous posez des questions dans le chat ces questions ne vont pas rester c'est pas voilà ça le chat on va dire qu'on va l'utiliser pour pour réagir si on a des remarques des choses comme ça et puis sur le chat vas-y ah vas-y vas-y Bertrand non ben oui le chat effectivement tous vos commentaires euh vos petites blagues pas de problème pour les mettre sur le chat et pu surtout sur pour le chat les questions que vous voulez vraiment que vous espérez voir poser à l'oral effectivement pourquoi pas sur le chat mais avec cette sensibilisation si vous voulez si vous voulez des questions des questions un peu construites où vous espérez un un retour écrit bah faudra absolument les poser sur le forum Q2 voilà et l'interface de de l'interface q2a donc si vous voulez poser une question bah vous allez sur le bouton poser une question et puis vous pouvez poser votre question voilà il y a un petit CapChat en bas pour pour montrer que vous n'êtes pas un vilain spammer ouou une intelligence artificielle pas très futé et euh voilà donc vous êtes bien un humain normal et et et dans ce cas-là bah vous pouvez poser la question que que vous souhaitez voilà vous avez plusieurs catégories donc on propose de poser les catég les questions on va dire dans la première catégorie base concept et histoire de cette de ce jour voilà et et puis on a toute une équipe comme ça qui pourra répondre aux questions sur le dispositif un petit mot sur le dispositif merci beaucoup grand merci alors on est sur trois trois plateaux en fait c'est c'est compliqué comme ça Bertrand qui est à côté de moi en fait n'est pas à côté de moi on peut pas se on peut pas se on peut pas il est à côté de moi on est côté à côte virtuellement moi je suis à Grenoble dans les locaux de de laadapi l'Université Grenoble Alpe avec Baptiste voilà qui est là qui qui nous fait la réalisation de de de de ce direct et puis on a un deuxè plateau qui est à qui est à Paris voilà je suis donc voilà avec thbao qui est en train de faire coucou à gauche et je suis à peu près à 4 m de thbao devant un écran vert donc dans les locaux de sur le plateau de saclet en région par et je tiens à remercier les 620 personnes qui sont déjà présentes voilà puis on a du monde on a du monde en ligne et et que l'on ne voit pas là aussi Qui est qui est en régie juste derrière aussi voilà voilà donc un dispositif un dispositif complexe alors on espère que tout va bien se passer encore une fois grâce à à Baptiste Yanis Agathe camel et et Tibo à priori tout devrait se passer parfaitement voilà mais bon voilà on va essayer de faire en sorte nous aussiant d'être d'être à niveau par rapport à cette la présentation de de cette séquence alors n'hésitez pas à poster vos vos réactions dans le dans le chat de YouTube et à poser vos questions dans le l'outil q2a fidel.cs.fr/q2a on mettra le lien éé envoyé dans le dans le chat et et euh et puis ben voilà thbo nous interrompra quand il y aura des questions on fera des points questions le but but du jeu c'est d'avoir le plus d'interaction possible et si vous avez des remarques à faire n'hésitez pas à les faire dans le chat on en tiendra compte on intégrera tout ça voilà euh deux une liste d'informations la liste d'information fidle donc fidle Point Info donc ça c'est abonnez-vous à cette liste à cette première liste pour avoir toutes les informations concernant les les bah les séquences les tout tout ce qui va se passer sur fidle et puis une deuxième liste que que l'on vous propose alors ça c'est nouveau c'est c'est quelque chose que vous nous aviez demandé plusieurs fois qu'onon nous demande régulièrement c'est un espace pour pouvoir échanger au-delà de au-delà de la formation au-delà de la formation Fidel euh ou au-delà des des autres formations que que vous pouvez suivre autour de l'IA voilà donc on a créé cette liste Agoria euh euh donc vous pouvez vous y abonner par le raccourci fidle.cnrs.fr/agoria mais encore une fois là c'est pour parler d'intelligence artificielle très au-delà de de le de de de la formation de de la formation Fidel voilà et l'adresse créer une communauté c'est ça c'est pas forcément des questions que vous nous posez à nous et auquelles vous voilà oui voilà c'est c'est d'échanger voilà c'est échanger entre nous entre nous tous voilà donc vous pouvez pas écrire dans la liste d'information fidle c'est vraiment une liste de type newsletter pour diffuser les informations par contre la liste Agoria a vocation à ce que chacun puisse tous les abonnés de la liste puisse poster dedans et donc échanger au sein de de la communauté de cette communauté Ia voilà agoriagrenob.cnrs.fr et on peut remercier les les collègues informaticiens de de la délégation qui bah qui nous gère cette liste et qui nous gère toute l'infrastructure web de de Fidel on on on repostera ces informations là voilà d'autres listes qui existent la liste des vlog qui est la liste du développement logiciel du monde académique donc si vous êtes dans le monde académique vous faites du développement logiciel que ce soit en Cobol ou que ce soit en Python ou que ce soit en Julia ou en on sa plus plus ou en Fortran on oublie personne vous pouvez vous abonner à cette liste pour échanger autour des problématiques de développement et puis la liste calcul bien évidemment donc une liste aussi portée dans le par le monde académique mais alors qui est ouverte aux industriels au monde académique et à tout le monde pour discuter calcul voilà la liste calcul vous retrouverez tous ces liens voilà avec Google et puis on vous les enverra dans dans la liste d'informations et la liste Agoria par exemple voilà ok B Bertrand on va peut-être y aller allô allons-y allons-y allez donc euh allez on va on va présenter un petit peu cette saison et puis là où on est euh donc bah moi je vais commencer par la première partie les bases concept et en jeu donc là ce que l'on va amorcer cette première séquence autour des bases des concepts de l'historique des réones de Rone on verra ensuite jusqu'à Noël des choses fondamentales accessibles à tout le monde là il y a pas de préquit pas besoin d'avoir fait du python à partir de janvier euh Bertrand à partir de janvier donc ça va être le deième parcours pour euh donc là pour donc intitulé lia comme un outil donc à destination effectivement d'un public bah de personnes curieuses ou avec une curiosité scientifique ou des scientifiques pour avoir une visibilité de l'ensemble de tout ce qui est possible grâce aux outils de Deep learning euh donc un certain nombre de choseson en fait on fera une cartographie finalement de quasiment tous les types d'architecture possibles voilà ça l'objectif c'est d'utiliser de l'intelligence artificielle pour faire de la science quoi et là l'objectif c'est d'utiliser de l'intelligence artificielle pour faire de la science exactement et pour ce qui oui pour parler du trème parcours qui arrivera au mois de mai exactement sur quatre séquences donc intitulé acteur de l'IA donc là on bascule dans un monde un peu plus contemporain effectivement on s'intéressera à lia vraiment lia actuel euh et acteur de l'IA peut-être tu veux en dire un mot jeanluc alors acteur de l'IA bah là c'est pour aller beaucoup plus enfin plus loin alors le prérequis pour la la la la première partie il y a pas de prérequis voilà c'est vous êtes tous invité tout est tous invités il y a pas de partie de prérequis particulier la deuxième partie est un prérequis qui est de maîtriser maîtriser python hein là on va faire un peu là on va faire des TP de la technique hein le but du jeu c'est vraiment d'utiliser les outils pour de vrai dans le vrai monde et la troisième partie bah ce sera pardon je dire pon et notamment notamment l'environnement pa torche pour suivre le TP a ça pe si vous en êtes loin de ça ça peut être l'occasion de vous y mettre et au moins il y a beaucoup de chos il y beaucoup d'information intéressantes à prendre sans la capacité de suivre les TP mais de toute façon vous allez être frustré si vous n'alz pas réussir suivre le TP donc vous serez obligé de vous mettre voilà le préquip en entrée on va dire c'est de maîtriser raisonnablement Python et PA et puis en sortie bah vous maîtriserez tous ces outils et l'environnement paille torche et cetera et donc la troisème partie bah c'est là d'aller voir les dernières avancé de l'intelligence artificielle donc là on va quitter le monde de l'initiation le prérequis de cette troème partie ça sera d'avoir suivi la deuxième partie tout simplement ça se passer dans la suite logique et on abordera des choses là un petit peu plus avancé enfin nettement plus avancé sur vraiment ce qui se fait de mieux dans le domaine de du Deep learning dans les technologies d'optimisation matériel et puis les dernières familles de modèles les plus dernière famille de Noel dans un premier temps notre retour de d'expérience en tant que utilisateur d'un super calculateur pour faire du Deep learning ce qui est nécessaire on va le voir aujourd'hui pour les modèles actuels et effectivement cette dernière séquence qui est là clairement sur un ou quelques cas d'études particulier là un vrai retour d'expérience sur donc du l'affinage de modèle de LLM euh on verra tout ça l'affinage du fine tuning euh le la fininage le funi c'est le vrai terme anglosaxon voilà spécificité nationale que de faire de l'affinage c'est comme pour le fromage exactement ou alors oui une chose vous avez été plusieurs à poser des questions puis le slide il il a dû changer de place il y aura des attestation vous pourrez récupérer des attestations pour cette pour les séquences suivies en direct donc on aura un petit moment attestation au au deuxème tiers à peu près je crois où sont les les les slides oui il y a tout y a un dispositif qui qui va vous permettre comme ça de récupér des attestations de suivi alors par exemple pour pour vos écoles doctorales si vous êtes doctorant qui qui voilà respecteux de rgpd donc c'est pour ça qu'il y a pas d'inscription on vous connaît pas on n pas vocation à avoir des informations nominatives à vous concernant mais on a quand même un système qui permet de vous délivrer des attestations pour les séquences suivant direct on verra ça tout on verra ça tout à l'heure voilà et donc dans cette séquence donc de découverte des des aspects fondamentaux des concepts des l'histoire du Deep learning quatre étapes une première étape pour voir déjà de quoi on parle parce que quand on parle de Deep learning de machine learning on raconte beaucoup beaucoup de chosesou qu'est-ce que c'est deep learning l'intelligence artificielle machine voà on manque pas d'en parler euh une deuxième étape autour alors là on fera un petit peu de mat on essaiera de les faire les plus simplement possible pour pour que ce soit supportable et digeste encore une fois les prquis sont très faible hein et donc on veut pas être voilà on va faire mais on va faire un petit peu de mat quand même pour voir un petit peu comment c'est c'est ces fameux réseau de neurones ce sont voilà qu'est-ce que c'est comme objet mathématique finalement qu'est-ce que c'est qu' qu'un neurone artificiel d'un point de vue mathématique mais on verra on essaa de rester très très simple une trème partie un seul neurone oui je disais que peuton faire avec un seul neurone possible de faire des choses avec un se on peut faire plein de choses oui beaucoup de gens se serent se ne rô pour faire plein de Ch euh 3ème partie effectivement l'histoire de l'intelligence artificielle jusqu'à nos jours donc soit 80 ans à peu près voà et ça s'est pas passé tout seul et en toute pas passé tout seul il y a eu il y a eu quelques petits combats mais dans dans le titre vous savez qui est le gagant actuel ça peut ça peut ça peut se transformer ensite on pourrait demander pour savoir qui a gagné qui a gagné et est-ce que ou gagné définitivement ou pas è partie euh ben des des illustrations c'est là quep voilà voilà en forme de TP donc c'est formellement un un TP donc vous pouvez récupérer tous les exemples que que l'on verra vous pouvez les récupérer les faire tourner les utiliser à l'échelle 1 on verra ça hein euh voilà mais voilà c'est on est sur cette première partie vous pouvez vous contenter de de de regarder et de de de comprendre on va dire les grands principes sans sans sans avoir une une compréhension totale du code là c'est il y a pas de c'est pas grave si vous comprenez pas toute la substantifique Mo de des fonctions Python et et de la technique que l'on verra à travers ces ces exemples voilà jusqu'à Noël jusqu'à Noël ça sera zen et ça sera ça sera raésonnable voilà après si euh vous voulez euh vous approprier un petit peu ces outilslà et et pour suivre la deuxième partie ben vous pouvez faire évidemment récupérer les travaux pratiques l'environnement de travail et tout faire fonctionner tout modifier à loisir et cetera tout est libre disponible et et faire des vraies TP pour pour le coup allez on y va allez et ben on va commencer par regarder un petit peu de de de quoi on parle quand on parle de de machine learning de Deep learning et et de choses comme ça voilà alors la première chose alors voilà si vous avez suivi la saison de l'année dernière ça pas ça a pas changé beaucoup parce qu'on a pas changé l'histoire des sciences c'est toujours pareil donc une première période expérimentale où on était un petit peu sur sur voilà on essayait des choses et puis on regardait comment ça se passait on faisit de la science de la science empirique et c'est comme ça qu'on a construit des des cathédrales vertran je crois on essay ou des cathédrales très belle cathédrale mais et justement alors par expérience donc si la cathédrale quelqu oui des cadrales de plus en plus hautes avec qui défient les lois de la pesanteur mais donc expérimentalement donc quand ça s'effonde en fait c'est qu'on a été trop loin sur c'est que ça marchait pas on Ess ça marchait pas d'accord voilà c'était donc vraiment l'approche empirique et ça ça marche très bien on a fait des tas de choses de manière très très empirique comme ça euh il y a eu une deuxième période donc quand on a commencé à avir des des maths qui voilà les sciences mathématiques se sont développées on a commencé à théoriser en tout cas modéliser avec des équations donc ça bah c'est l'époque par exemple de de Newton la chute des corps euh voilà donc on était capable de calculer la la la vitesse de chute d'un corps le temps que metait une pomme pour tomber d'un arbre et tout voilà donc ça c'était vraiment la deuxième période qui a permis comme ça de faire de des des grandes choses construit l'exemple de de la Tour Effel mais il y a les grands ponts enfin c'est voilà toute cette époque là on a pu à partir de calcul on est dans les équations mathématiques effectivement on est dans les équations mathématiques on est dans dans les sciences physiques on est alors on a représenté la tourpelle un peu un petit peu tôt mais on est clairement on est entre on est au 19e siècle 19e 20e siècle ouais qu'on corrige le slide on le dit à chaque fois et puis un trè par paradigme donc plus tard qui est arrivé avec le développement de l'informatique donc on verra ça dans notre dans notre notre notre histoire de des réseau neuron et du Deep learning mais on va dire que voilà dans les années 50 l'informatique s'est développé donc on a pu automatiser du calcul et donc là ben on a commencé à mettre bah les équations qu'on avait on les a mis dans des dans du code et puis on a pu faire beaucoup plus d'équations là on a pu faire de la modélisation et et on a pu comme ça bah faire des choses beaucoup plus sophistiquées c'est comme ça qu'onut construire B des avions qui volent plus haut des satellites et des choses comme ça c'est la science on va dire la modélisation classique que que que que que l'on fait depuis bah depuis qu'on a de la puissance de calcul voilà et ça et ça marche très très bien et on a un nouveau paradigme alors c'est cette ces différents paradigmes ça a été théorisé par Jim Grey en 2007 rendons à César ce qui est à César et donc lui voilà il a défini comme ça un 4ème paradigme dans lequel on rentrait qui était la science pilotée par les données alors le principe est très quelque part c'est un retour aux fondamentaux à l'époque expérimentale euh c'est que on va récupérer des données des données qu'on observe des données que l'on calcule et à partir de ces données on on va essayer d'en tirer de l'intelligence on va essayer de à partir de l'observation comme ça de euh modéliser le le comportement des choses alors ok on va pas mettre d'équation il va pas y avoir de théorie scientifique il va pas y avoir d'équations mathématiques qui vont théoriser modéliser un comportement physique que l'on a identifié ou défini on va par contre essayer d'observer comme ça à partir des données le comportement général des choses voilà et dans le oui on send ave ce 4è paradigme que potentiellement c'est un peu mieux donc ça veut dire qu'avec le paradigme modélisable AC la modélisation mathématique augmentée par l'informatique on narrivait pas à faire certaines choses donc ça grâce aux données on est capable d'aller encore un petit peu plus loin sur des problèmes qui trop compliqués d'cord le trème PARAD voilà voà il y a des choses qui sont tellement complexes on AR on sait les observer mais on pas forcément les comprendre d'un point de vue théorique physique parce qu'il y a trop de phénomènes et et donc bah là on va pouvoir en tirer quelque chose et après des phénomènes classiques avec de de ok de la modélisation classique on peut tout à fait à partir de codes de grands codes générer des grandes quantités de données et à partir de ces données artificielles entre guillemets issu de modélisation on va pouvoir aussi travailler avec cette approche de de de de de science pilotée par les par les données voilà alors alors quand on parle d'intelligence artificielle il y a beaucoup de choses c'est un grand patatoïde comme ça on a le machine learning donc le machine learning c'est la science enfin c'est l'apprentissage à partir machine par les données justement c'est notre 4è paradigme on peut le résumer à ça exactement notre 4è paradigme est centré complètement là-dessus alors des fois désolé des fois avec Bertrand on a un petit on va collisionner un petit peu parce que on n'est pas au même endroit donc on a toujours un petit décalage déjà on se voit pas physiquement côte à côte il est là Bertrand et et on a un tout petit décalage en plus parce que on est voilà presque on a quand même quelques pouillemes d'années lumière qui nous sépare quoi donc le machine learning c'est l'apprentissage machine donc l'apprentissage l'intelligence artificielle à partir de l'apprentissage voilà et à l'intérieur de ça on a le Deep learning donc c'est un sous-ensemble du machine learning ou là on va s'appuyer sur desensemble un sous-ensemble du machine learning donc c espèce de on dirait un œuf au plat John deff là effectivement qui estth qui est en fait le machine learning euh pour les réseaux de neuron don on va parlerement donc fidle on va bien dans un premier temps on va on va faire un peu une histoire globale mais on va se spécialiser sur ces réseau neurones décrit par le Deep learning donc apprentissage profond alors la profondeur ça correspond on va le voir plus tard mais c'est ça fait référence à la au nombre de couches de notre rison voilà l'épaisseur du cerveau en quelque sorte alors nous on s'intéressera au jaune alors le paysage voilà là c'est une vue d'artiste bien évidemment et dans la pratique aujourd'hui on est un petit peu dans cette situation là où on a le le voilà le le le blanc d'œuf d'un œuf de poule et le jaune d'un œuf d'autruch c'està-dire que la partie deep learning dans la l'intelligence artificielle moderne c'est quand même très largement imposé en tout cas dans pour faire les choses complexes on peut on peut faire des tas de choses simple avec d'autres outils mais sur les les par particulement aujourd'hui et je dirais depuis allez 2012 2015 on on on va le voir ensuite effectivement mais là aujourd'hui on est clairement dans ça voilà alors euh l'apprentissage est quelque chose d'assez universel donc il y a une une publication qui est moi bon qui m'a marqué hein c'est que on s'est aperçu que les abeilles alors on savait qu'elles communiquent entre elles on savait qu'elles avaient un langage mais on s'est aperçu en plus qu'il y avait un apprentissage social chez les abeilles voilà donc alors toute l'intelligence des abeilles ne vient pas de l'apprentissage social il y a une grande partie qui est cablée qui est câblé en en dur mais la communication des abeilles si il y a pas cet apprentissage social en plus euh la elle communique très très mal entre elles et sont très incapables ou très mal capables de préciser la position d'un champ de fleur et des choses comme ça voilà donc l'apprentissage est quelque chose finalement de d'assez d'assez universel qui alors dans le monde des insectes tout n'est pas de l'apprentissage social bien évidemment mais même dans le monde des insectes cet apprentissage social a une part ance alors chez nous humain c'est encore c'est encore plus important donc l'apprentissage est vraiment un petit peu au cœur de au cœur de l'intelligence c'est une très très bonne stratégie d'intelligence et c'est un monde très vaste l'apprentissage machine alors ça c'est une cartographie assez classique où on a des choses au nord au sud à l'est et à l'ouest et beaucoup de choses à l'ouest euh sur la grande cartographie de de l'apprentissage machine alors pour savoir de quoi on parle quand on parle d'apprentissage machine d'intelligence artificielle et de Deep learning c'est intéressant c'est indispensable même on va dire d'avoir un petit peu C ces grands concepts vous allez voir c'est relativement simple prre chose oui pardon excuse-moi concept les quatre grands concepts supervisé non supervisé l'apprentissage par renforcement et l'apprentissage le transfertentissage voilà on va on va on va regarder ces quatre ces quatre grandes familles de de de d'apprentissage et encore une fois oui don on parle de machine learning d'apprentissage machine donc là on est dans notre blanc def qui comprend notreorme jaune def ou exactement voilà là là on n'est pas du tout c'est pas propre au deep learning là on parle vraiment de l'apprentissage machine donc de toutes les technologies d'intelligence artificielle qui s'appuient sur l'apprentissage voilà et c'est même au-delà de l'apprentissage machine c'est même quelque chose de fondamental dans l'apprentissage que ce depuis les abeilles aux humains en passant par par nos meilleurs robots quoi voilà alors la première chose c'est l'apprentissage à partir l'apprentisage dit superviser à partir de donner labellisé alors c'est quoi bah c'est on prend des photos d'animaux on prend des photos de chats et des photos de lapin donc on a des photos de chat et on dit sur chacune de ces photos on sait que ça c'est une photo de chat ça c'est un chat ça c'est un chat ça c'est un chat et puis à côté on a des photos de de lapin et euh bah voilà ça c'est un lapin ça c'est un lapin ça c'est un lapin et donc fait apprentissage de voilà on donne ses photos à à une machine ou un humain qui n'a jamais vu de chat et de lapin donc ils apprennent comme ça à partir des photos des photos de chat des photos de chat des photos de chat des photos de lapins des photos de lapin et puis après on présente une photo d'une bête et on lui demande mais qu'est-ce que c'est que cet animal là et évidemment à partir de l'apprentissage des choses labelllisées des choses connues on est capable d'effectuer une classification par exemple donc là il s'agit effectivement d'une d'une prédiction qualitative ou catégorielle on Pr or derrière effectivement on le verra plus tard mais en sortie typiquement on a un pourcentage donc là par exemple souvent on va dire à 8 15 % c'est un lapin et peut-être à 5 % c'est un chat un petit peu un petit peu de doute mais bon voilà donc le machine learning c'est toujours très très souvent préductif statistique par on peut faire des alors ça c'est quand on veut faire classement comme ça par par catégorie mais on peut faire aussi un classement par une prédiction pardon une prédiction alors une prédiction on appelle quand on veut prédire al par exemple on a des maisons donc on voit une petite maison on sait qu'elle vaut 150 kg € on voit une grosse maison on sait qu'elle vaut 400 kg € dans tel quartier et donc voilà on a des informations à noter he pareil c'est toujours le même principe et et le but du jeu ça va être d'essayer de deviner de prédire le prix d'une maison à partir de sa localisation et de sa de de ses caractéristiques voilà donc là alors là c'est une prédiction ESS de prédire par exemple un prix et c'est quelque chose qu'on appelle une régression voil on a comme ça les classifications et là on a les régressions et et tout à partir de de données supervisé après ou oui une une régression là doncou on fait une prédiction donc quantitative on prédit ch donc par exemple une prédiction météorologique quelle température fera-t-il demain et bien effectivement une correspond à une régression on va c'est dire une température ouais tout à fait voilà oui et à côté de ça si on faisait une prédiction pardon de il il fera chaud tempéré ou froid il s'agit d'une classification voilà c'est tout à fait et euh alors voilà donc on a les on a la la donc les les l'apprentissage donc supervisé quand on a des des données qui sont labelllisées mais ça c'est très coûteux et très très complexe et on peut avoir des choses qui sont semi supervisées alors là Bert ex oui exactement pas semiupervisé autosupvisé donc il s'agit euh donc ça correspond ça va nous donner euh effectivement c'est c'est ça qui nous donne chat GPT aujourd'hui ou la génération d'imag et cetera c'est l'idée c'est euh c'est que en fait la labellisation donc l'étiquette euh on a parlé de la labellisation juste avant que le le problème en fait du superviser alors pardon l'annotation euh c'est qu'il faut annoter sa base de donné effectivement ce qui est un travail conséquent puisqu'on a des dataset incroyablement gros l'auto superervisé en fait c'est l'idée ce qui est très pratique c'est de obtenir donc sa labelllisation son annotation à l'intérieur en fait de notre données d'entrée donc pour du texte c'est très facile finalement on récupère des grands textes et en fait notre annotation ça va être un bout de texte donc souvent la fin par rapport au début d'une phrase ou quelque chose comme ça donc en fait notre notre notre annotation c'est un bout de texte donc on va lui apprendre à à générer un bout de texte manquant c'est comme ça qu'on obtient infin euh des choses très intéressantes et pourquoi et en fait c'est parce qu'on peut utiliser en fait des gros corpus de test qui sont à notre disposition gros corpus de texte ou d'images qui sont à nos disposition sur internet mais qui sont tellement gigantesque qu'on pourrait on aurait énormément de difficultés à les annoter manuellement humement à ok alors il a peut-être on va en profiter une petite question ouis ah vous m'entendez c'est bon oui oui très bien alors on a une question sur le q2a donc n'hésitez pas à poser vos questions sur sur le q2a on va vous remettre le lien tout de suite dans le cas de la modisation de phénomène complex avec une quantité très grande di comment peut-on synthétiser ou expliquer un modèle pour qu'il ne soit pas une boîte noire inexplicable je suis un peu en retard par rapport à la question ou là là alors du coup on est sur une thématique qu'on va aborder déjà un petit peu la semaine prochaine alors peut-être qu'on pourrait ou si tu veux dire quelque chose ouais bon on va on va dire très simplement c'est que intrinsèquement on observe les données donc on a pas de modèle physique derrière donc la manière de modéliser ce comportement c'est typiquement une boîte noire on est basé sur l'observation on sait comment ça se passe mais on ne sera pas expliquer le phénomène et de comment ça se passe et effectivement Bertrand as raison c'est que c'est c'est sera typiquement et le sujet de de de la semaine prochaine euh l'enfer des données d'un côté essayer de comprendre représenter les choses avec des données et la complexité de trouver le bon modèle capable de représenter les choses avec évidemment les les les les les les les billets que l'on peut avoir dans les données et le côté boîte noire de des modèles donc c'est voilà un grand grand grand sujet que euh où on aura justement on a rajouté cette année une séquence exprès entière pratiquement sur eu sur la la la la complexité de de de cette question on me pose la question VLM c'est la de quoi VLM c'est euh vidé language model pour moi si je me trouve donc c'est c'est des c'est ben typiquement gpt4 qui est capable de d'avoir en entrée euh une photo et du texte et euh en sortie qui sort du du texte ah oui d'accord c'est sur la slide oui donc je je suis sûr que c'est ça alors donc LLM large language model donc ou modèle de langage LM VLM c'est vidéo language model modèle de langage et de vidéo et de pardon vision vision language model donc c'est il s'agit de photos pas de vidéo vision language model voà je voilà je je je vous propose alors une question on peut pas s'inscrire sur q2a parce qu'on a eu un petit problème de de spamming dessus mais pour poser des questions dans q2a vous n'avez pas besoin de vous inscrire vous pouvez poser les questions anonymement avec un CapChat pour éviter justement les les problèmes de de spam voilà Bertran je propose c'est qu'on essaie d'avancer parce qu'on a quand même beaucoup on a quand même voilà beaucoup de choses à à à vous présenter euh thbo tuhésites pas à nous couper sil a s'il y a des questions bien évidemment on se fera un plaisir de de tous répondre à toutes les questions du coup j'ai encore une une petite du coup du coup une question ou ouais alors allez-y euh pour comprendre les concepts généraux et le paysage pouvez-vous donner un exemple de ce qui est intelligence artificielle mais pas apprentissage machine alors euh l'intelligence artificielle il y a plein de manières de faire l'intelligence artificielle euh vous pouvez prendre écrire un code tout ce qui est le plus classique et on verra ça dans l'histoire hein c'est que l'intelligence artificiel a commencé dans bien des directions et et pas forcément avec que des techniques d'apprentissage emp pardon vas-y oui non benah vas-y vas-y oui un exemple concret c'est on peut considérer comme intelligence artificielle qui n'est pas du l'apprentissage machine des logiciels de planification euh typiquement dans les aéroports effectivement planification du personnel navigant qui donc c'est des logiciels complexe euh oui tout ce qui est recherche opérationnelle recherche opérationnelle exactement cherch le terme donc ça la recherche opérationnelle c'est typiquement effquement de l'intelligence artificielle qui qui euh qui n'est pas du machine learning et historiquement effectivement c'est des choses qui ont été très très abouties je dirais dans les années 90 peut-être années 80 voilà on reverra ça justement dans dans notre panorama tout à l'heure mais voilà et toutes ces choses qui fonctionnent alors toute la recherche opérationnelle est ultra importante ultra utile et n'est pas absolument pas démodé euh pour pour énormément énormément de de tâches voilà on essaie d'avancer parce que j'ai voilà c'est on va être pris par le temps et donc de l'autre côté donc de cet apprentissage donc supervisé où là on a des informations des données qui sont labellisées on a le l'apprentissage non supervisé où on a des données toutes seules des données voilà un ensemble de données alors ça c'est beaucoup plus facile de récupérer des données ce qui coûte très cher c'est de reprendre chacune des photos pour dire si c'est un chat ou un lapin et récupérer beaucoup beaucoup de données ça c'est quelque chose qui est assez facile et on peut avoir comme ça des grands corpus de données alors un exemple rapide très rapide c'est vous récupérez des photos d'animaux alors voilà c'est on a des tout un tas d'animaux alors il se trouve qu'il y a des lapins et des chats mais on sait pas ce que c'est on a des animaux comme ça et on va essayer de tirer des conclusions sur sur sur ces informations sur ces donnéesl et donc on a des algorithmes qui partent apprentissage vont être capable de les classer sur des critères des critères qui vont être déterminés automatiquement alors par exemple ça sera est-ce que le est-ce que ce sont des oreilles pointues ou des oreilles rondes on sait pas que ce sont on sait pas s'il y a des chats des chiens ou quoi que ce soit par contre on s'aperçoit que comme facteur discriminant comme manière de la possibilité de séparer comme ça cet ensemble de données on va avoir le fait que les oreilles soient arrondies ou rondes ça c'est super intéressant parce que ça se marche tout seul on va voir la taille des oreilles aussi va marcher donc on va voir une représentation on va dire finalement certain nombre d'ensembl qui a des petites oreilles pointues un ensemble de grandes oreilles euh pas pointu euh donc donc donc donc donc ça nous fait ouais deux clusters deux tas de deux ensembles et voilà ça ça va faire des ensembles de données euh alors ça nous dira pas pourquoi c'est comme si pourquoi il y a deux ensembles ça nous dira juste voilà on est capable il y a des choses comme C des choses comme ça voilà alors après là sur un exemple comme ça c'est assez basique il faut se projeter dans des données très complexes avec des centaines de dimensions donc on va avoir comme ça une une clusterisation hein al en français clusterisation un découpage en groupe de une séparation en groupe mais sans qu'on sache exactement ce que c'est mais par contre c'est une aide extrêmement importante parce que ça permet d'avoir des analogies entre des données non connu et par l'exemple on va avoir donc des caractéristiques importantes qui définissent la catégorieectiv par l'exemple voilà euh une autre chose très importante que l'on peut faire comme ça sur du du non supervisé c'est tout ce qui est réduction de dimension donc là je disais qu'on pouvait avoir des des données avec de très très grand nombre de dimensions alors un exemple classique c'est tout tout ce qui est textuel donc là on est sur des facilement sur des centaines de dimensions voir des milliers de dimensions à minima des dizaines et des dizaines de dimension et donc évidemment pour nous pauvres humains c'est assez difficile à appréhender et donc on va pouvoir utiliser des outils automatiques comme ça qui fonctionnent par apprentissage pour réduire le nombre de dimensions et essayer comme ça de de nous simplifier la compréhension ou la manipulation de de ces données voilà alors euh oui je pourrais juste rajouter que N super pardon oui je pourrais juste rajouter que le non supervisé et très pratique mais euh oui par rapport au euh donc est très pratique très utilisé pour faire l'analyse de données euh en face effectivement l'intelligence artificielle que l'on voit aujourd'hui c'est vraiment le superviser et l'autosuperviser don de l'autre côté donc le supervisé l'autosupervisé c'est pénible parce qu'il faut beaucoup beaucoup de données le non supervisé ce sont des techniques euh très utilisées très utiles et euh qui nous permet bah plutôt des contournements c'est alors que le supervisé quoi des les contournement de l'analyse l'analyse humaine pour le coup la visualisation le superviser on est là vraiment dans le machine dans intelligence artificielle h alors entre entre le le supervisé et et le N super on va essayer d'avancer rapidement sur sur cette partie là aussi mais c'est un concept très très important c'est que des fois on peut être voilà c'est d'un côté on a des données qu'on absolument pas noter qu'on a qu'on a facilement elles sont de ce côté-là d'ailleurs et puis de l'autre côté de ce côté-là on a des données qui sont supervisées mais qui coûtent très cher à la bellliser et donc une stratégie intermédiaire c'est ce qu'on appelle l'active learning alors ça c'est quelque chose de très important notamment dans nos dans nos contextees scientifique c'est que alors bertan tu me corrges si une bêtise on va prendre on va avoir un modèle voilà tu tu veux expliquer Bertrand peut-être pe peutêtre oui ou aller rapidement si on doit c'est c'est cette idée le superviser bah si on fait des choses géniales le non supervisé euh bah c'est pratique mais le superviser le problème c'est qu'il faut avoir un dataset à noter lorsqu'on a bah pas la possibilité d'avoir un dataset à noter il est possible d'utiliser donc du super super active lening on se débrouille pour avoir un petit dataset à noter et donc par un jeu de cyclique effectivement on va faire un préapprentissage avec ce petit dataset qui va permet d'annoter nos données qui ne sont pas an noter donc dans la partie non supervisée et donc petit à petit effectivement on va on va réussir à basculer tout ce qui n'est pas an noté on quelque chose d'anter donc obtenir en gros on va essayer d'annoter euh le moins possible et le plus astucieusement possible pour que réduire le coût de la notation voilà et on va vooir un alors dans ce sens-là en l'occurrence on va avoir un processus itératif pour essayer d'annoter de manière astucieuse le minimum de donné par ce qu'on appelle un oracle qui n'est pas noté voilà donc ça c'est c'est une stratégie très très intéressante voilà après il y a voilà après il y a a a c'est des outils c'est de la technique il y a de la complexité pour implémenter ça mais c'est voilà quelque chose qui est extrêmement intéressant dans nos environnements scientifiques où quelquefois les données coûtent extrêmement cher quoi les données labellisé coûteent extrêmement cher voilà euh au de alors ça c'est voilà le supervisé le non supervisé et l'active learning au milieu l'apprentissage part renforcement donc là on est dans quelque chose c'est les petits robots c'est des choses comme ça euh donc là ain si c'est un agent qui va interagir avec un environnement il en tire une observation de ce comportement il va calculer une récompense ou une pénalité et adapter adapter son comportement c'est ça hein Bertand oui oui c'est exactement ça donc là on est effectivement on est dans la robotique ce qu'on voit souvent c'est des intelligences artificielles qui jouent à des jeux vidéos donc on on a un agent un environnement et on va interagir donc soit des robots qui marchent c'est ça donc on va apprendre par l'exemple et avec un retour de récompense euh et euh voilà donc infin on apprend on apprend sur le tas on apprend live en direct on lui donne pas en fait un dataset d'expérience là c'est c'est de l'apprentissage dans la vie de tous les jours si fait logi et la dernière chose qui reste c'est transfer learning ah une petite question question ouais Tib ouais est-ce alors du coup on a on a on a des gens qui n'ont pas bien compris la différence entre autoup et non supervisé est-ce que vous pourriez refaire un tout petit topo là-dessus ça se discute effectivement euh en fait l'idée ça se discute de où mettre l'autosupervisé est-ce du non supervisé du supervisé ça peut se voir de de plusieurs manières là effectivement on a choisi de mettre l'autosupervisé à l'intérieur du supervisé puisqueen fait on utilise les mêmes techniques qu'on verra plus tard de descentre de gradient le problème c'est donc on fait du supervisé mais avec de la donnée qui n'est pas intras an noter donc en fait l'annotation on va la trouver dans la donnée elle-même mais après une c'est quoi c'est une espèce de de méthodologie donc il s'applique à du texte ou ou à des images mais c'est vra qu'on pourrait on pourrait considérer que c'est du nom supervisé parce que à la base c'est des choses qui ne sont pas à notéain mais vas-y pardon oui ben c'est ça c'est qu'en fait l'idée c'est qu'on a des données non supervisées on va essayer de deviner le label à partir des données elles-mêmes pour travailler comme si on avait des données labellisées quoi voilà c'est dire que on va considérer que la labellisation va se faire à partir des données ellees-mêmes donc formellement on travaille avec des données labellisées sauf que cette ce label cette labellisation des données se fera automatiquement à partir à partir des données elle-mêmes quoi peut-être l'exemple des images pour les images effectivement c'est on va essayer de prédire un morceau de l'image on va cacher un des morceaux de l'image et notre label notre annotation ça va être le morceau de l'image à découvrir donc si on a un contexte en fait euh de je sais pas un château et puis il nous manque la tour centrale le le le but euh du modèle pour apprendre sera effectivement de prédire la tour qui manque quelque chose comme ça et après à quoi à quoi ça sert donc ça c'est pour l'apprentissage après pour l'utilisation ça va permettre effectivement d'avoir un apprantage ultra conséquent et c'est ce qui permet de d'avoir aujourd'hui les modèles de génération d'images les plus les plus les plus performants ok on essaie d'avancer parce que j'ai peur que le calent le le le l'horloge n nous nous nous nous nous frustre pour la pour la suite on a encore beaucoup beaucoup de choses sur le chemin et la dernière chose alors c'est ce qu'on appelle tout ce qui est transfer learning c'est que l'on va apprendre dans un contexte alors par exemple on va apprendre à à à classer à reconnaître des lapins et des chats euh donc voilà on a on s'est spécialisé on a fait un apprentissage qui nous permet de distinguer des chats et des chiens des lapins et des chats et puis à partir de ça on va faire une formation complémentaire on va se spécialiser ensuite pour faire la différence entre des girafes et des éléphants et voilà plutôt que de réapprendre à zéro on va partir de quelque chose qu'on sait déjà faire pour se spécialiser dans une tâche complémentaire et c'est beaucoup beaucoup beaucoup plus efficace beaucoup voilà ça permet d'économiser beaucoup de ressources pour pour l'apprentissage voilà donc ça ça fait une grande cartographie et encore une fois c'est concept d'apprentissage supervisé non supervisé pas renforcement ou de transfert ça c'est quel c'est c'est très universel c'est pas que pour l'apprentissage machine c'est c'est vrai aussi dans l'apprentissage animal on a comme ça ces grandes familles de de de de de familles d'apprentissage et on a des tas d'outils et des tas d'outils et des tas d'outils qui permettent de faire alors du clustering d'un côté ou de la classification de l'autre et cetera avec des neurones ou sans neurones il y a plein d'outils qui existent et une caractéristique du des réseaux de neurone c'est que finalement c'est quelque chose qu'on va pouvoir utiliser dans tous ces contextes différents quoi voilà c'est que les les le le Deep learning est finalement très universel à ce niveau-là mais encore une fois c'est pas le Deep learning n'a pas le monopole de l'intelligence artificielle et n'a pas le monopole de ces différentes formes d'apprentissage alors euh euh ou comment fait comment on fait tout ça voilà exactement c'est bien joli de voir C ces choseslà mais ok comment ça s'implémente il y a quand même de la technique derrière il y a quand même des outils il y a quand même des choses qui qui sont derrière tout ça euh alors déjà d'un point de vue technique c'est que c'est un monde pythoncentré comme on dit euh donc euh on peut faire ça avec autre chose que du python vous pouvez faire ça avec du c++ avec ce que vous voulez mais forceé de constater qu'aujourd'hui euh l'environnement de travail pour ce genre de chos est quand même centré autour de de pyon euh avec parlant en parlant pour pour des gens qui sont des puristes peutêtre en oui et c'est très vrai pour le Deep learning effecement les réseaux de neurones après effectivement sur le machine learning euh il y a des envir tout à fait raison mais pyon est très bon candidat quoi qu'il arrive surtout oui oui tu as tout à fait raison c'estàd que le nous voilà on a la déformation du Deep learning c'estàdire que dans le monde du Deep learning on va être essentiellement en python mais si vous utilisez des outils plus mathématique de de de bah évidemment vous allez pouvoir utiliser du C++ ou des outils ou du Fortran tout tout il y a toute une gamme d'outils et dans d'environnement là voilà effectivement là dans le domaine du Deep learning précisément on va être python centré avec deux grands mondes monde keras tensorfow d'un côté et un monde porche Lightning de l'autre le monde tensorfow keras c'est un petit peu plus présent dans le monde industriel du côté de l'utilisation des modèles ce qu'on appelle modèle du côté de l'inférence l'utilisation de modèles existants et le le monde porche Lightning lui est beaucoup plus présent omniprésent je dirais même dans le dans le monde de de la recherche voilà donc tout ce qui est recherche on est vraiment dans le le monde pa torche et donc cette année on va alors sur la première partie on illustrera peut-être les choses davantage avec keras qui est beaucoup plus simple à lisible beaucoup plus lisible beaucoup plus simple appréhender et après par contre sur la deuxème partie à partir de janvier là on plongera massivement dans le monde de paill torche qui est aujourd'hui voilà qui est dominant du côté du côté de de la recherche voilà un tout petit mot pour Baptiste j'ai un petit souci d'affichage sur les grand écran qui j'ai j'ai le le le le retour qui est qui s'est un petit peu décalé désolé petit message personnel pardon la question suivante c'est effectivement oui oui j'ai vis ben la question suivante ben oui alors bah une fois qu'on a ces logiciels qui ont les résistance on peut y aller Go et B la réponse ah la réponse c'est la slide suivante voilà voilà et ah pardon pardon du coup je me suis j'ai pas les slid donc alors on est sur la certaine complexité sur sensemble de d'environnement de travail logiciel effectivement dans notre dans notre environnement python donc on a toutes ces choses donc on on vient de citer les Kas les Tenser flow les pailles torches pour le le Deep learning précisément et plus largement mat plotly pour la visualision si kit learn donc c'est essentiel pour tous les algorithmes de machine learning plus classique panda pour voilà et voilà et cetera et cetera LPI pour pour les mathématiques le calcul en en tableau et cetera et cetera voilà ouis donc c'est des environnements qui sont très complexes énormément de choses à à maîtriser sur cette première partie ça va pas avoir une grande importance parce que on va bah on va se contenter de de de d'utiliser de voir et de comprendre sur la deuxième partie ben on verra que voilà toute cette quincaillerie bah il faut il faut l'appréhender un petit peu et c'est voilà c'est ça ça fait partie du jeu ça fait partie du jeu voilà et voilà mon effet de tout à l'heure c'était oui ça suffit le software mais oui non et ben non le software ne suffit pas on est dans un monde matériel et euh ouais une grosse difficulté c'est que alors c'est c'est très consommateur de ressources on verra ça par la suite et notamment de de de de de GPU il faut de la puissance de calcul beaucoup de puissance de calcul sur sur pour faire de l'intelligence artificielle alors pour des raisau de neurones c'est vrai mais pas que pour les raisau de neurones et donc si vous voulez faire tourner des modèles faire de l'apprentissage vous allez avoir besoin ement et en particulier si vous travaillez ave des images des données complexes on verra ça la semaine prochaine beaucoup de des GPU et des choses comme ça et ça ça se paye très cher et le risque c'est de se transformer en geek de plus faire du machine learning mais de faire intégrateur et transformer son ordi de bureau ou de maison en en radiateur voilà donc ça c'est pas très bon et donc pour ça ben on a quand même des ressources qui sont disponibles donc mutualisé alors Jan en tête super radiateur le super calculateur pardon de l'idriss on a 3200 GPU dessus accessible à presque tous avec la seule contrainte de faire une petite démarche administrative mais trs facile voà donc c'est c'est librement accessible c'est gratuit hein l'accès àané pour des entreprises ou des laboratoires académiques l'accès alors sous réserve de dépôt d'un projet mais c'est gratuit c'est des ressources mises à disposition et pour pour ceux qui ne le savent déjà pas effectivement un des euh projets phare de de ces dernières années qui a tourné sur Jan c'est le le donc le modèle de langage large LLM Bloom qui a été préentraîné euh pendant 3 mois sur Jan en Contin voilà donc euh 3200 GPU et pas des des vrais GPU de de de calcul euh et puis surtout bon on reviendra là-dessus hein à travers différentes séquences mais ce sont c'est donc ces super calculateurs donc effectivement c'est des très grosses machines qui onc énormément d'énergie mais qui sont extrêmement optimisés c'est infiniment plus efficient que si on avait 3200 ordinateurs personnels ou de bureau avec une une carte GPU voilà donc ces ressources existent sachez-le n'hésitez pas à contacter aller voir du côté du Gency ou de l'idriss euh si vous avez besoin de de de ressources encore une fois c'est ouvert au monde industrie c'est ouvert au monde académique voilà la seule contrainte c'est de faire de la science ouverte mais ça c'est pas vraiment une contrainte en soi en soi surtout particulièrement dans le Deep learning VO mais en particulier dans le Deep learning voilà certes ok bon allez on a posé le paysage un petit peu mais on sait toujours pas ce que c'est que que le Deep learning et on va essayer d'aller voir ça tout de suite ça ça va être notre deuxème notre deuxième partie alors on va essayer de la passer rapidement on va faire un petit peu de math mais ça va pas on va essayer de faire en sorte que ça que ça pique pas trop quoi voilà que ce soit que ce soit accessible et on va essayer de voir un petit peu resteze oui ne vous déconnectez pas abonnez-vous à la chaîne ah oui on a oublié de dire on n pas des vrai youtubeur n'hésitez pas à vous abonner à la chaîne à la chaîne fidle pour suivre recevoir les notifications les information et cetera et et entretenir notre notre petit ego aussi OK soyons sérieux passons à ce que c'est découvrons ce qu'est un neurone artificiel à travers à travers les lunettes des des mathématiques voilà que ce que nous dit j'arrive pas à lire de loin mais je vois la partie que j'attends depuis le début merci mon voilà allez allons-y à piedjint régression voilà une régression linéaire la bonne vieille régression linéaire donc on a un phénomène comme ça qui se passe sur qu'on peut représenter sur deux axes on a deux dimensions hein et on a comme ça pardon régression si on se rappelle bien on a vu on prédit une qu on va essayer de prédire quelque chose voilà donc par exemple si voilà c'est je je me mets à cet endroit-là donc j'ai un phénomène avec une donnée ici et j'essaie de prédire le résultat de du phénomène que qu'on a et on voit que ça suit alors c'est dans ce c'est tout inversé donc j'ai du mal à faire le signe voilà c'est comme ça c'est exactement l'inverse description la distribution comme ça et on va faire ça avec une droite voilà on voit qu'il y a quand même quelque chose qui est globalement linéaire linéaire qui qui suit une droite et donc on peut comme ça trouver une droite et et donc pour une valeur x donnée qui est là on va essayer comme ça de trouver la valeur y voilà un exemple concret typiquement c'est nos maisons nos prix au maisons donc notre prix par exemple au mètre carré donc exactement euh donc là oui on sait que nos points ça va être le X ça va êtreà surface surface et puis y on va retrouver le prix par ex le Pr de la maison voilà et notre droite va nous dire que ben on est à 5000 € le m carré ou 10000 € le M Carr c'est voilà donc là voilà ça c'est vraiment quelque chose qui qui est très très classique et donc voilà après la difficulté pour trouver ça c'est de trouver la position de cette fameuse droite qui est vraiment dans l'autre sens de trouver la position de cette fameuse droite euh à l'intérieur du nuage de points alors pour qu'elle trouver la position de la droite dans l'intérieur du nuage de point calculer la distance de cette droite par rapport aux différents points par qu'on voit un petit peu en orange comme ça on va essayer de minimiser cette distance donc on va mettre notre droite puis on va essayer comme ça de la la bouger de manière à ce qu'elle trouve sa sa sa position un petit peu idéale question comment trouver cette position idéale mathématiquement quoi alors en a deux nouvelles une bonne et une mauvaise la bonne nouvelle c'est queon peut calculer ça directement donc on prend les points et clac ça nous donne les par caractéristique de de cette fameuse droite pour qu'elle soit pile à l'intérieur du nuage de point au mieux ça c'est la bonne nouvelle et la mauvaise nouvelle c'est que nouvelle bah finalement non en réalité c'est trop compliqué c'est qu' on a beaucoup de points c'est c'est trop compliqué voilop comp si on a quelques dizaines de points bah ça se passe très bien bon quelques dizaines quelques milliers de points on va s'en sortir mais si on a un million de points on fait on fait sauter on fait sauter les mémoires on fait sauter les les question quand on aura des ordinateurs quantiques est-ce qu'on pourra le faire un peu plus bah toute façon jeis que ça a déjà pas d'intérêt de le faire aujourd'hui ça aura pas d'intérêt de le faire demain sans doute quoi bref en tout cas je parle pas des ordinateurs quantiques hein on est bien d'accord pas d'ennui pas de problème euh non non euh voilà c cette solution directe en fait est pas est pas intéressante parce qu'elle est très complexe en terme de de calcul et donc ce que l'on va faire c'est qu'on va faire ça exactement comme on a dit tout à l'heure c'estàd qu'on va essayer de trouver hop comme ça je vais y arriver la position idéale de notre courbe intérieure du nuage de point donc on va faire un processus itératif on va mesurer la position de la de notre courbe enfin de notre droite pardon euh et puis puis on va modifier à partir de cette indication la position de notre de notre droite de manière à trouver la position idéale voilà on va faire exactement comme si on avit un baton avec le nuage de points et essayer de trouver la position idéale de manière itérative itérative et est si c'est bien dans ce sensl non c'est bien dans ce sensl voilà c'est tout inversé alors pour faire ça bah déjà la première question c'est comment mesurer la distance de notre droite par rapport à nos points bah là on a des fonctions qui permettent de faire ça donc ça c'est si on n pas fanatique des maths on a par il ont deux fonctions classiques la la la la l'erreur quadratique moyenne à chaque fois je prends le nom en anglais on va essayer de rester avec francophone donc l'erreur quadratique moyenne ou la moyenne du Carré des erreurs voilà donc ce c'est bon retenons juste que ce sont des fonctions qui nous donnent une indication de la qualité de la position de de la droite plus c'est petit bah mieux la droite est positionné et plus c'est grand bah plus on se refroidit on s'éloigne de la position idéal c'est une espèce de distance effectivement ça revient à ça c'est une distance c'est tout à fait c'est vraiment une distance voilà c'est c'est une distance de notre droite par rapport à notre nuage de point et donc benah voilà c'est comme quand on jeu c'est c'est un jeu en fait on va essayer comme ça de trouver la la position de notre droite donc on voit en haut à gauche en haut à gauche euh notre une position de de notre droite euh et puis donc voilà donc et à droite on a on a la courbe d'erreur c'està-dire que quand on va bouger notre droite quand on va la la déplacer et ben on a euh cette fonction d'erreur qui va on va se balader dans cette fonction d'erreur jusqu'à essayer de trouver une position petit mal et si on va un peu trop loin là oui pardon si on va un peu trop loin dans la droite on voit que hop donc il faut ou c'est je je chauffe je chauffe je chauffe ah tu refro c'est tout c'est tout à fait ça voilà on va chauffer chauffer chauffer chauffer on a la bonne position donc on est en bas de la de la de de la fonction d'erreur on a le minimum de la distance que l'on peut avoir et puis si on continue à se déplacer ben on va se rééloigner de l'autre côté on refroidit à nouveau on refroidit à nouveau et si on revient dans l'autre sens on va réchauffer réchauffer réchauffer hop position idéale et puis on va refroidir refroidir refroidir et le but du jeu bah c'est comme ça d'essayer de trouver cette cette position idéale et donc on va descendre comme ça progress sera pas tout bête votre truc on peut on peut se poser cette question est-ce que c'est pas tout bête bah c'est ce qu'on veut montrer oui c'est pas très compliqué bah oui oui voilà mais c'est c'est si ça paraît tout bête c'est que ça paraît simple c'est parfait c'est exactement ce qu'on va essayer de de vous montrer voilà et c'est donc ce processus comme ça donc on a cette fameuse fonction d'erreur he cette fameuse distance qu'on appelle la fonction d'erreur la fonction l alors ça c'est vraiment voilà c'est le terme métier et on va comme ça essayer de descendre sur la pente de cette fonction de de cette fonction de perte euh et ce phénomène C cette mécanique c'est c'est cette cette action qui consiste à essayer de diminuer comme ça cette fonction de perte c'est ce qu'on appelle le processus d'optimisation voilà et ce processus d'optimisation on va le faire en suivant la pente c'est-à-dire que euh on va prendre la la ce qu'on appelle le gradient donc euh le principe c'est que quand on va se déplacer le long de cette pente ça va coïncider AC a une modification des paramètres de de la droite et donc à partir de ce gradient on va appliquer ce gradient aux paramètres de la droite de manière à adapter la la position de de de la droite voilà alors ça c'est la parti anter le montagnard effectivement on est vraiment là-dedans on est dans la pente de c'est tout à fait une descente de voilà on peut descendre donc on peut y voir du ski aussi pourquoi pas ou voilà tout à fait c'estàd que euh voilà c'est on est un point donné euh on voit qu'on a la la la pente c'est-à-dire que la la si on avance on va diminuer cette fameuse erreur cette fameuse erreur donc ben on va donc avancer dans la pente donc descendre dans la pente et euh ok pour on va si on descend dans la pente ça veut dire qu'on va modifier la position de notre fameuse droite d'un certain nombre de d'une valeur correspondante à cette à cette fameuse pente voilà alors après il y a plein de façons de descendre cette fameuse pente donc le long de cette courbe ou la pente si on prend l'image de la montagne donc on peut descendre par petit pas comme ça ou on peut faire des des grands pas avec le risque c'est de passer de l'autre côté du point idéal on peut prendre de la vitesse c'est-à-dire que plus la pente est forte plus on va descendre rapidement euh avec le risque bah c'est d'aller très vite donc ça veut dire que quand la pente va s'adoucir bah il va falloir ralentir pour essayer de trouver ce minimum et là il y a beaucoup beaucoup de travaux qui ont été fait pour justement trouver l'art et la manière de descendre le plus efficacement possible dans dans dans dans cette pente voilà on reviendra on reviendra sur sur cette fameuse descente de gradient donc là les mots clés qu'on a vu hein c'est la fameuse la fonction l la fonction de perte qui permet comme ça de calculer cette erreur le principe du gradient qui consiste à prendre la pente de cette de cette courbe alors ça correspond à la dérivée de c'est un vrai gradient c'est la dérivée de cette fonction de de de perte le principe de l'optimisation qui est de modifier les paramètres de notre droite pour trouver sa position idéale et ça c'est des grands grands grands concepts qu'on reverra mathématiquement de manière beaucoup plus détaillée en tout début janvier voilà donc si si vous si vous êtes frustré en terme de math cette fois rassurez-vous il y aura une une séquence math une vraie séquence math pour qui reviendra sur sur tous ces sur tous ces aspectsl VO voà alors vous avez un notebook dans dans la distribution al on en a la représentation ici pour voir visuellement comment ça se passe donc on commence donc c'est sur le le graphique qui est là vous avez donc en bas ici euh voyez un trait horizontal donc ça c'est notre fameuse droite à T0 euh et puis on va itérer donc on va prendre les données on va euh faire cette fameuse se calculer cette erreur prendre le gradient appliquer le gradient à la courbe et hop on a une nouvelle position de la courbe qui est ici puis on recommence une deuxième fois puis hop on a si je me rapproche voilà cette courbe qui est qui est ici et puis on va venir comme ça progressivement se caler sur voilà voilà comme ça la position idéale à l'intérieur du du nuage de points et ça se fait de manière itérative et là que l'on est 100 millions de points ou qu'on est 10000 points cette méthode là va fonctionner très très bien si on a 100 millions de points on est peut-être pas obligé de prendre les 100 millions de points pour faire ce calcul de ce de ce processus on pour faire avoir une approche statistique euh de manière à je retrouve plus le mot il y a le mot exact plutôt que statistique pour pour faire ce ce processus là et ça marche diaboliquement bien très très très très très efficace très efficacement alors fait bouger le learning r Oui alors il y a tout tout un tas de d'outils de méthodes d'optimisation pour descendre faire cette fameuse descente de gradient voilà c'est comme le ski hein c'est quelque chose qui qui s'apprend qui voilà il y a des experts de la descente de gradient et et des algorithmes qui sont beaucoup plus efficaces fa d'autes en fonction des des contextes mais retenez voilà ce principe c'est qu'on va prendre une erreur on va calculer donc on a une fonction d'erreur on va calculer le gradient cette fonction d'erreur pour l'appliquer aux paramètres de manière à optimiser progressivement le l'adéquation entre le modèle et puis ce que l'on souhaite représenter voilà voilà alors ça marche aussi pour les courbes polynomal polynomiales pardon allez oui laag polynom ah je crois qu'on a perdu Bertrand je n'entends plus Bertrand je sais pas si vous l'entendez à l'antenne Mo je n'entends plus Bertrand si c'est bon alors vas-y Bertrand explique la courbe polynobiale je bien effectivement moi je disais il y avait des questions qui allaient arriver mais on les prendra juste après la régression polynomale on a vu notre régression linéaire le problème c'est que ben on pouvait décrire un espace seulement linéaire lorsqu'on a effectivement une représentation de points don des points qui a une forme un petit peu courbe comme ça comment comment est-ce qu'on fait et ben on peut utiliser effectivement pu dans la ré linéaire une régression polynomiale sur des opérations avec donc polynomial d'ordre d'ordre avec un certain nombre d'ordre n donc l'ordre ça indique le nombre de composantes qu'on va avoir derrière le X2 qui nous permet effectivement d'adapter effectivement un modèle qui est capable d'épouser une forme en courbe alors on va voir ensuite j'imagine que comment on choisit notre haine est-ce et donc notre haine effectivement il faut pas aller trop loin on va parler on en reparlera mais je Mo je te laisse parler Jeanin à ce momentl parler de sousapprentissage sur apprentissage et de le bon apprentissage tout p comme il faut avec le bord nord ouais désolé c'est l'oreillette qui est tombé en carafe que j'ai j'ai changé d'oreille voilà j'ai changé d'oreillette et j'espère que l'autre va se recharger parce que celle de gauche normalement cette fois va tomber aussi en Caraf son tour bon allez on va dire que ça va bien se passer donc là bah ce que donc ce que tu disais Bertrand c'est que donc on peut faire ça sur des courbes polynomiales donc et et là on va avoir une difficulté qui va être de gérer la complexité des données alors ça ça sera vraiment notre sujet de la semaine prochaine sujet ultra ultra important comprendre la complexité et l'enfer des données euh là on peut faire un petit peu de pub pour la prochaine séquence mais là on a vraiment un exemple très intéressant c'est que si on prend en haut à gauche euh tout là-haut dans la diagonale en haut à gauche on a une courbe qui est une une droite en fait qui est très simple donc c'est une courbe très simple une droite c'est c'est une droite de degré zéro voilà on quand même là c'est notre régression linaire justementr linéaire mais qui s'adapte mal à notre à notre environnement donné effectivement voilà c'est le phénomène qu'on veut représenter on voit clairement que ça marche pas quoi enfin c'est beaucoup trop simple par rapport à la complexité qui qui qui qui n qui n'est pas linéaire donc à droite en haut à droite donc juste audessus ouais oui je disais effecement lunire comme tu disais juste avant ça corresponde à un un polynôme d'ordre 1 effectivement oui voilà tout à fait ou ouais tout à fait donc si on a quelque chose de courbe et qu'on essaie de le représenter avec une droite clairement on a quelque chose qui est pas bon voilà c'est pas capable de représenter la complexité d'une courbe voilà on peut pas représenter quelque chose de courbe avec une droite voilà au-dessus là on a cette fois une courbe avec un bon degréd que la courbe elle est suffisamment souple pour être capable de représenter le la distribution du nuage de point l'ensemble le nuage de point est suffisamment rigide quelque part pour ne pas aller dans tous les détails et ce qu'on a juste là par contre là bah là c'est pas bon c'estàd que notre notre courbe orange elle est trop souple elle va dans trop elle suit trop les détail elle fait des des tas de petits tours et de détours elle va essayer de suivre trop le nuage de point alors le résultat de la fonction perte sera meilleure parce que elle est plus proche du nuage de point mais quelque part elle a aucun sens par rapport à la distribution des points voilà donc dans un cas euh quand c'est trop simple on n' pas assez d'intelligence dans la la représentation donc c'est ce qu'on a en haut à droite enfin en haut à gauche pardon c'est euh voilà on est ce qu'on appelle du sous-apprentissage on a une incapacité à représenter la complexité du phénomène si on a un apprentissage satisfaisant juste au-dessus bah là on a un modèle qui représente bien notre la complexité de notre distribution et puis et puis et puis ici là on a quelque chose là on fait ce qu'on appelle du suapprentissage qu'on se fait des nœuds dans le cerveau on essaie de trouver que des cas particuliers de donner trop d'importance à tous les cas particuliers à mimer chaque cas particulier et donc dans ce cas-là on a quelque chose qui n'est plus significatif c'est du bachotage on se fait des nœuds dans la tête on invente des choses qui n'existent pas VO donc là un petit un un petit mot comme on l'a dit c'est quelque chose de très important vraiment partout dans l'apprentissage machine c'est la chasse au suraprentissage donc là on le montre d'une façon oui bon benah ok pour des courve et cetera mais c'est vraiment quelque chose qui revient partout partout partout et puis à l'heure de chat GPT et de tout ce que vous voulez on est encore sur ces problématiques bien et alors c'est vrai dans le machine learning dans le Deep learning mais c'est vrai chez je dire chez les humains mais dans le règne dans le monde le monde animal l'apprentissage animal je dirais c'est vrai c'est c'est un fondamental de de de de l'apprentissage ok c'est bien joli tout ça mais on a toujours pas vu ce que c'est qu'un neurone artificiel voilà ne voilà alors on va aller voir ce que c'est qu'un neurone artificiel euh on va prendre un exemple on va le faire à travers un exemple avant vous commenciez alors c'est pas une question c'est une ou ouai oui vas-y oui non c'est du coup pour euh pour la régie de du côté Grenoble est-ce que c'est possible de mettre un tout petit peu plus fort Bertrand ah de mettre Bertrand pardon plus fort et il faut que ou sinon je parle plus fort ah ou un tout petit peu plus fort dans le dans le mix d'AC c'est bon merci merci thbao donc qui nous permet de rebondir sur notre exemple effectivement voilà alors notre exemple euh voilà on va découvrir ce que c'est qu'un vrai neurone à travers un exemple pratique c'est voilà merci Baptiste alors prenons un exemple classique on va s'intéresser à des étudiants et on va essayer de regarder leurs résultats en fonction du nombre d'heures de sommeil du nombre d'heur de travail voilà c'est évidemment totalement fictif toute ressemblance avec des personnages existant ou aayant existé ne serait que purement forte suite et cetera et cetera mais bon voilà on a Alice Bob Carole et Daniel et donc on voit par exemple que Alice a beaucoup travaillé et beaucoup dormi et hop elle a eu son examen elle ça s'est bien passé on a Bob lui qui a pas beaucoup travaillé mais qui a beaucoup dormi ça s'est pas bien passé et puis on a Carole qui qui a peut-être trop dormi Carole elle elle a fait la fête donc elle a pas beaucoup dormi mais elle a beaucoup travaillé et mais bon ça a pas porté chance non plus et on a Daniel il a travaillé un peu il a dormi un peu voilà et on sait pas si ça s'est bien passé ou pas voilà un exemple totalement artificiel mais qui va nous permettre de comprendre un petit peu les choses donc là on est dans le domaine de la régression logistique euh alors ok il y a le mot régression mais ça va être une classification pour autant euh tant pis c'est voilà le terme historique il est malheureusement pas le terme historique mais on va le voir ensuite que ça correspond finalement à une régression linéaire suivi de de quelque chose ex voilà donc bah voilà on a notre présence entation ici donc d'un côté horizontalement on a les heures de travail verticalement on a les heures de sommeil et puis le nombre d'heur dormis et puis on a en rouge et en vert le résultat ou pas le résultat VO donc sans sans surprise hein on retrouve nos nos amis à travers cette cette représentation entre donc en rouge ceux qui ont pas réussi en vert ceux qui ont réussi et le but du jeu bah ça va être d'essayer de voilà si on là on retrouve alors je sais déjà plus c'était c'était dan voilà c'est Daniel qui est ici est-ce que Daniel a réussi ou pas son examen enfin quel est voilà en gros en français dans le texte est la probabilité qu'il a réussi d'après notre modèle l'examen ou pas et c'est ce qu'on va essayer de de prédire et pour ça ben on va utiliser oui oui on avait les informations pour Alice Bob et Caroline effectivement voilà donc voilà et voilà donc là on a un grand ensemble de données on Alise Bob et Caro mais on a comme ça que une centaine ou 200 statistiques 200 alors là on va prendre les vrais termes métier 200 300 observations euh de de de de donc de d'étudiants avec le nombre d'heures de travail de sommeil et le résultat à l'examen et le but du jeu voilà c'est pour ceux des cas qu'on connaî pas être capable de faire une prédiction comme dans le cas de de Daniel alors pour ça ben on va prendre une fonction linéaire c'est pour ça qu'on parle de régression la régression logistique ça va utiliser une régression linéaire comme celle qu'on a vu tout à l'heure donc c'est quoi bah on va prendre en entrée des données donc en entrée X1 X2 et cetera bah là on aura que X1 et X2 X1 c'est le nombre d'heures de sommeil X2 le nombre d'heures travaillé euh donc on va faire on va prendre X1 qu'on va multiplier par un poids plus X2 multiplié par un deuxè poids on va rajouter B et puis ça va et ça va nous faire un résultat que l'on va mettre dans ce qu'on appelle une fonction d'activation fonction logistique et ça va nous donner un résultat le fameux y chapeau que l'on voit hop ah ben non je peux pas monter si haut voilà qui est juste là ce fameux y gre chapeau merci Bertand tu chapeau oui merde tu dépasse aussi voilà et ce fameux y chapeau bah ça va être notre prédiction à travers une une fonction linéaire donc c'est une prédiction linéaire avec une fonction linéaire toute bête et on va dire que si c'est inférieur à 0,5 on va dire que c'est raté et si c'est supérieur à 0,5 on va dire que c'est réussi voilà donc c'est vraiment une fonction linéaire de type X1 W1 + x2 W2 + B on passe tout ça dans notre fameuse fonction logistique pour en faire quelque chose qui est compris entre 0 et 1 fait l'quival d'une probabilité et on va essayer de trouver les alors pour que ça fonctionne le but du jeu ça va être de trouver ces fameux poids W1 W2 et B de manière à ce que on ait un résultat qui soit satisfaisant et ça on va le faire on va oui oui oui pardon oui je sais pas si les gens ont remarqué c'est pour pas forcément évident mais ce qu'on a dit avant en fait oui toute cette première partie c'est exactement notre régression linéaire jusqu'à avant la f la fonction d'activation c'est la fonction d'activation qui fait notre régression logistique qui nous permet de faire une classification exactement c'est c'est tout à fait ça c'est c'est exactement la même mécanique que tout à l'heure pour entraîner pour entraîner ses poids c'est ce qu'on a vu exactement avant mais on va passer par une descente de gradiant m exactement c'est c'est pour ça qu'on a vu la régression linéaire juste avant parce que c'est exactement la même mécanique c'est plus facile de voir cette mécanique avec une régression linéaire que avec la régression logistique un chouill plus abstraite finalement mais c'est exactement la même mécanique c'estàdire que les paramètres de notre fonction linéaire que l'on a ici notre régression logistique on va les déterminer par cette mécanique de descentere de gradient donc on va utiliser une fonction de perte qui sera un petit peu différente parce que là ce que voilà le résultat qu'on a c'est c'est une une probabilité finalement donc c'est la fonction la la fonction de perte la fameuse distance elle va être une fonction légèrement différente enfin une fonction différente mais le principe est strictement strictement le même et ça marche très très bien et ben ce truc cette mécanique là c'est un neurone artificiel voilà c'est un neurone artificiel voilà c'est notre régression logistique c'est un réseau de neurone à un neurone avec un seul neurone on arrive comme ça à faire des choses qui sont super et oui pourquoi pourquoi on dit que c'est un neurone du coup parce que alors notre neurone artificiel bah on verra tout à l'heure dans l'histoire des neurones comment on est arrivé à ce neurone artificiel intellectuellement quoi voilà là on y arrive mathématiquement donc le cœur de la régression logistique qui est cette somme pondérée auquel on ajoute un billet que l'on passe dans une fonction d'activation cette petite brique cette petite chose élémentaire ça s'appelle un neurone artificiel ni plus ni moins et donc on peut dire que la réression logistique c'est ni plus ni moins qu'un neurone artificiel un réseau de neurone artificiel à un seul neurone voilà et ça marche bien hein si on reprend notre exemple donc ça c'est pareil c'est un des notebooks qui fait partie de la la distribution vous pouvez retrouver euh on verra tout à l'heure vous VZ retrouver mais vous pouvez retrouver sur notres sites même le le le le le run de de de ce le le le le résultat de l'exécution de ce de ce notebook donc si on reprend comme ça notre exemple de tout à l'heure on voit donc que l'on arrive à avoir un résultat alors évidemment avec mes petits yeux de je vois c'est 91 % je crois ou je sais plus combien c'est je me rapproche parce que j'arrive pas à lire voilà on est à 91 % 91,6 % de de prédiction correcte et on a euh on a on a 8 % d'erreur voilà sur sur cet exemple sachant qu'on peut pas atteindre le 100 % parce qu'on a du bruit et que don on a des points qui sont un petit peu qui sont un petit peu distribués aléatoirement par ailleurs par ailleurs on est sur avec un seul neurone avec une seule fonction linéaire on a un classifieur c'est un classifieur qui est linéaire donc qui est capable de séparer nos deux mondes ceux qui ont réussi de ceux qui n'ont pas réussi avec une droite donc voilà le phénomène étant pas strictement linéaire on peut pas avoir quelque chose de de parfait mais ça marche déjà pas mal on est à 90 % de prédiction de classification correcte de prédiction correcte voilà ça c'est oui une petite question effectivement oui si on avait une représentation dans notre exemple quelqu'un qui aurait trop dormi et trop travaillé donc du coup il naurait à peine mangé il n'aurait pas mangé il serait complètement raté son son examen donc on aurait un point [Musique] rouge vous voyez ce que je veux dire quoi j'arrive pas de l'autre côté effectivement donc du coup là on aura ème sur notre sur notre présentation de régression logistique effectivement alors en fait là tu soulèves un point essentiel que qu'on verra voilà que qui sera qui fera partie justement de ce qu'on verra la la la semaine prochaine c'est ok là on a une représentation on on restreint on limite on simplifie euh la représentation du problème et de nos étudiants euh avec une observation à deux dimensions nombre d'heures de sommeil et le nombre d'heur de travail et il y aurait bien bien bien d'autres paramètres à prendre en compte si on voulait avoir euh euh quelque chose de de de de plus représentatif et de et de plus pertinent quoi voilà donc là on a simplifié à l'extrême pour la la la beauté de l'exemple mais dans le monde réel là on aurait quelque chose où la complexité que l'on intègre dans le modèle est largement inférie insuffisante par rapport à la réalité ça c'est pe question notre histoire oui une petite question de type chix euh une question de VOC deux questions de vocabulaire on nous demande si les termes de fonction de coût et fonction de perte sont identiques cost fonction last fonction j'aurais envie de dire oui ce Nive oui oui ouii on parle souvent de l fonction plutôt mais là dans les dans les sles j'ai pas fait attention apparaiss est-ce qu' apparaissait le un coup mais oui oui on va dire c'est identique je j'ai du mal av voir une différence ouais et sinon tu as utilisé le terme de vous avez utilisé le terme d'Outer qu'est-ce que ça signifie ah outer alors ça grand sujet de la semaine prochaine aussi le di fait dans les données quoi voilà en France en français c'est des données aberrantes voilà voilà la la la bonne traduction et et et le sens c'est un autre une aut layer c'est une donnée aberrante quoi c'est alors on a des on verra que les données elles peuvent être bonnes alors Bonn il il y a toujours une une distribution statistique un bruit de fond ou des choses comme ça très facilement mais des fois les données sont carrément absurdes n'ont plus de sens quoi et c'est ce que l'on appelle ces fameuses out layers c'est des données qui n'ont plus aucun sens elles sont même plus bruit c'est à la limite c'est quand vous avez une photo c'est un pixel mort sur le capteur quoi voilà et ça c'est voilà encore une fois c'est des très très bonnes questions et des questions très très intéressantes parce que c'est le cœur le cœur de de de la difficulté qu'on verra la semaine prochaine c'est les données sont centrales et vraiment le diable le diable se cache dans les données et une très très voilà tout le processus d'apprentissage d'apprentissage tout court et d'apprentissage machine en particulier ul et donc de Deep learning s'appuie sur les données et si on a des données qui ont des des bis qui sont fausses qui sont pas complètes qui sont trop complexes qui sont incomplètes et sont trop simples et cetera le modèle qui qui découlera de cet apprentissage bah sera biaisé incomplet incapable de de faire le job et ceterao ça c'est grande histoire que voilà c'est très bien qu' ces question parce que c'est voilà ce sera ce qu'on va ce qu'on explorera dans la prochaine séquence voilà donc ce fameux neurone artificiel nous permet de faire déjà beaucoup de choses et voilà après on pourra rentrer dans les détails avec faire davantage de de ma donc ça c'est Laurent nous proposera une super séquence en janvier sur sur les maths voilà pour voilà parce que on a eu voilà on a eu des remarques des fois qu'il y avait trop de maths et puis des remarques comme quoi il y en avait pas assez qu'on rentrait pas assez dans les détails et voilà donc là cette fois on'ira pas plus loin dans les matths sur cette première partie mais il faut garder cette oui voilà il faut garder cette notion de neurone artificiel voilà ça par contre c'est fondamental exactement voilà et ça ça va être ça va être absolument hop central si je vais dans le bon sens ça ira mieux et donc ben maintenant voilà ok très bien on a vu un petit peu mathématiquement à quoi correspondait ce ce neurone artificiel c'est une fonction linéaire en fait avec sa fonction d'activation et puis un processus d'apprentissage qui permet comme ça de de de de se sculpter de de de forger un petit peu le le comportement du neurone pour qu'il soit capable de nous fournir un résultat euh pertinent à travers un processus itératif qui est l'apprentissage mais on va voir maintenant l'histoire de cette chose là aussi oui ber l'histoire de cette oui oui oui non je disais puis je je oui donc on va voir la troisème partie l'histoire de bah ce qui s'est passé ces 80 ans d'histoire qui nous ont mené du de notre réseau neurone artificiel jusqu'à aujourd'hui euh je vais arrêter de citer chat GPT Bloom et alphafol d que c'est toutes ces choses que l'on va voir ensuite euh et oui est-ce qu'il y a des questions qui sont entre les deux euh non est-ce que les pour les attestations on fait ça un peu plus tard on est d'accord on fera ça après cette partie làà justement ouis ah juste apr ouais juste après cette partie je sais pas si je vais vérifier ok bonah si thibo tu nous interrompes s s'il y a des questions et puis on les prend on les prend au vol donc ci on est parti pour l'histoire et un peu de philosophie aussi peut-être ah bah là voilà là voilà c'est la partie où allez soyons soyons clair on se fait plaisir sur sur cette partie là il avec une une première question qu'est-ce que c'est que l'intelligence quoi voilà inelligence qu'est-ce que c'est que l'intelligence alors peut-être l'étymologie d'intelligence mais on va voir deux définitions deux mouvements mais intelligence déjà c'est entre les guérers je crois c'est lire choisir me semble-t-il donc c'est entre choisir entre lire euh donc on a une perception on arrive à faire des relations on a une vision dans un monde complexe et puis on soulève des des coins et puis puis on fait des liens et puis voilà ça ma définition de l'intelligence on va regarder pardon dans le bon sens ça sera mieux deux définitions alors une première définition de de l'intelligence qui alors qui qui intègre ce que tu dis alors là je la lis pour pas dire de bêtises c'est la capacité de percevoir ou d'inférer l'information de la conserver comme une connaiss s à appliquer à des comportements adaptatifs dans un environnement ou un contexte donné alors c'est là il y a des concepts fondamentaux alors ça c'est une définition qu'on retrouve on verra qu'il y a deux grandes familles de définition c'est première grande famille de définition par exemple celle que l'on trouve dans dans Wikipédia alors le Wikipédia us a été adapté parce qu' maintenant ils reprennent les deux définitions mais voilà ça c'est une des grandes définitions je dirais de de l'intelligence o voilà c'est la capacité à percevoir une information ok on perçoit une information on a des données qui arrivent craque on va les garder comme une connaissance donc les prendre les organiser les stocker comme une connaissance et on va s'en servir ensuite pour adapter son comportement façon Darwin pour essayer de de pas disparaître trop vite voilà et c'est vrai qu' c'est percevoir ou inférer donc c'està-dire que alors évidemment on fonction de ce qu'on a oui en fonction de ce qu'on a mémorisé par perception on est capable même directement d'inférer des choses qu'on a pas eu la possibilité de percevoir exement c'est très conceptuel comme comm comme définition ouais et et on devine un FA infér inféré au sens régression linéaire régression logistique et plus si affinité voilà c'est de s'appuyer dessus pour pour s'adapter donc ça c'est voilà ça c'est vraiment une très belle définition de l'intelligence définition évolutionniste je dirais quelque part et puis on a une deuxième définition qui est deème conception des choses vas-y je te la laisse oui alors peut-être un peu plus matérialiste je sais pas ensemble des fonctions mentales ayant pour objet la connaissance s conceptuel et rationnel quand on donc ensemble des fonctions mentales on est dans un ensemble de fonctions donc Society of mind je sais pas si vous allez la référence mais on est multitude d'gent mais pour qui qui effectivement manipule du la connaissance conceptuelle et rationnelle ouis bref là il y a des tas de mots qu'on comprend pas bien et c'est c'est voilà enfin on va pas être on va pas être médisant par rapport à cette conception de l'intelligence qui a tout à fait sa place c'est une définition intellectuelle où là on va dire qu'on va s'adresser on va on va on va plutôt s'appuyer sur des concepts de haut niveau sur une approche conceptuelle des de de de oui une approche conceptuelle on va dire de de la connaissance voilà je chercher alors deux mondes deux mondes séparés avec un fossé important des gens qui se cusent pas deux grandes tendances d'un côté le monde connexionniste c'est d'ailleurs c'est Baptiste nous séparer chacun d'un côté ou ouais et avec d'un côté donc le monde connexionniste ah bah voilà je ne te causerai plus donc ce monde connexionniste en fait euh a une conception de l'intelligence où on va dire que la l'intelligence sapparente à des fonctions élémentaires voilà c'est un ensemble de fonctions élémentaires accrocher les unes aux autres ces fameux petits neurones et et et euh et se trait TR de l'information on va pas appeler ça un traitement de l'information par le traitement du signal c'est-à-dire que on va traiter les informations vraiment comme du traitement du signal à travers un ensemble de petites briques élémentaires quoi par opposition à l'approche symbolique symbolique alors que je vais que je valorise puisque connexionnis je sais pas si vous avez remarqué mais les trois premières lettres se font cons alors que dans le symbolisme dans symbolisme on manipule des choses ah ouis tu mets la barre trèsut là ou ou oui j'attaque c'est c'est un argument B aussi euh donc le le le symbolisme il s'agit effectivement de représenter les choses avec des concepts assez élevés de des symboles effectivement manipuler on peut le ne serait-ce que déjà les mathématiques c'est c'est du symbolisme euh donc là on est dans notre on manipule des des concepts de haut niveau avec cette idée que c'est pas avec ça serait très matérialiste de se dire bah qu' un cerveau humain une intelligence humaine c'est c'est juste des connexions des tout tout des boutons qui s'allument et puisoi la con voilà c'est là là on moi je je suis dans je suis un peu ouais tu as une auréole audessus haut du front là il y a voilà voilà alors on peut vous conseiller alors cette partie là on s'est largement appuyé sur un super article de alors je vais me décaler un petit peu voilà pour le qu'on puisse vous puissiez le lire en bas j'ai passé la tête allez je passe la tête comme ça ah bah voilà merci Baptiste donc de Dominique cnon Jean-Philippe cointé Antoine maziierre la revanche des neurones donc là vous avez le lien le DOI pour pour accéder à cet article un super article qui qui reprend ce ce ce panorama euh voilà alors c'est de monde voilà tu peux me remettre dans mon camp parce que je suis trop près de l'approche symbolique non non de l'autre côté Baptiste de l'autre côté euh voilà donc on a C ces deux mondes comme ça qui s'opposent euh deux conceptions différentes hein qui s'opposent et on verra que ça va s'opposer dans l' mais qui sont deux conceptions différentes alors donc d'un côté les les connexionnistes avec ces briques élémentaires qui sont jamais que des neurones donc un neurone c'est une cellule avec des capteurs d'un côté qu'on voit à gauche ici juste au-dessus de moi et puis et puis de l'autre côté là-bas une sortie avec le signal qui va rentrer comme ça à l'intérieur du neurone et ressortir transformer de l'autre côté B c'est exactement ce qu'on a avec ce fameux neurone artificiel he c'est une fonction mathématique qui prend une information d'un côté qui la transforme et qui fait ressortir cette information de l'autre côté qui va être propagé vers d'autres neurones s'il y a d'autres neurones et cetera voilà et et ça c'est vraiment le le cœur de de l'approche connexionniste c'est de représenter l'intelligence modéliser l'intelligence reproduire l'intelligence par le biais de petites fonctions élémentaires que sont les neurones dans le monde animal et des neurones artificiels dans le monde numérique voilà de l'autre côté on a la l'approche symbolique où on a un petit exemple ici où tout homme est mortel que tu peux nous décrire camarade public bah là on cherche effectivement de la logique on cherche de de donc à travers le monde symbolique là tout a est mortel Socrate est un homme donc Socrate est mortel ouis c'est effectivement l'intelligence l'inférence la déduction tout ça on va le il n'est pas possible il ne me semble pas possible que juste avec un artificiel on pu on puisse arriver dans des grands concept que sont l'intelligence humaine bah la parole et cetera et cetera ce n'est pas possible donc il faut il faut passer par du symbolisme euh donc on est quand même au en plein milieu du 20e siècle on a quitté euh moi je crois mon symbolisme bon j'ai j'ai C j'ai 50 ans de retard avançons avançons donc un exemple de de pensée symbolique hein c'est tout homme est mortel Socrate est un homme donc par inférence on est capable d'arriver à la conclusion que socrate est mortel voilà ça c'est un exemple de un exemple de de d'inférence sur des symboles de de de haut niveau alors ces deux approches deux mondes complètement culturellement très très différents que tout oppose quelque part dans le casre de l'approche connexionniste on a une approche ce qu'on appelle inductive donc on a une entrée une sortie donc on a une observation on a la conclusion qui va avec et on va fabriquer le raisonnement qui va avec on va fabriquer le modèle qui qui permet d'aller de cet input à cet output et et ce ce modèle alors ce qu'on a c'est un programme en fait par on prend l'entrée la donnée d'entrée pardon la donnée de sortie et on va fabriquer générer le programme capable de passer de l'input à l'output et ces programmes qui sont générés dans le monde de l'induction on va appeler ça de l'intelligence artificielle on va appeler ça un modèle voilà on on fabrique le modèle à partir des données quand on fabrique les modèles à partir de l'observation par opposition déductive déductive l'approche déductive donc là c'est c'est le programme informatique he typiquement en entrée on a on a un programme informatique des entrées on a une sortie sur le programme informatique donc c'est l'intelligence humaine des ingénieurs qui ont développé le programme qui est euh donc on est sur quelque chose de me semble-t-il plus sûr et cetera mais on va voir je perd la bataille mais je veux pas spoer avec un inconvénient euh alors c'est c'est la l'approche informatique classique qui a fait ses preuves hein cela étant mais qui a un inconvénient c'est que pour écrire le programme c'est ce qu'on a en bas à droite il nous faut un expert c'est-à-dire que on va prendre de l'expertise on va prendre un expert on va prendre quelqu'un qui a la compétence qui est capable d'écrire le modèle mathématique informatique ou autre et euh et à partir de ça on va être capable d'écrire le programme et on va pouvoir appliquer ce programme à des cas particuliers dans le cas connexionniste on va avoir une approche culturellement différente puisqu'on va prendre des faits et à partir de ces faits on va essayer d'en déduire des règles euh des des règles et des lois quoi donc de fabriquer à partir des faits à partir de l'observation à partir des données ce fameux ce fameux modèle et alors je veux bien prendre un peu de hauteur par rapport à mon rôle mais oui l'expert certes n'est pas parfait mais de l'autre côté côté connexnisme les faits donc les données nos données nos perceptions ne sont pas parfaites c'est ce qu'on va voir des B effectivement l'expert humain est rempli de biais certes mais les données sont diaboliques aussi tout à fait encore faire la publicité pour la séquence de la semaine prochaine mais voilà on a des on a des travers dans les deux approches en toute objectivité et ces deux approches sont tout ont fait leur preuve de de de en toute objectivité aussi allez prêonsnous prêtons-nous au jeu et ça été ça a été la guerre dans ces allez remettons-nous du même côté et soyons ensemble et amis on peut pas s'enlacer ouais on est on est un peu transparent et un peu en une dimension oui donc sur ce super schéma donc de de encore une fois de l'excellent article de Dominique con Jean-Philippe cointé d' masière on a le ratio de publication dans le temps sur ces deux approches sur ces deux conceptions donc en orange on a l'approche connexionniste et en bleu l'approche symbolique donc en fait ils ont fait une analyse des des des publications pour les classifier les classer et donc on voit que dès les années 40 donc avant l'informatique bien avant l'informatique avant les années 40 donc il y avait pas encore d'ordinateur euh le courant de pensée l'approche qui prédominé c'était l'approche connexionniste donc cette fameuse représentation par des fonctions élémentaires que sont ces neurones artificieles on voit que que ça évolue alors juste petite petite oui parenthèse effectivement vous notez que l'article dat de 2018 donc je CIS que la courbe s'arrête en 2015 je sais pas si vous avez vu le nombre de publications il y a plus de publications symbolique connexionique là si on prolonge un peu la courbe aujourd'hui effectivement les publications dit connexionique explosent tout donc on aurait la courbe à droite par là pardon serait serait ser serait plus haute oui oui alors là c'est c'est ce serait si si on prend la la la évidemment la partie gauche de de ce de ce diagramme de cette courbe on a on avait quelques dizaines de publications par an peut-être hein on est sur des taux de publication très faible sur sur sur ce sur ces sujets- là avant guerre et et aujourd'hui on est euh attendez le spécialiste à 9000 publications par mois je crois ou quelque chose oui alors 9000 c'était au mois de septembre qu'on a vu ça mais j'ai l'impression qu'en octobre on en a eu 20000 donc il y avait peut-être un phénomène de septembre vacan et ceê plutôt dans une moyenne de 15000 publications par mois voilà voilà donc donc là on est sur un ratio mais bon le ratio il est il a écrasé voilà il faut recontextualiser un petit peu un petit peu cette courbe alors donc voilà donc le connexionniste le connexionnisme au départ ça a été une approche qui étit très importante c'était la bon il y avait pas d'informaticien à l'époque hein c'était des gens des des psychologues des mathématiciens brillants très très brillants qui s'était penché sur la question de comment modéliser reproduire l'intelligence et donc qui était parti sur des outils mathématiques donc tels que ceux que que l'on a vu tout à l'heure et l'aboutissement de de ce de ce mouvement là ça a été euh le percepon en 1957 de frankck Rosen blat et qui était une machine une vraie machine alors une machine à à un neurone c'était avec un seul neuron artificiel et c'était un classifieur et un classifieur qui était capable de classer hordon des carrés des des des choses simples al c'est un classifieur linéaire par rapport à notre neurone artificiel alors c'est quasiment la même chose ou c'est saufactivation la fonction d'activation là et un souou différent voilà exactement mais c'est exactement la même mécanique la fonction d'activation tu légèrement différente qu'un processus d'apprentissage et qui marche très bien donc on voit un exemple basique sur un dataset très célèbre qui est le DataSet iris donc c'est des des des des des des des familles d'iris à partir de de la géométrie des des fleurs où on est capable de les classer et donc le on voit donc là c'est en pointillé c'est la la droite de séparation par apprentissage effectué par un perceptron donc P vous avez un perceptron artificiel de disponible dans C kit learn et qui donc qui est repris dans cette dans ce notebook et on voit que ça marche très très bien c'est quelque chose qui qui fonctionne très bien voilà noter que le percepon est de 57 et le Data 7 est de 36 donc on a des choses comme ça voilà des petites pierre de Rosette et des petites choses importantes et ça marche très bien oui et C là c'est à moi et ça c'est pour to oui du coup arrive effectivement bah les pairres de l'intelligence artificielle donc qui sont plutôt associés à ce début de l'hiver de l'intelligence artificielle donc donc le début effectivement de du monde de l'aair du symbolisme que sont alors du coup il faut à citer qu'en 56 effectivement il y a eu donc le workshop quoi la conférence de Dark oui o le terme intelligence artificielle a été inventé c'est eux qui qui ont inventé le terme d'intelligence artificielle on parle d'intelligence artificielle à partir de cette date là actuellement et justement ces gens à cette cette conférence entre autres il y avait donc les gens du DARPA là les trois non cités que sont Marvin Minsk ah oui pardon Marvin minskyer Simon newel et Marty et donc ça on associe ces gens-là vraiment au père de l'intelligence artificielle complèement par contre c'est vrai qu'ils ont initié effectivement à travers le livre de percepon de mitky paper qui rend un peu hommage au perceptron qu'on a vu avant mais leur conclusion c'est notamment effectivement ils montrre qu'on peut faire finalement assez peu de choses avec un perceptron que des fonctions logiques type ou exclusif on n'est pas capable de le faire avec un percepon et et donc c'est vraiment eux alors on est dans les années 50 60 on est sur les les campus de Californie il y a du LS qui traîne et cetera on rentre on rentre effectivement dans le symbolisme à plein régime voilà là on est dans une une autre époque une nouvelle époque une totalement nouvelle époque on commence à avoir des ordinateurs qui fonctionnent c'est pour ça que cette approche symbolique a été très forte parce que les premiers ordinateurs ont révolutionné le monde permettaiit de faire des choses qu'on avait jamais fait avant euh et donc effectivement minski per karty et cetera avec a Carnell megon et à Stanford on trust tous les financements de la de la DARPA ils ont assassiné le perceptron à travers le bouquin de de minski et PE en 73 69 pardon où ils ont faitortir effectivement oui ils ont appuyé là où ça faisait mal mais comme le titre l'undi qui c'était un hommage quand même au person tout mais ils ont finalement dans les fait ils ont assassiné le percep oui puis il y a quand même une un phénomène un petit peu d'autodestruction parce que au moment du percepon comme il a des super résultat qui était révolutionnaire à l'époque ils ont annoncé Mons et merveilles qui évidemment n'ont pas pu être tenu parce qu'avevec un class avec unea qui était strictement linéaire il y avait beaucoup de limitations des tas de choses qu' n'ont pas pu faire et puis à l'époque symbolique donc avec les premiers ordinateurs donc bah tout tout c'est c'est c'est c'est paper nski et cetera c'était des gens brillantissimes avec des moyens très importants des ordinateur qui commenc à bien marcher donc ils ont annoncé mon et merveille aussi à leur tour qu'on allait pouvoir faire des chars autonomes des avions autonomes traduire le russe en américain et cetera et cetera puis évidemment patatra enfin évidemment ça a pas suivi ça ça s'est pas bien passé ils ont promis Mons et merveilles et qui et ces Mons et merveilles ne sont pas arrivés et donc bah voilà en 73 ça c'est un exemple 73 et 69 on a eu des rapports parlementaires qui ont fait remarquer que ça coûtait un pognon de dingue et que ça marchait pas et donc les a priori c'est reparti là on00 personnes on a perdu 600 personnes c'est bon c'est reparti ou ok ouais a priori c'est on a eu un petit problème du rseau prioried 500 personnes d'cordon j'espère qu'ell vont PIR revenir ça arrive ça revient voilà c'est les alléats du direct alors pourtant là on est sur on est sur un réseau ouais ce qu'on appelle les réseaux au débit académique et cetera normalement normalement c'était parfait bon toutes nos excuses euh B voilà c'était l'hiver de l'intelligence artificielle et l'hiver du réseau en même temps s'est arrêté à ce moment-là ok j'espère que tout le monde arrive à arrive à revenir désolé voilà euh ok et euh bon doncou qu'est-ce qui s'est passé pendant ou ça était l'hiver mais pas l'hiver complet non plus quoiou et donc il y avait quand même des équipes qui ont continué à à travailler euh alors du côté du monde symbolique camarade non camarade je je sais pas si je vais je vais on nous fait la remarque que la qualité est mauvaise je sais pas si ça vient de nous ou si c'est juste à rafraîchir de de leur côté euh nonm Tou a priori chez nous c'est bon a pri a priori on estimit en haut débit donc faut peut-être rafraîchir bah vous avez une mauvaise qualité d'image essayez de essayez de recharger la page oui recharger la page parce que ça veut dire que la uniquement si vous avez des problèmes de qualité voilà c'est ah là là à l'époque de l'ORTF c'était plus simple he quand même ouais allez ouais évidemment vous et nombreux à pas savoir ce quétait l' RF c'était les trucs qu' avait dans les salons qui prenaient beaucoup de place et VO qu'on voit plus maintenant c'est pas grave d'ailleurs si on les voit plus et qui correspondait peut-être à C époque à cette époque du symbolisme ah qui était en plein dans cette époque làer sur le slide parce que j'ai perdu ça voilà ok donc allez côé côté symbolique effectivement donc côté symbolisme symbolique euh donc les systèmes experts qui sont donc des systèmes experts sur des tâches particulièr donc c'est vraiment le l'exemple type du de l'intelligence artificielle dite symbolique et euh ou date peut-être on va on va parler de l'extinction des machines Lisp qui est un peu en fait le début du le début du déclin du symbolique ououi ça c'est privité ouais mais pendant cette période de symbolisme où le symbolisme était fort s'est passé des choses côté connexionnisme ah bah oui carrément carrément c'est que il y avait des équipes al plus beaucoup d'équipes mais il y avait quand même quelques équipes qui euh non le mail n'a pas le mail de présence n'a pas été donné en vous absentant Victor vous n'avez rien raté et donc oui c'est ouais le chat on essaie de faire des d'être comme des vrais youtubeurs de tout faire en même temps bon bref euh il y avait quand même quelques laboratoires qui ont continué à travailler sur le connexionnisme et les réseaux de neurones en particulier et il y a eu deux choses fondamentales qui se sont passé il y a eu donc avec rumelart en 86 la rétropropagation et puis les réseaux convolutifs avec Yann Lequin voilà ça s'est fait de manière presque concomitante hein et puis y lquin avait aussi travaillé sur la la rétropropagation en même temps alors c'est quoi cette histoire là ben c'est que jusque-l on avait des réseaux de neuron à un neurone c'était ça on savait faire c'était de bon la régression linéaire régression logistique et puis le perceptron alà et ça ça faisait des choses simples mais avec un seul neuron on pouvait s'attaquer qu'à des problèmes linéaires ce qui avait causé la perte de voilà de de de de cette approche connexionniste et l'idée c'est dire bon ben voilà on va pas prendre une seule un seul neurone on va essayer d'accrocher des neurones ensemble comme dans un comme dans un comme dans un vrai cerveau finalement exactement comme dans un vrai cerveau on va faire comme ça un réseau avec une couche en entrée donc la couche en entrée que vous vous avez là-bas euh sur votre gauche c'est donc l'input layer la couche d'entrée va prendre les informations voilà donc c'est des neurones qui récupèrent une information alors ben je sais pas ben c'est ce que l'on voit par exemple ce qu'on touche enfin des capteurs une information qui arrive ou un vecteur de de données c'est encore un grand sujet qu'on verra après euh et puis c donc ça c'est l'information qui rentre dans le réseau et puis après on a des couches intérieures des couches cachées qui vont récupérer donc là on a une couche ce qu'on appelle complètement connectée c'estàdire que chaque neurone de chaque couche va prendre tout ce qu'il y a sur la couche précédente voilà donc sur notre première couche cachée chaque neurone de la première couche cachée va récupérer toutes les valeurs de la couche d'entrée voilà et puis comme ça on a des couches comme ça cachées qui vont se succéder où chaque couche récupère tout enfin chaque neurone de chaque couche récupère toutes les données de la couche d'avant et ça ça arrives on va voir oui on va voir les de la même manière que notre neurone artificiel unique de tout à l'heure notre perceptron on va avoir besoin de calculer les poids donc de faire de l'apprentissage faire une descente de gradient par contre ah oui comment on fait une descente de gradient sur plusieurs neurones comme ça B voilà c'est c'est c'est c'est justement ce ce problème làà que que que rumelart et et y lein qui avait travaillé dessus également euh ont résolu dans donc en 86 voilà donc on a comme ça toutes ces couches cachées puis ça arrive à une couche de sortie exactement comme on avait dans le cas de notre réseau à à un neurone sauf que là bah voilà chaque neurone en sorti juste au-dessus de moi euh va sortir une valeur et et si par exemple on a trois neurones sur la couche de sortie ben on aura en sortie de réseau un vecteur à trois composantes voilà tout simplement et ce qu'apporte rumelart en 86 c'est la capacité à faire un apprentissage de ces réseaux là c'est-à-dire de calculer le poids de chacun des neurones de manière à entraîner le réseau et là voilà donc VO al le principe on a une grande boucle on peut la la détailler très rapidement donc si on regarde juste là hop on a donc notre réseau on va donner des observations on va utiliser les termes métier hein voilà on va donner des observations au réseau on va donc générer une prédiction he c'est les les grec chapeau que l'on a juste juste juste juste juste là euh voilà super ah top voilà je prends de la hauteur merci B ah la magie la la magie de la boîte à image euh on va donc avoir une prédiction on va comparer cette prédiction euh à ce que l'on attend donc on a des prédictions d'un côté on a la réalité de l'autre on va donc comparer ce qu'on attend par rapport à ce que ce que l'on sait pour chaque observation on a la la la la la la correspondance de le y réel donc on va comparer les deux on va calculer une perte comme on a fait tout à l'heure avec notre régression linéaire ou logistique donc on a une fonction de perte euh cette fonction de perte on va s'en servir par descente de gradient pour mettre à jour notre réseau euh donc ici ça c'est la la la la suite de notre boucle ici euh et en on parle de rétropropagation parce qu'on va faire un algorithme de mise à jour un peu sophistiqué qui va consister à mettre à jour les poids en partant des couches de sortie vers la couche d'entrée voilà don dans ce senslà vers la couche d'entrée alors on va pas détailler l'algorithme là hein parce que là détaer pour la terminologie donc c'est bien ça donc là-haut on fait le fit forward donc c'est le calcul ça se fait dans ce sens-là donc couche après couche donc c'est un calcul séquentiel lors couche effectivement vous avez compris que oui une colonne là on appelle ça une couche de neurones donc un ensemble de de neurones et après donc on a une succession de de couches ce qui fait la profondeur du modèle et donc fit forward c'est dans ce sensl et B propagation rétropropagation effectivement on va calculer et on va mettre à jour les poids faire une descente de gradient mettre à jour les poids dans l'autre sens en partantal de la l de la sortie on revient entré voilà et une fois qu'on a mis à jour les euh notre réseau les poids de notre réseau ben on peut voilà on va continuer on va itérer on va itérer de de de cette manière là quoi et alors effectivement terminologie très très importante c'est donc le le forward la boucle forward le feed forward c'est que on va avant donner des observations et avoir récupéré une prédiction de la part du réseau on avance euh dans on descend dans le réseau on fait descendre les données dans le réseau donc on calcule notre perte et cetera puis après on a une boucle backward euh qui est la la mise à jour de de are réseau la mise à jour des poids donc on peut imaginer un mur de petit potentiomètre là et puis hop hop hop hop hop on va on va déplacer tous les petitsè un par un à partir du fond vers vers lebut VO alors cet algorithme de de de rétropropagation de Back propagation c'est donc Laurent nous nous en fera une présentation donc mathématique beaucoup plus détaillée en janvier euh voilà parce que c'est mathématiquement très intéressant de voir comment comment ça se passe mais bon voilà là on va se contenter comme ça de ce de ce grand principe qui est de maintenant à partir de 86 des années 80 on est capable de mettre à jour de de d'avoir un vrai réseau de neurones avec plein de neurones et de mettre à jour ce réseau de manière à ce qu'on ait un apprentissage voilà et chose super importante c'est que si on a un seul neurone on a des fonctions linéaires mais si on accroche comme ça des grandes quantités de petites fonctions linéaires entre les unes aux autres on est capable de traiter des problèmes non linéaires quoi et ça ça change la donne voilà donc ça c'est euh dans les années 80 enfin la fin des années 80 on va dire d'un côté on a le monde symbolique qui de de l'intelligence artificielle symbolique qui qui qui est qui est en crise qui a atteint ses limites avec les système expert en plus avec des contraintes les disparitions des du monde d'pe et cetera donc là en pleine crise de ce côté-là et puis de l'autre côté on a un un blocage qui saute c'est-à-dire que le monde connexionniste les réseau NeuroD sont capables de s'attaquer à des problèmes non linéaires et donc ça aurait pu très très bien se passer sauf que bah il y a pas que dans le monde connexionniste il y a pas que les réseau neurones et euh et on a des matateux qui ont travaillé qui ont développé des outils très très très très très performants euh avec notamment SVM et vapnique en en 95 euh et SVM qui al là on a une approche complètement mathématique que que tu que bertan tu nous détailleras la semaine prochaine euh qui permet d'avoir de très bons résultats aussi quoi hein oui qu'on survolera la semaine prochaine pour être précis surva que c'est oui c'est quand même un outil assez très mathématique 81 V on est dans les Bell Labs pour ceux qui de ànt ou de Lucent je sais plus trop et 95 je crois c'est le papier 97 c'est le dépôt de brevet donc c'est un truc qui est très utilisé au début des années 2000 jusque jusque c'est vraiment phare ouis c'est le c'est le machine learning des années 2000 2010 et puis bon soyons honnête ce que fait SVM ça le fait très bien quoi il y a pas de problème voilà sauf que la difficulté c'est quem ass ses limite voilà alors euh il s'est passé une chose fondamentale dans l'histoire euh c'est que euh on a eu une puissance de calcul qui s'est considérablement développé donc on voit sur le le graphique de gauche c'est la puissance de calcul du Top 500 donc des des plus grosses machines de calcul mais qui correspond aurit la même trajectoire on est sur des courbes exponentielles hein mais on a la même trajectoire sur les les les j'allais dire le smartphone non parce qu'il pas même pas de smartphone mais sur les machines que l'on peut s'acheter sur son bureau et on donc on a une très forte progression de la puissance de calcul et puis de l'autre côté on a au-dessus on a un un très fort développement des dataset et de la quantité de données à traiter disponible et que l'on souhaite traiter notamment avec le développement d'Internet évidemment oui grâce à internet effectivement dans monde l'arrivée Internet les années 2000 quoi fin des années 90 2000 et et cetera et puis là si vous vous rappelez de la courbe donc avant donc c'était oua les années 90 on fait la bascule entre symbolique qui est connexionnisme machine learning début des années 2000 fin 90 début 2000 on est dans le machine learning hors réseau neurone et puis on va voir que bah dans les années 2010 on bascule clairement dans le VO dans le dans le TIP learning et donc à chaque fois effectivement ça coïncide avec l'augmentation des des besoins en volumétrie de dataset et des besoin en volumétrie de performance de calcul voilà et euh et et là ça bah là ça ça explose hein sur sur ces 25 dernières années ou 30 dernières années ou 20 dernières années ça change pas grand-chose on a un facteur 10^iss 6 un facteur 1 million sur la puissance de calcul disponible et puis bah pareillement hein sur les dataset on a des datas 7 aujourd'hui qui par rapport à il y a 25 ans sont 1 million de fois plus importants et ça ça change tout c'est-à-dire que euh à on a à la fois des outils beaucoup plus performants mais aussi des besoins qui sont infiniment plus complexes et infiniment plus importants quoi voilà et ça c'est ça ça change tout et donc là on a un point de bascule qui est en 2012 alors symboliquement on peut ça c'est symboliquement oui mais c'est vrai que c'est très réel cette bascule entre le de on parle bien du Deep learning là du Deep learning là tout à fait c'est c'est là où on va basculer ouais avant avant c'était des gens avec des colliers de barbe donc là c'était vraiment les Labau de recherche à partir de 2 c'est vraiment l'arrivée du Deep learning bah peut-être pas grand public on ne sait pas parce que grand public on peut dire que c'est peut-être maintenant chat GPT et cetera mais c'est le Deep learning applicatif voilà tout à fait c'est et donc voilà c'est c'est c'est cette date de 2012 est symbolique parce que c'est ça s'est réellement passé comme ça quoi c'est-à-dire qu'il y avait une compétition de classification d'images al compétition de classification d'image tous les gros laboratoires de recherche qui travaillent sur le sujet j'ai envoyé leur leur Poulin avec l'algorithme de la mort qui tue du moment à cette compétition image net donc voà il y a un grand dataset puis faut réussir à classer les images et puis évidemment il y a beaucoup de gloire pour ceux ou celles qui étaient qui qui avait l'algorithme qui qui qui qui avait la meilleure classification voilà donc beaucoup d'ego mais des enjeux aussi très importants bien évidemment et et et donc en 2012 bah il y avait des tas de d'outils de type SVM et cetera qui très performant qui avait un certain à niveau de performance donc ça c'est les courbes en bleu que l'on voit là mais bon on voit qu'entre eux c'était quand même voilà il y avait quand même un écart qui était pas gigantesque et puis en 2012 il y a un doctorant qui est arrivé pas un mauvais hein doctorant qui voilà de de la meilleure équipe qui était à Montréal hein c'était vraiment des des des des des gens extrêmement brillants euh qui qui sont arrivés avec un réseau de neurone et le réseau de neurone a divisé par deux le taux d'erreur quoi voilà donc là c'était on éit plus à 5 % les uns des autres euh il a la la la voilà là il y a eu un changement de un changement de paradigme et un changement extrêmement profond c'était flagrant et cetera il s il s'est passé un peu la même chose en Tibo reprends-moi sur l'année avec alphafold ou 2019 18 ou effectivement à l'intérieur d'une compétition de la même manière de génération de structure de protéines les méthodes classiques est arrivé un réseau de neurone bou bou pareil c'était FL de façon flagrante effectivement don sur quelque chose deur donc et et là bah c'est du Réau neurone dans la géntion ouis et là c'est c'est pour ça que cette date un peu l'anecdote hein mais vous pouvaz retrouver des vidéos de de de Yan Lequin ou de euh de de ah comment il s'appelait qui était justement derrière euh image net euh enfin les grands acteurs de de zut trou de mémoire bon c'est pas grave mais en tout cas on pouveit retrouver les vidéos notamment de Yan Lequin qui raconte l'histoire comment ça se passait à l'époque et la manière dont ça s'est passé et c'était c'était c'était voilà très cocasse quoi voilà c'était est très symbolique mais bon à partir de ce moment-là la bascule va s'effectuer c'estàd qu'on a sur la courbe de gauche donc là c'est c'est des stats simple fait sur Web of Science à partir de mots clés et donc vous voyez en bleu la la la les publications qui était autour de tout ce qui était SVM et puis en orange les publications autour de tout ce qui était réseau de neurone et et alors encore c'était très loin par rapport à aujourd'hui je pense que il faudrait retirer le plafond et d' trois étages au-dessus pour avoir la suite de la courbe quoi voilà donc ça il y a eu quand même des très très grosses une très très grosse bascule à ce moment-là et ça n'a pas arrêté depuis donc en 2012 donc on avait alexnet justement et on a comme ça tout un tas de modèles qui se sont qui se sont qui se sont enchaînés progressivement donc les alors on on on parcourra on verra tous ces on verra toutes ces chosesl qui ont changé la donne à leur manière eux oui oui ce qu'on peut peut-être relever justement c'est donc alexnet on était sur imagenet donc un concours de computer vision de traitement de l'image classification deimage jusqu' c'est vrai qu'il y a une date un peu charnaire les trans làdedans effectivement les donc alexnet on va les voir resnet c'est assez important parce que c'est residual learning mais passons ce qui très important c'est la c'est la c'est la la frontière transformer donc transformer en 2017 donc en gros de 2012 à 18 on était vraiment dans le Deep learning pour le traitement de l'image le computer vision à partir de 2018 on bascule effectivement clairement dans l'air du traitement du langage naturel tout à fait du traitement automatique du langage et et là aujourd'hui d'ailleurs on peut dire qu'on retombe vers quelque chose de multimodal c'est une espèce de mélange finalement les transformeurs sont clairement là et il me permett de qu'on on est encore on est dans l'air du oui du traitement du langage et du traitement de l'image qu' qu'on reconverge mais effectivement c'est une bascule transformer 2017 bon la bascule en 2018 disons voilà ou ça a été vraiment une succession de de de de de grandes révolution avec effectivement le le le le le le point de bascule avec les Transformers sur les les les outils modernes quoi donc le on va dire que les chat GPT tous ces tous ces outils là découleent découle des des Transformers décou des Transformers et découle de 2012 et décou de 2012 bien évidemment et puis avec une grande une grande évolution vers le génératif quoi c'est ça qui est assez remarquable c'est que une grande trajectoire à travers tout ça qui est qui est une une tendance vers le génératif qui qui part du du fond du cours parce que les Ganes étaient déjà sur du génératif quoi après avec au passage alphafold qu'on a cité parce que alphafold c'est bien le citer parce que c'est vrai que c'est une réelle application d'intelligence artificielle qui sert qui sert clairement à l'humanité là où c'est peutêtre discutable pour chat gptou de VO pour pour pour resituer alphafold pour pour celles et ceux qui connaissent pas alphafold il y a une grande problématique dans le monde de des sciences vivant c'est que quand on a une protéine ce qui fait la fonction de la protéine ce n'est pas sa sa composition chimique c'est ça forme donc une protéine c'est une très grosse molécule euh avec des des des des milliers de petites briques et ce qui fait la fonction de la protéine c'est pas c'est c'est c'est pas c'est pas la composition chimique mais c'est vraiment la forme que va adopter cette protéine et donc ce qui est très complexe c'est de trouver la forme d'une protéine et donc avant alphafold et c'est encore le cas pour un certain nombre de protéines aujourd'hui quand on veut trouver la forme d'une protéine à partir de sa de de la séquence de l'ensemble de des des morceaux qui des petite briqu qui la compose c'était 3 ans une thèse voilà il fallait une thèse un doctorat pour être capable de trouver la forme la structure de de de ces protéines la rupture c'est alphafold alors ça marche pas pour tout toutes les protéines faut relativiser quand même mais globalement ça marche diaboliquement bien et Alpha fol d'aujourd'hui vous lui donner une une la séquence des petites brique et c'est capable de vous donner la structure en je crois Tib tu me diras 10 secondes quoi on va dire voilà quoi donc là cétait quelque chose qui a qui a changé qui a changé la donne voilà de la même façon que d'autres outils ont changé la donne à côté voilà alors il y a quand même des il y a quand même des des des des des petites difficultés on va dire ça pudiquement comme ça donc là si on prend donc ça c'est le bon côté des choses on des super outils qui arrivent qui sont remarquables euh mais quand même des difficultés al on regarde un petit peu la taille des modèles la taille de nombre de paramètres nombre de poids he qui a pour composer ces réseaux et on voit comme ça l'évolution qui avec des modèles qui explosent donc le lexnet on peut pas le voir un microscope pour voir le la taille du rond noir euh et on voit que si on prend simplement les les GPT on voit le gpt2 avec que sont 1,5 milliards de de paramètres avec l'évaluation aujourd'hui parce qu'évidemment c'est même pas documenté correctement hein mais on est plutôt sur le milliard de milliards de paramètres quoi voilà donc on a quand même sur une des modèles qui sont ok on a une puissance de calcul qui a considérablement augmenté des dataset qui sont colossaux euh on peut même parler de dataset global on peut considérer que euh que internet est un dataset à lui à lui tout seul mais on a quand même des modèles qui sont vraiment monstrueux aujourd'hui ça c'est quand même un problème en terme de de de coup de ressources à une époque où on cherche de coup de ressour la sobriété effectivement pour la sobriété oui la sobriété elle est pas tout à fait là quoi voilà d'autres difficultés qui a autour de de ce monde là donc ça c'est le temps qu'il faut qu' aura fallu pour ces différents services pour avoir un million d'utilisateur voilà donc si on prend Netflix il a fallu 3 ans et demi quoi si on a pris Twitter il a fallu 2 ans pour que on ait un million d'utilisateur voilà et cetera et chat GPT lui ça a été 5 jours quoi c'est c'est pas le record il y a eu des certains services des services pour des messageries pour des juns ou des choses comme ça qui ont été encore plus rapide mais dans les gros services on va dire que chchat GPT a réussi à s'imposer dans le paysage en l'espace de de quelques jours quoi c'est absolument énorme donc ça montre un petit peu le le l'impact de de de ces outils en terme de enfin au sein de au sein de de la société on présage pas de l'intérêt de l'outil si c'est bien si c'est pas bien c'est juste là factuellement en terme de d'appropriation alors c'est une image à la FO voilàation oui d'impact sociétal on est on quand même une réelle oui révolution sociétale au moins au même niveau qu'Internet certainement voilà tout à fait voilà alors un autre une autre difficulté et ça bah ça fera partie encore une fois des gros sujets autour des données queon verra la la séquence prochaine c'est que il y a des tas de des tas de grimlin des tas de de de de petites bêtes qui peuvent se cacher sur l'histoire le principe général c'est qu'on a des données on fait un apprentissage du modèle issu de cet apprentissage on peut faire une application puis on va pouvoir utiliser cette application ensuite et ben tout au long de ce chemin on peut avoir des biais on peut avoir des travers et qui sont très très sournois parce que en fait autant quand on avait un programme avec des lignes de code et cetera euh en règle générale on est capable de regarder le code et de comprendre un petit peu ce qu'il y a dedans la manière dont il est écrit on peut avoir un esprit critique euh c'est voilà on a pas une boîte noire on a quelque chose que l'on peut regarder là on passe sur une architecture où on est plutôt un modèle le résultat de l'apprentissage comme on a vu dans l'approche inductive he on a quelque chose qui est plutôt une boîte noire quoi voilà donc à travers ce ce ce ce ce ce pipeline qui va des données jusqu'à l' l'utilisation de de l'application en l'occurrence c'est dans ce sensl on a quelque chose qui voilà beaucoup plus complexe à appréhender en terme de biaet de et de travers oui c'est ce qu'on disait tout c'est ce qu'on disait tout à l'heure oui dans la dans la partie connexionnisme le problème l'enfer était dans l'expert qui qui programmait qui modélisait le BIA était là-dedans là oui effectivement dans notre super connexionnisme effectivement comme on disait tout à l'heure les les petits problèm les petits billets sont dans la data en amont dans la phase d'apprentissage dans l'application qu' dans l'application et dans l'usage qu'on en fait voilà partout pourquoi il toujours des problèmes alors plein d'autres soucis on va on va terminer cette partie là là-dessus donc il y a le problème de de l'explicabilité hein dont on dont on dont on vient de parler il y a des problèmes qui peuvent être sournois alors par le syndrome Mad donc ça c'est c'est une publication vous avez le lien de le DOI juste juste juste là voilà en bas euh donc là bah c'est va attendre confirmation de ce de ce syndrome mais en tout cas la publication de les travaux de de cette équipe montrre ça c'est que si on fait un apprentissage avec des données elles-même issu d'un apprentissage enfin issu de modèle généré donc vous faites un apprentissage à partir de données euh généré par unea et ben vous avez une dégénéresance de de ce qui est de ce qui est produit quoi voilà donc ça c'est c'est pour ça qu'ils ont pris cette ce ce syndrome d'autophagie qui est très imagé mais qui est voilà qui qui peut être un vrai sujet un vrai syndrome donc ça c'est quelque chose d'important une autre difficulté bah c'est la transposition euh de ces outilslà de cette réalité générée on va dire dans dans le monde réel et puis l'impact social que que l'on peut avoir donc ça c'est des choses que l'on verra pas dans la prochaine séquence mais dans la séquence d'après euh non la 4è séquence la dernière séquence de avant la fin de l'année donc de de ce de ce premier cycle autour des problèmes d'éthique et d'impact sociétaux et de cadre légaux euh le cadre légal un cadre légal autour de ça euh et puis il a une autre re difficulté c'est la capacité à suivre cette évolution Bertrand sa quelque chose tu as travaillé sur cette problématique là donc tu parlais qu'on é à 20000 publications oui oui la difficulté de suivre la recherche actuellement effectivement la veille techno sur des dizaines de milliers de papiers qui sortent chaque mois ça ça devient difficile donc effectivement il y a tout un tout un ensemble d'outils qui permet de façon bah de grâce peut-être à l'intelligence artificielle justement de pouvoir suivre euh quoi avoir la capacité effectivement de suivre de de suivre et de trier ce qui est bon à prendre ce qui est moins bon à moendre dans ce flux d'information qui est la recherche en inelligence artificielle voilà donc il nous reste une dernière partie que alors on va la faire rapidement parce que là le but du jeu c'est vraiment une illustration euh vous pouvez récupérer la totalité de l'environnement donc la procédure et sur le site fidel.cnrs.fr et pu à noter oui à noter peut-être on on l'ait peut-être dit au début mais là toutes ces séquen vous avez les les versions préenregistrées donc y compris les TP tout à fait donc des préenregistrements propres et avec on où on a pris le temps là l'idée c'est peut-être effectivement de poser quelques petites questions et puis de faire une petite discussion voilà tout tout à fait tu as raison de préciser sur le site sur la chaîne Fidel vous retrouverez donc des vidéos qui ont quoi qui ont 3 semaines 4 semaines un mois peut-être voilà qu'on a enregistré ici enfin dans le studio grenoblois de le studio de laadapi avec Baptiste et et Agath donc des vidéos vraiment de bonne qualité avec le contenu de garanti sans déconnexion et garanti 100 % sans déconnexion voilà euh et on vous mettra en ligne aussi les deux vidéos des des deux exemples que que que l'on va parcourir très rapidement comme ça voilà donc vous pouvez récupérer donc l'environnement l'environnement est disponible la procédure de récupération de l'environnement est disponible sur le site fidol.c.fr euh vous pouvez récupérer ça soit dans un container docker soit installer l'environnement à la mano classiquement ce sont des environnements réels c'est-à-dire que c'est le même environnement que vous allez avoir sur des machines de calcul comme janz ou dans l'environnement industriel ou ou recherche vooilà c'est c'est pas un environnement de TP scolaire c'est le véritablement le même environnement que celui qu'on utilise dans dans nos laboratoires ou dans nos entreprise voilà donc c'est un vrai environnement mais du coup il est relativement complexe c'estàd que si vous installez environnement ça représente à peu près 5 7 GO 6 7 GO je crois oct et à peu près 50000 fichiers de code enfin de de librairie Python et de choses comme ça voilà plus les dataset des exemples voilà donc on vous conseille c'est de récupérer l'image docker alors évidemment ça veut dire que le prix à payer c'est d'installer docker mais bon vous allez vous allez vous allez sur le site docker c'est indiqué dans la documentation vous avez le lien vous installez docker desktop qui est une application appation qui tourne sous sous sous Windows sous Linux qui enfin sous Windows sous Linux vous nvez pas besoin de docker Desktop et vous avez des procédures d'installation de cette de cet environnement qui voilà qui sont très bien faites c'est cliquer sur le bouton puis ça s'installe enfin voilà c'est ça c'est la procédure du du produit oui tout bien fait peut-être d'ailleurs à terme on mettra peut-être une toute petite vidéo d'installation comme à terme on mettra peut-être aussi des petites vidéos d'explication de PA torche des TP ça arrivera dans la suite tout à fait tu as tout à fait raison de le préciser voilà donc ça c'est ça bah ça c'est un peu votre business d'installer cet environnement parce que c'est pas nous qui gérons docker donc c'est d'installer le l'environnement dock ou d'installer un python sur votre machine ça voilà ça donc aller voir sur le site Python qui va bien ou chez dock comment installer leur leur environnement et puis après une fois que vous avez installé docker vous pouvez récupérer ce qu'on appelle une image donc alors ça c'est une espèce de gros grumeau dans lequel vous avez à la fois les codes à la fois les notebooks et à la fois les datasets et euh et quand vous récupérez cette cette image vous récupérez tout l'environnement de travaux pratiques voilà si vous suivez La ça c'est vraiment ce que l'on vous conseille parce que récupérer l'image c'est quand même beaucoup beaucoup plus simple que d'installer l'environnement à la mano la deuxième option c'est d'installer l'environnement à la mano donc alors là vous faites du vrai python hein pour le coup donc vous créez voilà dans en mode ligne de commande vous faites un PIP install avec toutes les librairies et vous room ça va tout récupérer tout installe tout installer installer tout l'environnement Python et puis après bah vous avez une petite procédure pour installer récupérer les notebook les dataset de de fidle voilà et en faisant ça ben vous suivez la procédure que l'on fait bah que que nos collègues font à l'idriss sur les plus grosses machines ou que l'on peut faire sur les machines son portable son ordinateur portable voilà donc ça c'est détaillé sur sur sur sur sur sur le site FID il a une procédure d'installation euh on peut pas vous dire que c'est super simple et que ça marche tout seul parce que bah parce que c'est pas si simple simple que ça on est dans le vrai monde avec des des vrais environnements complexes et globalement ça se passe plutôt très bien donc n'hésitez pas à essayer passer un peu de temps voilà c'est ça c'est c'est pas super intuitif si vous n'arrivez pas à faire marcher l'environnement sur cette première partie jusqu'à Noël c'est pas grave parce que on a plein de choses à raconter à vous raconter à partager avec vous qui bah en particulier sur les données la semaine prochaine ou sur les problèmes d'éthique et puis l'illustration dans 2 semaines voilà le but du jeu sera de regarder d'avoir de visu on vous présentera un enfin Bertrand on vous présentera un un super exemple concret du vrai monde euh voilà donc c'est pas grave si vous n'arrivez pas à faire marcher les les travaux pratiques sur cette première partie voilà mais et et après bah après on on est on passera du temps avec vous pour pour que pour que ça se passe bien euh voilà euh il a la mascotte qui se promène euh allez euh on va regarder donc de deux exemples bah si on va quand même regarderel quelques petits slid comme ça euh la première chose la première illustration alors on parle bien d'illustration c'estàd que si vous n'arrivez pas à faire marcher encore une fois c'est pas dramatique ça vous empêchera pas de comprendre la suite et et ça vous empêchera pas de comprendre les fondamentaux et tout ce qui est important sur cette première partie donc un premier exemple de de régression où on va utiliser un réseau de neurone de ce type là ce qu'on appelle un réseau complètement connecté avec une une couche je me tombe toujours de côté une couche d'entrée qui est qui est qui est voilà je peux pas y arriver mais qui est juste là-bas merci merci Baptiste voilà la couche on a les données en entrée ici euh et puis la la couche d'entrée donc qui récupère chacune de de de ses valeurs et puis après bah après voilà ici derrière moi des couches cachées qui vont aller jusqu'à la couche de sortie euh où je suis voilà et euh donc ça c'est la dernière couche hop h h h voilà hop merci Baptiste la couche de sortie qui est ici euh où chaque neurone de la couche de sortie va sortir va sortir une une composante de du réseau voilà ça c'est le réseau classique avec le processus d'apprentissage que l'on a vu on nourrit le réseau avec les observations on a une prédiction compare cette prédiction à ce que l'on attend on regarde la différence entre les deux avec cette fameuse lost fonction une fonction de perte à partir du gradient de cette fonction de perte on va mettre à jour le réseau parce que l'étape de rétropropagation et puis on va itérer comme ça ça voilà c'est ce qu'on a vu tout à l'heure la chose importante c'est ça c'est que le principe et ça c'est un principe assez général dans la l'apprentissage ch c'est et ça c'est vraiment un grand principe à retenir hein que vous reteniez pas l'implémentation le détail on le reverra on le reverra dans la méthodologie mais effectivement c'est des grand voà ouais ouais tout à fait ça ça on reviendra sur cette partie là mais c'est un principe important c'est qu'on va prendre nos données au départ donc nos datas tout à gauche on va les séparer en deux comme à l'école que fait ce qu'on fait ce que fait le maître à l'école c'est la même chose il a 10 exercices mais il va prendre h exercices pour l'apprentissage et il va garder deux exercices pour l'interro voilà donc on va garder une partie des données 80 % par exemple ça peut être 70 % mais c'est une majorité de données pour l'apprentissage et puis on va garder une petite partie des données pour pour le test d'accord ces données d'apprentissage on va s'en servir à travers la la la boucle que l'on a vu ici pour entraîner notre modèle hein c'est c'est ce que l'on a juste ici d'accord donc là on modè c'est oui notre de gradient et poid en rétropropagation donc du à partir de la fin jusqu'au début c'est ça de façon itérative c'est voilà c'est voilà ce ce ce fameux processus que que que l'on a ici hein voilà donc à part voilà donc on donne les données c'est le train set hein les 80 % c'est 80 % de données ce train set on le donne au réseau on fait une mise à jour euh donc on fait une prédiction on fait une mise à jour et cetera et puis on recommence une deè fois puis une 3è fois puis une 4è fois on va travailler par batch et à chaque fois qu'on a passé toutes les données pour faire cette cette boucle dans ce sens-là euh on va dire qu'on a fait une époque et on va faire un apprentissage ça c'est le terme si on parle d'époque et on va faire par exemple 20 époques donc on va faire passer 20 fois ce train set dans le réseau avec la mise à jour des poids et itérer comme ça et à chaque FO ça veut dire qu'il reoit il revoit les mêmes données plusieurs fois dans le parce que on y va on y va petit à petit en descend de gradiant on fait un pas un pas un pas donc il intér de voir plusieurs fois une même voilà c'est c'est exactement comme chez les humains on a les exercices on va faire nos h exercices et puis voilà on apprend petit à petit à travers ces h exercices le problèmeable de multiplication le problème de mat problème de français et donc on a une courbe comme ça une courbe de progression on va regarder à chaque fois notre au fil des époques c'est la courbe qui est juste auudessus ici hop là merci Baptiste on va regarder comme ça la progression queon a sur nos données d'apprentissage et on a une progression al si je fais dans le bon sens ça sera encore mieux on a une progression comme ça qui se fait qui se fait progressivement fort bien on est en classe on fait nos exercices avec le prof pendant à la classe et bah voilà au fil des on fait les exercices une fois deux fois trois fois et on progresse un peu à chaque fois super voilà et sachant qu' on progresse toujours exactement c'est bien ça le problème c'est qu'on va toujours progresser mais à côté de ça le prof qui est sucieux a gardé deux exercices donc c'est no 20 % notre test 7 pour voilà pour l'examen pour l'interro quoi voilà et donc on prend le modèle on donne ces deux exam ces données en fait et on regarde le résultat alors ça c'est des données que qui n'ont jamais servi à l'apprentissage quelque part c'est des données que le réseau n'a jamais connu il a jamais il s'en est jamais servi pour apprendre d'accord donc s'il les utiliseent et qui fait un résultat euh comme ça sert pas à l'apprentissage c'est comme siil les avait jamais vu ça pas d'incidence sur son apprentissage et on regarde le résultat et là on a une courbe qui est légèrement différente c'est celle qu'on a juste derrière derrière Bertrand et moi et on voit qu'on a une alors si je fais dans le bon sens on voit qu'on a une progression qui se fait comme ça et qui va redescendre un moment c'est-à-dire que il va y avoir un point voilà le point idéal si je me décale un petit peu ici je vais me décaler de l'autre côté voilà on a un point idéal qui est je vais y arriver qui est ici voilà où on a l'apprentissage optimal voilà et ça euh voà donc on va apprendre au fil des époques on va tester comme ça régulièrement notre modèle avec des données qu'il aa jamais vu hein et à un moment donné notre modèle il va avoir un bon résultat et si on continue l'apprentissage donc l'apprentissage avec ce qu'on a ici hein au-dessus avec les données d'apprentissage il va continuer à progresser sur les données d'apprentissage mais par contre sur l'examen il va régresser voilà c'est ça correspond à ce qu'on appelle du surapprentissage ou du B on a déjà vu on avait qu'on avait déjà vu on avait déjà vu avec ou la régression polynomiale voilà c'est la même problématique c'està-dire que euh suapprendre c'est euh ce qu'on va chercher à faire donc c'est apprendre de bonne façon et c'est réussir à généraliser un problème on reprend l'exemple effectivement d' exercice scolaire le but pour le professeur envers ses élèves c'est de qu'il comprennent donc la thématique qu'ils apprennent et qu'ils arrivent à généraliser et l'appliquer avec des exercices qu'ils n'ont pas vu parce que ou si on leur donne en fait tous les exercices B ils vont chercher c'est du bachotage quoi après bachotage ouais c'est ça donc donc il vaut mieux conclusion il vaut mieux un moment s'arrêter un moment faut mieux s'arrêter de de travailler hop on va prendre un petit goûter on regarde le dessins an on va faire du sport on sort dehors on va voir les amis alors pour répondre à Stéphane oui les deux tâches se font en parallèle c'est-à-dire que on va faire de l'apprentissage avec avec les données d'apprentissage donc on va forger le réseau au fur à mesure et puis bah à la fin de de chaque batch ou de chaque époque on va faire un test avec les données de test alors faire un test ça coûte rien enfin ça coûte rien ça coûte un peu de un peu de ressources de calcul mais ça va pas modifier l'apprentissage parce que le réseau va juste faire le test mais va pas modifier va pas être modifié à partir de ces données là donc on peut le faire autant de fois qu'on veut ça ne va pas avoir d'incidence sur l'apprentissage et on va évaluer comme ça dans le temps com ça Paron évaluer l'intérêt effectivement vous l'avez comli tracer cette courbe cette cette seconde courbe des donc du test 7 à cuiré ici euh pour pouvoir effectivement détecter le moment où ça commence à redescendre et le moment qu ça commence à surprendre donc oui il s'agit de faire al on peut faire oui ce qui se fait en général c'est après chaque époque si on a en général tout à fait un certain nombre d'époqu effectivement si on est sur du très gros modèle là effectivement en général on a peu d'époques par qu'on a un énorme dataset donc on va là on va le faire soit à chaque itération donc à chaque mise à jour des poids ou toutes les 10 mises à jour des poids et cetera quoi bon l'idée c'est de faire régulièrement le test pour pouvoir avoir cette visualisation si d'une courbe qui va qui risque de redescendre alors risque de redescendre oui c'est là on peut dire petite parenthèse effectivement il existe un certain nombre de techniques pour éviter ce phénomène là qu'on appelle régularisation et qu'on verra peut-être qu'on verra petit à petit dans la suite mais donc il existe après une certaine ingénierie une certaine un certain nombre de techniques qui permet de de d'éviter cette chose là celle la plus facile à comprendre c'est celle qu'on peut nommer le early stopping qui automatiquement va détecter le fait que la courbe se commence à plonger et donc on va arrêter automatiquement l'apprentissage est pasès simple donc voilà tout à fait il y a des outils qui permettent d'automatiser cette surveillance de de voir d'ailleurs c ces courbes en direct durant l'apprentissage pour s'arrêter au bon moment alors le parallèle chez chez les humains est quand même assez proche à ce niveau-là voilà donc ça c'est cette mécanique là elle est assez générale on reviendra dessus on reverra ça c'est ça peut être un peu plus compliqué dans un certain nombre de cas il y aura des des des des la deuxième partie des des séquences autour de de de ce qu'on appelle la méthodologie pour suivre un petit explorer un petit peu cet cet art et la manière de l'art et la manière de faire de de l'apprentissage voilà l'exemple qu'on va suivre qu'on va regarder tout de suite c'est un exemple où on va essayer de prédire la qualité de vin voilà c'est un exemple un peu plus un peu léger qui est donc vous avez la référence une régression c'est ça une régression parce qu'on va prédire le la note du on va prédire la noteologique de de vin voilà alors le le principe est très simple c'est qu'on va récupérer un dataset où on a des compositions chimique de vin donc le pH la quantité d'alcool la quantité de sucre et cetera et cetera donc on a une dizaine de de paramètres physiques mesurés hein chimique voilà et à partir de ces de ces paramètres physiques on va essayer de prédire la note qui a été mise par des onologues au vin en question voilà donc là vous avez la référence du du du dataset les étapes sur ce workflow de sur ce donc ce notebook donc là c'est un exemple très classique hein finalement qu'on peut faire dans nos laboratoires à partir d'une composition de matériaux on va essayer de détir la la la je sais pas la duuctibilité ou je sais pas quoi he c'est c'est des choses assez classiques euh on va retrouver un workflow qui va toujours être à peu près pareil donc on va commencer par une phase la première étape qui est une phase d'initialisation de l'environnement Python et et de calcul on va avoir une deuxième étape on va récupérer les données donc on va charger alors on est sur un tout petit dataset de type fichier excel hein fichier CSV donc on va charger le DataSet on va récupérer le DataSet on va préparer nos données donc ça c'est l'étape 3 où on va séparer les données d'apprentissage des données test donc deux deux parties on faire du 8020 ou du 70 30 quelque chose comme ça on va normaliser nos données ça c'est très très très important c'estàd qu'un réseau de neur et on verra ça encore la semaine prochaine un réseau de neurone n'avale que des données qui sont comprises entre -1 et 1 en gros voilà donc si on a des données par exemple de degrés alcooli qui sont je sais pas 9 10 12 13°gr euh ben le réseau de neuron il va pas digérer un degré alcoolique aussi élevé si je puis dire voilà donc il faut que les données soient normalisées de manière à ce qu' soit alors normalisé ou centré réduite ou C centré normé voilà c'est voilà normé ou échelonner oui rescaling reéchelonnner dans la voilà le bon terme c'est tout à fait réchelonner normaliser la normalité par rapport aux autres oui voilà en tout cas il faut qu'elle soit entre -1 et 1 sinon le réseau il va il va exploser donc voilà donc on prépare nos données en les séparant et puis en les normalisant entre guillemets ensuite on va créer notre modèle créer notre réseau de neurone proprement parl donc vous verrez ça fait trois lignes ça c'est la partie la plus courte et puis on va procéder à l'apprentissage donc ça c'est notre étape 5 et puis on évaluera le résultat ça c'est ça c'est ça c'est l'étape 6 voilà donc ça un workflow très classique on initialise on récupère les données on les prépare on fabrique le modèle on on entraîne le modèle et on regarde le résultat voilà très très très classique euh hop et on va aller voir ça tout de suite alors euh qu'est-ce que c'est ça pourquoi j'ai ça là ça je vais le virer voilà donc je vais le faire avec allez avec docker voilà donc là j'ai le fameux docker desktop dont euh dont on avait euh dont on avait euh dont on vous a parlé euh alors on peut faire des des voilà on peut le faire avec je vais faire démarrer tout de suite allez on va faire avec un avec un shell donc si vous suivez la procédure avec pour faire un démarrage manuel c'est ce que vous allez avoir là donc je vais agrandir un petit peu donc alors vous pouvez j'ai vu passer la question oui on peut utiliser un environnement python virtuel euh c'est ceux avec quoi on travaille classiquement c'est un environnement virtuel de Python que que l'on a d'ailleurs dans le dans le container doker et si vous faites la procédure manuel entre guillemets procédure classique ou manuelle c'est ce que vous ferez CR un environnement un environnement virtuel voilà donc pour le démarrer bah c'est vous faites un hop h hop hop c'est pas ça euh allez je vais aller chercher la commande vous faites un source pour activer l'environnement virtuel puis après vous faites un Jupiter Lab euh comme ça et puis l'environnement l'environnement Jupiter démarrer si on utilise le le container docker ben vous avez récupéré votre image euh ici en suivant la procédure et en suivant la procédure vous avez créé un pardon un container donc vous avez l'image pardon sur cette ici qui est disponible et on va démarrer un container alors vous avez les lignes de commande pour faire ça mais si vous jouez avec docker desktop ça se fait avec la souris assez facilement et on fait démarrer comme ça le container voilà le container il démarre voilà il a démarré ici et je suis le lien qui est donné euh encore un faux plan à couper mais VO lettre n'a pas désolé euh voilà euh donc je vais agrandir un petit peu ici et donc vous avez Jupiter Lab qui qui a démarré ici et normalement vous allez arriver à la racine ici euh et sur la racine vous avez un fichier ridmi euh ipynb iP1 IB qui est en fait euh un un notebook qui permet comme ça de lancer l'environnement jeis firmer ça pour avoir plus de place je vais agrandir ça pour que l'on voit mieux voilà et dans ce dans ce rymi on a comme ça tout un tas de notebooks qui sont proposés dont le K wine 1 qui est le notebook qui nous intéresse voilà wine 1 et K pour pour la version pour la version la version keras que l'on que l'on va voir maintenant voilà donc là je le charge ici voilà encore une fois c'est pas un indpensable de comprendre tout le détail du du TP le but c'est de vous puissiez visualiser un petit peu comment comment comment ça fonctionne he voilà si après vous reprendre la têre reposé il y a pas de souci c'est c'est documenté voilà donc notre première étape ici qui est l'initialisation je vais la lancer comme ça donc un notebook en orange c'est un petit warning faut pas s'inquiéter il y a des petits warning de temps en temps c'est c'est pas bien gênant donc là on initialise notre environnement donc on charge les librairies Python qui vont bien et tout l'environnement il y a un petit environnement fidèle aussi Qui est qui est utilisé dans ces notebook qui est pas du tout alors c'est une spécificité des notebook fidle ça permet de simplifier un petit peu l'affichage des graphiques des courbes des choses comme ça parce que euh voilà on n'est pas là pour faire du euh de la programmation de trucs graphiques avec Mat plot lib ou des choses comme ça donc c'est juste pour simplifier un petit peu alléger un petit peu la la partie code euh comme ça voilà donc là c'est des paramètres avec le le le nom du du du fichier qui contient la les les données et là voilà l'étape 2 c'est je récupère les données donc là on a récupéré donc notre dataset donc vous voyez on a l'acidité la volatilité l'acide citrique le sucre qui reste les chloride et tout un tas de paramètres comme ça et la qualité ici qui est la dernière colonne qui est le paramètre qui est la note he la note de de l'onologue que l'on veut essayer de prédire à partir des données des colonnes précédentes voilà euh donc là on va préparer les données donc là ben j'en profite peut-être petite pour moi je sais pas si les gens pour les gens qui connaissent pas le Jupiter effectivement là ce qu' est en train de faire Jean-Luc c'est un raccourci clavier pour exécuter les cellules on peut exécuter soit en appuyant sur le bouton Play raccourc clavier c'est shift shift shift entrée pour le raccourci clavier voilà voilà donc ça ça voilà là on est un petit peu pour illustrer donc les notbook faudra jouer un petit peu avec si vous voulez faire les les travaux pratiques sur cette première partie on va pas voilà on va pas insister dessus on reviendra dessus pour la deuxième partie là on passera un petit peu de temps pour regarder plus en détail parce que là les travaux pratiques sur le à partir partir de janvier seront indispensables pour pour poursuivre mais bon voilà là c'est le but du jeu c'est pas de faire de l'informatique mais donc notre entrée oui on reprend c'est donc tes caractéristiques de 20 c'est bien c'est bien ça donc voilà donc notre dataset de train et notre dataset donc de train d'apprentissage et test de test comme on a vu tout à l'heure il faut le séparer c'est important pour pouvoir détecter ces histoires de overfitting ou de suapprentissage voilà ensuite donc on en est là pardon et puis on continue sur donc sur la normalisation des données on parlait de ça tout à l'heure effectivement voilà alors là là déjà on voit ici hein sur on voit ici on a fait notre séparation de entre le train et et le test 7 hein voilà donc on a 1279 lignes observation hein et 320 donc pour la partie train et 320 que l'on garde pour la la la partie test voilà après on va normaliser ou y on a les gre donc on a les scores on a ou on a séparéou on voilà on a x c'est l'apprentissage c'est les donn c'est les observations yonut pré 11 colonn 11 colonnes effectivement et une colonne pour les SCOR et une colonne pour ce que ce que l'on veut prédire voilà euh on va normaliser parce que on veut des données alors les paramètres de normalisation faut les garder pour pouvoir faire la transformation inverse mais le but du jeu c'est si on fait voilà on fait une une homoéie de nos données donc on soustrait la moyenne on div par les cararttype voilà donc alors voilà pour exécuter je peux faire le petit Play qui qui est en haut ici voilà donc là on voit comment c'était alors si on prend par exemple bon l'acidité il doit y avoir l'alcool quelque part qui traîne bon le pH par exemple voilà on on a les pH qui sont entre 3 et 4 ici l'acidité ici qui est à 8 par exemple pour la moyenne et puis a des valeurs ici et on voit qu'une fois que c'est normalisé B l'alcool ah oui voilà on rrouvé l'alcool ici voilà donc voilà on avait une moyenne alcoolique qui était à à 10 de 4 par exemple et une fois que c'est normalisé bah on a une moyenne qui est à zé c'est le but hein et on avec un écart type à 1 et puis donc voilà on a des des valeurs qui sont digérables cette fois pour pour notre réseau de neurone voilà euh si on continue ben on aa notre 4e étape on va fabriquer notre réseau de neurone voilà c'est ce que l'on a c'est ce que l'on a ici donc vous voyez donc là on on est on a une syntaxe qui est celle de de keras alors on va pas rentrer dans le détail parce qu'on n pas là pour apprendre keras on est même pas là pour faire du code on va juste essayer de comprendre très simplement ça on a une couche d'entrée qui est ici voilà ça cette couche d'entrée elle va récupérer les les données ensuite on a deux couches cachées qui sont ici des couches denses de 64 neurones deux couches de 64 neurones avec une fonction d'activation relue on a parlé tout à l'heure et puis donc la couche d'entrée deux couches cachées et puis une cou couche de sortie avec un seul neurone puisqueon essaie de prédire qu'une seule valeur qui est notre note et donc on a un seul neurone en sortie et qui n'a pas de fonction d'activation puisque là on essaie de prédire une valeur voilà donc ça c'est la structure de notre réseau une couche d'entrée deux couches cachées de 64 neuron et une couche de sortie de 1 neuron et on a une fonction d'optimisation qui est une fonction d'optimisation lambda voilà RMS propre çaurait pu être une adame ça aurait pu être n'importe laquelle une fonction de perte qui est une MSE de base et on va mettre des métriques alors les métriques c'est juste pour évaluer le résultat ça c'est pour nous les humains la fonction de perte la fonction l c'est pour apprendre faire cette fameuse descente de gradient et et et les métrique c'est juste pour avoir un indicateur pour nous pour suivre un petit peu un petit peu ce qui se passe et comme métrique bah ce qui nous importe ça va être la MAE qui est on va dire la différence en valeur absolue par rapport entre ce qui est prédit et ce que l'on attend voilà donc ce qui nous intéresse c'est la valeur absolue de de l'erreur de prédiction voilà allez donc ça on va va prendre on va fabriquer notre modèle voyez c'est très rapide euh on va l'instancier ici voilà donc là on l'instancie voilà donc là on a notre réseau qui est fabriqué avec notre couche d'entrée oui euh on a deux questions euh ENF plusieurs questions alors est-ce qu'il faut toujours normaliser les données oui oui sur pour les réseau de neurones on est obligé de normaliser les alors comprenons-nous bien sur les termes quand on dit on dit manière générique on normalise les données euh des des vrais mthux des vrais mathématiciens nous nous trucideraient nous changerez en pierre et cetera parce que ce que l'on a besoin formellement au niveau de nos réseaux c'est d'avoir des valeurs qui sont comprises entre -1 et 1 quoi en gros voilà donc là ce que l'on fait c'est qu' on soustrait la moyenne et on divise par l'écart type ce qui fait qu'on a une moyenne à zéro et un écart type à 1 donc on a bien cette objectif là euh après ce serait plutôt euh centré euh comment zut j'ai perd l'expression euh euh oui standardisé peut-être centré normé voilà c'estm après sur une image c'est pareil il va falloir que la valeur de chaque pixel si on a des pixels où on a en niveau de gris qu'on où on a des pixels entre 0 et 255 on pourra pas les utiliser comme ça parce que les valeurs 255 ou 100 ou 80 sont beaucoup trop élevé donc ce que l'on va faire c'est que la valeur de chaque pixel on va la diviser par 255 par exemple et on aura des pixels qui sont entre 0 et 1 et là ça marchera très bien donc là ça marchera très bien c'està dire on n pas d'erreur si on le ne le fait pas mais clairement ben notre modèle sera beaucoup moins performant quoi voilà c'est si si on a des valeurs trop importantes en entrée ça fait des débordements au niveau du au niveau du réseau quoi voilà donc on est obligé comme ça de de réduire nos données on on nous précise centré réduit réduit voilà voilà centreid voilà heureusement qu'on a des des des vrais matateux qui nous suivent merci centreid et sinon il y avait des questions sur le choix du nombre de neurones pourquoi 64 et comment choisir le bon nombre de neurones et puis le nombre de couches aussi voilà donc la géométrie du réseau alors ça c'est voilà ça ça va ça va titiller beaucoup d'entre nous ça nous a titillé nous-même quand on quand on s'y mis et c'est quelque chose qui peut être perturbant mais l'architecture des des réseaux elle est très empirique en fait voilà alors on sait que sur tel et tel type de problématiquera mieux des réseaux qui sont larges avec un peu de profondeur ou des réseauxù faudra beaucoup de ou au contraire il y a quand même des il y a quand même des des des des grands principes à ce niveau-là l'architecture fine c'est une manière empirique c'est après par contre le le très gros résumé grosso modo c'est qu'en général des donc la la taille des modèles le nombre de neurone dans un modèle euh donc si on l'augmente on va augmenter la complexité surtout si on augmente le nombre de couches la profondeur l'idée c'est que il faut adapter en fait son sa tâche euh son la quantité de données pour ses entrées à la complexité de son modèle une autre technique de régularisation donc d'éviter de l'overfitting c'est de diminuer la taille de son de son modèle et donc en diminuant la taille de ce modèle on sera moins performant à faire des tâches mais tout dépend en fait de sa la complixité de la tâche et sinon sur les sur les les numériquement en fait oui après une loi aussi est dictée par le hardware on va conseiller en fait plutôt des multiples de l' donc ça c'est pour les GPU sur les CPU ne sais plus trop mais c'est cette idée làà souvent on retrouve en fait des des puissances de de assez souvent mais au moins des multiples de l et ça c'est complètement lié à l'architecture du du des ressources quoi du hardoire et Stéphane a tout à fait raison on est revenu au temps des cathédrales il y a des grands principes et et une approche qui est très empirique et alors quand on parlait de cette fameuse descente de gradient pour trouver le minimum une chose très importante c'est que dans les approches de type SV qui sont des approches mathématiques rigoureuses très rigoureuses quand on fait cette descente de gradient on a une garantie d'arriver sur un minimum un minimum global dans le cas de nos réseaux de neuron on a aucune garantie les mathématiques ne nous garantissent pas que quand on va faire cette descente de gradient on va bien arriver à une solution à un minimum global et ça c'est très très très perturbant ça a été très très très perturbant pour les les les les les mathématiciens enfin les les les gens des des méthodes numériques issues des mates pur parce que c'est c'est voilà il y a une absence de rigueur totale on parlait de de la relu qui pas drivable qu'on utilise quand même oui mais ça marche voilà c'est on va dire que c'est un petit peu ça la réponse emblématique des réseaux de neurones on sait pas bien pourquoi mais enfin on sait bien sa on sait pourquoi ok on a pas de garantie pour ceci on a peut-être pas de garantie pour ça oui mais ça marche et ça a été la grande réponse au moment d'image net c'est mais comment vous garantissez que vous avez un minimum mais on sait on sait pas si on a un minimum mais ça marche mais oui ça a dans les papiers mathématiquement il y a beaucoup il y a bon il y a peu de preuves mathématiqu il y a pas mal d'équations c'est mais c'est plutôt sur des aspects d'approximation mathématique en fait et des modèlesisation par approximation donc l'approximation mathématique sert beaucoup dans le Deep lening quoi bon tout ce qui est approximation c'est c'est bien quoi statistique approximation et Alexandre a raison c'est on a un minimum ouais on n' pas de garantie que soit minimum global ça c'est sûr notre descente de gradient dans le monde des réseau neurones c'est on trouvera toujours un minimum local mais il se trouve que très souvent c'est quand même un minimum global quoi allez on avance euh un petit callback ça c'est euh pour pour récupérer des données sur sur l'apprentissage et puis là la chose importante on va lancer la on va enfin lancer l'apprentissage donc vous voyez la création du modèle proprement dit euh c'était c'était c'était quatre lignes cinq lignes que que l'on a ici et et le lancement de l'apprentissage c'est ce que l'on a ici donc on apprend une méthode on donne les données d'apprentissage les données de test euh donc les données d'apprentissage qui sont ici le X les observations le y que l'on veut prédire on précise le nombre d'époqu allez on va en mettre un peu moins parce que on va essayer d'aller un peu plus vite allez on en met allez on en met 50 ça suffira euh j'espère euh on a une taille de batch de 10 de 10 valeurs donc on travaille 10 valeurs par 10 valeurs par 10 valeurs on prend 10 valeurs on les passe dans le raisau on récupère la fonction de perte on les passe on calcule le gradient on met à jour les le le le réseau et puis on on va travailler comme ça 10 par 10 pour passer toutes les toutes les données voilà euh on précise les données pour effectuer l'exam l'interro surprise au niveau de de notre réseau et on va envoyer ça voilà vous voyez là on est sur un modèle très très simple donc ça va très très vite euh on a des apprentissages qui durent des semaines sur des problématiques très complexes hein sur des modèles beaucoup plus complexes on est sur des choses très simples donc là ça va ça va vite donc on voit à chaque fois on a des des informations qui nous ont affiché donc c'est notre fameux nos fameuses notre fameuse fonction de perte notre notre MAE nos indicateurs sur l'apprentissage sur les fonctions de test et puis on avance comme ça voilà on a fait notre on a fait notre boucle et donc là on pourrait regarder en détail hein on a à chaque fois la fonction perte la MAE correspondante sur les données d'apprentissage ici et puis on voit Val underscore quelque chose sur les données de validation les données de test voilà allez on va aller regarder le résultat voilà on a résultat I ici donc on voit que bon la fonction de perte elle nous parle pas parce que c'est c'est c'est pas c'est pas fait pour les humains c'est fait pour l'apprentissage par contre notre MAE ici ça montre que on a en gros entre la prédiction et la valeur réelle que l'on souhaite prédire on a un écart de 0,54 quoi en valeur absolue voilà donc sur une note qui est entre 0 et 10 voilà donc c'est pas trop trop trop mauvais donc en moyenne on se trompe d'un demi-point c'est ça voilà on on est on est dans les ordres de grandeur sans aucun problème euh voilà donc voilà on est à à 0,5 on va regarder nos courbes d'apprentissage donc là on est en bleu euh euh donc là c'est sur la MSE hein sur la la fonction de perte mais si on prend la MAE hein on a on a on a l'équivalent euh donc sur notre fonction de perte on voit que sur la courbe d'apprentissage en bleu ça descend très très vite hein c'est-à-dire qu'après ouais on voit que entre 40 et 50 on a ça a diminué mais de manière marginale du coup ça apprend très vite au début et puis ça descend tout le temps c'est ce qu'on disait par contre ce qui est intéressant c'est de regarder la courbe orange qui est la cour exactement c'est courbe orange qui est important tout à fait tout à fait tu as raison Bertrand ce qui compte c'est la courbe orange celle sur les données de test c'est l'exam qui compte c'est pas ce qu'on a fait en classe pendant l'apprentissage c'est la courbe orange et que l'on a ici et on voit que ok ça diminue très rapidement puis ça stagne très rapidement aussi donc là typiquement on se dit qu'on aurait pu arrêter au bout de H époque quelque chose comme ça quoi ça c'était suffisant a dit l'époque c'était déjà plié sans problème quoi sur la MSE donc ça c'est la fonction de perte mais sur la MAE qui est notre indicateur humain bah là c'est encore plus visible he on voit que en bleu ça continue de progresser mais c'est du surapprentissage parce qu'il y a aucun bénéfice réel hein on voit sur la courbe rouge que donc là qui est F sur les les données de test que bah ça progresse plus du tout à partir comme tu dis hein de de de à la 8e à la 8e époque c'est plié voilà après on voit que c'est un petit peu erratique parce qu'encore une fois euh entre chaque entre chaque époque les données sont m Angé il y a beaucoup de Random qui est rajouté et donc il peut y avoir des petites des petites variations statistiques comme ça mais bon globalement on est bien d'accord que ça n'a pas changé voilà ça c'est la même cour voilà euh juste pour illustrer donc là on a fait un apprentissage on a entraîné notre modèle notre modèle ben c'est un ensemble de poids de paramètres qui permettent comme ça de à qui on donne une observation qui va nous donner une une prédiction donc on pourrait récupérer comme ça notre modèle de prédiction viticol enfin hologique mettre ça dans un smartphone et vendre une application son très cher pour faut quand même analyser le 20in c'est sûr que voilà mais on pourrait on peut tout à fait l'utiliser dans un processus derrière et donc ce modèle on peut le sauvegarder on peut le récupérer donc là c'est juste voilà vous voyez on récupère c'est c'est une ligne de code soit en P torche ou avec Kas récupérer un modèle c'est une ligne de code l'utiliser c'est ce qu'on fait ici c'est une ligne de code donc c'est quelque chose qui est très simple à utiliser voà on fait une prédiction hein voilà donc c'est pareil donc là on fabrique des données on récupère des données et on fait une prédiction vous voyez c'est ça ça prend très très très peu de temps pour faire une prédiction comme ça pu si on regarde l'exemple ici donc là on a des bouteilles de vin la valeur prédite que l'on prédit ici la valeur réelle que l'on a ici et puis l'écart que l'on a ici voilà donc là notre score de ouais notre score de notre score notre score de qualité oui voilà alors voilà voilà voilà un exemple un petit peu comment ça s'implémente donc si vous regardez le notebook c'est un notebook qui fait je crois 150 lignes qui est pas très grand on est sur des choses qui sont pas très complexes les lignes de code les parties importantes la construction du réseau ou des choses comme ça c'est c'est c'est quelques lignes en général on est c'est voilà c'est quelque chose qui est assez assez sympathique assez sympathique à utiliser qui n'est pas pas très très compliqué à à mettre en œuvre la partie intéressante que l'on peut se poser comme question c'est ok on a un modèle là qui est on lui donne des bouteilles de vin ok on a un capteur qui regarde un petit peu le pH le machin le truc le bidule et on a un modèle de l'IA qui est capable de nous prédire une une note est-ce qu'on est capable voilà qu'est-ce que est-ce qu'on est capable de l'utiliser alors je vous pose la question on vous pose la question euh en ligne euh ok est-ce que ce modèle- là allez on va dans le Bordelet euh on monte une start-up et on se met comme ça être capable à partir d'une d'un papier pH et tr de trois mesures comme ça d'être capable de prédire la la la qualité du vain est-ce que c'est est-ce que ça est-ce que ça aurait vraiment du sens quels seraient les problèmes que l'on aurait si voilà quel est les est-ce que c'est peut est-ce que ça aurait du sens est-ce que ce serait pertinent est-ce que ça pourrait marcher voilà on peut-être oui en précisant petit à petit ouis réfléchissez mais du coup oui je sais pas si vous avez noté le datas 7 c'était des v ouis cétait pas les vin du monde he c'était les 20 je sais plus on est assez dit mais c'était les 20in Portugais donc est-ce que finalement est-ce qu'on pourrait oui appliquer estce que oui l'ensemble portugais et tout à fait Beran mais c'est ben je connais très peu les V et c'est c'est ce que dit mic voilà c'est que ça dépend des données d'entraînement et on parlait de de biaia tout à l'heure bah là on a un exemple concret c'estd que ce dataset en fait c'est un dataset portugais d'université portugais portugaise du Portugal avec des vins de vin du Portugal avec des onologues qui ont Notter ces 20 portugais et selon des standards probablement par rapport au goût et par rapport au type de vin du Portugal euh et ça correspond pas nécessairement au vin de Californie au vin du Bordelet ou au vin du beaujolet et donc on pourrait faire la même expérience prendre des mesures physiochimiques avec des de vin du bord deelit avec des onologues qui ont évalué ces vins Bordelet selon les standards du Bordelet ou les standards que l'on a en France et on aurait un autre modèle mais qui serait pas le même voilà donc là on un apprentissage dans un contexte si on avait les mêmes données sur tout vin du monde oui là se posera la question de est-ce que on a assez d'information pour qualifier vraiment un vin mais si on ou ou et puis qu'est-ce que c'est qu'un qu'est-ce que c'est qu'un bon vin je sais pas si vous avez goû par exemple voilà a pas le terroir l'âme le voilà donction à avec modération tout à fait mais voilà évolu d'ailleurs en oui alors après voilà la seule chose qui est sûre c'est que notre modèle il sera pas perturbé par le fait de goûter trop de vin voilà lui il résistera mieux que nous voilà mais voilà effectivement le contexte des données est est extrêmement important donc il va y avoir plein de paramètres la précision du dataset le voilà l'objectivité ou la subjectivité autour du on revient sur les billets oui un score un score de 20 il y a quand même une une valorisation assez subjective finalement voilà tout à fait c'est et et et et là en plus bah voilà on a des humains qui font cette évaluation donc là on a des billet on peut avoir des billets au niveau des données qui sont des billets techniques est-ce que le pH mtre était bien réglé quel est son degré d'erreur et des choses comme ça est-ce qu'on a toutes les données ok on a mesuré le pH le degré d'alcool l'acidité mais on a peut-être pas mesuré par exemple la couleur ça peut peut-être être un critère d'évaluation pour euh pour pour des zologues donc est-ce qu'on a toutes les est donn sont justes les bi locaux donc là oui on est encore une fois sur les sur les juste sur les 20 portugais V portugais je suis sûr qu'ils y sont pas tous y a forcément la production voilà donc on a plein de biaiss comme ça sur voilà des biaiss parce qu'il peut y avoir des erreurs de mesure des données qui sont pas présentes qui seraient très importantes il peut y avoir des outlay parce qu' y un morceau de bouchon qui est tombé dedans qui a perturbé la mesure ou je sais pas quoi ensuite on a un biaet aussi un ensemble de biais sur les la note elle-même c'est des zologues c'est des humains qui ont fait cette cette notation selon des critères qui sont les leurs donc bah voilà donc qui sont pas forcément c'est pas forcément transposable dans un autre cadre voilà donc on a un super exemple ici à travers à travers ce ce cette illustration de tous les bis que que que l'on peut avoir voilà euh et donc ça bah c'est ce cet univers impitoyable des données que l'on explorera la semaine prochaine on a une deuxième illustration et on va arrêter là je pense parce que c'est ben peut-être on peut en dire un mot oui c'est une classification donc c'estàd que en sortie on veut avoir des classes et surtout en entrée en fait c'est une image donc c'est là là on arrive dans un domaine une image alors une très petite image qui représente un digite de rappelle-moi les dimensions de l'image je plus en c'est 28 pixels par 28 pixels donc c'est 28 pixels par 28 pixels donc vous faites 28 x 28 et vous aurez votre nombre de pixels et donc votre nombre de d'entrée euh ce qui est plus significatif que que une table un tableau de où il on avait nos 12 colonnes euh donc là effectivement on arrive sur un problème de haute dimension on commence à arriver sur des problèmes de haute dimensionnalité tout à fait voilà sur des image assez simple oui oui il s'agit de classer donc des chiffres de 0 à 9 et de de de savoir ce qui est ce qui représente un 0 un 1 2 jusqu'à 9 euh voilà notre problématique mais sinon après derrière on applique exactement la même chose que précédemment sauf que la la fonction euh la fonction pardon la dernière fonction ah j'ai perdu le le terme B le le problème que l'on a c'est que si on veut faire une on à la fin le sof max c'est donc c'est une autre fonction [Musique] de l'activation j'ai qu'on avait perdu le réseau j'ai effectivn s ma dernière fonction d'activation on change cette fonction pouradapter à notre problématique de classification c'est c'est ce qui change pour nos métriques aussi on a d'autres métriques pour pouvoir valoriser évaluer notre classification et après par contre c'est exactement la même chose que tout à l'heure on était tu vas être sur un modèle de trois couches aussi semble-t-il avec un peu près le même nombre de neur voilà tout à fait ouais on a peut-être un peu plus de neurones mais c'est le même genre d'architecture tout à fait et on arrive à faire quelque chose qui classe à de mémoire à on est au-delà des 90 % de on est on est à 98 % hein Presque Oui 98 % de bonnes réponses donc du coup sur des classifications d'imag he juste en faisant un réseau neurone comme ça alors bon va voir plus tard que il s'agit oui d'un d'une tâche assez simple effectivement c'est des images noir et blanc voilà ça reste des chiffres manuscrit quand même he voilà ouais manuscrit donc il y a des écritures différentes et voilà donc pour pour résumer on est sur le le même type de réseau de réseau donc avec des neurones complètement connectés ce qui est pas du tout efficace sur des images mais bon là pour l'illustration c'est ça suffit et avec la seule différence par rapport au réseau de tout à l'heure c'est que bah là on a une image en entrée donc on a une matrice de de pixels on se démonte pas on prend nos pixels on les coupe notre image ligne par ligne ou colonne par colonne et on met tout la que le le voilà donc un pixel un Euron en entrée et on met ça voilà comme ça sans se poser de questions pour vous situer la techno oui pardon pour vous situer la techno là on est exactement dans dans les problématiques de Yan Lequin la fin des années 80 on est ou sauf que y Lequin c'était les réseaux convolutifs convolutif pardon pardon donc c'est l'avant y Lequin mais l'avant Yan Lequin même voilà et donc voilà la première chose c'est qu'on prend notre notre image qu'on coupe en rondelle sans se poser des question bestialement de manière vraiment très brutale avec un eurone par pixel en entrée et puis la deuxième particularité c'est que comme on veut une on veut prédire des classes à la sortie ce que ce que l'on va faire c'est que on va transformer la couche de sortie les valeurs de sortie en probabilité et pour transformer donc on a on a un vecteur de sortie hein qui sort donc on a un eurone par classe c'est ce que l'on a ici voilà c'est ce qu'on a juste hop voilà merci Baptiste c'est ce qu'on a ici hein c'est cette colonne là donc ça c'est les valeurs brutes qui sortent du du réseau donc c'est des valeurs 6 12 3 - 14 moins je sais pas quoi qui nous qui qui sont pas très parlantes donc ce qu'on va faire c'est qu'on les passe dans cette fameuse soft max don non Bertron il là je pas y arriver dont nous a parlé Bertrand et cette fameuse fonction soft max elle prend un vecteur en entrée elle sort un vecteur elle donne un vecteur en sortie et le vecteur en sortie la somme des composantes fait 1 et les valeurs sont entre 0 et 1 et on va dire voilà c'est une probabilité voilà c'est une fonction bestiale qui transforme un vecteur en un autre vecteur mais ce vecteur transformé généré est humainement interprétable comme une probabilité voilà et la valeur qui a la plus forte probabilité on va dire que c'est la classe correspondante donc alors par exemple là dans notre exemple si on regarde c'est le 1er 2e 3e 4e 5e neurone donc c'est le 5e neurone de sortie qui a la plus forte probabilité hein et on va dire bah donc puisque c'est le 5e neurone qui plus forte probabilité on va dire que c'est la classe 5 donc le chiffre 4 hein puisqu'on commence à zéro voilà donc voilà le principe vous voyz c'est très bestial fait comme ça et soft max c'est oui pour dire soft max il y a pas plein de soft Max est utilisé pour tout ce qui est classification multiclasse à partir du moment où on a plus de deux classes on utilise un SoftMap si on fait de la classification en dernière en toute dernière fonction d'activation c'est c'est une variante de notre fonction logistique que que que l'on a vu tout à l'heure c'est la variante à N classe voilà et euh alors le le DataSet que queon qu'on utilise c'est un dataset mist dans cet exemple qui sont des petits chiffres manuscrits alors c'est vraiment c'est c'est c'est c'est un méga classique qu'on rutilisera dans toute plusieurs fois dans la dans la saison que vous trouverez des une j'avais regardé le nombre de publications le nombre de citations qu'il y a autour de de ce dataset c'est absolument extraordinaire c'est vraiment une c'est une pierre de Rosette de de de l'apprentissage machine voilà voilà donc c petites images qui sont pas grosses il y en a 50000 et c'est très très bon un très très bon exemple très facile à utiliser voilà le workflow bon on va pas rentrer dans le détail mais vous avez exactement la la même procédure le même les mêmes étapes que tout à l'heure là il y a pas il y a pas de différence voilà donc vous pourrez regarder le DataSet si si vous êtes curieux et on pourra revenir dessus on va mettre une vidéo en ligne on va vous mettre deux deux vidéos en ligne une première vidéo sur l'exemple wine que l'on a vu tout à l'heure et puis une deuxième vidéo qu'on a enregistré aussi avec Bertrand sur sur sur cet exemple là pour que vous puissiez le regarder euh tranquillement voilà euh je sais pas quelle heure il est mais euh ça doit être l'heure je vous 7h15 on a dépassé zut vraiment désolé désolé désolé euh le petit problème qu'on a eu tout à l'heure à à pas aider et donc on va vous donner rendez-vous pour une nouvelle alors une vraie nouvelle séquence parce que c'est une nouvelle séquence pour nous aussi oui voilà c'est cette première séquence on l'a déjà faite plein de fois mais pour nous c'est tout à fait nouveau on aura certainement pas euh l'opportunité de de préenregistrer avant donc ça sera la semaine prochaine ça sera vraiment une nouvelle séquence on Nura pas eu le temps de faire de TP aussi dessus mais ce sera des TP qui arriveront par la suite et ce on va découvrir avec vous effectivement cet univers et cet enfer que sont les voilà les données les quoi c'est oui l'enfer c'est donc du coup il y a beaucoup de choses à faire il y a beaucoup de choses à intégrer mais finalement ça sera une séquence je pense assez intéressante et peut-être amusant parce que ça parle à tout le monde effectivement ouou et puis c'est quelque chose sur quoi on avait fait l'impasse très honnêtement on a fait des tas de formations on a un moment qu'on grenouille et qu'on tourne autour de ce sujet donc à chaque fois les données ça revenait par un bout ça revenait par l'autre et le problème et cetera et et on s'est aperçu finalement que c'est fondamental quoi voilà et compris pour nous c'estàdire que c'est ces problèmes autour des données ça explique déjà très concrètement quand on travaille sur un problème d'IA alors que ce soit dans un laboratoire sur des données expérimental ou sur des données numériques purement numériques le temps que l'on passe sur sur les données la préparation des données essayer de comprendre des données voir s'il y a des biaiss corriger les outlayur et cetera et cetera ça représente 70 plus de 50 % du temps mais 70 ou 80 % du temps sont passés sur les données quoi voilà et et alors pourquoi on passe autant de temps sur les données on s'est posé la question ben en fait parce que il y a des tas de problèmes autour des données c'est la problématique des données et puis alors savoir quel type de modèle utiliser pour tel type de données tel type de descripteur pour tel type de données sont des problèmes qui sont extrêmement complexes et ouverts très clairement ouverts voilà et donc don ou pardon excuse-moi excuse-moi continue non non non mais vas-y vas-y Bertrand non non oui je disais que les données pas ah oui euh c'est pas oui c'est pas la donne date le jeudi 24 23 23 novembre ou là là oui on dis don c'est un humain qui a fait le slide les données pour le Deep learning en particulier déjà pour le machine learning mais encore plus le Deep learning comme on a vu c'est vraiment le carburant du Deep learning si le Deep learning existe aujourd'hui donc on a vu c'est c'est grâce au GPU certes mais c'est surtout grâce à la volumétrie de données que l'on a à travers internet donc c'est vrai euh don que donc oui donc voilà c'est c'est c'est vraiment primordial euh et je voulais dire autre chose mais j'ai perdu le fil ATT et ben c'est pas grave parce qu'on avait on a terminé je pense non voilà rendez-vous jeudi prochain donc on sera bah on sera tous les deux et puis avec Laurent en plus et toute l'équipe queon remercie encore Agath Baptiste Bertrand Yanis camel thbaau qui était qui était qui était sur le plateau qui est sur le plateau pour les les questions euh et on aura Laurent en plus avec nous donc spécialiste des des problèmes de BIA donc c'est vraiment la thématique de recherche pour aborder cet univers impitoyable et diabolique que qui est celui des données et et et des modèles associés voilà merci beaucoup euh à la semaine prochaine et et désolé pour le petit incident Peet incident réseau qui qui nous a fait un petit peu un petit peu déborder merci encore et à très bientôt merci au revoir au revoir