Wie Schwer ist Sigmoid definiert
Arbeite ich auf Tiefe Netze mit keras. Es ist eine Aktivierung "hart sigmoid". Was ist seine mathematische definition ?
Ich wissen, was ist Sigmoid. Fragte jemand ähnliche Frage auf Quora: https://www.quora.com/What-is-hard-sigmoid-in-artificial-neural-networks-Why-is-it-faster-than-standard-sigmoid-Are-there-any-disadvantages-over-the-standard-sigmoid
Aber ich konnte nicht finden, die genaue mathematische definition überall ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit Keras unterstützt sowohl Tensorflow und Theano, die genaue Umsetzung kann unterschiedlich sein für jeden backend - werde ich Theano nur. Für Theano backend Keras verwendet
T.nnet.hard_sigmoid
, die wiederum Linear approximiert standard-sigmoid:D. H. es ist:
max(0, min(1, x*0.2 + 0.5))
Referenz, die
hard sigmoid function
können unterschiedlich definiert werden, an verschiedenen Orten. In Courbariaux et al. 2016 [1] es ist definiert als:Die Absicht ist es, eine Wahrscheinlichkeit Wert (daher einschränken es werden zwischen
0
und1
) für den Einsatz in stochastische Binarisierung der neuronalen Netzwerk-Parameter (z.B. Gewicht, Aktivierung, gradient). Verwenden Sie die Wahrscheinlichkeitp = σ(x)
zurückgegeben, die von der harten sigmoid-Funktion, um die parameterx
zu+1
mitp
Wahrscheinlichkeit, oder-1
mit Wahrscheinlichkeit1-p
.[1] https://arxiv.org/abs/1602.02830 - "Binarized Neuronale Netze: Training der Tiefen Neuronale Netze mit Gewichten und Aktivierungen beschränkt sich auf +1 oder -1,", Matthieu Courbariaux, Itay Hubara, Daniel Soudry, Ran El-Yaniv, Yoshua Bengio, (Eingereicht am 9 Feb 2016 (v1), die zuletzt revidiert 17 Mar 2016 (diese version, v3))
Den harten Sigma ist normalerweise eine stückweise lineare approximation der logistischen sigmoid-Funktion. Je nachdem, welche Eigenschaften der original-Sigma, die Sie behalten möchten, können Sie eine verschiedene Annäherung.
Ich persönlich mag zu halten, die Funktion korrekt auf null, d.h.
σ(0) = 0.5
(shift) undσ'(0) = 0.25
(slope). Dies könnte wie folgt codiertist es
in der coding-Sprache: