Fassen Sie die Fehlerrückausbreitung der Sigmoidfunktion zusammen
Die Unterscheidung der Sigmoy-Grad-Funktion hat eine schöne und einfache Form.
** Sigmoidfunktion: **
sigmoid(x) = \frac{1}{1+e^{-x}}
** Differenzierung der Sigmoidfunktion: **
sigmoid'(x) = \frac{1}{1+e^{-x}} * ( 1 - \frac{1}{1+e^{-x}})
Daher wird der Fehlerrückausbreitungscode der Sigmoidfunktion auch wie folgt vereinfacht.
Class Sigmoid(object):
def __init__(self, x):
self.x = x
def forward(self):
y = 1.0 / (1.0 + np.exp(- self.x))
self.y = y
return y
def backward(self, grad_to_y):
grad_to_x = grad_to_y * self.y * (1.0 - self.y)
return grad_to_x
Recommended Posts