AccĂšs ChatGPT
comment-ces-ia-inventent-elles-des-images

Comment ces IA inventent-elles des images ?




Les IA (intelligence artificielle) sont de plus en plus prĂ©sentes dans notre vie quotidienne et ce Youtube vidĂ©o explique comment elles peuvent ĂȘtre utilisĂ©es pour crĂ©er des images. Il montre comment les algorithmes sont capables d’utiliser des donnĂ©es pour gĂ©nĂ©rer des images originales et crĂ©atives. Cette vidĂ©o est un excellent moyen d’en apprendre plus sur l’intelligence artificielle et sur la façon dont elle peut ĂȘtre utilisĂ©e pour crĂ©er des images.

Cette vidĂ©o explique comment les intelligences artificielles peuvent gĂ©nĂ©rer des images Ă  partir d’une description. Les algorithmes utilisĂ©s pour cela sont appelĂ©s des IA gĂ©nĂ©ratives et reposent sur l’apprentissage supervisĂ©. Les IA gĂ©nĂ©ratives fonctionnent en prenant en entrĂ©e une sĂ©rie de nombres et en produisant une image en sortie. Cependant, cette mĂ©thode ne fonctionne pas bien car elle ne peut pas prendre en compte la part d’alĂ©atoire et de synthĂšse d’information nĂ©cessaire Ă  la production d’images. En 2014, une Ă©quipe de l’UniversitĂ© de MontrĂ©al a proposĂ© une mĂ©thode plus efficace pour gĂ©nĂ©rer des images Ă  partir d’une description.

Source : UCaNlbnghtwlsGF-KzAFThqA | Date : 2023-01-13 17:00:34 | Durée : 00:22:52

âžĄïž AccĂ©der Ă  CHAT GPT en cliquant dessus



Voici la transcription de cette vidéo :

Depuis maintenant plusieurs mois, vous n’avez certainement pas Ă©chappĂ© Ă  la dĂ©ferlante des images qui sont gĂ©nĂ©rĂ©es par des intelligences artificielles, des IA. Qu’il s’agisse de DALL·E, de Midjourney ou encore de Stable Diffusion, il existe maintenant plusieurs programmes extrĂȘmement efficaces, capables de crĂ©er de toute piĂšce une image Ă  partir d’une description.

Et ce que font ces IA, ça n’est pas du Google Image. Elles ne vont pas chercher une image existante, mais elles produisent des images nouvelles, qui n’existent pas, et qu’elle crĂ©ent Ă  la demande. Il peut s’agit de photographies, de peinture ou d’art numĂ©rique,

Et on peut mĂȘme parfois spĂ©cifier le type d’objectif photo ou le style du peintre que l’on souhaite retrouver. On appelle ces types d’algorithmes des IA gĂ©nĂ©ratives, car elles sont capables de crĂ©er du contenu Ă  la demande, en intĂ©grant Ă  la conception une part d’alĂ©atoire,

De façon Ă  pouvoir obtenir plein de variations Ă  partir de la mĂȘme demande. Si vous avez essayĂ© ces IA gĂ©nĂ©ratives, vous avez peut-ĂȘtre Ă©tĂ© comme moi Ă©bahis par leurs capacitĂ©s Ă  faire quelque chose qui semblait impossible il y a seulement quelques

AnnĂ©es. Ca parait presque magique tellement ça fonctionne bien. Mais au fait, comment ça fonctionne vraiment ? Eh bien c’est ce qu’on va voir ensemble aujourd’hui ! [jingle] Commençons par quelques remarques de base sur la terminologie. Ce qu’on appelle l’intelligence

Artificielle, c’est un domaine aux contours un peu flous. On peut dire que son objectif est de rĂ©aliser Ă  l’aide de machines, des tĂąches traditionnellement rĂ©alisĂ©es par des humains, et dont on estime qu’elle requiĂšrent de l’intelligence. Sans trop prĂ©ciser le sens qu’on donne Ă  ce terme.

[DIAGRAMME Au sein de l’IA, il y a un champ de recherche assez bien identifiĂ© qu’on appelle le machine learning, ou apprentissage automatique. L’idĂ©e est de s’attaquer notamment Ă  des questions d’IA, en mettant au point des algorithmes capables d’apprendre. Et qui rĂ©alisent leur apprentissage Ă  partir de donnĂ©es auxquelles ils ont accĂšs.

Et dans le machine learning, il y a le deep learning. Et ça, c’est l’idĂ©e d’utiliser une classe assez spĂ©cifique d’algorithmes que sont les rĂ©seaux de neurones profonds, et qui ont connu un Ă©norme succĂšs depuis une dizaine d’annĂ©es.] Aujourd’hui quand on utilise le terme IA, il s’agit presque systĂ©matiquement de deep

Learning, tant cette approche est efficace. Je ne vais pas Ă©voquer ici les principes de base du deep learning, j’avais fait toute une vidĂ©o sur le sujet il y a quelques temps, je vous invite Ă  aller la voir si ça vous intĂ©resse.

