Van Gogh le monde informatique: programme de génération d'images


Dans l'article précédent, nous vous avons rencontré et quelqu'un a rafraîchi la façon dont nous avons appris aux machines à comprendre notre discours. Il est maintenant difficile de surprendre avec un programme ou un robot qui peut mener une conversation avec une personne. Mais que se passe-t-il si une personne dit au robot "dessine-moi un coucher de soleil au bord de la mer"? Le robot peut-il comprendre cela et dessiner? Maintenant, il le peut. Merci au développement de Xiaodong He (on ne traduira pas le nom, pour ne pas le dénaturer) et de son équipe de chercheurs en intelligence artificielle. Nous verrons comment fonctionne leur création et s'il est possible d'ouvrir une galerie d'art avec les œuvres de ce programme. Allons-y.

En bref sur l'essence


Si vous exagérez, le programme fonctionne sur le principe "Je dessine, ce qu'ils me disent". Vous dites «théière violette avec un long nez», et le programme pixel par pixel essaie de représenter avec précision ces informations, en d'autres termes, visualisez vos mots. Pour ce faire, elle doit d'abord comprendre ce que vous dites, puis déterminer les mots - vecteurs les plus importants, sur la base desquels vous pouvez construire des hypothèses concernant l'option d'image nécessaire.

Xiaodong Il dit ceci: «... Si vous utilisez Bing et cherchez un oiseau, vous obtiendrez une photo de l'oiseau. Mais dans notre cas, une image est créée par un ordinateur, pixel par pixel, à partir de zéro ... Ces oiseaux peuvent ne pas exister dans le monde réel - ils seront un exemple de la représentation des oiseaux par un ordinateur ... "

Ce projet n'était pas le premier pour Xiaodong He et ses collègues. Auparavant, ils développaient le système CaptionBot AI, qui créait automatiquement des descriptions de photos. Il y avait aussi SeeingAI, un système qui répond aux questions humaines sur la photographie. Selon les chercheurs, cette dernière serait très adaptée aux personnes aveugles et malvoyantes.

La base du projet «artiste à la demande» est une combinaison de deux systèmes: Generative Adversarial Network (GAN) - un générateur d'images et un discriminateur (discriminateur) - un module qui analyse de manière critique la qualité de l'image reçue.

Un autre élément important de ce système était le calcul mathématique et l'expression de l'attention humaine. Lorsque nous voyons un objet, nous prêtons attention, quoique inconsciemment, à certaines de ses caractéristiques externes. C’est pareil quand ils nous parlent d’un objet. On nous parle de citrons, on voit des petits fruits jaunes ovales. Nous ne représentons pas les pêches. Cela se produit automatiquement dans notre cerveau. Quant à la machine, il faut programmer son cerveau pour qu'il fonctionne au moins un peu comme un humain. Mais nous savons qu'une machine comprend mieux le langage des nombres - les mathématiques, c'est pourquoi les chercheurs ont converti une chose telle que l'attention en formules mathématiques. Et maintenant plus sur chacun des composants du système.

Réseau génératif attentionnel GAN


Selon les chercheurs, leur système GAN diffère des systèmes similaires par le souci du détail. Un GAN ordinaire perçoit la phrase entière (par exemple, "une théière violette avec un long nez") comme un seul vecteur qui doit être suivi lors du rendu. Dans le cas du développement de nos héros, une attention particulière est portée aux mots individuels qui deviennent des vecteurs de visualisation pour des parties individuelles de l'image. Autrement dit, le programme ne dessine pas l'image entière à la fois, mais la divise en morceaux (comme des puzzles) et dessine chacun d'eux séparément.

