Die letzte verborgene Ebene erzeugt Ausgabewerte, die einen Vektor . Die ausgegebene neuronale Schicht soll unter Kategorien mit einer SoftMax-Aktivierungsfunktion klassifizieren , die jeder der Kategorien bedingte Wahrscheinlichkeiten (gegeben ) zuweist . In jedem Knoten in der letzten (oder Ausgabe-) Ebene bestehen die voraktivierten Werte (Logit-Werte) aus den Skalarprodukten , wobei . Mit anderen Worten, jede Kategorie,x⃗ =xK=1,…,kxKw⊤jxwj∈{w1,w2,…,wk}kEs wird ein anderer Vektor von Gewichten darauf zeigen, der den Beitrag jedes Elements in der Ausgabe der vorherigen Ebene (einschließlich einer Vorspannung) bestimmt, eingekapselt in . Die Aktivierung dieser letzten Schicht erfolgt jedoch nicht elementweise (wie zum Beispiel mit einer Sigmoidfunktion in jedem Neuron), sondern durch die Anwendung einer SoftMax-Funktion, die einen Vektor in auf abbildet ein Vektor von Elementen in [0,1]. Hier ist eine erfundene NN zur Klassifizierung von Farben:xRkK
Softmax definieren als
σ(j)=exp(w⊤jx)∑Kk=1exp(w⊤kx)=exp(zj)∑Kk=1exp(zk)
Wir wollen die partielle Ableitung in Bezug auf einen Vektor von Gewichten , aber wir können zuerst die Ableitung von in Bezug auf das Logit erhalten, dh :(wi)σ(j)zi=w⊤i⋅x
∂∂(w⊤ix)σ(j)=∂∂(w⊤ix)exp(w⊤jx)∑Kk=1exp(w⊤kx)=∗∂∂(wi⊤x)exp(w⊤jx)∑Kk=1exp(w⊤kx)−exp(w⊤jx)(∑Kk=1exp(w⊤kx))2∂∂(w⊤ix)∑k=1Kexp(w⊤kx)=δijexp(w⊤jx)∑Kk=1exp(w⊤kx)−exp(w⊤jx)∑Kk=1exp(w⊤kx)exp(w⊤ix)∑Kk=1exp(w⊤kx)=σ(j)(δij−σ(i))
∗- quotient rule
Vielen Dank und (+1) an Yuntai Kyong für den Hinweis, dass in der vorherigen Version des Beitrags ein vergessener Index vorhanden war und die Änderungen im Nenner des Softmax in der folgenden Kettenregel nicht berücksichtigt wurden ...
Nach der Kettenregel
∂∂wiσ(j)=∑k=1K∂∂(w⊤kx)σ(j)∂∂wiw⊤kx=∑k=1K∂∂(w⊤kx)σ(j)δikx=∑k=1Kσ(j)(δkj−σ(k))δikx
Kombinieren Sie dieses Ergebnis mit der vorherigen Gleichung:
∂∂wiσ(j)=σ(j)(δij−σ(i))x