Quand on parle d’algorithmes capables d’apprendre, cela fonctionne souvent selon le mĂȘme principe. Imaginez qu’on veuille crĂ©er un algorithme qui soit capable de reconnaitre ce qu’il y a sur une image. [ALGO On veut un programme Ă  qui on donne une image en entrĂ©e, et qui produise un mot

En sortie. Et on veut que cet algorithme rĂ©ponde « Chat » sur cette image, sur celle-ci « Voiture », etc. Pour rĂ©aliser cela, on va utiliser ce qu’on appelle de l’apprentissage supervisĂ©. Au dĂ©part notre algorithme va ĂȘtre ignorant, et rĂ©pondre n’importe quoi quand on lui

PrĂ©sente une image. Et puis on va lui fournir une grande base de donnĂ©es d’exemples. C’est-Ă -dire des milliers d’images de chats, de voiture, de tasses, avec Ă  chaque fois la rĂ©ponse qu’on attendrait de lui.] En utilisant ces exemples, l’algorithme va peu Ă  peu ajuster ses paramĂštres pour

S’amĂ©liorer, il va apprendre. Jusqu’à ĂȘtre capable de rĂ©aliser lui-mĂȘme le travail de façon suffisamment correcte. On dit alors que l’algorithme aura Ă©tĂ© entrainĂ©, et on pourra commencer Ă  l’utiliser. Cette façon de faire, c’est donc l’apprentissage supervisĂ©. De façon plus gĂ©nĂ©rale si on

Veut qu’un algorithme prenne en entrĂ©e X et rĂ©ponde Y, on lui donne une base de donnĂ©es d’exemples (x,y), et on l’entraine en espĂšrant qu’il va finir par savoir faire le lien. C’est ce qu’on appelle parfois une tĂąche de prĂ©diction, puisqu’on donne X en entrĂ©e

Et on demande Ă  l’algorithme de prĂ©dire Y. Dans mon premier exemple X ce sont des images et Y ce sont des mots. On classifie les images avec des mots. Mais le principe fonctionne avec plein d’autres concepts. Par exemple X ce peut-ĂȘtre toutes les caractĂ©ristiques d’une transaction bancaire, et Y est une

Classification pour estimer si la transaction est frauduleuse ou pas. Ou bien X c’est le texte d’un e-mail et Y c’est une classification entre Spam/Non-spam. Beaucoup des applications actuelles concrĂštes du machine learning reposent sur ce principe d’apprentissage supervisĂ©, qui permet de rĂ©aliser des tĂąches de prĂ©diction.

Ca semble un peu magique prĂ©sentĂ© comme ça, de penser qu’un algorithme peut reconnaitre des images et associer les bons mots, mais il faut bien voir que tout ce que fait l’algorithme, c’est de manipuler des nombres. Tout se fait via des opĂ©rations mathĂ©matiques.

[CHIFFRES Par exemple sur la classification des images, voici comment on fait en pratique. On dĂ©finit d’abord un nombre fini de catĂ©gories : « Chat », « Voiture », « Tasse », etc. Et on leur attribue des numĂ©ros : 1,2,3 etc. On peut faire disons 1000 catĂ©gories,

Et Ă  chaque image de notre base de donnĂ©es on va associer une de ces 1000 catĂ©gories. Et pour l’image elle-mĂȘme, on va aussi la reprĂ©senter comme une sĂ©rie de nombres. Une image 600×600, ce sont 360 000 pixels, chacun de ces pixels va ĂȘtre codĂ© en rouge/vert/bleu

Donc il faut 3 nombres par pixel. Au total je peux dĂ©crire complĂštement mon image en un peu plus d’un million de nombres. Donc ce que je cherche Ă  faire, c’est un algorithme qui prenne en entrĂ©e une sĂ©rie d’un million de nombres qui reprĂ©sentent l’image, et qui me crache en sortie un nombre

Entre 1 et 1000 reprĂ©sentant la catĂ©gorie qu’il pense ĂȘtre la bonne.] On n’a pas besoin d’expliquer Ă  l’algorithme ce qu’est une image, un chat ou une voiture; lui, il manipule juste des nombres. Et il va s’en faire une idĂ©e tout seul en essayant

De mettre en relation les valeurs des pixels des images et les 1000 catĂ©gories qu’on aura prĂ©dĂ©finies. Ces algorithmes de classification d’images fonctionnent maintenant extrĂȘmement bien, avec des performances proches de celles des humains. Alors intuitivement, on se dit que ça, ça n’a pas l’air trĂšs trĂšs Ă©loignĂ© de ce qu’on voudrait faire pour gĂ©nĂ©rer

Des images. [REVERSE Pour classifier des images existantes, en entrĂ©e X on a des images, et en sortie Y un mot qui les dĂ©crit, et une base de donnĂ©es pour rĂ©aliser l’entrainement. On n’a qu’à entrainer un algorithme du mĂȘme genre sur la mĂȘme base de donnĂ©es, mais Ă  l’envers.

On lui donne un mot en entrĂ©e, et on attend qu’il produise une image en sortie. Facile, non ?] Eh bien non, ça ne marche pas comme ça. Il y a plusieurs raisons Ă  cela. Dans une tĂąche de prĂ©diction, comme la classification des images, on donne en entrĂ©e beaucoup d’informations,

Des centaines de milliers de pixels, et en sortie on rĂ©cupĂšre quelque chose de trĂšs limitĂ©, juste un numĂ©ro de catĂ©gorie par exemple. L’algorithme de classification rĂ©alise en quelque sorte de la synthĂšse d’information. Ici c’est l’inverse qu’on veut, on donne trĂšs peu de choses en entrĂ©e, disons juste

Un mot. Et on s’attend en sortie Ă  rĂ©cupĂ©rer une image entiĂšre, qui contient donc beaucoup plus d’information que ce qu’on a mis au dĂ©part. Ca ne peut pas marcher avec un simple apprentissage supervisĂ©. En fait si, on peut essayer. Mais ce qu’il risque de se passer c’est que notre algorithme,

