Das Schema für die Fälschung, Restaurierung und Kontrolle von Früchten in einem Gemüseladen. Auszug aus dem Buch

Bild

Hallo habrozhiteli! Bisher haben wir uns in einer solchen Situation außerhalb des Fensters entschlossen, einen interessanten Auszug aus unserem Buch Generative Deep Learning zu veröffentlichen. Das kreative Potenzial neuronaler Netze “von David Foster.

Äpfel und Orangen


Granny Smith und Florida sind Miteigentümer eines Gemüsehändlers. Um maximale Effizienz zu erreichen, kümmert sich jeder um seine Regale im Laden. Zum Beispiel ist Granny Smith stolz auf ihre Auswahl an Äpfeln, und Florida legt stundenlang Orangen, um ihren perfekten Standort zu erreichen. Beide sind so zuversichtlich, dass sie sich auf einen Deal geeinigt haben: Gewinne aus dem Verkauf von Äpfeln gehen an Granny Smith, Gewinne aus dem Verkauf von Orangen gehen an Florida.

Leider wollen weder Granny Smith noch Florida ehrlich antreten. Als Florida nicht sieht, geht Granny Smith mit Orangen zum Fenster und beginnt, sie rot zu streichen, damit sie wie Äpfel aussehen! Florida macht genau das Gleiche: Sie versucht, Granny Smiths Äpfel eher wie Orangen aussehen zu lassen, indem sie ein Spray einer geeigneten Farbe verwendet, wenn sie sich umdreht. Aus diesem Grund wählen Kunden häufig die falschen Früchte, die sie kaufen möchten. Diejenigen, die Orangen kaufen wollten, entschieden sich manchmal fälschlicherweise für Äpfel in Florida, und diejenigen, die Äpfel kaufen wollten, entschieden sich fälschlicherweise für Orangen, die von Granny Smith maskiert wurden. Am Ende wird der Gewinn für jede Frucht addiert und gemäß den Vereinbarungen aufgeteilt - Granny Smith verliert Geld, wenn einer ihrer Äpfel als Orange verkauft wird.und Florida, wenn eine ihrer Orangen als Apfel verkauft wird.

Nachdem der Laden geschlossen hat, beginnen beide, die Ordnung in den Obstregalen wiederherzustellen. Aber anstatt zu versuchen, die vom Rivalen verursachte Farbe zu waschen, malen beide einfach die Fälschungen und versuchen, sie wieder in ihre ursprüngliche Form zu bringen. Für sie ist es wichtig, diesen Job richtig zu machen: Wenn die Früchte nicht so aussehen, wie sie sollten, können sie sie am nächsten Tag nicht verkaufen und verlieren wieder Gewinne. Um sicherzustellen, dass ihre Handlungen korrekt sind, testen sie ihre Methoden manchmal an ihren eigenen Früchten. Florida streut seine Orangen und prüft, ob sie genau so aussehen wie das Original. Granny Smith testet ihre „Fähigkeiten“ an Äpfeln. Wenn sie offensichtliche Unstimmigkeiten feststellen, müssen sie hart verdienten Gewinn für das Studium fortgeschrittener Methoden ausgeben (Abb. 5.2).

Käufer treffen zunächst oft die falsche Wahl. Mit der Zeit sammeln sie jedoch Erfahrungen und lernen festzustellen, welche Früchte gefälscht wurden. Dies zwingt Granny Smith und Florida, sich zu perfektionieren, um die Früchte des anderen zu fälschen und die Fälschungen wieder in ihr ursprüngliches Aussehen zu versetzen. Darüber hinaus müssen sie regelmäßig sicherstellen, dass die von ihnen verwendeten Tricks das Aussehen ihrer eigenen Früchte nicht verändern.

Nach vielen Tagen und Wochen dieses lächerlichen Spiels bemerkten sie, dass etwas Erstaunliches passiert war. Kunden unterscheiden nicht mehr zwischen echten und falschen Früchten. In Abb. 5.3 zeigt, wie die Früchte nach Fälschung und Restaurierung sowie nach dem Testen aussehen.

Bild

Bild

CycleGAN


Die vorige Geschichte ist eine Allegorie, die die Entwicklung eines der Schlüsselbereiche der generativen Modellierung beschreibt, der als Stilübertragung bekannt ist: ein zyklisch koordiniertes generativ-wettbewerbsorientiertes Netzwerk oder CycleGAN. Der Artikel, der dieses Netzwerk beschreibt, ist ein bedeutender Fortschritt auf dem Gebiet der Stilübertragung und zeigt, wie ein Modell trainiert wird, das einen Stil aus einem Satz von Referenzbildern in ein anderes Bild kopieren kann, ohne einen Trainingssatz gepaarter Beispiele zu verwenden.

