Im vorherigen Artikel haben wir Sie getroffen und jemanden, der sich über die Art und Weise informiert hat, wie wir Maschinen beigebracht haben, unsere Sprache zu verstehen. Jetzt ist es schwer, mit einem Programm oder einem Roboter zu überraschen, der ein Gespräch mit einer Person führen kann. Aber was ist, wenn eine Person dem Roboter sagt "Zeichne mir einen Sonnenuntergang an der Küste"? Kann der Roboter das verstehen und zeichnen? Jetzt kann er. Dank der Entwicklung von Xiaodong He (wir werden den Namen nicht übersetzen, um ihn nicht zu verzerren) und seinem Forscherteam für künstliche Intelligenz. Wir werden herausfinden, wie ihre Kreation funktioniert und ob es möglich ist, mit den Werken dieses Programms eine Kunstgalerie zu eröffnen. Lass uns gehen.
Kurz über die Essenz
Wenn Sie übertreiben, arbeitet das Programm nach dem Prinzip "Ich zeichne, was sie mir sagen". Sie sagen "lila Teekanne mit langer Nase", und das Programm versucht Pixel für Pixel, diese Informationen genau darzustellen, dh Ihre Wörter zu visualisieren. Dazu muss sie zunächst verstehen, was Sie sagen, und dann die wichtigsten Wörter bestimmen - Vektoren, auf deren Grundlage Sie Annahmen über die erforderliche Version des Bildes treffen können.
Xiaodong Er sagt dies: „... Wenn Sie Bing verwenden und nach einem Vogel suchen, erhalten Sie ein Bild des Vogels. Aber in unserem Fall wird ein Bild von einem Computer Pixel für Pixel von Grund auf neu erstellt ... Diese Vögel existieren möglicherweise nicht in der realen Welt - sie sind ein Beispiel für die Darstellung von Vögeln durch einen Computer ... "
Dieses Projekt war nicht das erste für Xiaodong He und seine Kollegen. Zuvor entwickelten sie das CaptionBot AI-System, das automatisch Beschreibungen für Fotos erstellte. Es gab auch SeeingAI, ein System, das menschliche Fragen zur Fotografie beantwortet. Letzteres wäre nach Ansicht der Forscher sehr gut für blinde und sehbehinderte Menschen geeignet.
Grundlage des Projekts „Artist on Demand“ ist eine Kombination aus zwei Systemen: Generative Adversarial Network (GAN) - Bildgenerator und Diskriminator (Diskriminator) - ein Modul, das die Qualität des empfangenen Bildes kritisch analysiert.
Eine weitere wichtige Komponente dieses Systems war die mathematische Berechnung und der Ausdruck menschlicher Aufmerksamkeit. Wenn wir ein Objekt sehen, achten wir, wenn auch unbewusst, auf bestimmte äußere Eigenschaften. Es ist dasselbe, wenn sie uns von einem Objekt erzählen. Uns wird von Zitronen erzählt, wir sehen ovale kleine gelbe Früchte. Wir vertreten keine Pfirsiche. Es passiert automatisch in unserem Gehirn. Was die Maschine betrifft, müssen Sie ihr Gehirn so programmieren, dass es zumindest ein wenig wie ein Mensch funktioniert. Wir wissen jedoch, dass eine Maschine die Sprache der Zahlen am besten versteht - die Mathematik. Deshalb haben Forscher die Aufmerksamkeit in mathematische Formeln umgewandelt. Und jetzt mehr über jede der Komponenten des Systems.
Achtung Generative Network GAN
Laut den Forschern unterscheidet sich ihr GAN-System in der Liebe zum Detail von ähnlichen. Ein gewöhnliches GAN nimmt den gesamten Satz (z. B. „eine lila Teekanne mit langer Nase“) als einen einzelnen Vektor wahr, der beim Rendern befolgt werden muss. Bei der Entwicklung unserer Helden wird auf einzelne Wörter geachtet, die zu Visualisierungsvektoren für einzelne Teile des Bildes werden. Einfach ausgedrückt, das Programm zeichnet nicht das gesamte Bild auf einmal, sondern teilt es in Teile (wie Puzzles) und zeichnet jedes einzeln.
Um in einfachen Worten zu erklären, wie ein mathematisches System funktioniert, stellen wir uns vor, dass unser Satz (Beschreibung für das Bild) eine Formel ist und die Wörter Variablen sind.
Schematische Darstellung des ProgrammalgorithmusJedes der Wörter ist ein wichtiger Vektor, dh es bestimmt, in welche Richtung das Programm denken wird. Zunächst muss das System die wichtigsten Wörter auswählen. Das System versucht, Wörter und einzelne Abschnitte des zukünftigen Bildes abzugleichen. Zum Beispiel ein blauer Vogel mit einem schwarzen Schnabel - wenn wir das Wort "schwarz" betrachten, dann bezieht es sich auf den Schnabel - ein separater Abschnitt des Bildes.
Nachdem das Programm den Vektor jedes der Wörter bestimmt hat, sammelt es alle Informationen in Form einer Matrix, die es dann als Bild zu realisieren beginnt.