Une fois entrainĂ©, chaque fois qu’on lui demande une image de chat il va nous ressortir exactement l’image de chat qu’il avait dans sa base de donnĂ©es. Ou bien une sorte de moyenne de toutes les images de chat qu’on lui a fournies. Et c’est pas ça qu’on veut.

L’autre aspect important, c’est qu’on veut que notre algorithme de gĂ©nĂ©ration d’image ait une part d’alĂ©atoire. Si je lui demande 50 fois un chat, je veux qu’il me produise 50 images diffĂ©rentes, pas 50 fois le mĂȘme chat. GĂ©nĂ©rer ça n’est pas la mĂȘme chose que prĂ©dire. Donc vous voyez que pour crĂ©er

Des images Ă  partir d’un texte, prendre une approche traditionnelle de prĂ©diction par apprentissage supervisĂ©, eh bien ça ne va pas marcher. Il faut faire autrement. Alors voyons comment. [jingle] En 2014, une premiĂšre façon de faire assez efficace a Ă©tĂ© proposĂ©e par une Ă©quipe

De l’UniversitĂ© de MontrĂ©al : les rĂ©seaux adversariaux gĂ©nĂ©ratifs, ou GAN en anglais. Alors qu’est-ce que ça veut dire ce truc. Pour voir ça, prenons un problĂšme plus simple que celui que j’ai Ă©voquĂ©. Imaginons pour commencer que je veuille uniquement crĂ©er des images de chat.

[GAN Je dispose d’une grande base de donnĂ©es d’images de chat, je veux juste ĂȘtre capable d’en crĂ©er plein d’autres, de nouvelles, qui n’existent pas initialement dans la base, et qui ressemblent bien Ă  des chats. Pour cela, je vais entrainer non pas un, mais deux rĂ©seaux de neurones.

Le premier, on va l’appeler le faussaire. Il aura pour rĂŽle de gĂ©nĂ©rer alĂ©atoirement des images Ă  partir d’une sĂ©rie de paramĂštres. Et le deuxiĂšme, on va l’appeler l’expert, et sa tĂąche va ĂȘtre simple : si on lui prĂ©sente une image, il va devoir apprendre Ă  reconnaitre

Si l’image est une vraie image de chat, qui provient de la base, ou bien une image inventĂ©e. Rappelez-vous le principe de l’apprentissage, au dĂ©but ces algorithmes sont mauvais. Le faussaire, quand on lui demande de produire une image de chat, il va produire des images

De ce genre, du bruit complet. Et l’expert, quand on lui prĂ©sente deux images en lui demandant quelle est la « vraie », au dĂ©but il va rĂ©pondre au pif. Et puis Ă  force d’essais et d’erreurs, ces rĂ©seaux vont progresser car Ă  chaque

Fois on leur donne le rĂ©sultat. On indique au faussaire s’il a rĂ©ussi Ă  berner l’expert. Et l’expert lui sait s’il a correctement discriminĂ© les images qu’on lui prĂ©sente. Au dĂ©part, l’expert va assez vite apprendre Ă  reconnaitre les vrais chats des fausses

Images, qui sont initialement assez pourries. Et puis peu Ă  peu le faussaire va progresser et faire des images qui seront de mieux en mieux, et ça va forcer l’expert Ă  amĂ©liorer son niveau.] Et en laissant les deux s’entrainer ensemble suffisamment longtemps, on finira si tout

Va bien par avoir un faussaire capable de produire des images trĂšs semblables aux vraies, et un expert qui aura bien du mal Ă  faire la diffĂ©rence. Ce principe d’entrainement, on l’appelle « adversarial », puisque les deux rĂ©seaux de neurones s’affrontent et progressent de concert. C’est comme si vous demandiez Ă  deux joueurs de foot de

S’entrainer ensemble : l’un fait le tireur de pĂ©nalty et l’autre le gardien, avec l’idĂ©e qu’ils vont conjointement progresser. Ces rĂ©seaux adversariaux gĂ©nĂ©ratifs, ou GAN, existent maintenant depuis plusieurs annĂ©es, et vous les avez certainement vus Ă  l’oeuvre si vous connaissez le site This Person Does Not Exist.

[THIS PERSON Sur ce site, on a des rĂ©seaux ont Ă©tĂ© entrainĂ© Ă  partir de photos de visages, et qui sont donc excellent Ă  inventer de nouveaux visages de toute piĂšce. Il y a parfois des dĂ©fauts mineurs mais dans l’ensemble c’est assez bluffant.

Dans le mĂȘme genre, vous avez aussi pour les voitures This Car Does Not Exist, pour les maisons This House Does Not Exist, et ah oui, bien Ă©videmment : This Cat Does Not Exist.] Ce type d’algorithme donc est trĂšs efficace pour produire des images d’un type donnĂ©

Et fixĂ© Ă  l’avance. Si l’entrainez sur des chats, il vous fera des chats. Mais vous voyez qu’on n’est pas encore au stade oĂč on peut rentrer librement du texte et avoir une image qui mĂ©lange plusieurs concepts. On va y venir, mais avant ça, prenons un peu de recul et essayons de comprendre la

