Theano/Pytorch/Tensorflow是否可以自动计算以下梯度



我正在尝试运行一个递归神经网络,其中每个神经元的状态更新函数如下

z = g*y

考虑到

g = (x<x_max & x>x_max-e) | (x>-x_max & x<-x_max+e)

请注意,这里所有的变量都只是标量。

变量x的定义方式是,它总是不断更新,因此g总是一个脉冲,如图所示。也就是说,g在一次更新中不会为1,但在几个连续更新中会为1。

给定这个传递函数,这些包中的任何一个都能实现自动梯度计算吗?

无法计算梯度。

如您所示,g是一个二进制变量。所以它的梯度是无法计算的。即使是你绘制的波形,除了两点(其无穷大,函数是不连续的(之外,其他地方都有梯度0

最新更新