One-Shot-Lernen mit dem siamesischen Netzwerk [für die Gesichtserkennung]

Veröffentlicht: 2021-02-08

Der folgende Artikel spricht über die Notwendigkeit der Verwendung von One-Shot-Lernen zusammen mit seinen Variationen und Nachteilen.

Um ein beliebiges Deep-Learning-Modell zu trainieren, benötigen wir zunächst eine große Datenmenge, damit unser Modell die gewünschte Vorhersage- oder Klassifizierungsaufgabe effizient erfüllt. Um beispielsweise einen Hund anhand von Bildern zu erkennen, müssen Sie ein neuronales Netzwerkmodell mit Hunderten und Tausenden von Hunden und Nicht-Hunde-Bildern trainieren, damit es genau voneinander unterscheiden kann. Dieses neuronale Netzwerkmodell funktioniert jedoch nicht, wenn es mit einem oder sehr wenigen Trainingsdaten trainiert wird.

Aufgrund des Mangels an Daten wird es schwierig, relevante Merkmale auf verschiedenen Ebenen zu extrahieren. Das Modell wird nicht in der Lage sein, gut zwischen verschiedenen Klassen zu verallgemeinern, wodurch seine Gesamtleistung beeinträchtigt wird.

Betrachten Sie zur Veranschaulichung das Beispiel der Gesichtserkennung auf einem Flughafen. Dabei haben wir nicht die Freiheit, unser Modell mit Hunderten und Tausenden von Bildern jeder Person zu trainieren, die unterschiedliche Gesichtsausdrücke, Hintergrundbeleuchtung usw. enthalten. Bei mehr als Tausenden von Passagieren, die täglich ankommen, ist dies eine unmögliche Aufgabe! Außerdem summiert sich die Speicherung einer so großen Menge an Daten zu den Kosten.

Um das obige Problem anzugehen, verwenden wir eine Technik, bei der Klassifizierungs- oder Kategorisierungsaufgaben mit einem oder wenigen Beispielen gelöst werden können, um viele neue Beispiele zu klassifizieren. Diese Technik wird One-Shot-Learning genannt.

In den letzten Jahren wurde die One-Shot-Learning-Technologie in großem Umfang bei der Gesichtserkennung und bei Passkontrollen eingesetzt. Das verwendete Konzept ist: Das Modell nimmt 2 Eingabebilder; eines ist das Bild aus dem Pass und das andere ist das Bild der Person, die in die Kamera schaut. Das Modell gibt dann einen Wert aus, der die Ähnlichkeit zwischen den beiden Bildern darstellt. Wenn der Wert der Ausgabe niedrig ist, sind die beiden Bilder ähnlich, andernfalls sind sie unterschiedlich.

Inhaltsverzeichnis

Siamesisches Netzwerk

Die für One-Shot-Lernen verwendete Architektur wird Siamesisches Netzwerk genannt. Diese Architektur umfasst zwei parallele neuronale Netze, von denen jedes unterschiedliche Eingaben entgegennimmt. Die Ausgabe des Modells ist ein Wert oder ein Ähnlichkeitsindex, der angibt, ob die beiden Eingabebilder gleich sind oder nicht. Ein Wert unterhalb einer vordefinierten Schwelle entspricht der hohen Ähnlichkeit zwischen den beiden Bildern und umgekehrt.

Wenn die Bilder an eine Reihe von Faltungsschichten, Max-Pooling-Schichten und vollständig verbundenen Schichten übergeben werden, erhalten wir einen Vektor, der die Merkmale der Bilder codiert. Da wir hier zwei Bilder eingeben, werden zwei Vektoren erzeugt, die die Merkmale der Eingabebilder umfassen. Der Wert, über den wir gesprochen haben, ist der Abstand zwischen den zwei Merkmalsvektoren, der berechnet werden kann, indem man die Norm der Differenz zwischen den zwei Vektoren findet.

Triplet-Loss-Funktion

Wie der Name schon sagt, benötigen wir zum Trainieren des Modells drei Bilder – ein Ankerbild (A), ein Positivbild (P) und ein Negativbild (N). Da dem Modell zwei Eingaben bereitgestellt werden können, wird ein Ankerbild mit entweder einem positiven oder einem negativen Bild gegeben. Das Modell lernt den Parameter so, dass der Abstand zwischen dem Ankerbild und dem Positivbild gering ist, während der Abstand zwischen dem Ankerbild und dem Negativbild groß ist.