DiffĂ©rence entre ce que font les rĂ©seaux gĂ©nĂ©ratifs, et l’apprentissage supervisĂ© qu’on a vu avant, celui qui permet par exemple de classifier des images. [COMPARAISON Dans l’apprentissage supervisĂ©, on donne X en entrĂ©e, et on attend que l’algorithme

Nous prĂ©dise Y en sortie, et pour ça on lui donne plein d’exemples de X et de Y. Avec les rĂ©seaux gĂ©nĂ©ratifs, on donne plein de X en entrĂ©e, par exemple des images de chat, et on dit Ă  l’algorithme « Vas-y donne m’en d’autres ».]

[2D Essayons de se reprĂ©senter la diffĂ©rence en imaginant qu’il n’y ait que deux dimensions. Par exemple si X et Y sont chacun de simples nombres rĂ©els. Dans ce cas lĂ  on peut reprĂ©senter chaque exemple (x,y) de la base de donnĂ©es comme un point dans un diagramme en 2D.

Dans l’apprentissage supervisĂ©, on veut que l’algorithme puisse prĂ©dire Y Ă  partir de X. Donc en gros on veut que notre algorithme arrive Ă  faire une sorte de rĂ©gression, qui lui permette de deviner Ă  peu prĂšs la valeur de Y si on lui prĂ©sente une nouvelle

Valeur de X qu’il n’a jamais vu dans la base. Ok maintenant comment ça se passe pour un algorithme gĂ©nĂ©ratif, Ă  qui on demande de construire de nouveaux exemples Ă  partir d’une liste de X. Imaginez que dans mon cas X soit en 2 dimensions, donc dĂ©crit par deux nombres. Deux c’est pas beaucoup, tout

À l’heure une image on a dit que c’était 1 million valeurs, mais nous on va en regarder que deux. Appelons les x1 et x2. Donc ma base d’exemple c’est une liste de valeurs (x1,x2). Imaginez que je reprĂ©sente chaque exemple dans un diagramme et que j’obtienne ça. Ou bien ça. Manifestement il se passe

Quelque chose. Dans mon premier cas on voit que tous les exemples sont groupĂ©s dans un certain coin. Dans mon second cas, on voit qu’il y a comme une structure sous-jacente. Si on me prĂ©sentait une base de donnĂ©es de ce genre, je serai capable de dire quelque

Chose d’intĂ©ressant sur la façon dont sont rĂ©partis les exemples, sur leur distribution. Ils ne sont pas quelconques, il ne sont qu’une petite partie de l’espace total des possibilitĂ©s. Et avec les images de chat c’est pareil. Ok il y a 1 million de dimensions donc c’est

Dur Ă  visualiser, mais les images de chat sont ne sont pas des images quelconques. Dans l’espace immense de toutes les images possibles et imaginables, les images de chat ne sont qu’une minuscule rĂ©gion. Et ce qu’on veut faire, c’est en savoir plus sur cette rĂ©gion.

Car si on arrive Ă  dire un truc intelligent sur la maniĂšre dont sont distribuĂ©s les exemples d’une base de donnĂ©es, on sera capable de faire de l’échantillonnage. C’est Ă  dire de produire de nouveaux points qui ont de bonnes chances d’ĂȘtre du mĂȘme genre.

Dans mes exemples simples en deux dimensions, si je considĂšre par exemple ces points-ci. Ou ceux-lĂ  dans le diagramme d’à cĂŽtĂ©. Ce sont des points qui n’étaient pas dans les bases initiales, mais dont on a bien envie de parier qu’ils auraient pu y figurer, qu’ils ont certainement les mĂȘmes caractĂ©ristiques qui nous intĂ©ressent.

Et pareil pour mes chats, je voudrais ĂȘtre capable de crĂ©er une image qui soit nouvelle, et que j’aille la prendre dans la sous-rĂ©gion qui contient les images de chat.] Et vous voyez que cette gymnastique est diffĂ©rente de l’apprentissage supervisĂ©. On ne fait

Pas de la prĂ©diction au sens on me donne X et je prĂ©dis Y. Non, ici, on a ce qu’on appelle de l’apprentissage non-supervisĂ©. L’apprentissage non-supervisĂ©, c’est quand on a des donnĂ©es en entrĂ©e qui ne sont pas sĂ©parĂ©es en X et Y, ce sont juste des exemples X, et qu’on essaye de comprendre

Comment ces X sont distribuĂ©s dans l’espace de toutes les possibilitĂ©s. De façon Ă  pouvoir, par exemple, en gĂ©nĂ©rer de nouveaux par Ă©chantillonnage. Evidemment Ă  nouveau d’une part ça ne se passe pas dans un espace Ă  deux dimensions, et d’autre part les rĂ©gions qu’on cherche Ă  identifier n’ont pas des formes simples.

Ca se voit trÚs bien par exemple par le fait que la moyenne de deux images de chat ne donne pas une bonne image de chat. Mais si vous arrivez à correctement caractériser la région dans laquelle se trouvent toutes les images de chat de votre base initiale, vous pouvez avec une certaine confiance échantillonner

De nouvelles images en allant chercher au mĂȘme endroit. Bien, donc gĂ©nĂ©rer de nouvelles images, ça n’est pas une tĂąche d’apprentissage supervisĂ© mais c’est une tĂąche d’apprentissage non-supervisĂ©. Et on l’a dit, les rĂ©seaux adversariaux GAN marchent bien pour ça, mais ne fonctionnent que si on donne plein d’exemples

En entrĂ©e. Et il faut le faire pour chaque type de catĂ©gorie qu’on veut gĂ©nĂ©rer : des chats, des voitures, des appartements, etc. Les applications sont donc limitĂ©es, et cela explique que l’on n’ait pas vu de choses trĂšs spectaculaire depuis This Person Does Not Exist. Sauf depuis l’étĂ© 2022 avec

