Siamese Neural Networks (SNNs) sind eine spezielle Art von neuronalen Netzwerken, die für Probleme eingesetzt werden, bei denen die Ähnlichkeit zwischen zwei Eingaben gemessen werden soll. Im Gegensatz zu herkömmlichen Klassifikationsmodellen benötigen sie wenig Trainingsdaten und eignen sich besonders für Anwendungen wie Gesichtserkennung, Signaturprüfung oder Textvergleich. In diesem Artikel erfahren Sie, was Siamese Networks sind, wie sie funktionieren, welche Vor- und Nachteile sie haben und wie man sie implementiert.
Ein Siamese Neural Network besteht aus zwei oder mehr identischen Sub-Netzwerken, die denselben Aufbau besitzen. Ziel ist es, die Ähnlichkeit zwischen zwei Eingaben zu berechnen. Dabei erzeugt jedes Sub-Netzwerk eine Feature-Repräsentation der Eingaben, und der Abstand zwischen diesen Repräsentationen dient als Maß für deren Ähnlichkeit.
Traditionelle neuronale Netzwerke benötigen große Mengen an Daten und umfangreiches Neutraining, sobald neue Klassen hinzugefügt werden. In Szenarien wie der Gesichtserkennung oder Signaturprüfung stehen jedoch oft nur wenige Datenpunkte pro Klasse zur Verfügung. Siamese Networks lösen dieses Problem, indem sie eine Ähnlichkeitsfunktion lernen, anstatt konkrete Klassen zu klassifizieren. So können neue Daten effizient erkannt werden, ohne das gesamte Modell neu zu trainieren.
So sieht der Grundaufbau von Siamese Networks aus:
Beispielhafte Schritte in der Architektur:
Anders als bei herkömmlichen Klassifikationsproblemen, bei denen Cross-Entropy Loss verwendet wird, nutzen Siamese Networks speziell angepasste Loss-Funktionen, um Ähnlichkeit zu messen:
Die Contrastive Loss minimiert die Distanz zwischen ähnlichen Eingaben und maximiert die Distanz zwischen unähnlichen Eingaben.
Die Triplet Loss arbeitet mit Bildtripeln: einem Anchor-Bild, einem positiven Bild (ähnlich dem Anchor) und einem negativen Bild (unähnlich dem Anchor). Ziel ist es, den Abstand zwischen dem Anchor und dem positiven Bild zu minimieren und den Abstand zwischen dem Anchor und dem negativen Bild zu maximieren.
Siamese Networks ermöglichen es, die Gesichter von Mitarbeitern anhand eines einzigen Referenzbildes zu erkennen. Ein neues Bild wird mit dem Referenzbild verglichen, und der Ähnlichkeitsscore entscheidet, ob es sich um dieselbe Person handelt.
Vorteile:
Im Bankwesen und in anderen sicherheitskritischen Bereichen kann die Echtheit von Unterschriften geprüft werden. Die Netzwerke vergleichen die Referenzsignatur mit der Eingabesignatur und berechnen die Ähnlichkeit.
Vorteile:
Künstliche Intelligenz für Unternehmen: Ein Ratgeber für Entscheider
Siamese Neural Networks sind eine effiziente Lösung für Ähnlichkeitsprobleme in Szenarien mit wenigen Daten pro Klasse. Durch die Verwendung spezieller Loss-Funktionen wie Contrastive Loss und Triplet Loss lernen sie robuste Feature-Repräsentationen. Dies ermöglicht Anwendungen wie Gesichtserkennung, Signaturprüfung und andere One-Shot-Learning-Probleme.
Trotz der längeren Trainingszeit und der fehlenden Wahrscheinlichkeitsausgabe bieten SNNs erhebliche Vorteile in Bezug auf Skalierbarkeit, Effizienz und Semantische Ähnlichkeit. Sie sind somit ein leistungsstarkes Werkzeug für Aufgaben, bei denen die Ähnlichkeit zwischen Objekten im Vordergrund steht.
Siamese Neural Networks bestehen aus zwei identischen Sub-Netzwerken, die die Ähnlichkeit zwischen zwei Eingaben berechnen, indem sie den Abstand zwischen deren Feature-Repräsentationen messen.
Sie ermöglichen die Erkennung neuer Klassen mit wenigen Trainingsdaten, da sie eine Ähnlichkeitsfunktion anstatt einer festen Klassifizierung erlernen.
Sie benötigen weniger Trainingsdaten, ermöglichen One-Shot-Learning und sind besonders nützlich für Anwendungen wie Gesichtserkennung und Signaturprüfung.
Sie erfordern längere Trainingszeiten durch paarweises Lernen und liefern statt einer Wahrscheinlichkeitsausgabe lediglich einen Ähnlichkeitswert.
Vollumfängliche Implementierungs- und Betriebsunterstützung für führende Softwareprodukte unserer Partnerunternehmen:
Vollumfängliche Implementierungs- und Betriebsunterstützung für führende Softwareprodukte unserer Partnerunternehmen:
Vollumfängliche Implementierungs- und Betriebsunterstützung für führende Softwareprodukte unserer Partnerunternehmen:
Vollumfängliche Implementierungs- und Betriebsunterstützung für führende Softwareprodukte unserer Partnerunternehmen: