Backpropagation: Wäre bei Methoden zweiter Ordnung die ReLU-Ableitung 0? und wie wirkt es sich auf das Training aus?


7

ReLU ist eine Aktivierungsfunktion, definiert als wobei a = Wx + b .h=max(0,a)a=Wx+b

Normalerweise trainieren wir neuronale Netze mit Methoden erster Ordnung wie SGD, Adam, RMSprop, Adadelta oder Adagrad. Die Rückausbreitung in Verfahren erster Ordnung erfordert eine Ableitung erster Ordnung. Daher wird x zu 1 abgeleitet 1.

Aber wenn wir Methoden zweiter Ordnung verwenden, wäre die Ableitung von ReLU 0 ? Weil x zu 1 und wieder zu 0 abgeleitet wird 0. Wäre es ein Fehler? Mit der Newtonschen Methode teilen Sie beispielsweise durch 0 . (Ich verstehe die hessische Optimierung noch nicht wirklich. IIRC, es geht darum, ein ungefähres Hessisches anstelle des echten zu verwenden.)

Was bewirkt dieses h=0 ? Können wir das neuronale Netzwerk mit ReLU noch mit Methoden zweiter Ordnung trainieren? Oder wäre es nicht trainierbar / fehlerhaft (nan / unendlich)?


Aus Gründen der Klarheit ist dies ReLU als f(x) :

f(x)=

0forx<0xforx0

f(x)=

0forx<01forx0

f(x)=0

Antworten:


5

Ja, die Ableitung zweiter Ordnung von ReLU ist 0. Technisch gesehen sind weder noch bei , aber wir ignorieren das - in der Praxis ein genaues ist selten und nicht besonders aussagekräftig, daher ist dies kein Problem. Die Newton-Methode funktioniert bei der ReLU-Übertragungsfunktion nicht, da sie keine stationären Punkte aufweist. Bei den meisten anderen gängigen Übertragungsfunktionen funktioniert dies jedoch nicht sinnvoll - sie können für endliche Eingaben nicht minimiert oder maximiert werden.dydxd2ydx2x=0x=0

Wenn Sie mehrere ReLU-Funktionen mit Schichten von Matrixmultiplikationen in einer Struktur wie einem neuronalen Netzwerk kombinieren und eine Zielfunktion minimieren möchten, ist das Bild komplizierter. Diese Kombination hat stationäre Punkte. Sogar ein einzelnes ReLU-Neuron und ein mittleres quadratisches Fehlerobjektiv weisen ein ausreichend unterschiedliches Verhalten auf, so dass die Ableitung zweiter Ordnung des einzelnen Gewichts variiert und nicht garantiert 0 ist.

Nichtlinearitäten, wenn mehrere Schichten kombiniert werden, erzeugen eine interessantere Optimierungsoberfläche. Dies bedeutet auch, dass es schwieriger ist, nützliche partielle Ableitungen zweiter Ordnung (oder hessische Matrix ) zu berechnen , es geht nicht nur darum, Ableitungen zweiter Ordnung der Übertragungsfunktionen zu nehmen.

Die Tatsache, dass für die Übertragungsfunktion ist, macht einige Terme in der Matrix zu Null (für den Effekt zweiter Ordnung aus derselben Neuronenaktivierung), aber die Mehrheit der Terme im Hessischen sind von der Form wobei E die Zielsetzung und ist , sind verschiedene Parameter des neuronalen Netzes. Eine vollständig realisierte hessische Matrix hat Terme, wobei die Anzahl der Parameter ist - mit großen neuronalen Netzen mit mehr als 1 Million Parametern, selbst bei einem einfachen Berechnungsprozess, und viele Terme sind 0 (z. B. 2 Gewichte in derselben Schicht) ist möglicherweise nicht durchführbar.d2ydx2=02ExixjxixjN2N

Es gibt Techniken, um die Auswirkungen von Derivaten zweiter Ordnung abzuschätzen, die in einigen Optimierern für neuronale Netze verwendet werden. RMSProp kann beispielsweise als grobe Schätzung von Effekten zweiter Ordnung angesehen werden. Die "Hessisch-freien" Optimierer berechnen die Auswirkung dieser Matrix expliziter.


Also wird es gut? Kein Fehler (nan / unendlich)?
Rilut

Ich habe von einer hessischen Optimierung gehört. Ich dachte, es geht nur darum, einen angenäherten hessischen anstelle des echten zu verwenden.
Rilut

1
Ja, ich denke, die meisten Techniken schätzen Hessisch, anstatt zu versuchen, es robust zu berechnen. Ich weiß nicht warum, würde aber annehmen, weil es schwierig oder unmöglich ist, die Backpropagation zu konstruieren, da Effekte zweiter Ordnung Terme verwickeln, z. B. wobei x und y Parameter sind aus verschiedenen Schichten. 2xy
Neil Slater

1
@rilut: Ich habe die Antwort aktualisiert, da ich denke, dass Ihre Verwirrung auf der Tatsache beruht, dass Newtons Methode bei der ReLU-Übertragungsfunktion nicht funktionieren würde. Da haben Sie recht. Sobald Sie jedoch ReLU mit einer Zielfunktion kombinieren (selbst etwas so Einfaches wie ein einzelnes Neuron und ein mittleres quadratisches Fehlerziel), beginnt es zu funktionieren.
Neil Slater

Genial. Einfach super.
Rilut
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.