L’apparition de DALL·E et Stable Diffusion, qui n’utilisent pas les GAN. Et donc voyons maintenant cette nouvelle technique qui fait fureur en ce moment : les algorithmes de diffusion. [jingle] Avant de voir comment les algorithmes de diffusion sont capables de crĂ©er des images en prenant

Un texte libre comme point de dĂ©part, voyons dĂ©jĂ  comment ils fonctionnent sur la mĂȘme tĂąche que celle des GAN : gĂ©nĂ©rer plus d’images d’un type donnĂ©. Le principe de base est assez simple, et ça semble presque miraculeux que cela fonctionne.

[BRUIT Imaginez une image de chat. Je peux essayer de dĂ©grader cette image en la bruitant. C’est facile, je gĂ©nĂšre une image qui est du pur bruit, c’est-Ă -dire que chaque pixel a une couleur totalement alĂ©atoire. Et puis je mĂ©lange les deux images avec certaines proportions. Disons 95% de chat et 5% de bruit.

J’obtiens une image de chat lĂ©gĂšrement dĂ©gradĂ©e. Et ce que je vais faire, c’est d’abord une Ă©tape d’apprentissage supervisĂ© : je vais entrainer un rĂ©seau de neurones Ă  dĂ©bruiter les images. C’est Ă  dire que je crĂ©e une base de donnĂ©es avec en entrĂ©e des images bruitĂ©es et en

Sortie les images d’origine. Et je donne ça Ă  mon rĂ©seau pour lui apprendre Ă  enlever le bruit. Ici il doit enlever 5% de bruit. Et ce qui est intĂ©ressant, c’est que je peux faire ça avec diffĂ©rents niveaux de

Bruit. Par exemple je peux bruiter une image Ă  45% et Ă  50%, et entrainer mon rĂ©seau Ă  retirer 5% de bruit pour passer de 50 Ă  45. Et pareil avec 90 et 95%. Donc si j’ai une base de donnĂ©es d’images de chat, je peux toutes les bruiter Ă  plein

De niveaux différent niveaux et entrainer mon algorithme avec. Et à la fin de son entrainement, mon algorithme sera devenu super fort à débruiter des images de chat.] Maintenant une fois que mon algorithme de débruitage est entrainé, imaginez que je

Lui donne une image qui soit 100% de bruit, j’ai tirĂ© chaque pixel au hasard. Et que je lui dise : vas-y dĂ©bruite lĂ  progressivement. Retire 5% de bruit, puis encore 5%, puis encore 5%. Qu’est-ce qu’il va se passer ? [DEBRUITAGE Eh bien comme mon algorithme aura Ă©tĂ© uniquement entrainĂ© Ă  dĂ©bruiter des

Images de chats, il va progressivement m’inventer une image de chat Ă  partir du bruit initial. Et cette image ne sera aucune des images de la base initiale, ce sera une nouvelle image. Il va en quelque sorte « halluciner » une image de chat Ă  partir du pur bruit qu’on lui donne en entrĂ©e.

Et en faisant ça, notre algorithme fait de l’échantillonnage parmi la distribution de toutes les images de chat possibles et imaginables. On tire un bruit au hasard, et il nous fait une image de chat avec. Cet Ă©chantillonnage est donc une forme d’apprentissage non-supervisĂ© de la distribution des images de chat.]

Cette idĂ©e de gĂ©nĂ©ration Ă  partir d’un dĂ©bruitage progressif, c’est ça qu’on appelle les mĂ©thodes de diffusion. La technique a Ă©tĂ© proposĂ©e il y a quelques annĂ©es dĂ©jĂ , mais elle vient de connaitre une accĂ©lĂ©ration grĂące Ă  de nombreuses amĂ©liorations rĂ©centes.

A ce stade de ma description, ce type d’approche ne fait pas mieux que les GAN. Si vous faites ça avec des images de voiture au lieu d’images de chat, vous allez entrainer un rĂ©seau de dĂ©bruitage qui aura la capacitĂ© Ă  halluciner des images de voiture. Donc on peut gĂ©nĂšrer

Des images d’un certain type Ă  condition d’en avoir donnĂ© suffisamment d’exemples en entrĂ©e, et de refaire l’entrainement. Mais il est possible d’étendre le concept pour le rendre plus polyvalent. Vous vous souvenez du problĂšme de classification d’images : on a une grande base de donnĂ©es d’images,

Et chacune est associĂ©e Ă  une classe : chat, voiture, visage, etc. Ce qu’on peut faire, c’est traiter tout d’un coup. [CONDITIONNEMENT Pour ça on va bruiter ces images et les donner Ă  notre algorithme pour qu’il apprenne Ă  les dĂ©bruiter, mais en lui spĂ©cifiant Ă  chaque fois la catĂ©gorie Ă  laquelle appartient chaque image.

L’algorithme de dĂ©bruitage sera ainsi capable de s’ajuster en fonction de la catĂ©gorie. C’est un principe qu’on appelle le conditionnement. On va conditionner notre dĂ©bruitage par la catĂ©gorie de l’image. Et si on fait ça avec une base de donnĂ©es suffisamment grande, une fois l’entrainement

TerminĂ© on aura un algorithme capable d’halluciner une image en Ă©tant conditionnĂ© par une classe. Si on lui dit voiture il va halluciner une voiture, et chat il va halluciner un chat.] Alors c’est bien, mais ça n’est pas encore tout Ă  fait ce qu’on veut. Ici on est limitĂ©s

