[PYTHON] [Erkennung von Anomalien] Versuchen Sie es mit der neuesten Methode des Fernunterrichts

Zuvor mit ** Deep Distance Learning ** ["Erkennung von Abnormalitäten des Bildes"](https://qiita.com/shinmura0/items/06d81c72601c7578c6d3#%E3%83%99%E3%83%B3%E3% 83% 81% E3% 83% 9E% E3% 83% BC% E3% 82% AF) wurde durchgeführt. Danach erschien ** die neueste Methode des Fernunterrichts ** "AdaCos".

In diesem Artikel möchte ich AdaCos auf "Anomalieerkennung" anwenden und einen einfachen Benchmark durchführen. Der gesamte Code ist hier

Aus der Schlussfolgerung

Bei der Anwendung von AdaCos zur Erkennung von Anomalien haben wir Folgendes festgestellt:

AdaCos Obwohl AdaCos ab Januar 2020 die neueste Methode für Fernunterricht sein soll, ist es mehr als ein halbes Jahr her, seit das Papier veröffentlicht wurde. Es ist vergangen. Soweit ich weiß, befindet es sich jedoch immer noch im Rahmen des "reinen Fernunterrichts". Es scheint SOTA zu sein.

AdaCos ist eine Methode, die auf ArcFace usw. und den in ArcFace usw. verwendeten Parametern basiert. Es ist eine Methode, um automatisch zu entscheiden. Da sich die Genauigkeit von ArcFace je nach Auswahl der Parameter dramatisch ändert, Die Abstimmung der Parameter war sehr streng. Mit der Einführung von AdaCos erfolgt dies jedoch automatisch Wenn Sie die Parameter bestimmen können, sind Sie von dieser Optimierungsaufgabe befreit.

Darüber hinaus wurde bestätigt, dass auch die Genauigkeit verbessert wird, was die Arbeitseffizienz und Genauigkeit erheblich verbessert. Dies ist eine sehr nützliche Methode. Einzelheiten finden Sie in den folgenden Artikeln.

Lesen Sie AdaCos: Adaptive Skalierung von Cosinus-Logs zum effektiven Lernen von Deep Face-Darstellungen

Zwang

Es gibt zwei Arten von AdaCos: Fest und Dynamisch. Die in diesem Artikel verwendete Methode ist "Fixed Ada Cos".

Außerdem kann AdaCos nur angewendet werden, wenn die Anzahl der Klassen 3 oder mehr beträgt. Dies wird zu einem Engpass bei der Anwendung von Selbstüberwachtes Lernen, aber die Überlegung ist vorhanden Nächster Artikel. Dies ist kein Problem, da die Anzahl der Klassen in diesem Experiment 9 beträgt.

Experiment

[Vorheriges Experiment](https://qiita.com/shinmura0/items/06d81c72601c7578c6d3#%E3%83%99%E3%83%B3%E3%83%81%E3%83%9E%E3%83 Führen Sie das Experiment unter den gleichen Bedingungen wie% BC% E3% 82% AF durch.

Der Code von AdaCos selbst ist fast der gleiche wie der von ArceFace. Die Methode zur Angabe von Parametern wurde jedoch in den AdaCos-Stil geändert.

Der gesamte Code ist hier

Bedingungen


Fashion-MNIST
Die Aufteilung der Daten ist wie folgt. Normal ist "Turnschuhe", abnormal ist "Stiefel".

Menge Anzahl der Klassen Bemerkungen
Referenzdaten zum Lernen 8000 8 Ohne Turnschuhe und Stiefel
Normale Daten für das Training 1000 1 Turnschuhe
Testdaten (normal) 1000 1 Turnschuhe
Testdaten (abnormal) 1000 1 Stiefel


cifar-10
Die Aufteilung der Daten ist wie folgt. Normal ist "Hirsch", abnormal ist "Pferd".

Menge Anzahl der Klassen Bemerkungen
Referenzdaten zum Lernen 8000 8 Ohne Hirsche und Pferde
Normale Daten für das Training 1000 1 Hirsch
Testdaten (normal) 1000 1 Hirsch
Testdaten (abnormal) 1000 1 Pferd

Fashion-MNIST Ergebnisse

image.png

"L2-Softmax Loss" und "Arc Face" zeigen die Ergebnisse des vorherigen Experiments. Das Ergebnis von "AdaCos" ist das Ergebnis dieses Experiments.

Der Medianwert von "AdaCos" ist jetzt fast ** dieselbe AUC wie bei ArcFace. ** ** **

Immerhin bin ich dankbar, dass keine Parametereinstellung mehr erforderlich ist.

Ergebnisse von CIFAR-10

image.png "L2-Softmax Loss" und "Arc Face" zeigen die Ergebnisse des vorherigen Experiments. Das Ergebnis von "AdaCos" ist das Ergebnis dieses Experiments.

Ähnlich wie bei Fashin-MNIST entspricht der Medianwert von "AdaCos" fast der AUC von ArcFace.

Zusammenfassung

Recommended Posts

[Erkennung von Anomalien] Versuchen Sie es mit der neuesten Methode des Fernunterrichts
[Erkennung von Abnormalitäten] Erkennen Sie Bildverzerrungen durch Fernunterricht
Ich habe versucht, das Objekterkennungs-Tutorial mit dem neuesten Deep-Learning-Algorithmus auszuführen
Untersuchung der Austauschprognosemethode mit Deep Learning und Wavelet-Konvertierung - Teil 2-
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (3)
Versuchen Sie mit Kipoi tiefes Erlernen der Genomik
Versuchen Sie die Clusteranalyse mit K-Mitteln
Visualisieren Sie die Auswirkungen von Deep Learning / Regularisierung
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (2)
Ich habe die übliche Geschichte ausprobiert, Deep Learning zu verwenden, um den Nikkei-Durchschnitt vorherzusagen
Ich habe die gängige Geschichte der Vorhersage des Nikkei-Durchschnitts mithilfe von Deep Learning (Backtest) ausprobiert.
Untersuchung der Austauschprognosemethode mittels Deep Learning und Wavelet-Konvertierung
Die Geschichte des tiefen Lernens mit TPU
Versuchen Sie es mit dem Sammlungsmodul (ChainMap) von python3
Versuchen Sie es mit dem Jupyter Notebook von Azure Machine Learning
Berechnung der kürzesten Route nach der Monte-Carlo-Methode
Zählen Sie die Anzahl der Parameter im Deep-Learning-Modell
Deep Learning 1 Übung des Deep Learning
Techniken zum Verständnis der Grundlagen von Deep-Learning-Entscheidungen
Othello ~ Aus der dritten Zeile von "Implementation Deep Learning" (4) [Ende]
Sammlung und Automatisierung erotischer Bilder durch Deep Learning
Die Kopiermethode von pandas.DataFrame ist standardmäßig Deep Copy
[Deep Learning von Grund auf neu] Implementierung der Momentum-Methode und der AdaGrad-Methode
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Klassifizierung zu bewerten
Deep Running 2 Tuning von Deep Learning
Versuchen Sie es mit der Twitter-API
Versuchen Sie Deep Learning mit FPGA
Grundlegender Ablauf der Erkennung von Anomalien
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit der PeeringDB 2.0-API
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
cv2.Canny (): Macht die Anpassung der Kantenerkennung mit der Canny-Methode angenehm
[Python] LINE-Benachrichtigung über die neuesten Informationen mithilfe der automatischen Suche von Twitter
Versuchen Sie, Elasticsearch als Grundlage für Ihr Frage- und Antwortsystem zu verwenden
Selbststudien-Memo "Deep Learning from Grund" (Nr. 13) Verwenden Sie Google Colaboratory
Versuchen Sie, das Triplett des Bootsrennens vorherzusagen, indem Sie das Lernen bewerten
Zusammenfassung der Seiten, die zum Studium des Deep Learning Framework Chainer nützlich sind
Sabayon Linux Portage Profile von 17.0 bis 17.1 / Versuchen Sie, die neueste Version von Sabayon mithilfe der Installationsmedien von Daily Builds zu installieren
Versuchen Sie, den Wert des Wasserstandsmessers durch maschinelles Lernen unter Verwendung der offenen Daten von Data City Sabae vorherzusagen
Versuchen Sie es mit TensorFlow Part 2
Stärkung des Lernens 8 Versuchen Sie, die Chainer-Benutzeroberfläche zu verwenden
Versuchen Sie es mit dem Python Cmd-Modul
Einführung in die Erkennung von Anomalien und Zusammenfassung der Methoden
Ich habe versucht, mit Theano tief zu lernen
Diagramm der Geschichte der Anzahl der Ebenen des tiefen Lernens und der Änderung der Genauigkeit
Analysieren Sie die Mundpropaganda-Daten von Karriere-Change-Meetings mithilfe von Deep Learning emotional
Bis die Deep Learning-Umgebung (TensorFlow) mit GPU für Ubuntu 14.04 vorbereitet ist
Grundlegendes maschinelles Lernverfahren: ③ Vergleichen und untersuchen Sie die Auswahlmethode für die Merkmalsmenge
Halbtageskurs (TensorFlow, Chainer, Caffe, DeepDream, Stilkonvertierung), um 5 berühmte Deep-Learning-Bibliotheken in kürzester Entfernung auszuprobieren