Die konstruktive Verlustfunktion bestraft das Modell, wenn der Abstand zwischen A und N gering oder A und P groß ist, während sie das Modell ermutigt oder Merkmale lernt, wenn der Abstand zwischen A und N groß und A und P gering ist.

Um mehr über den Anker, positive und negative Bilder zu verstehen, betrachten wir das vorherige Beispiel auf einem Flughafen. In einem solchen Fall ist das Ankerbild Ihr Bild, wenn Sie in die Kamera schauen, das Positivbild ist das auf Ihrem Passfoto und das Negativbild ist ein zufälliges Bild eines am Flughafen anwesenden Passagiers.

Wann immer wir ein Siaseme-Netzwerk trainieren, versorgen wir es mit den Bildern der APN-Trios (Anker, positiv und negativ). Das Erstellen dieses Datensatzes ist viel einfacher und würde weniger Bilder zum Trainieren erfordern.

Einschränkungen des One-Shot-Lernens

One-Shot-Learning ist immer noch ein ausgereifter Algorithmus für maschinelles Lernen und weist einige Einschränkungen auf. Zum Beispiel funktioniert das Modell nicht gut, wenn das Eingabebild einige Modifikationen aufweist – eine Person, die einen Hut, eine Sonnenbrille usw. trägt. Außerdem kann ein Modell, das für eine Anwendung trainiert wurde, nicht für eine andere Anwendung verallgemeinert werden.

Als nächstes sehen wir uns einige Variationen des One-Shot-Lernens an, das Zero-Shot-Lernen und Few-Shot-Lernen beinhaltet.

Zero-Shot-Lernen

Zero-Shot-Lernen ist die Fähigkeit des Modells, neue oder unsichtbare gekennzeichnete Daten zu identifizieren, während es mit sichtbaren Daten trainiert wird und die semantischen Merkmale neuer oder unsichtbarer Daten kennt. Zum Beispiel kann ein Kind, das eine Katze gesehen hat, sie anhand ihrer besonderen Merkmale identifizieren. Wenn dem Kind außerdem bewusst ist, dass das Bellen des Hundes solidere Eigenschaften als eine Katze besitzt, dann hätte das Kind kein Problem damit, den Hund zu erkennen.

Abschließend können wir sagen, dass die ZSL-Erkennung auf eine Weise funktioniert, die den markierten Trainingssatz gesehener Klassen in Verbindung mit dem Wissen darüber berücksichtigt, wie jede unsichtbare Klasse semantisch mit den gesehenen Klassen zusammenhängt.

N-Schuss-Lernen

Wie der Name schon sagt, haben wir beim N-Shot-Lernen n gekennzeichnete Daten jeder Klasse, die für das Training verfügbar sind. Das Modell wird mit K Klassen trainiert, die jeweils n gekennzeichnete Daten enthalten. Nach dem Extrahieren relevanter Merkmale und Muster muss das Modell ein neues unbeschriftetes Bild in eine der K-Klassen kategorisieren. Sie verwenden Matching-Netzwerke, die auf dem Ansatz der nächsten Nachbarn basieren und vollständig durchgängig trainiert sind.

Fazit

Zusammenfassend lässt sich sagen, dass das Gebiet des One-Shot-Lernens und seine Gegenstücke ein immenses Potenzial haben, einige der herausfordernden Probleme zu lösen. Da es sich jedoch um ein relativ neues Forschungsgebiet handelt, macht es schnelle Fortschritte, und Forscher arbeiten daran, die Kluft zwischen Maschinen und Menschen zu überbrücken.

Damit sind wir am Ende dieses Beitrags angelangt, ich hoffe, Sie haben es genossen, ihn zu lesen.

Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben bietet, IIIT- B-Alumni-Status, mehr als 5 praktische, praktische Abschlussprojekte und Jobunterstützung bei Top-Unternehmen.

Lernen Sie ML-Kurse von den besten Universitäten der Welt. Erwerben Sie Master-, Executive PGP- oder Advanced Certificate-Programme, um Ihre Karriere zu beschleunigen.

Führen Sie die KI-gesteuerte technologische Revolution an

Bewerben Sie sich für das Advanced Certificate Program in Machine Learning & NLP