Par les catégories qui ont été choisies au départ pour classifier les images. Or vous voyez que dans DALLE ou Stable Diffusion, on peut entrer librement du texte, faire des phrases, des descriptions. Comment on procÚde ? Eh bien il va falloir faire appel à certains algorithmes de traitement du langage naturel,

Comme ceux que j’évoquais dans ma vidĂ©o sur le sujet. Et notamment les algorithmes permettant de faire ce qu’on appelle de du plongement, embedding en anglais. [EMBEDDING L’idĂ©e du plongement, c’est de partir d’un mot ou d’un phrase, et de lui associer une sĂ©rie de nombres qui en quelque sorte reprĂ©sente numĂ©riquement

Son sens, sa signification. Mais plongée dans un espace mathématique abstrait. De façon à ce que deux phrases proches aient des plongements qui soient proches.] Il existe des réseaux de neurones qui peuvent réaliser ces plongements, et si on les utilise avec un algorithme de diffusion, on peut alors utiliser le plongement pour conditionner le

DĂ©bruitage. [CONDITIONNEMENT Ca marche comme tout Ă  l’heure, mais au lieu d’ĂȘtre conditionnĂ© par une catĂ©gorie d’image, notre processus de dĂ©bruitage sera conditionnĂ© par le plongement de la description de l’image. En pratique, on prend des toujours des images mais cette fois accompagnĂ©es d’une description

Libre, par exemple une lĂ©gende. On calcule le plongement de la lĂ©gende, et on entraine notre rĂ©seau Ă  dĂ©bruiter ces images, tout en Ă©tant conditionnĂ© par le plongement de la lĂ©gende. Et si on fait ça avec suffisamment d’images lĂ©gendĂ©es, eh bien on obtient un algorithme de gĂ©nĂ©ration d’image Ă  partir d’une description.

Vous tapez un texte, l’algorithme calcule son plongement. Il gĂ©nĂšre ensuite une image 100% bruitĂ©e et ensuite va la dĂ©bruiter progressivement, tout en Ă©tant conditionnĂ© par le plongement de la description qu’on a donnĂ©. Et si tout va bien l’algorithme va halluciner une image en prenant comme contexte la description qu’on a donnĂ©.]

Voici dans les grandes lignes comment fonctionnent les algorithmes de diffusion comme Stable Diffusion ou encore DALLE. Bon il y a encore pas mal de subtilités mais je pense que la vidéo est déjà bien assez lourde, et je vous renvoie au billet de blog qui accompagne

La vidĂ©o si vous voulez plus de dĂ©tails techniques. Avant de conclure, il y a un point que je dois quand mĂȘme Ă©voquer, ce sont les problĂšmes Ă©thiques et juridiques posĂ©s par ces algorithmes. Il y a bien sĂ»r la possibilitĂ© qu’ils offrent de crĂ©er de fausses images ayant l’air complĂštement plausibles, donc potentiellement

De faire de la dĂ©sinformation avec. Il y aussi les question de propriĂ©tĂ© intellectuelle, puisque ces algorithmes ont Ă©tĂ© entrainĂ©s Ă  partir d’images trouvĂ©es sur Internet, et qui ne sont pas forcĂ©ment libres de droits. C’est particuliĂšrement criant pour les dessins ou l’art numĂ©rique en gĂ©nĂ©ral,

Puisqu’on peut demander Ă  l’algorithme d’imiter le style d’un artiste sans que ce dernier ait eu son mot Ă  dire. Ces questions sont plus complexes qu’il n’y parait, et je n’ai pas vraiment les compĂ©tences artistiques ou juridiques pour les traiter correctement. D’autant que les

Choses Ă©voluent trĂšs vite et qu’il y aura certainement des effets de jurisprudence. Donc gardez Ă  l’esprit ces interrogations car on risque d’entendre parler pas mal prochainement. VoilĂ  c’est tout pour aujourd’hui, merci d’avoir suivi cette vidĂ©o. N’hĂ©sitez pas Ă  aller voir mes vidĂ©os connexes sur le deep learning ou le traitement du langage.

Abonnez-vous si ça n’est pas dĂ©jĂ  le cas et n’hĂ©sitez pas Ă  venir vĂ©rifier rĂ©guliĂšrement les nouvelles vidĂ©os, mĂȘme si Youtube ne vous les propose plus. Pour celles et ceux que ça intĂ©resse, j’ai aussi créé rĂ©cemment un serveur Discord communautaire, n’hĂ©sitez pas Ă  le rejoindre pour venir discuter. Le lien est en description.

Et moi je vous dit à trÚs vite pour de nouvelles vidéos. A bientÎt.

image_pdfimage_print

Comments

ScienceEtonnante
11 février 2023
Reply

Détails et précisions dans le billet de blog qui accompagne la vidéo : https://scienceetonnante.com/2023/01/13/stable-diffusion/ On y parle d'espace latent, d'auto-encodeurs variationnels, de U-Net, des différents samplers, et de l'utilisation pour faire de l'inpainting.

Mathieu Dubois
11 février 2023
Reply

