我正在尝试运行一个递归神经网络,其中每个神经元的状态更新函数如下
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