Als Beispiel schlagen die Forscher vor, 4 Anfragen unterschiedlicher Art zu berücksichtigen (Bild oben).
Betrachten Sie die ersten drei Bilder eines Vogels. Wie Sie sehen können, unterscheiden sie sich in Qualität und Detail. Tatsache ist, dass das erste Bild (verschwommen und ungenau) das Ergebnis der Bilderzeugung ist, wenn der gesamte Satz als einzelner Vektor analysiert wird. Im zweiten Frame ist unser Vogel bereits besser sichtbar, da der Satz in separate Wörter (Vektoren) unterteilt wurde, wodurch einige Details geklärt werden konnten (z. B. schwarze Augen - blaues Auge).
Die gleichen Bilder sind unten gezeigt, aber mit der Zuordnung einzelner Abschnitte, die bestimmten Wörtern entsprechen, ist das Programm damit beschäftigt, diese für den weiteren Vergleich zu einem einzigen Ganzen zu erzeugen. Die jüngsten Aufnahmen zeigen, welche Wörter in der Beschreibung des zukünftigen Bildes das Programm als am wichtigsten erachtete.

Dieser Satz zeigt die Ergebnisse der Bilderzeugung, wenn zwei der wichtigsten Wortvektoren (schwarz + weiß, rot + gelb, blau + rot) aus einem Satz ausgewählt werden.

im Bild oben dargestellt. "Eine flauschige schwarze Katze, die auf der Oberfläche des Sees schwimmt" ist praktisch nicht zu unterscheiden, obwohl der See selbst sehr gut dargestellt ist. Die gleiche Situation mit Verkehrszeichen. Das zweite Bild erwies sich jedoch als praktisch genau („ein roter Doppeldeckerbus, der auf der Oberfläche des Sees schwimmt“). Das einzige ist kein Bus, sondern ein Boot oder eine Yacht.
Die Ergebnisse solcher experimentellen Abfragen bestätigen nur, dass das System noch viel zu lernen hat. Insbesondere ist es notwendig, die Systemwissensbasis ständig aufzufüllen. Damit sie weiß, wie dieses oder jenes Objekt aussieht. Trotz aller Ungenauigkeiten und Fehler in den erzeugten Bildern ist dieses System erstaunlich. Das Anwendungsspektrum ist sehr breit: von der Unterstützung bei der Innenarchitektur bis zur Erstellung von Animationsfilmen ausschließlich durch Lesen des Drehbuchs. In Verbindung mit einem Gesichtserkennungssystem kann das Bilderzeugungsprogramm auch Strafverfolgungsbehörden dienen, beispielsweise beim Zusammenstellen eines verdächtigen Fotobots.
In diesem Artikel wurden die Grundprinzipien und das Wesen des Programms zur Erzeugung von Bildern anhand ihrer Beschreibung beschrieben. Um sich mit der mathematischen Komponente des Programmalgorithmus besser vertraut zu machen, können Sie
den entsprechenden Bericht der Forscher herunterladen- Ist es sehr schwer zu malen?
"Es ist entweder einfach oder unmöglich."
(Salvador Dali)
Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung
aufgeben oder Ihren Freunden empfehlen, einen
Rabatt von 30% für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s von $ 20 oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4-RAM verfügbar).
Dell R730xd 2 mal günstiger? Nur wir haben
2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV von 249 US-Dollar in den Niederlanden und den USA! Lesen Sie mehr über
den Aufbau eines Infrastrukturgebäudes. Klasse mit Dell R730xd E5-2650 v4 Servern für 9.000 Euro für einen Cent?