Pour expliquer en mots simples comment fonctionne un système mathématique, imaginons que notre phrase (description de l'image) est une formule, et les mots sont des variables.


Représentation schématique de l'algorithme du programme

Chacun des mots est un vecteur important, c'est-à-dire qu'il détermine dans quelle direction le programme va penser. Pour commencer, le système doit sélectionner les mots les plus significatifs. Le système essaie de faire correspondre les mots et les sections individuelles de la future image. Par exemple, un oiseau bleu avec un bec noir - si nous considérons le mot «noir», alors il fait référence au bec - une section distincte de l'image.

Après avoir déterminé le vecteur de chacun des mots, le programme recueille toutes les informations sous forme de matrice, qu'il commence alors à réaliser sous forme d'image.



À titre d'exemple, les chercheurs proposent de considérer 4 demandes de nature différente (photo ci-dessus).

Considérez les trois premières images d'un oiseau. Comme vous pouvez le voir, ils sont très différents en qualité et en détail. Le fait est que la première image (floue et imprécise) est le résultat de la génération d'image lors de l'analyse de la phrase entière comme un seul vecteur. Dans le deuxième cadre, notre oiseau est déjà mieux visible, car la phrase était divisée en mots (vecteurs) séparés, ce qui permettait de clarifier certains détails (par exemple, l'œil noir - l'œil noir).

Les mêmes images sont présentées ci-dessous, mais avec l'attribution de sections individuelles correspondant à certains mots, le programme est engagé dans la génération de celles-ci pour une comparaison ultérieure en un seul ensemble. Les plans les plus récents montrent quels mots dans la description de la future image le programme a considérés comme les plus importants.



Cet ensemble présente les résultats de la génération d'images lorsque deux des mots-vecteurs les plus significatifs (noir + blanc, rouge + jaune, bleu + rouge) sont sélectionnés dans une phrase.



présenté dans l'image ci-dessus. «Un chat noir duveteux flottant à la surface du lac» est pratiquement indiscernable, bien que le lac lui-même soit très bien représenté. La même situation avec les panneaux de signalisation. Cependant, la deuxième image s'est avérée être pratiquement précise («un bus rouge à deux étages flottant à la surface du lac»). La seule chose n'est pas un bus, mais un bateau ou un yacht.

Les résultats de ces requêtes expérimentales ne font que confirmer que le système a encore beaucoup à apprendre. En particulier, il est nécessaire de reconstituer en permanence la base de connaissances système. Pour qu'elle sache à quoi ressemble tel ou tel objet. Cependant, malgré toutes les inexactitudes et les défauts des images générées, ce système est incroyable. L'éventail de ses applications est assez large: de l'aide à la décoration intérieure à la création de films d'animation en passant uniquement par la lecture du scénario. De plus, en conjonction avec un système de reconnaissance faciale, le programme de génération d'images peut également servir les services répressifs, par exemple lors de la compilation d'un photobot suspect.

Cet article décrit les principes de base et l'essence du programme de génération d'images à travers leur description. Pour une familiarisation plus pigeon avec la composante mathématique de l'algorithme du programme, vous pouvez télécharger le rapport correspondant des chercheurs
- Est-il très difficile de peindre?
"C'est soit facile, soit impossible."
(Salvador Dali)

Merci de rester avec nous. Aimez-vous nos articles? Vous voulez voir des matériaux plus intéressants? Soutenez-nous en passant une commande ou en le recommandant à vos amis, une réduction de 30% pour les utilisateurs Habr sur un analogue unique de serveurs d'entrée de gamme que nous avons inventés pour vous: Toute la vérité sur VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbps à partir de 20 $ ou comment diviser le serveur? (les options sont disponibles avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de RAM DDR4).

Dell R730xd 2 fois moins cher? Nous avons seulement 2 x Intel Dodeca-Core Xeon E5-2650v4 128 Go DDR4 6x480 Go SSD 1 Gbps 100 TV à partir de 249 $ aux Pays-Bas et aux États-Unis! Pour en savoir plus sur la création d'un bâtiment d'infrastructure. classe utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou?

Source: https://habr.com/ru/post/fr409785/


All Articles