learn_dl icon indicating copy to clipboard operation
learn_dl copied to clipboard

fc.python backward()是否有错误?

Open ChangZihao opened this issue 8 years ago • 4 comments

47 行 本层delta的计算应该是用本层的output的backward()结果乘w*上一层delta 是否应该改成self.delta = self.activator.backward(self.output) * np.dot( self.W.T, delta_array)

ChangZihao avatar Jan 04 '18 08:01 ChangZihao

我也觉得是这样

alwaysPKU avatar Jan 18 '18 09:01 alwaysPKU

作者这个函数里面得

self.delta = self.activator.backward(self.output) * np.dot( self.W.T, delta_array)

这段代码计算的是前一层的delta,所以用的是input

yuanLink avatar Feb 09 '18 09:02 yuanLink

是这样的,假设你的代码中建立一个Network([5,4,1]),代表第一全连接层输入5、输出4,第二个全连接层,输入4、输出1,而我们一般可能认为他所写的FullConnectedLayer是表示3层,其实不然。所以当进入最后一层算delta时,其实不是在算输出层的delta(即只有一个节点的那一层),而是进入了一个由输入4、输出1组成的全连接层,用self.input就相当于他理论中介绍的隐藏层的那个delta。

ArinoWang avatar May 05 '18 12:05 ArinoWang