问题标签 [activation-function]
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 - Keras如何在Relu激活函数中使用max_value
keras/activation.py 中定义的 Relu 函数是:
它有一个 max_value 可用于裁剪该值。现在如何在代码中使用/调用它?我尝试了以下方法:(a)
(二)
同样的错误
(C)
这样做的问题是它期望输入出现在第一个值中。错误是'relu() 需要至少 1 个参数(1 个给定)'
那么我该如何做这个图层呢?
有同样的问题'relu() 需要至少 1 个参数(1 个给定)'
如果此文件不能用作图层,那么似乎无法为 Relu 指定剪辑值。这意味着此处的评论https://github.com/fchollet/keras/issues/2119关闭提议的更改是错误的......有什么想法吗?谢谢!
python - 使用 ReLU 作为激活函数的注意事项
我正在实现一个神经网络,并想使用 ReLU 作为神经元的激活函数。此外,我正在使用 SDG 和反向传播训练网络。我正在用范式 XOR 问题测试神经网络,到目前为止,如果我使用逻辑函数或双曲正切作为激活函数,它会正确分类新样本。
我一直在阅读有关使用 Leaky ReLU 作为激活函数的好处,并在 Python 中实现它,如下所示:
NumPynp
的名称在哪里。相关的导数是这样实现的:
使用此功能作为激活我得到不正确的结果。例如:
输入 = [0, 0] --> 输出 = [0.43951457]
输入 = [0, 1] --> 输出 = [0.46252925]
输入 = [1, 0] --> 输出 = [0.34939594]
输入 = [1, 1] --> 输出 = [0.37241062]
可以看出,输出与预期的 XOR 相差很大。那么问题来了,使用 ReLU 作为激活函数有什么特别的考虑吗?
请不要犹豫,向我询问更多上下文或代码。提前致谢。
编辑:导数中有一个错误,因为它只返回一个浮点值,而不是 NumPy 数组。正确的代码应该是:
python-2.7 - 在 NumPy / Python 中规范化复杂值
我目前正在尝试对复杂值进行规范化。由于我没有这样做的好方法,我决定将我的数据集分成两部分,由只有实部的数据和只有虚部的数据组成。
然后分别用
标准化后,是否应该合并两个数据集,使其返回到一个具有复杂值的数据集中?但是我该怎么做呢?
数据标准化已经完成,这样我就可以使用 tanh 作为激活函数,它在 -0.9 到 0.9 => 的范围内运行,这就是为什么我需要将数据集标准化为这些范围的原因。
python - 逻辑函数错误分类
我在尝试教神经网络 XOR 逻辑功能时遇到了麻烦。我已经使用双曲正切和 ReLU 作为激活函数对网络进行了成功的训练(关于 ReLU,我知道它不适合这类问题,但我仍然想测试它)。尽管如此,我还是不能让它与logistic function一起工作。我对函数的定义是:
及其衍生物:
NumPy导入包np
的名称在哪里。由于 XOR 逻辑使用的是 0 和 1,因此逻辑函数应该是适当的激活函数。尽管如此,我得到的结果在所有情况下都接近 0.5,即 0 和 1 的任何输入组合都会产生接近 0.5 的值。我说的有什么错误吗?
不要犹豫,向我询问更多上下文或更多代码。提前致谢。
machine-learning - 激活函数之前的数据归一化
我正在将本教程更改为 matlab,我试图在其中进行分类1/0
。我的每个数据点x
都是维度的30
,即它有 30 个特征。这是我的第一个NN。
我的问题是,当我尝试计算a1=np.tanh(z1)
或在 matlab 中a1 = tanh(z1);
我得到一个1
或-1
值,因为 | z1
|>2。
- 我应该标准化这些值吗?
- 我在本教程中错过了保持在 -2 < z1 < 2 范围内的任何承诺吗?
- 我是否正确假设这是一个超出界限的问题?
neural-network - 如果除了方向之外,幅度也很重要,如何使用神经网络对标量值进行建模
假设您想根据一些输入数据预测温度变化。温度变化是平均值为零的正或负标量。如果只有方向很重要,就可以在输出层中使用 tanh 作为激活函数。但是对于三角洲温度来说,预测变化的幅度也很重要,而不仅仅是符号。
您将如何建模此输出。tanh 似乎不是一个好的选择,因为它给出的值介于 -1 和 1 之间。假设温度变化具有高斯分布或其他一些奇怪的分布,因此徘徊在 tanh(+-0) 的中心准线性域周围对于神经网络来说很难学习。我担心信号会很好,但幅度输出会没用。
如何让网络输出长度为 N 的 one-hot 向量,将此输出向量的 argmax 视为预定义窗口上的温度变化。假设窗口为 -30 - +30 度,使用 N=60 长的 one-hot 向量,如果 argmax( output )=45 表示预测约为 15 度。
我实际上不知道如何搜索这个主题。
machine-learning - 制作多层感知器的训练示例
我正在尝试制作几个训练示例,以获得正确实现硬阈值激活功能的特定网络的一组权重和偏差。
四个输入 x_1, ... x_4 ,其中 x_i 是实数,如果 x_1 < x_2 < x_3 < x_4(排序顺序),网络必须输出(y)1,否则为 0。
硬阈值激活函数;
f(z) = 1(如果 z>= 0)或 0(如果 z <0)
并且,f(y)。
我想训练示例应该是
(-2,-1,0,1) -> 输出 1, (0,0,0,0) -> 输出 0, (0,0,0,1) -> 输出 0, (1,2,3 ,4) -> 输出 1。
.. 等等。但是输入的领域太宽泛,无法建立具体的例子来使用多层感知算法。
你能帮我找到合适的例子来应用algorithm
吗?
neural-network - 神经网络:神经网络中的激活层有什么作用?
我正在阅读所有关于神经网络的精彩文章。我知道我必须使用它,但我在理解激活层实际上做了什么方面遇到了问题。
有人可以用最简单的方式解释吗?
如果我错了,请纠正我,但我认为它是权重(?)或单个神经元对给定观察的重要性。这有点接近吗?
python - 如何在输出层使用softmax激活函数,但在TensorFlow的中间层使用relus?
我有一个由 3 个隐藏层组成的神经网络(所以我总共有 5 个层)。我想在每个隐藏层使用校正线性单元,但在最外层我想在 logits 上应用Softmax。我想使用DNNClassifier
. 我已经阅读了TensorFlow 的官方文档,其中设置了activation_fn
他们所说的参数值:
activation_fn:应用于每一层的激活函数。如果没有,将使用 tf.nn.relu。
我知道我总是可以编写自己的模型并使用激活函数的任意组合。但由于DNNClassifier
更具体,我想诉诸于此。到目前为止,我有: