[PYTHON] Erstellt ein Narrbild für das Modell der Untertitelgenerierung

Original Papier Deep neural networks are easily fooled High confidence predictions for unrecognizable images Um den Inhalt von DNN zu kennen, wird gesagt, dass ein Bild erzeugt wurde, das vom Menschen nicht verstanden wird, aber mit 99% oder mehr Vertrauen in DNN klassifiziert wird. Zum Beispiel sieht es so aus: キャプチャ.JPG jkljkljlklk.JPG (Zitiert aus dem Papier)

Lassen Sie uns dieses Narrbild auch für das generierende Modell generieren.

Beispiel für die Erzeugung normaler Untertitel

so was Ci0S0LkU4AE5DjK_orig.jpg Wenn Sie ein Bild eines Pferdes einfügen, erhalten Sie eine solche Beschriftung. Es scheint, dass Sie zwei pferdeartige Dinge sehen können. Die Erscheinungswahrscheinlichkeit eines Satzes wird aus der Erscheinungswahrscheinlichkeit eines Wortes berechnet. Es werden drei Sätze angezeigt, die leicht herauszukommen sind. Es wird beurteilt, dass der Satz für das Bild umso geeigneter ist, je kleiner die Zahl links ist. (Tatsächlich ist die Vorzeichenumkehrung der Summe der Softmax-Protokolle für jedes Wort geteilt durch die Anzahl der Wörter)

Wenn Sie ein Bild mit zufälligen Pixelwerten einfügen, wird die folgende Anweisung generiert. Ci0S0MjUYAAGFzR_orig.jpg Obwohl es sich um einen Satz handelt, ist die Anzahl groß, dh es ist nicht möglich zu beurteilen, was auf dem Bild zu sehen ist.

täuschende Bilderzeugungsergebnisse

Ich konnte es vorerst gut generieren. Ci0HI4LUgAAhh_W_orig.jpg Ci0HI4AUUAAUxX5_orig.jpg

Es wurden zwei Blätter erzeugt. Beides ist dem Menschen nicht bekannt, und Maschinen haben eine hohe Wahrscheinlichkeit, Sätze über Pferde zu generieren. (= Die Zahl ist kleiner als im vorherigen Beispiel)

Oben: direkte Codierung, das Pixel des Bildes ist das direkte Gen. Unten: indirekte Codierung, Pixel haben eine gewisse Korrelation In der Arbeit erzeugte die indirekte Codierung ein schönes Muster und wurde als Kunst ausgestellt, aber es funktionierte nicht nur, indem schließlich ein NN erstellt und ihm eine Korrelation gegeben wurde. (Vielleicht war es zu gut)

Wie hast du das gemacht

Das Bild wurde so entwickelt, dass die Wahrscheinlichkeit, einen einzelnen Satz zu erzeugen, hoch war. Am Anfang des im ersten Beispiel generierten Satzes "a couple of horses are standing in a field" Wurde ausgewählt und das Bild so entwickelt, dass die Erzeugungswahrscheinlichkeit dieses Satzes hoch war. Jedes Mal wurden acht neue Individuen erzeugt, so dass acht ausgezeichnete Individuen zurückblieben, und die direkte Codierung ergab ein solches Ergebnis in etwa 300 Generationen.

Über das Generationsmodell

Dieses Mal haben wir ein Narrenbild für das Untertitelgenerierungsmodell Show, Attend and Tell erstellt. Der BLEU-Wert für COCO des Modells betrug 0,689 / 0,503 / 0,359 / 0,255.

Zusammenfassung

Mit einem evolutionären Algorithmus ist es uns gelungen, ein Narrenbild zu generieren, das die Wahrscheinlichkeit erhöht, eine bestimmte Aussage für das Generierungsmodell zu generieren. Wenn Sie der Meinung sind, dass dieses Bild anderen Modellen vorgeworfen werden kann, die mit demselben CNN trainiert wurden, oder wenn Sie es für mehrere Sätze weiterentwickeln, versuchen Sie es.

Recommended Posts

Erstellt ein Narrbild für das Modell der Untertitelgenerierung
Erstellt einen Python-Wrapper für die Qiita-API
Programm zur Suche nach demselben Bild
(Lesen der Zeitung) Jukebox: Ein generatives Modell für Musik Prafulla (Musik-Sampling mit VQ-VAE)
Das Bild ist Namekuji
Probieren Sie die ähnliche Suche von Image Search mit Python SDK [Search] aus.
Versuchen Sie, ein neues Bild mit dem trainierten StyleGAN2-Modell zu bearbeiten
Geben Sie das Know-how bekannt, das einen ähnlichen Bildsuchdienst für AV-Schauspielerinnen durch tiefes Lernen durch Chainer geschaffen hat
Finde die Daten des verrückten Turniers heraus
Erstellen Sie ein Modell für Ihren Django-Zeitplan
Ändern Sie die Liste in der for-Anweisung
Hashing-Algorithmus zur Bestimmung des gleichen Bildes
Erstellen eines Positionsschätzungsmodells für den Intelligenzwettbewerb menschlicher Wölfe mithilfe von maschinellem Lernen
Ein Modell, das die Gitarre mit fast.ai identifiziert
Belichtung des DCGAN-Modells für Cifar 10 mit Keras
Erstellt ein Bibliotheksverwaltungstool nur für Header für C / C ++
Machen Sie vorerst ein Histogramm (matplotlib)
Ich habe versucht, eine Docker-Datei für die Entwicklungsumgebung von Django zu erstellen
Python: Bereiten Sie einen Serializer für die Klasseninstanz vor:
Bildverarbeitung? Die Geschichte, Python für zu starten
Implementierung eines Deep Learning-Modells zur Bilderkennung
Eine Geschichte über die Verbesserung des Programms zum teilweisen Füllen von binärisierten 3D-Bilddaten