Je me mets à l'unisson de la plupart des commentaires pour souligner la qualité du travail. Petit point terminologique cependant : quand on dit « l'algorithme apprend » ou « une IA fait cela », on donne l'impression qu'il y a un agent qui prend des décisions ; or, il n'y a rien de tout cela (un réseau de neurones c'est essentiellement du calcul matriciel et la maniÚre dont les paramÚtres s'adaptent est codée explicitement). La vidéo de David fait moins cet abus de langage que la plupart des autres cas mais y cÚde parfois. De maniÚre générale, les mots « algorithmes » et « IA » sont un peu galvaudés.

Ah oui et sinon, je pense qu'il est aussi important de se demander s'il est raisonnable d'utiliser autant de moyens et de jus de cerveau pour faire ça.

r rr
11 février 2023
Reply

Tout semble dĂ©pendant de la qualitĂ© des donnĂ©es d’entrĂ©e ( les images rĂ©fĂ©rentes ) et c’est lĂ  que les problĂšmes sont ?

Marc-Emmanuel Grandgeorge
11 février 2023
Reply

Parles ton de l’éthique qui dĂ©coule du fait que notre façon de faire fonctionner les IA passe par l'hallucination ?

sarsky22
11 février 2023
Reply

J'imagine que les images avec les descriptions peuvent provenir des attributs alt pour les personnes non voyantes. Je sais qu'il y a aussi les descriptions automatiques, je ne sais pas comment elles sont gĂ©nĂ©rĂ©es en gĂ©nĂ©ral… Super intĂ©ressant, merci

Xavier n1
11 février 2023
Reply

Oh c'est génial, c'est fluide c'est clair c'est bien réalisé c'est génial

L. Gagnon
11 février 2023
Reply

TrÚs bien expliqué, comme toujours. Merci!

pvnova
11 février 2023
Reply

Trop bien, limpide et bien documentĂ©, comme d’hab 👌 Merci pour tout

Career builders
11 février 2023
Reply

GrĂące Ă  vous je me suis intĂ©ressĂ© Ă  l'IA. Nos profs devraient vous suivre et arrĂȘtĂ© de nous raconter l'histoire des machines et passer Ă  la pratique

Shark Falcon
11 février 2023
Reply

Super bien expliqué merci!

NorthernScythe
11 février 2023
Reply

Une question me turlupine : est-ce que les algo de diffusion sont dĂ©terministes ? Auquel cas il existerait un nombre fini d'images pouvant ĂȘtre gĂ©nĂ©rĂ©es par un rĂ©seau de neurones donnĂ© ? đŸ€” Genre width * height * 256 * 3 ?

Pierre Pernelle
11 février 2023
Reply

Je trouve ça dangereux, tu prends comme exemple: "Un petit chat gris et blanc tout mignon dans un environnement bucolique". Mais une autre personne peux demander: "Un enfant de moins de 10 ans nu dans un environnement glauque" et je reste soft mais vous avez compris l'idée, on peux créer de la pédopornographie d'enfants qui n'existent pas. Et alors plein de questions d'ordre morales se posent: Est ce légal? L'enfant n'existe pas dc ne souffre d'aucuns traumatisme. J'ai pris le pire comme exemple mais on peut imaginer d'autres dérives.

Shura
11 février 2023
Reply

4:55 666 pour Chat, hasard ? Toujours Top les vidéos merci !

BERGER Dominique
11 février 2023
Reply

Je ne suis pas scientifique, et pourtant j'ai tout compris, enfin presque tout ;-)) Bravo pour ton sens pédagogique.

Mehdi Nejjari
11 février 2023
Reply

La patate

Raphaël Parrens
11 février 2023
Reply

Merci pour toutes tes explications de ces systĂšmes. J'ai vu aussi qu'il existait une IA qui crĂ©e de la musique….. mĂȘme principe que pour les images?? Bonne continuation!!

Noémie Chaudouard
11 février 2023
Reply

Bonjour, merci pour vos vidĂ©os toujours plus passionnantes ! Serait-il envisageable que vous en rĂ©alisiez une sur le concept d'Ă©mergence ou est ce peut ĂȘtre trop abstrait ? Merci par avance

zorgui zorg
11 février 2023
Reply

Encore une n-iĂšme vidĂ©o de grande qualitĂ©… Alain Aspect a attendu 40 ans pour avoir le prix nobel, l'histoire nous dira si vous allez devoir attendre 40 ans pour avoir le Prix UNESCO Kalinga de vulgarisation scientifique …

Stephane JARDIN
11 février 2023
Reply

Bonjour, toujours un travail de grande qualitĂ©… saluĂ© dans le journal Sud Ouest semaine derniĂšre par notre prix de Nobel de chimie : respect. 👋

Clément
11 février 2023
Reply

passionant

Shuai Ge
11 février 2023
Reply

MĂȘme aprĂšs l’explication, je trouve ça quand mĂȘme extraordinaire ces AI.

JP Peron
11 février 2023
Reply

Chat = 666 ? Je me doutais bien que tu étais un reptilien ! Et zoo-sataniste en plus.

JP Peron
11 février 2023
Reply

Ce principe de création d'images est vraiment génial. C'est pas des antis-sciences qui trouveraient ça.

Shot6259
11 février 2023
Reply

Chat = 666 haha c'est pas faux

Patrice Henry
11 février 2023
Reply

Toujours aussi intéressant et instructif. Merci beaucoup pour votre travail et son partage.

Tobi Lemoine
11 février 2023
Reply

Super bien expliqué, excellent, et merci de parler des problÚmes éthiques, l'enthousiasme portée par les utilisateurs a malheureusement survolé ces considérations super importantes pour les, heu, vrais artistes.

