2016-07-31 6 views
5

Ich benutze Tensorflow, um ein Convnet mit einer Reihe von 15000 Trainingsbildern mit 22 Klassen zu trainieren. Ich habe 2 Conv-Schichten und eine vollständig verbundene Schicht. Ich habe das Netzwerk mit den 15000 Bildern trainiert und habe Konvergenz und hohe Genauigkeit im Trainingssatz erfahren.Warum verhindert ein Aussetzer die Konvergenz im Convolutional Neural Network?

Allerdings hat mein Testgerät eine viel geringere Genauigkeit, daher gehe ich davon aus, dass das Netzwerk übermäßig passt. Um dies zu verhindern, habe ich Dropout vor der vollständig verbundenen Ebene meines Netzwerks hinzugefügt.

Das Hinzufügen von Ausfällen hat jedoch verursacht, dass das Netzwerk nach vielen Iterationen nie konvergiert. Ich habe mich gefragt, warum das so sein könnte. Ich habe sogar eine hohe Dropout-Wahrscheinlichkeit (Wahrscheinlichkeit von .9 halten) und habe die gleichen Ergebnisse erlebt.

+1

Je höher der Aussetzer, desto weniger würde ich erwarten, dass es konvergiert. Hast du niedrigere Dropout-Raten versucht? –

+0

Nun, er könnte über das Setzen von keep_prob auf 0,9 sprechen, was nur 10% der Neuronen auf Null setzt. Wenn Sie tatsächlich 90% der Neuronen auf Null setzen, wäre dies das Problem. Was mir normalerweise hilft, wenn ein Modell nicht konvergiert, ist eine Senkung der Lernrate um den Faktor 10. Sehen Sie, ob das hilft. – chasep255

+0

Danke, ich werde das versuchen. Ja mein schlechtes Ich meinte, dass mein Keep_prob .9 war. –

Antwort

0

Nun, indem Sie Ihre Dropout-Wahrscheinlichkeit 0,9 halten, bedeutet dies, dass es eine Wahrscheinlichkeit von 10% gibt, dass diese Neuronenverbindung in jeder Iteration aussteigt. Also sollte für Dropout auch ein optimaler Wert sein.

This is taken from cs231 course

Wie in der oben Sie mit dem Dropout verstehen können wir auch unsere Neuronen Skalierung. Der obige Fall ist 0,5. Wenn es o.9 ist, wird es wieder eine andere Skalierung geben.

Also im Grunde, wenn es 0,9 Dropout Wahrscheinlichkeit halten wir müssen es um 0,9 skalieren. Was bedeutet, dass wir beim Testen etwas größer werden.

Nur dadurch können Sie eine Idee bekommen, wie Dropout beeinflussen kann. Also durch einige Wahrscheinlichkeiten kann es Ihre Knoten usw. sättigen, die das nicht konvergierende Problem verursacht.

Verwandte Themen