Theano / Pytorch / Tensorflow 可以自动计算以下梯度吗?
Posted
技术标签:
【中文标题】Theano / Pytorch / Tensorflow 可以自动计算以下梯度吗?【英文标题】:Can Theano / Pytorch / Tensorflow compute the following gradient automatically? 【发布时间】:2019-05-01 16:19:33 【问题描述】:我正在尝试运行一个循环神经网络,其中每个神经元的状态更新函数如下
z = g*y
鉴于
g = (x<x_max & x>x_max-e) | (x>-x_max & x<-x_max+e)
请注意,这里的所有变量都只是标量。
变量 x 的定义方式是它始终会不断更新,因此 g 将始终是一个脉冲,如 this picture 所示。也就是说,g 不会在一次更新中为 1,但在多次连续更新中为 1。
在给定这个传递函数的情况下,这些包中的任何一个都可以实现自动梯度计算吗?
【问题讨论】:
【参考方案1】:无法计算梯度。
g
如您所示,是一个二进制变量。所以它的梯度无法计算。即使是您绘制的波形,除了两个点(其无穷大,函数不连续)外,其他任何地方的梯度都为 0
【讨论】:
以上是关于Theano / Pytorch / Tensorflow 可以自动计算以下梯度吗?的主要内容,如果未能解决你的问题,请参考以下文章
ModuleNotFoundError:没有名为“theano.tensor.shared_randomstreams”的模块
求教,theano.tensor中的max和argmax有啥区别
ubuntu 中用pip安装了theano后怎么找不到theano,tensor,signal,downsample