Bereits vorhandene Stilübertragungsmodelle wie pix2pix erforderten, dass jedes Bild im Trainingssatz sowohl in der Quell- als auch in der Zielform vorhanden ist. Für einige Stilübertragungsaufgaben (z. B. zum Konvertieren von Schwarzweißfotos in Farbfotos, Karten in Satellitenbilder) können Sie einen solchen Datensatz erstellen, für andere ist dies jedoch einfach nicht möglich. Zum Beispiel haben wir keine Originalfotos des Teichs, aus dem Monet seine Serie „Seerosen“ schrieb, und Gemälde von Picasso mit dem Bild des Empire State Building. In Analogie würde es enorme Anstrengungen erfordern, Fotos von Pferden und Zebras in identischen Posen zu bekommen. Ein Artikel, der CycleGAN beschreibt, erschien nur wenige Monate nach einem Artikel, der die pix2pix-Methode beschreibt, und zeigt, wie ein Modell trainiert wird, um dieselben Probleme zu lösen.aber in Abwesenheit von Paaren von Quell- und Zielbildern. In Abb. Abbildung 5.4 zeigt den Unterschied zwischen gepaarten und ungepaarten pix2pix- bzw. CycleGAN-Datasets. Wenn Sie mit der pix2pix-Methode Änderungen nur in einer Richtung (vom Quellstil zum Ziel) simulieren können, trainiert CycleGAN das Modell gleichzeitig in beide Richtungen, sodass das Modell lernt, Quellbilder in das Ziel zu konvertieren und umgekehrt. Diese Eigenschaft ist auf die Architektur des Modells zurückzuführen, sodass Sie automatisch in die entgegengesetzte Richtung konvertieren können.Dank dessen lernt das Modell, Quellbilder in Zielbilder umzuwandeln und umgekehrt. Diese Eigenschaft ist auf die Architektur des Modells zurückzuführen, sodass Sie automatisch in die entgegengesetzte Richtung konvertieren können.Dank dessen lernt das Modell, Quellbilder in Zielbilder umzuwandeln und umgekehrt. Diese Eigenschaft ist auf die Architektur des Modells zurückzuführen, sodass Sie automatisch in die entgegengesetzte Richtung konvertieren können.

Bild

Mal sehen, wie man ein CycleGAN-Modell mit Keras erstellt. Nehmen wir zunächst das vorherige Beispiel mit Äpfeln und Orangen als Grundlage, gehen Sie alle Teile von CycleGAN durch und experimentieren Sie mit seiner Architektur. Dann wenden wir denselben Ansatz an, um ein Modell zu erstellen, das den Stil eines bestimmten Künstlers auf das Foto Ihrer Wahl anwenden kann.

Ihr erstes CycleGAN-Netzwerk


Der größte Teil des folgenden Codes wurde aus dem Keras-GAN-Repository (http://bit.ly/2Za68J2) ausgeliehen, das von Erik Linder-Norén verwaltet wird. Diese wunderbare Ressource enthält viele Beispiele für generativ-wettbewerbsfähige Netzwerke aus verschiedenen Büchern, die mit Keras implementiert wurden.

Zuerst müssen Sie die Daten herunterladen, die für das Training verwendet werden. Führen Sie in dem Ordner, in dem Sie das Repository mit Beispielen für das Buch geklont haben, den folgenden Befehl aus:

bash ./scripts/download_cyclegan_data.sh apple2orange

In den heruntergeladenen Bildern von Äpfeln und Orangen, die wir später verwenden werden, sind die Daten in vier Ordner unterteilt: trainA und testA enthalten Bilder von Äpfeln, und trainB und testB enthalten Bilder von Orangen. Das heißt, A repräsentiert den Raum der Bilder von Äpfeln und B repräsentiert den Raum der Bilder von Orangen. Unser Ziel ist es, das Modell anhand der Datensätze in den Zugordnern zu trainieren, um Bilder von Satz A in Satz B und umgekehrt zu konvertieren. Bilder in den Testordnern, mit denen wir die Qualität des Modells testen.

»Weitere Informationen zum Buch finden Sie auf der Website des Herausgebers.
» Inhalt
» Auszug

All Articles