Tixlegeek's DevBlog Code, Gringo, Silicium

qrcode

DALLE Mini, jouer avec de l'IA

Salutations!

dalleMini

L'IA promet des choses étranges, inquiétantes, mais toujours époustoufflantes. Des techniques de détection, aux techniques de segmentations, on est rapidement passé aux algorithmes adversaires (antagonistes), capables d'inventer des trucs avec plus ou moins de succès.

Prenons par exemple this-person-does-not-exist.com, ce site aujourd'hui plutot ancien, qui permettait, grace à Style GAN, de générer des portraits quasi-photoréalistes de personnes n'ayant jamais existé. Quand j'ai vu ça, j'ai vraiment été soufflé. Il ne sagissait plus juste de détecter approximativement la position d'un visage, ni même de générer du pathfinding, mais bel et bien de mélanger les caractéristiques de plusieurs sujets.

Et bien, depuis quelque temps, la technique a encore évolué, et en mélangeant d'autre technologies, il est désormais possible, après avoir fourni à un algorithme suffisament de données annotées (des photos avec une description de ce qu'elles contiennent), de lui faire cracher à peu près tout et n'importe quoi.

Quelques exemples:

J'ai dit à DALLE-Mini (une version légère d'un algorithme un peu plus complexe mélangeant de l'adversaire et de la contextualisation) de générer "Des hommes barbus et chauves qui bidouillent de l'électronique"... Le résultat est plutot bluffant:

dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini

Quelque détails

Les algorithmes adversaires

Les algorithmes adversaires, c'est une technique qui permet à un générateur et à un détecteur de s'entrainer (parfois mutuellement). Basiquement, disont que vous avez deux algorithmes:

Le premier est un générateur. Son but est de créer quelquechose à partir de données d'entrainement. Par exemple, on lui fourni un paquet d'images représentant des visages, et il va essayer de générer une image qui ressemble à un visage, en se basant sur son entrainement.

Le deuxièmpe est un détecteur. Son but est de détecter quelquechose dans une image, à partir de données avec lequel on l'aura entrainé au préalable. Par exemple, des visages.

Si on "branche" l'un à l'autre, ils vont pouvoir se juger entre eux, comme dans un magasin de vêtement ou tout le monde se regarde.

Le résutat, c'est que le générateur va fournir des images au détecteur. Le détecteur va fournir un pourcentage de détection au générateur, qui pourra alimenter sa propre base de donnée d'entrainement.

Bref...

Je simplifie beaucoup, parce qu'en fait; il y a plein de concepts sous-jascents qui mériteraient des explications, mais, je ne suis pas un oracle, alors je ne me lancerai pas là dedans.

Tout ce que je peux faire, c'est vous fournir des jolies images que j'ai pu générer.

dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini dalleMini

Franchement, je ne sait pas si comme moi, vous êtes un peu soufflés, mais, il faut bien vous dire que là; c'est la version Wish de DALLE (le nom de l'algo). Le vrai gros DALLE2 fait des trucs encore plus recherchés et photoréalistes.

Moi, j'ai utilisé une version légère, appelée DALLE-Mini, avec laquelle vous pouvez jouer là: Dalle-mini

J'espère que ce petit article vous aura plus, et à la prochaine! (l'article III sur le publiphone arrive :D )

Hpphckng!