Was ist der Unterschied zwischen Dropout und Drop Connect?

24

Was ist der Unterschied zwischen Dropout und Drop Connect?

AFAIK, Dropout löscht zufällig versteckte Knoten während des Trainings, hält sie jedoch beim Testen und Dropconnect löscht Verbindungen.

Aber ist das Löschen von Verbindungen nicht gleichbedeutend mit dem Löschen der versteckten Knoten? Sind die Knoten (oder Verbindungen) nicht nur eine Menge von Gewichten?

Machina333
quelle

Antworten:

24

DropOut und DropConnect sind beide Methoden, um eine "Co-Anpassung" von Einheiten in einem neuronalen Netzwerk zu verhindern. Mit anderen Worten, wir möchten, dass Einheiten Merkmale unabhängig von ihren Eingaben extrahieren, anstatt sich auf andere Neuronen zu verlassen.

Angenommen, wir haben ein mehrschichtiges Feedforward-Netzwerk wie dieses (die Topologie spielt keine Rolle). Wir sind besorgt über die gelben versteckten Einheiten in der mittleren Ebene, die sich gemeinsam anpassen.

Beispiel 5-4-3 Netzwerk

Aussteigen

Um DropOut anzuwenden, wählen wir zufällig eine Teilmenge der Einheiten aus und klemmen ihre Ausgabe auf Null, unabhängig von der Eingabe. Dadurch werden diese Einheiten effektiv aus dem Modell entfernt. Jedes Mal, wenn wir ein Trainingsbeispiel präsentieren, wird eine andere Untergruppe von Einheiten zufällig ausgewählt.

Im Folgenden sind zwei mögliche Netzwerkkonfigurationen aufgeführt. In der ersten Präsentation (links) sind die Einheiten 1 und 3 deaktiviert, die Einheiten 2 und 3 wurden jedoch in einer nachfolgenden Präsentation nach dem Zufallsprinzip ausgewählt. Zur Testzeit verwenden wir das gesamte Netzwerk, skalieren jedoch die Gewichte neu, um die Tatsache zu kompensieren, dass sie jetzt alle aktiv werden können (wenn Sie z. B. die Hälfte der Knoten fallen lassen, sollten die Gewichte ebenfalls halbiert werden).

DropOut-Beispiele

DropConnect

DropConnect funktioniert ähnlich, außer dass wir einzelne Wertigkeiten deaktivieren (dh auf Null setzen), anstatt Knoten, sodass ein Knoten teilweise aktiv bleiben kann. Schematisch sieht es so aus:

DropConnect

Vergleich

Diese beiden Methoden funktionieren, da Sie effektiv mehrere Modelle zur gleichen Zeit trainieren und dann zu Testzwecken einen Durchschnitt bilden können. Zum Beispiel hat die gelbe Ebene vier Knoten und somit 16 mögliche DropOut-Zustände (alle aktiviert, Nr. 1 deaktiviert, Nr. 1 und Nr. 2 deaktiviert usw.).

DropConnect ist eine Verallgemeinerung von DropOut, da es noch mehr mögliche Modelle gibt, da es fast immer mehr Verbindungen als Einheiten gibt. Sie können jedoch in einer einzelnen Studie ähnliche Ergebnisse erzielen. Zum Beispiel hat das DropConnect-Netzwerk auf der rechten Seite die Einheit 2 effektiv gelöscht, da alle eingehenden Verbindungen entfernt wurden.

Weitere Lektüre

Die Originalarbeiten sind ziemlich zugänglich und enthalten mehr Details und empirische Ergebnisse.

Matt Krause
quelle
6

Ja, aber sie unterscheiden sich geringfügig in Bezug auf das Fallenlassen der Gewichte.

Dies sind die Formeln von DropConnect (links) und Dropout (rechts).

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Dropout wendet also eine Maske auf die Aktivierungen an, während DropConnect eine Maske auf die Gewichte anwendet.

Das DropConnect-Papier sagt, dass es eine Verallgemeinerung von Dropout in dem Sinne ist, dass

DropConnect ist die Verallgemeinerung von Dropout, bei der jede Verbindung anstelle jeder Ausgabeeinheit wie bei Dropout mit der Wahrscheinlichkeit p getrennt werden kann.

dontloo
quelle