2

Ich habe ein Netzwerk. An einer Stelle möchte ich concat verwenden. Wie auf diesem Bild. pictureCaffe, benutzerdefinierte Gewichte in Schicht

Leider wird das Netzwerk nicht trainiert. Um zu verstehen, warum ich Gewichte in concat ändern möchte. Das bedeutet, dass alle Werte von FC4096 1 erhalten und alle Werte von FC16000 am Anfang 0 erhalten.

Ich weiß, dass FC4096 wird mir 57% Genauigkeit, so mit Lernrate 10^-6 Ich werde verstehen, warum nach Verkettung Schichten nicht gelernt haben.

Die Frage ist, wie kann ich alle Werte von FC4096 auf 1 und alle Werte von FC16000 auf 0 setzen?

+0

Durch Gewichte, meinen Sie, jeder Wert von FC16000 kommt, wird durch 1 oder _SET_ bis 1 _multiplied_ werden? – GoodDeeds

+0

@GoodDeeds Sorry, ich war nicht klar. Ich wollte Gewichte auf 1 oder 0 setzen. Und Shais Antwort löst mein Problem. –

Antwort

3

Sie können eine "Scale" Schicht oben auf FC16000 und init auf 0 hinzufügen:

layer { 
    name: "scale16000" 
    type: "Scale" 
    bottom: "fc16000" 
    top: "fc16000" # not 100% sure this layer can work in-place, worth trying though. 
    scale_param { 
    bias_term: false 
    filler: { type: "constant" value: 0 } 
    } 
    param { lr_mult: 0 decay_mult: 0 } # set mult to non zero if you want to train this scale 
} 
+1

Vielen Dank! Es klappt! –

Verwandte Themen