Das Erlernen des Faltungsnetzwerks (CNN) braucht Zeit.
Insbesondere wenn Sie wirklich versuchen, die Genauigkeit zu verbessern, ohne Transferlernen zu verwenden, dauert es ungefähr 5 Tage ** Es gibt Zeiten. Die in diesem Artikel vorgestellten Artikel erläutern quantitativ die Schwierigkeit von Datensätzen. Durch Auswertung kann die Klassifizierungsgenauigkeit mit hoher Geschwindigkeit geschätzt werden, ohne CNN zu lernen. Das ist.
Der Schlüssel zu diesem Artikel lautet "Wenn sich die beiden Klassen stark überschneiden" in der Bildklassifizierungsaufgabe. Das Klassifizierungsproblem ist ein schwieriges Problem. "
Die Abbildung oben ist meine eigene Arbeit. Wenn Sie nun CNN verwenden, um ein Bild in den 2D-Raum einzubetten Machen.
Und als Aufgabe zur Klassifizierung von orangefarbenen und blauen Punkten im Gegensatz zur Abbildung links Es scheint, dass das Problem auf der rechten Seite leichter zu klassifizieren ist. Mit anderen Worten, dies Je mehr Überlappungen zwischen Klassen bestehen, desto schwieriger ist das Klassifizierungsproblem.
Wenn Sie in mathematischen Formeln denken und es viele Punkte in derselben Gruppe gibt, in der Sie sich einem bestimmten Punkt nähern, kommt es zu Duplikationen. Klein (einfaches Klassifizierungsproblem), große Duplizierung, wenn es in einer Gruppe viele Punkte gibt, die sich von Ihnen unterscheiden Es scheint ein (schwieriges Klassifizierungsproblem) zu sein.
Das Papier präsentiert die folgende Formel.
Diese Formel drückt den Grad der Duplizierung der Klasse $ C_j $ aus Sicht der Klasse $ C_i $ aus.
Da M und V konstante Werte sind, ist $ K_ {C_j} $ das Bild x der Klasse $ C_i $ Die Anzahl der Klassen $ C_j $ in der Nähe. Mit anderen Worten, wenn $ K_ {C_j} $ groß ist, ist die Überlappung groß. Ich kann sagen.
Hier ist $ \ phi (x) \ in R ^ d $ der Vektor, in den das Bild x von $ C_i $ eingebettet ist, und M ist von $ C_j $. Die Anzahl der extrahierten Proben, V ist die Größe des Hyperwürfels. Schließlich Gleichung (4) wird auf das Bild der Klasse $ C_i $ angewendet, um die Summe zu nehmen.
Da Gleichung (4) nur den Grad der Duplizierung zwischen zwei Klassen berechnen kann, Wenn mehrere Klassen vorhanden sind, berechnen Sie den Überlappungsgrad für jede Klasse. wird gebraucht.
Wenn die Anzahl der Klassen K ist, ist die Ähnlichkeitsmatrix $ S \ in R ^ {K \ mal K} $ Es ist definiert. $ S_ {ij} $ wird durch die Summe von Gleichung (4) berechnet.
Wenn jedes Element von $ S $ groß ist, bedeutet dies, dass Gleichung (4) ein großer Wert ist. Von Klasse I aus gesehen gibt es viele Klassen j in der Nähe. Mit anderen Worten, es ist ein schwieriges Klassifizierungsproblem.
Danach, wie man $ S $ verwendet, um die Schwierigkeit des Klassifizierungsproblems zu quantifizieren Ist das Problem.
Das Papier verwendet spektrale Clusterbildung.
Spektrales Clustering war ursprünglich ein Clustering unbeaufsichtigten Lernens Es scheint die verwendete Methode zu sein. Teilen Sie jedes Diagramm, wenn die Verbindung schwach ist Auf diese Weise können auch Teilungsprobleme, die mit der k-means-Methode usw. schwierig sind, sauber geteilt werden. Es ist möglich zu. Bitte beachten Sie den Link unten für Details. https://www.slideshare.net/pecorarista/ss-51761860 https://qiita.com/sakami/items/9b3d57d4be3ff1c70e1d
Bei der spektralen Clusterbildung wird der folgende Laplace-L Quantifizieren Sie die Schwierigkeit, ein Diagramm zu teilen, indem Sie einen eindeutigen Wert finden tun können.
L=D-W
Bei Anwendung auf dieses Papier wird $ S_ {ij} $ als Graph betrachtet, und es ist schwierig, ihn zu teilen. Es quantifiziert (Schwierigkeit der Klassifizierung). Im Allgemeinen ist der eindeutige Wert von L. Es scheint, dass es umso schwieriger ist, es zu teilen, je größer es ist, aber in diesem Artikel, wie später beschrieben wird. Durch Erfassen und Quantifizieren nicht nur der Größe des Eigenwerts, sondern auch der Tendenz des Eigenwerts Eine genauere Quantifizierung ist möglich.
Für den Ausdruck von L ist D definiert als $ D_i = \ sum_jw_ {i, j} $. Ich möchte $ S $ direkt W zuweisen, aber W hat die Einschränkung einer symmetrischen Matrix. Daher ist es unter Verwendung der folgenden Formel symmetrisch.
Wenn Sie zuerst die experimentellen Ergebnisse zeigen, ist die Schwierigkeit des Datensatzes mit W allein Kann geschätzt werden. Die folgende Abbildung zeigt die Ergebnisse eines Experiments mit CIFAR10.
Die obere Reihe ist das experimentelle Ergebnis von W. Die Verwirrungsmatrix nach AlexNets Schlussfolgerung wurde in der unteren Reihe trainiert. Sie können sehen, dass die W-Schätzung dem AlexNet-Inferenzergebnis sehr ähnlich ist. Es trifft auch die Situation, in der es schwierig ist, zwischen "Hund" und "Katze" zu unterscheiden.
Überprüfen Sie die Verarbeitung bis zu diesem Punkt. Bild → Eingebettet → Überlappung zwischen Klassen, berechnet durch Gleichung (4) → Berechnen Sie den eindeutigen Wert von L.
Nur durch Betrachten des Maximalwerts des Eigenwerts von Laplace L wie oben erwähnt Schwierigkeit beim Teilen von Graphen (Schwierigkeit des Datensatzes in diesem Artikel) Kann geschätzt werden.
Wenn Sie zuerst die experimentellen Ergebnisse anzeigen, können Sie den Maximalwert oder die Summe der Eigenwerte sehen. Sie können die Schwierigkeit eines Datensatzes abschätzen, indem Sie ihn sich ansehen.
Die obige Tabelle zeigt die Ergebnisse von Experimenten mit CIFAR10.
Selbst wenn man nur die Summe der Eigenwerte betrachtet, übertrifft die Leistung die der herkömmlichen Methode.
In der obigen Tabelle stehen die folgenden vier "Einbettungsmethoden" zur Verfügung.
Übrigens behauptet die Methode in diesem Artikel, "hohe Geschwindigkeit" zu sein, aber Sie müssen den Auto-Encoder trainieren. Ein guter CSG kann nicht berechnet werden. Die in der obigen Tabelle in Klammern angegebene Zeit ist die Lernzeit des Auto-Encoders. Wie Sie sehen können, ist es ungefähr doppelt so schnell wie die herkömmliche Methode. (Es ist immer noch erstaunlich.)
CSG Abschließend werde ich über CSG erklären. Wenn die Eigenwerte in aufsteigender Reihenfolge von i = 0,1,2 ... angeordnet sind, standardisieren Sie zuerst mit der folgenden Formel.
Berechnen Sie dann die CSG.
Hier unter der Annahme, dass Cummax die Sequenz hat [1,4,3,2]
cummax[1,4,3,2] = [1,4,4,4]
Meint. Mit anderen Worten, wenn in der Reihenfolge von links gelesen wurde, wurde es gelesen Eine Funktion, die den Maximalwert einer Zahl aufzeichnet.
Die folgende Tabelle zeigt die Ergebnisse von Experimenten mit MNIST.
Wie Sie sehen können, steigt mit zunehmender Anzahl von Klassen in mnist auch die CSG- und Fehlerrate. Sie können sehen (Korrelation). Der hellblaue Mnist bedeutet übrigens "Mnist 1". Das heißt, es gibt nur eine Klasse.
Die folgende Tabelle zeigt die Ergebnisse von Experimenten mit verschiedenen Datensätzen (Anzahl der Klassen: 10).
Es ist zu beachten, dass eine Korrelation zwischen CSG (rot) und AlexNet-Fehlerrate (blau) besteht. Sie können sehen, dass CSG auch dann ordnungsgemäß funktioniert, wenn die Datensätze unterschiedlich sind.
Die folgende Abbildung zeigt die Ergebnisse eines Experiments mit einem Datensatz namens MioTCD.
Hier wird die CSG berechnet und gleichzeitig die Anzahl der Daten reduziert. Und zu CSG Die Fehlerrate erhöht sich proportional. In diesem Datensatz Sie können sehen, dass es kein Problem gibt, selbst wenn die Daten um etwa 80% reduziert werden.
In CIFAR10 hingegen werden die Daten reduziert, wie in der folgenden Tabelle gezeigt. Die Fehlerrate steigt stetig an.
Auch hier können Sie sehen, dass die CSG proportional zur Fehlerrate zunimmt.
Wenden Sie unter Verwendung der Matrix W MDS auf die folgende Gleichung an, um die Ähnlichkeit zwischen Klassen zu bestimmen. Es kann visualisiert werden.
S=1-W
Die folgende Abbildung zeigt MDS.
MNIST ist gut zwischen Klassen getrennt, aber im Fall von CIFAR10 "Hund" und "Katze", "Hirsch" und "Vogel" liegen nahe beieinander und sind ähnlich Ich verstehe. Mit anderen Worten, diese sind relativ schwer zu unterscheiden.
Zusammenfassend gelang es MDS und W, Ergebnisse zu erzielen, aber der Punkt ist ** CSG reproduzierte sich nicht gut. ** ** **
Der Zweck des Experiments besteht darin, "den Übergang von CSG zu sehen und gleichzeitig die Daten von CIFAR10 zu reduzieren". Mit anderen Worten, es gibt Tabelle 6 wieder.
Der Auto-Encoder zum Einbetten wurde unter den folgenden Bedingungen getestet.
Die Einbettungsmethode ist die mit der höchsten Punktzahl im Papier. Die Technik ist CSG $ CNN_ {AE} $ t-SNE.
Dies wird nach dem folgenden Verfahren berechnet.
Das im Experiment erzeugte CSG ist nicht sehr stabil. In erster Linie der einzigartige Wert, der in der Zeitung herauskam Da es nicht reproduziert wurde, habe ich das Gefühl, dass etwas mit der Implementierung nicht stimmt. Ich konnte es mit meiner eigenen Fähigkeit nicht verstehen.
Die folgenden Maßnahmen werden ergriffen, um es irgendwie zu stabilisieren.
Extraktion von Testdaten In diesem Artikel reicht es aus, 100 Testdaten aus jeder Klasse zu extrahieren. Es sagt. Die CSG schwankt jedoch erheblich, je nachdem, was in diesen 100 Stück enthalten ist. Daher wird die Extraktion ** 5-mal ** durchgeführt, CSG berechnet und der Durchschnittswert ermittelt.
t-sne Da das Ergebnis von t-sne jedes Mal anders ist, wird es ** 5 Mal ausgeführt, um ** CSG zu berechnen und den Durchschnittswert zu ermitteln.
Als Ergebnis der obigen Maßnahmen wurde die CSG für jede Datengröße 5 x 5 = 25 Mal berechnet und der Durchschnittswert berechnet.
Ich habe den CSG berechnet, aber manchmal liegt der Korrelationskoeffizient bei 0,9 und manchmal bei 0. Ich kann sagen, dass ich ihm überhaupt nicht vertrauen kann.
W und MDS haben jedoch ähnliche Ergebnisse wie das Papier, daher werde ich sie melden.
Obwohl W ähnliche Ergebnisse lieferte, ist die Ähnlichkeit zwischen "Hund" und "Katze" wie in der Veröffentlichung. Es war kein großer Wert.
Die Ergebnisse des MDB ähneln denen des Papiers. Richtig, "Katze" und "Hund", "Hirsch" und "Berd" sind in unmittelbarer Nähe.
Dieses Mal habe ich es mit der GPU von Colaboratory überprüft.
Was die GPU betrifft, kam ** No way ** `` Tesla P100``` heraus, also als ich
`Tesla K80``` vorerst in Klammern verwendete
Ich werde auch die Zeit aufschreiben, an die ich mich erinnern muss.
Die obige Zeit ist die Zeit, zu der alle Daten von CIFAR10 verwendet werden. Wie Sie sehen können, ist die Ausführungsgeschwindigkeit schneller als das Trainieren von CNN und das direkte Erkennen der Klassifizierungsgenauigkeit. Ich verstehe.
Unter Anwendung der obigen Erkenntnisse ** Effiziente Reduzierung der Menge klassifizierter Daten, effektiv bei der Datenbereinigung ** Es kann funktionieren. Ich werde diese Details im nächsten Artikel schreiben.