[PYTHON] Erwägen Sie, die Genauigkeit der Erkennung von VAE-Anomalien zu verbessern

Es wurden verschiedene Anomalieerkennungsverfahren unter Verwendung von Fernlern- und Generierungsmodellen vorgeschlagen. Unter diesen führten wir ein Experiment unter Verwendung der Anomalieerkennungsmethode unter Verwendung des nicht regulären Begriffs durch, das auf der Nationalen Konferenz der Artificial Intelligence Society 2018 angekündigt wurde und für die Anomalieerkennung komplexer Industrieprodukte mit VAE nützlich ist.

Unter den Verfahren gibt es ein Problem, dass eine Abnormalitätsbeurteilung im normalen Teil fehlerhaft auftritt, insbesondere gibt es ein Problem, dass eine übermäßige Abnormalitätsbeurteilung aufgrund einer Unterschätzung der Standardabweichungsausgangsschicht & sgr; auftritt, und wir werden ein Lösungsverfahren in Betracht ziehen. tat. Dieses Mal werden wir den Effekt der Datenverbesserung zur Verbesserung der Genauigkeit überprüfen. (Was ist Datenerweiterung? ... Durch Hinzufügen einer Konvertierungsverarbeitung (Inversion, Vergrößerung, Verkleinerung usw.) zum Bild werden die Trainingsdaten "aufgeblasen". Durch Aufblasen wird das gleiche Bild weniger wahrscheinlich gelernt, daher Verallgemeinerung Die Leistung wird verbessert.)

Vorstellen

Hallo. Ich bin Maharuda, ein Forschungspraktikant bei ProsCons.

Im Rahmen der Benchmarking-Arbeitserfahrung des Unternehmens werde ich einen Artikel über VAE schreiben, der als eine der Methoden zur Erkennung von Anomalien verwendet wird. Freut mich, dich kennenzulernen!

Zweck

Eines der Probleme, die beim Experimentieren mit der Anomalieerkennungsmethode unter Verwendung des Nichtregularisierungsterms auftraten, war die Verbesserung der fehlerhaften Anomaliebeurteilung des Normalteils.

Abnormalitätserkennung mit VAE

Ein neuronales Netzwerk, das Daten X in die latente Variable z konvertiert (weniger Dimensionen als die Originaldaten), wird als Codierer bezeichnet, und ein neuronales Netzwerk, das die latente Variable z rekonstruiert und die Originaldaten wiederherstellt, wird als Decodierer bezeichnet. Trainieren Sie die Eingabedaten und die rekonstruierten Daten so ähnlich wie möglich. Die obige Architektur wird als Auto Encoder (AE) bezeichnet. Und derjenige, der die latente Variable von AE in die Wahrscheinlichkeitsverteilung drückt, heißt VAE. Weitere Informationen finden Sie im folgenden Artikel.

・ Variational Autoencoder ausführliche Erklärung (https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24)

Im Allgemeinen wird eine Anomalieerkennung unter Verwendung von VAE realisiert, indem der Unterschied zwischen den Daten, bevor sie in den Codierer eingegeben werden, und den von VAE als Anomalie rekonstruierten Daten erkannt wird.

Nützliche Methode zur Erkennung von Anomalien in komplexen Industrieprodukten

Industrieprodukte bestehen aus verschiedenen Elementen. Bei Zahnrädern ist dies beispielsweise von der ebenen Oberfläche des Zahnrads, dem Zahnteil und dem Loch in der Mitte. Häufig auftretende Bildelemente haben eine höhere Wahrscheinlichkeit als gelegentliche Bildelemente.

Wenn die Verlustfunktion als Funktion zum Erkennen von Anomalien verwendet wird, ist daher der Schwellenwert für die Berücksichtigung von Anomalien in häufig auftretenden Bildern größer als der in nur gelegentlich auftretenden Bildern (in häufig auftretenden Bildern treten Anomalien in nur gelegentlich auftretenden Bildern auf). Es kommt öfter heraus). Screenshot from 2020-03-25 17-23-20.png Abbildung 1. Intuitive Darstellung der Wahrscheinlichkeit in industriellen Produktbildern (aus Papier)

