2016-05-12 8 views

Antwort

1

Zuerst verstehen Sie wahrscheinlich, dass in jeder Schicht, haben wir n x m Parameter (oder Gewichte), die gelernt werden muss, damit es bildet eine 2-d-Matrix.

n is the number of nodes in the current layer plus 1 (for bias) 
m is the number of nodes in the previous layer. 

Wir haben n x m Parameter, da es eine Verbindung zwischen einem der beiden Knoten zwischen der vorherigen und der aktuellen Ebene ist.

Ich bin ziemlich sicher, dass Delta (großes Delta) auf Schicht L verwendet wird, um partielle abgeleitete Terme für jeden Parameter in Schicht L zu akkumulieren. Sie haben also eine 2D-Matrix von Delta auf jeder Schicht. So aktualisieren Sie die i-ten Zeile (der i-ten Knoten in der aktuellen Ebene) und j-ten Spalte (der j-ten Knoten in der vorhergehenden Schicht) der Matrix,

D_(i,j) = D_(i,j) + a_j * delta_i 
note a_j is the activation from the j-th node in previous layer, 
    delta_i is the error of the i-th node of the current layer 
so we accumulate the error proportional to their activation weight. 

So Ihre Frage zu beantworten Delta sollte eine Matrix sein.

+0

Danke, aber meine Frage ist, warum ein Skalar anstelle einer Matrix als Fehler ausgegeben wird * (a) transpose ist eine Skala. Vielleicht ist der Link, auf den ich hingewiesen habe, falsch? –

+1

Fehler ist nx1 und Transponieren von a ist 1xm, so dass das Produkt nxm ist. Sie haben wahrscheinlich mit (1xn) x (nx1) gerechnet, so dass es zu einem Skalar wird. – greeness

Verwandte Themen