Вот параграфы инициалы:
hf = sigmoid(X @ Wf + bf)
hi = sigmoid(X @ Wi + bi)
ho = sigmoid(X @ Wo + bo)
hc = tanh(X @ Wc + bc)
c = hf * c_old + hi * hc
h = ho * tanh(c)
y = h @ Wy + by
prob = softmax(y)
когда я делаю задом наперед в LSTM,:
# Softmax loss gradient
dy = prob.copy()
dy[1, y_train] -= 1.
# Hidden to output gradient
dWy = h.T @ dy
dby = dy
# Note we're adding dh_next here
dh = dy @ Wy.T + dh_next
# Gradient for ho in h = ho * tanh(c)
dho = tanh(c) * dh
dho = dsigmoid(ho) * dho (**** problem here)
Я понимаю "dho = tanh (c) * dh", но незнаете, почему здесь идет нижнее: "dho = dsigmoid (ho) * dho"
может ли какой-нибудь супергерой сказать мне, почему приходит такой вывод?