In den folgenden Abhandlungen werden Methoden vorgeschlagen, mit denen die Auswirkungen der Komplexität und Häufigkeit der Gruppen, zu denen die Bilder gehören, beseitigt werden können. Auf diese Weise können Anomalien in Bildern komplexer Industrieprodukte (Objekte, die auch in einfachen Teilen Anomalien aufweisen) erkannt werden.

・ Erkennung von Abnormalitäten bei Industrieprodukten unter Verwendung desormalisierten Anomaliegrades durch ein Deep-Generation-Modell (https://confit.atlas.jp/guide/event-img/jsai2018/2A1-03/public/pdf?type=in)

Die Verlustfunktion von VAE ist Screenshot from 2020-03-25 17-24-58.png Es kann ausgedrückt werden durch. (Aus dem Papier)

Im Allgemeinen wird diese Verlustfunktion $ L_ {VAE} $ verwendet, um die Erkennung von VAE-Anomalien zu bewerten. Durch Subtrahieren von $ D_ {VAE} $ und $ A_ {VAE} $ von $ L_ {VAE} $ zu $ M_ {VAE} $ wurde es verbessert, sodass Anomalien mit demselben Schwellenwert beurteilt werden können.

$ M_ {VAE} $ hat das Quadrat der Differenz zwischen dem Mittelwert der Daten $ x $ und der Differenz der Daten $ x $ im Molekül und eine Standardabweichung von $ \ sigma_x $, die möglicherweise die Unsicherheit und Komplexität der Daten $ x $ darstellt. Dies ist eine Funktion, die einen Nenner hat. Wie wir später sehen werden, ist $ σ_x $ im Nenner dieses $ M_ {VAE} $ zu klein, was zu Problemen führt. Die in diesem Dokument behandelten Methoden werden in den folgenden Artikeln ausführlich erläutert. Lesen Sie sie daher bitte.

・ Erkennung von Abnormalitäten von Bildern mit Variational Autoencoder Part 1 (https://qiita.com/shinmura0/items/811d01384e20bfd1e035)

Lassen Sie uns mit dieser Methode sofort Anomalien erkennen.

Prüfergebnis

Ein kleines weißes Zahnrad wurde als Ziel für die Erkennung von Anomalien verwendet. Das resultierende Bild ist von links ・ Ein Bild, das den abnormalen Teil mit einer Wärmekarte zeigt · Das Originalbild ist.

![Screenshot from 2020-03-25 19-47-42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608276/73095215-80f4-b153-87f4-61af7223accf.png)

<Bild 1 mit Anomalie> Abnormal: Fehlender rechter Zahn Screenshot from 2020-03-25 19-48-15.png

<Bild 2 mit Anomalie> Anormal: Alle Zähne sind abgenutzt Screenshot from 2020-03-25 19-49-13.png

Es erkennt einen abnormalen Teil (den Teil, an dem die Zahnradzähne fehlen), aber Eine Abnormalitätsbeurteilung ist auch am normalen Teil (der Oberfläche des weißen Zahnrads) aufgetreten.

Hypothese

In VAE wird die Standardabweichung $ \ sigma_x $ in Bezug auf die Unsicherheit der Rekonstruktion so angepasst, dass $ A_ {VAE} $ und $ M_ {VAE} $ ausgeglichen sind. (Aus dem Papier)

Während das Lernen in Richtung einer Verringerung der Verlustfunktion fortschreitet, ist es unwahrscheinlich, dass sich $ M_ {VAE} $ zum Zeitpunkt des Lernens in einem großen Zustand befindet.

Zum Zeitpunkt des Lernens liegt der durchschnittliche Vektor $ \ mu_x $ so nahe wie möglich an $ x $, und selbst wenn $ \ sigma_x $ ein sehr kleiner Wert ist, kann $ M_ {VAE} $ klein gehalten werden, also $ zum Zeitpunkt der Erkennung von Anomalien. Wenn (\ mu_x-x) ^ 2 $ sogar ein wenig wächst, wird angenommen, dass $ M_ {VAE} $ hochspringen wird. Wir werden unten nach einer Lösung suchen.

Lösung (Erweiterung der Daten)

Das Lernen geht in Richtung einer Verringerung der Verlustfunktion. Andererseits erschweren die aufgeblasenen Daten es $ \ mu_x $ und $ x $, sich während des Lernens zu nähern. Dadurch wird verhindert, dass $ σ_x $ zu klein wird.

Muster 1

Fügen Sie den Daten ein Bild hinzu, dessen RGB-Wert für jedes Pixel des Originalbilds um 2 (4,6,8,10) reduziert ist. Die Datenmenge beträgt das 6-fache.

Bild vor der Verarbeitung Bild mit 10 von jedem RGB subtrahiert Screenshot from 2020-03-25 17-32-49.png

![Screenshot from 2020-03-25 19-49-49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608276/ca1d1d4b-12c9-dbdf-db88-bf51ec8ffb0e.png)

<Bild 1 mit Anomalie> Abnormal: Fehlender rechter Zahn Screenshot from 2020-03-25 19-50-50.png

<Bild 2 mit Anomalie> Anormal: Alle Zähne sind abgenutzt Screenshot from 2020-03-25 19-51-10.png

Hmm. Es wird fälschlicherweise als abnormal beurteilt.

Muster 2

Ich habe Salzpfeffergeräusche hinzugefügt, die allgemein genannt werden. Das Verhältnis von weißen zu schwarzen Punkten beträgt 1: 1. Bild vor der Verarbeitung: Rauschquote 0,4% Screenshot from 2020-03-25 17-38-00.png

![Screenshot from 2020-03-25 19-53-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608276/fad126f5-bdb5-fe2c-11f3-c00ebd0b0454.png)

<Bild 1 mit Anomalie> Abnormal: Fehlender rechter Zahn Screenshot from 2020-03-25 20-14-15.png

<Bild 2 mit Anomalie> Anormal: Alle Zähne sind abgenutzt Screenshot from 2020-03-25 19-55-08.png

Es fühlt sich ziemlich gut an. Es ist nicht vollständig entfernt, aber die Wärmekarte auf dem normalen Teil hat abgenommen.

Erwägung

Die Ergebnisse für Muster 2 sind positiv, und es ist ersichtlich, dass das Erweitern der Daten eine Vielfalt in den Daten erzeugt, einen Unterschied zwischen $ μ $ und $ x $ erzeugt und $ σ $ nicht zu klein macht. Ich tat. Die Nützlichkeit der Datenerweiterung für dieses Problem der falschen Bestimmung des normalen Teils wurde demonstriert.

Basierend auf der Tatsache, dass Muster 1 die Genauigkeit nicht verbessert hat, wurde festgestellt, dass es Fälle gibt, in denen gesagt werden kann, dass es selbst bei der Datenerweiterung nützlich ist. In Bezug auf das diesmal durchgeführte Verifikationsexperiment ist es besser, weiße (0,0,0) oder schwarze (255,255,255) Pixel als unterschiedliche Bilder bereitzustellen, als RGB gleichmäßig zu senken, um ein Überlernen zu verhindern. Man kann sagen, dass es möglich war. Daher wirkt sich die Erweiterung des Bildes mit den Hell- und Dunkeländerungen nicht auf die Forminformation und nicht auf die intrinsische Komplexität aus, während die Erweiterung des Salzpfeffer-Rauschbildes die Forminformation ändert und die wesentliche Komplexität darstellt. Es wird angenommen, dass es effektiv funktioniert hat, weil die Anzahl der Menschen gestiegen ist. Obwohl dies eine hypothetische Phase ist, können Bilder mit modifizierten Forminformationen daher für die Datenerweiterung nützlicher sein.

Zusammenfassend kann die Datenerweiterung eine Unterschätzung der Standardabweichungsausgabeschicht $ σ $ bei Anomalieerkennungstechniken unter Verwendung anomaler Terme verhindern. Ob ein Bild mit geänderten Forminformationen für die Datenerweiterung verwendet werden soll oder nicht, hängt möglicherweise von der Effektivität ab. Das kannst du sagen.

Nach dem Praktikanten

Trotz des kurzen Zeitraums von einem Monat konnte ich viel über maschinelles Lernen lernen. Pros Cons entwickelt eine visuelle Inspektions-KI für Industrieprodukte namens Gemini Eye. Es war eine sehr bedeutsame Erfahrung für mich, in Form von Benchmarking-Arbeiten an der Arbeit beteiligt zu sein. Vielen Dank für die Arbeit in einer gemütlichen Firma.