Jp Nevil
11 février 2023
Reply

Il me semble que tu oublies les taches humaines qui permettent d'apprendre aux algorithmes à se corriger, des milliers d'humains, payés quelques centimes qui passent leur journée (en Indes entre autre) à corriger les erreurs des algorithmes. Mechanical turk de Amazon par exemple permet d'engager des centaines de personnes pour des sommes modestes à faire ces taches ingrates et répétitives. On pense souvent que c'est "magique" mais comme d'hab, les plus pauvres travaillent dans l'ombre pour entrainer des IA qui piqueront les boulots qualifiés. On a vendu les IA en disant qu'elles remplaceraient les taches ingrates des gens, qui pourraient se spécialiser, mais c'est le contraire qui se passe, les taches ingrates sont destinés aux humains, et les taches spécialisés faites par des algorithmes.

Ernesto Guacaneme
11 février 2023
Reply

Peux-tu faire une vidéo sur le modÚle de Jean Pierre petit ?
Ça serait super intĂ©ressant d'avoir ton avis dessus

NamedChanged
11 février 2023
Reply

Question naive, le nombre de dimension il se compte plus en centaine de milliards que millions non? Je n'arrive pas Ă  m'imaginer

Astroscept
11 février 2023
Reply

Toujours aussi passionnant et pertinent, merci bien.
Juste une question / remarque sur un truc qui m'a gĂȘnĂ© dans tes exemples : Ă  chaque fois, par ex 21:09 tu donnes en exemple une sĂ©rie d'images avec du bruitage et, de gauche Ă  droite on a le sentiment d'une progression. Or, dans la 1e image Ă  gauche Ă  90% de bruit, on voit que l'image finale est dĂ©jĂ  contenue, ce qui me pose problĂšme car c'est le contraire de ce que tu expliques. J'imagine que pour la facilitĂ© du montage de la vidĂ©o, tu as pris une image Ă  laquelle tu as progressivement appliquĂ© un bruitage (de droite Ă  gauche, donc) mais juste pour ĂȘtre sĂ»r : les images de gauches Ă  droite ne devraient-elles pas prĂ©senter bien plus de diffĂ©rences entre elles ?

Seb Joncoux
11 février 2023
Reply

Bravo pour la vidĂ©o ! Excellente explication 🙂

Vincent Rémon
11 février 2023
Reply

Encore une fois, David a tuĂ© le game avec la meilleure vidĂ©o de vulgarisation sur ce sujet, avec le bon Ă©quilibre technique/comprĂ©hension (et pourtant, j'en ai regardĂ© un sacrĂ© paquet 😅). Un grand respect pour ce talent !

Étienne Mineur
11 février 2023
Reply

parfait, merci beaucoup.

Gloubi Boolguette
11 février 2023
Reply

Merci. Remarquablement bien expliqué (j'en avais bien besoin) ! Et ce qui est mind-blowing c'est la quantité d'images qu'il a fallu absorber pour l'entraßnement. J'ai également beaucoup apprécié la parenthÚse finale sur les aspects juridiques et le droit à l'image.

fadel TOURE
11 février 2023
Reply

Bonjour, excellent travail.
Juste pour corriger. Le terme adverserial en français c’est antagoniste. On parle de rĂ©seaux antagonistes gĂ©nĂ©ratifs

JF B
11 février 2023
Reply

Merci

TheNoumak
11 février 2023
Reply

vous avez su expliquer de façon trÚs claire le thÚme. Bravo.
Par contre je viens de faire quelques essais sur DALL-E et Stable diffusion et je trouve les images plutot ratĂ©e. je m'attendais Ă  mieux. Je ne pense pas que le travail des illustrateurs/illustratrices puisse ĂȘtre remplacĂ© par des machines (en tout cas pas encore vu le niveau de ces IA).

ConcreteJungle95
11 février 2023
Reply

Excellente vidéo, merci j'ai beaucoup appris

Greg Aus
11 février 2023
Reply

Enfin une explication claire , ca fait plusieurs semaines que je naviguais entre migraines, fantasmes informatiques, terreurs nocturnes et scénarii de science fiction !!! ouf! je peux retourner sereinement sur midjourney!!! merci!!! c'est vraiment d utilité publique cette vidéo ! super boulot !⭐⭐⭐⭐⭐

Daniel Blaze
11 février 2023
Reply

Le nombre pour le chat, c'est une vieille rancune ??

anys bougaa
11 février 2023
Reply

Si t’est capable de debruiter des raw mieux que dxo tu va devenir millionnaire

Si tu t’ennuies
.

MVFSYT
11 février 2023
Reply

Merci pour la vidéo! La miniature est-elle bien une référence au tableau "Le Désespéré" de Gustave Courbet?

PM Coulomb
11 février 2023
Reply

Mais du coup petite question Ă  17:32, si on lui fourni exactement la mĂȘme image brouillĂ©, avec exactement les memes pixels aux mĂȘmes endroit. Est ce que l’IA sera capable de crĂ©er 2 images diffĂ©rentes ou bien il reproduira la mĂȘme image ?

speedoo42
11 février 2023
Reply

TrÚs bonne vidéo, trÚs intéressant

nillchen
11 février 2023
Reply

pourquoi est-ce que vous n'aimez pas les chats? 🙂

Leave a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

🚀 Abonnez vous a Chat GPT
Découvrez votre formule idéale !
🚀 ABONNEZ-VOUS A CHATGPT4
Découvrez votre formule idéale avec ChatGPT France !