问题标签 [relu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tensorflow - 如何使用 TensorFlow custom_gradient 定义 ReLU?
我正在练习使用 TensorFlow 的custom_gradient
装饰器,并尝试定义一个简单的 ReLU。人们会认为这就像将梯度定义为何1
时x > 0
和0
否则一样简单。但是,以下代码不会产生与 ReLU 相同的梯度:
有人可以向我解释为什么这个 ReLU 梯度的标准定义不会产生与以下相同的性能:
artificial-intelligence - 使用ReLU时如何确定神经网络最后一层的范围
我对神经网络比较陌生。Atm 我正在尝试编写一个神经网络,用于对 0 到 10 之间的数字进行简单的图像识别。我的目标是激活函数是 ReLU(校正线性单元)。
使用 sigmoid 函数,您很清楚如何最终确定某个案例的概率(因为它在 0 和 1 之间)。
但据我了解,使用 ReLU 我们没有这些限制,但最终可以得到任何值作为先前“神经元”的总和。那么这通常是如何解决的呢?
- 我是否只取所有值中的最大值并说概率为 100%?
- 我是否总结了所有价值并说那是 100%?
- 还是有另一种我看不到atm的方法?
我希望我的问题是可以理解的。提前感谢您抽出宝贵时间查看我的问题。
python - 具有密集层的 TensorFlow 激活函数
我想知道是否可以定义一个自定义激活函数,例如tanh
约束密集层或全连接层的 12 个输出,如下所示:
X
是我的denseLayer.outputs
例如,我找到了一些教程来创建具有渐变的自定义激活函数,例如LeakyRelu6
在 Medium 上,但它总是对所有输出都有限制。
在教程中,他们正在做的是:
总而言之,我想了解如何在我的示例中拥有一个约束 X 的激活函数?
python - relu 函数神经网络输出 0 或 1
我尝试使用 sigmoid 和 relu 函数来实现一个简单的神经网络。使用 sigmoid 函数,我得到了一些不错的输出。但是当使用 relu 时,我得到了 0 或 1 的数组。(我需要 relu 函数,因为我愿意将代码用于某些输出>1)。
tensorflow - 如何使用 tf.GradientTape 模拟 ReLU 梯度
TensorFlow 有一个名为GradientTape的功能,有点像使用蒙特卡洛方法(?)获得梯度。
我正在尝试模拟 ReLU 的梯度,但这不适用于 X 的负半部分。
猜猜我必须在线更改某些y = fx = x
内容,例如添加 aif x<=0
但不知道如何。
上面的代码打印出来:
但它希望是:
neural-network - 使用 ReLU 进行反向传播 - 理解计算
我已经开始使用神经网络,并尝试使用 ReLU 激活函数实现前向和后向传递。但是,当涉及到向后传球时,我觉得我在这里误解了一些相对基本的东西。
我的问题很简单:backward 方法的输出甚至应该看起来如何?我的困惑源于 ReLU 的导数足够简单这一事实,但我不确定如何将其考虑到传递到下一节课的输出中。我绝对知道我不能简单地从旧输入中减去导数,但我无法看到它们是如何结合在一起的。
python - 在 TensorFlow 2.0 中实现 Guided BackProp?
我正在尝试使用 TensorFlow 2.0应用引导式反向传播( https://arxiv.org/abs/1412.6806 )。要应用引导反向传播,我们需要修改 relu 梯度。我阅读了如何在 Tensorflow 2.0 中应用 Guided BackProp?并尝试调整来自 https://gist.github.com/falcondai/561d5eec7fed9ebf48751d124a77b087的代码,但结果与我预期的不一样。我不确定我错过了什么。
这是我所拥有的(结合上面来源的代码):
输出是
代替
python - 用于拟合正弦波的神经网络
所以,我一直在学习神经网络,并尝试从头开始编写它们,并在某些情况下取得了成功。所以,我想到了将一个简单的单层神经网络拟合到正弦波。我知道我可以使用 keras,但我想学习内部工作。我的输入 x 是使用 numpy 从 0 到 10 的值以 0.1 步和 y = sin(x) 生成的,我初始化了网络的权重和偏差,还对反向传播进行了编码。但是在我尝试预测时拟合数据后给了我一条直线。我将层的激活从 sigmoid 更改为 tanh 以及它们各自的梯度,但输出不能预测正弦波。翻遍论坛后,不断出现这种周期性函数,使用RNN。
最终情节 这是我得到的结果。我知道我不应该在最后一层使用 softmax。但我已经尝试了一切,这是我最新的代码。同样对于不同的激活,我尝试了许多时期和许多隐藏节点,它们的 alpha(learningrate) 和 reg(lambda 正则化器) 值不同我做错了什么?我应该在这里尝试RNN吗?我在某处看到使用顺序模型使用了 keras,并且使用了泄漏的 relu 作为激活函数。我没有尝试使用该激活。那是我应该尝试的吗?
tensorflow - 创建像 relu6 这样的自定义非线性
有人可以帮我找到允许我修复阈值(最大值)不超过 relu6 的函数。
我试过了
但我收到了这个错误:
(OperatorNotAllowedInGraphError:Graph 执行中不允许使用 a
tf.Tensor
作为 Python 。使用 Eager 执行或使用 @tf.function 装饰此函数)bool
. 先感谢您
sigmoid - 为什么 Relu 能解决梯度消失问题?
当谈到 sigmoid 时,由于 0~1 的大量乘法,第一个边很少更新。我知道它被称为消失梯度。
但是为什么对 Relu 来说不是问题呢?我认为第一个边缘relu
也很少更新。
既然derivative
是relu
0 或 1,那么它的很多乘法不是收敛到 0 吗?