2

Ich habe irgendwo gelesen, während der Tests wird kein Dropout angewendet. Was ist der Zweck von dropout Schichten in deploy.prototxt? Ist nicht deploy Datei zum Testen des Modells? Dank im VorausWas ist der Zweck der Dropout-Ebene in deploy.prototxt?

+1

FYI [Dropout: Skalierung der Aktivierung im Vergleich zum Invertieren des Ausfalls] (http://stats.stackexchange.com/q/205932/12359) –

+0

Siehe http://stackoverflow.com/questions/36714363/does-the- Dropout-Layer-muss in Deploy-Prototype-in-Caffe definiert werden. – Royi

Antwort

1

A "Dropout" Schicht wird als eine Art von Regularisierung durch „Abschalten“ -Antworten zufällig während des Trainings verwendet: Die Schicht wird auf Null dropout_ratio out der Eingaben zufällig eingestellt.
Je nachdem, wie der Dropout implementiert wird, müssen Sie möglicherweise den probabilistischen Trainingsabfall durch eine Skalierung zum Testzeitpunkt ersetzen. Das Testzeit-Dropout führt diese Skalierung für Sie durch.

Aktuelle Versionen von caffe "falten" diese Skalierung bereits in die Trainingsphase (siehe dropout_layer.cpp line 41 and 59), wodurch diese Schicht während der TEST-Phase überflüssig wird.

+1

Vielen Dank Shai –