Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Anwendung gemeinsamer Verlustfunktionen in neuronalen Zwillingsnetzen

Anwendung gemeinsamer Verlustfunktionen in neuronalen Zwillingsnetzen

PHPz
PHPznach vorne
2024-01-23 13:06:181032Durchsuche

Anwendung gemeinsamer Verlustfunktionen in neuronalen Zwillingsnetzen

Das neuronale Zwillingsnetzwerk ist ein neuronales Netzwerk mit einer Struktur mit zwei Zweigen, das häufig für Ähnlichkeitsmessungs-, Klassifizierungs- und Abrufaufgaben verwendet wird. Die beiden Zweige eines solchen Netzwerks haben die gleiche Struktur und die gleichen Parameter. Nachdem die Eingabe jeweils zwei Zweige durchlaufen hat, wird die Ähnlichkeit über die Ähnlichkeitsmessschicht berechnet (z. B. euklidischer Abstand, Manhattan-Abstand usw.). Beim Training wird üblicherweise eine kontrastive Verlustfunktion oder eine Triplett-Verlustfunktion verwendet.

Die Kontrastverlustfunktion ist eine binäre Klassifizierungsverlustfunktion für siamesische neuronale Netze. Sie zielt darauf ab, die Ähnlichkeit ähnlicher Proben auf nahe 1 und die Ähnlichkeit verschiedener Arten von Proben auf nahe 0 zu maximieren. Sein mathematischer Ausdruck lautet wie folgt:

L_{con}(y,d)=ycdot d^2+(1-y)cdotmax(m-d,0)^2

Diese Verlustfunktion wird zum Messen verwendet zwei Ähnlichkeiten zwischen Proben und entsprechend der Kategorie der Probe optimiert. Unter diesen stellt y dar, ob die Stichprobe zur gleichen Kategorie gehört, d stellt die Ähnlichkeit der beiden Stichproben dar und m stellt einen voreingestellten Grenzwert dar. Wenn y = 1 ist, besteht das Ziel der Verlustfunktion darin, d so klein wie möglich zu machen, auch wenn zwei Stichproben derselben Kategorie ähnlicher sind. Zu diesem Zeitpunkt kann der Wert der Verlustfunktion durch das Quadrat von d ausgedrückt werden, dh der Wert der Verlustfunktion beträgt d ^ 2. Wenn y = 0 ist, besteht das Ziel der Verlustfunktion darin, d größer als m zu machen, selbst wenn die Stichproben zweier verschiedener Kategorien so unterschiedlich wie möglich sind. Wenn d zu diesem Zeitpunkt kleiner als m ist, beträgt der Wert der Verlustfunktion d ^ 2, was die Ähnlichkeit zwischen den Stichproben anzeigt. Wenn d größer als m ist, ist der Wert der Verlustfunktion 0, was die Ähnlichkeit zwischen den Stichproben anzeigt Unter der Annahme, dass der Grenzwert m überschritten wurde, wird der Verlust nicht mehr berechnet.

Die Triplett-Verlustfunktion ist eine Verlustfunktion, die in neuronalen Zwillingsnetzen verwendet wird. Sie zielt darauf ab, den Abstand zwischen Stichproben desselben Typs zu minimieren und zu maximieren der Abstand zwischen Proben unterschiedlichen Typs. Der mathematische Ausdruck dieser Funktion lautet wie folgt:

L_{tri}(a,p,n)=max(|f(a)-f(p)|^2-|f(a)-f( n )|^2+margin,0)

Unter diesen stellt a die Ankerprobe dar, p stellt die gleiche Art von Probe dar, n stellt die unterschiedliche Art von Probe dar und f stellt die Merkmalsextraktionsschicht des siamesischen neuronalen Netzwerks dar , |cdot|. stellt den euklidischen Abstand dar, margin stellt einen voreingestellten Grenzwert dar. Das Ziel der Verlustfunktion besteht darin, den Abstand zwischen Stichproben desselben Typs so klein wie möglich und den Abstand zwischen Stichproben unterschiedlichen Typs so groß wie möglich und größer als die Spanne zu machen. Wenn der Abstand zwischen Stichproben desselben Typs kleiner ist als der Abstand von Stichproben unterschiedlichen Typs abzüglich der Marge, ist der Wert der Verlustfunktion 0, wenn der Abstand von Stichproben desselben Typs größer ist als der Abstand von Stichproben unterschiedlichen Typs Abzüglich der Marge ist der Wert der Verlustfunktion die Differenz zwischen den beiden Abständen.

Kontrastverlustfunktion und Triplettverlustfunktion sind beide häufig verwendete Verlustfunktionen für neuronale Zwillingsnetzwerke. Ihr Ziel besteht darin, Stichproben derselben Kategorie im Merkmalsraum so nah wie möglich und Stichproben verschiedener Kategorien so weit wie möglich voneinander entfernt zu platzieren im Feature-Bereich. In praktischen Anwendungen kann eine geeignete Verlustfunktion basierend auf bestimmten Aufgaben und Datensätzen ausgewählt und mit anderen Techniken (wie Datenverbesserung, Regularisierung usw.) zur Modelloptimierung kombiniert werden.

Das obige ist der detaillierte Inhalt vonAnwendung gemeinsamer Verlustfunktionen in neuronalen Zwillingsnetzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:163.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen