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.

Was sind Siamese Neural Networks?

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.

Warum Siamese Networks?

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.

Funktionsweise und Architektur

So sieht der Grundaufbau von Siamese Networks aus:

  • Identische Sub-Netzwerke: Die Sub-Netzwerke verarbeiten zwei Eingabebilder separat, generieren Feature-Vektoren und teilen sich dabei die Gewichte und Parameter.
  • Vergleich der Feature-Vektoren: Nach der Verarbeitung wird der Abstand zwischen den beiden Feature-Vektoren berechnet, typischerweise durch die euklidische Distanz oder eine ähnliche Metrik.
  • Ähnlichkeitsscore: Ein kleiner Abstand bedeutet, dass die Eingaben ähnlich sind, während ein großer Abstand auf unähnliche Eingaben hinweist.

Beispielhafte Schritte in der Architektur:

  • Eingabebilder A und B durchlaufen zwei identische Sub-Netzwerke.
  • Die Netzwerke erzeugen Vektorrepräsentationen E(A) und E(B).
  • Der Abstand zwischen den beiden Vektoren wird berechnet.
  • Der Abstand wird genutzt, um die Ähnlichkeit der Bilder zu bewerten.

Loss-Funktionen in Siamese Networks

Anders als bei herkömmlichen Klassifikationsproblemen, bei denen Cross-Entropy Loss verwendet wird, nutzen Siamese Networks speziell angepasste Loss-Funktionen, um Ähnlichkeit zu messen:

Contrastive Loss

Die Contrastive Loss minimiert die Distanz zwischen ähnlichen Eingaben und maximiert die Distanz zwischen unähnlichen Eingaben.

Triplet Loss

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.

Anwendungsfälle von Siamese Networks

1. Gesichtserkennung und Mitarbeiter-Anwesenheitssysteme

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:

  • Keine umfangreichen Trainingsdaten erforderlich.
  • Skalierbar bei großen Organisationen: Bei neuen Mitarbeitern genügt ein einziges Bild.
Es gibt viele KI-Tools am Markt. In unserem Webinar zeigen wir Ihnen die wichtigsten KI-Tools für Vertrieb, Service und Marketing.

2. Signaturprüfung

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:

  • Weniger Trainingsaufwand.
  • Reduktion von Betrugsrisiken.

Vor- und Nachteile von Siamese Networks

Vorteile

  • Robustheit bei Klassenungleichgewicht: Für jede Klasse reichen wenige Trainingsbeispiele aus.
  • One-Shot Learning: Neue Klassen erfordern kein Neutraining des Modells.
  • Semantische Ähnlichkeit: Das Netzwerk lernt ähnliche Eingaben nah beieinander im Feature-Raum zu platzieren.
  • Ensemble-Möglichkeiten: SNNs können mit anderen Klassifikationsmodellen kombiniert werden.

Nachteile

  • Längere Trainingszeit: Durch paarweises Lernen erhöht sich der Trainingsaufwand.
  • Keine Wahrscheinlichkeitsausgabe: Statt Klassifikationswahrscheinlichkeiten wird nur ein Distanzwert berechnet.

Implementierung von Siamese Networks

Trainingsprozess

  • Initialisierung des Netzwerks, der Loss-Funktion (z. B. Contrastive Loss) und des Optimizers.
  • Paarweises Training der Eingabebilder durch das Netzwerk.
  • Berechnung des Abstands und der Loss.
  • Backpropagation zur Gewichtsaktualisierung.
  • Speicherung des Modells nach Abschluss der Trainingsepochen.

Testprozess

  • Eingabebilder durch das Netzwerk führen.
  • Euklidische Distanz zwischen den Repräsentationen berechnen.
  • Entscheidung basierend auf einem Ähnlichkeitsschwellenwert treffen.
Cover E-Book KI

E-Book: Künstliche Intelligenz für Entscheider

Künstliche Intelligenz für Unternehmen: Ein Ratgeber für Entscheider

Fazit

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.

FAQ

Was sind Siamese Neural Networks?

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.

Warum werden Siamese Networks verwendet?

Sie ermöglichen die Erkennung neuer Klassen mit wenigen Trainingsdaten, da sie eine Ähnlichkeitsfunktion anstatt einer festen Klassifizierung erlernen.

Welche Vorteile bieten Siamese Networks?

Sie benötigen weniger Trainingsdaten, ermöglichen One-Shot-Learning und sind besonders nützlich für Anwendungen wie Gesichtserkennung und Signaturprüfung.

Welche Herausforderungen gibt es bei der Nutzung von Siamese Networks?

Sie erfordern längere Trainingszeiten durch paarweises Lernen und liefern statt einer Wahrscheinlichkeitsausgabe lediglich einen Ähnlichkeitswert.