问题标签 [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.

0 投票
4 回答
7771 浏览

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关闭提议的更改是错误的......有什么想法吗?谢谢!

0 投票
2 回答
5379 浏览

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 数组。正确的代码应该是:

0 投票
1 回答
4758 浏览

python-2.7 - 在 NumPy / Python 中规范化复杂值

我目前正在尝试对复杂值进行规范化。由于我没有这样做的好方法,我决定将我的数据集分成两部分,由只有实部的数据和只有虚部的数据组成。

然后分别用

标准化后,是否应该合并两个数据集,使其返回到一个具有复杂值的数据集中?但是我该怎么做呢?

数据标准化已经完成,这样我就可以使用 tanh 作为激活函数,它在 -0.9 到 0.9 => 的范围内运行,这就是为什么我需要将数据集标准化为这些范围的原因。

0 投票
1 回答
90 浏览

python - 逻辑函数错误分类

我在尝试教神经网络 XOR 逻辑功能时遇到了麻烦。我已经使用双曲正切和 ReLU 作为激活函数对网络进行了成功的训练(关于 ReLU,我知道它不适合这类问题,但我仍然想测试它)。尽管如此,我还是不能让它与logistic function一起工作。我对函数的定义是:

及其衍生物:

NumPy导入包np的名称在哪里。由于 XOR 逻辑使用的是 0 和 1,因此逻辑函数应该是适当的激活函数。尽管如此,我得到的结果在所有情况下都接近 0.5,即 0 和 1 的任何输入组合都会产生接近 0.5 的值。我说的有什么错误吗?

不要犹豫,向我询问更多上下文或更多代码。提前致谢。

0 投票
1 回答
1024 浏览

machine-learning - 激活函数之前的数据归一化

我正在将本教程更改为 matlab,我试图在其中进行分类1/0。我的每个数据点x都是维度的30,即它有 30 个特征。这是我的第一个NN。

我的问题是,当我尝试计算a1=np.tanh(z1)或在 matlab 中a1 = tanh(z1);我得到一个1-1值,因为 | z1|>2。

  • 我应该标准化这些值吗?
  • 我在本教程中错过了保持在 -2 < z1 < 2 范围内的任何承诺吗?
  • 我是否正确假设这是一个超出界限的问题?
0 投票
0 回答
479 浏览

neural-network - 如果除了方向之外,幅度也很重要,如何使用神经网络对标量值进行建模

假设您想根据一些输入数据预测温度变化。温度变化是平均值为零的正或负标量。如果只有方向很重要,就可以在输出层中使用 tanh 作为激活函数。但是对于三角洲温度来说,预测变化的幅度也很重要,而不仅仅是符号。

您将如何建模此输出。tanh 似乎不是一个好的选择,因为它给出的值介于 -1 和 1 之间。假设温度变化具有高斯分布或其他一些奇怪的分布,因此徘徊在 tanh(+-0) 的中心准线性域周围对于神经网络来说很难学习。我担心信号会很好,但幅度输出会没用。

如何让网络输出长度为 N 的 one-hot 向量,将此输出向量的 argmax 视为预定义窗口上的温度变化。假设窗口为 -30 - +30 度,使用 N=60 长的 one-hot 向量,如果 argmax( output )=45 表示预测约为 15 度。

我实际上不知道如何搜索这个主题。

0 投票
1 回答
511 浏览

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吗?

0 投票
1 回答
306 浏览

neural-network - 神经网络:神经网络中的激活层有什么作用?

我正在阅读所有关于神经网络的精彩文章。我知道我必须使用它,但我在理解激活层实际上做了什么方面遇到了问题。

有人可以用最简单的方式解释吗?

如果我错了,请纠正我,但我认为它是权重(?)或单个神经元对给定观察的重要性。这有点接近吗?

0 投票
1 回答
147 浏览

tensorflow - nce_loss 中使用了什么激活函数?

我坚持使用word2vec模型中的nce_loss激活函数。我想弄清楚它在这里列出的所有这些中使用的激活函数:

这些包括平滑非线性(sigmoid、tanh、elu、softplus 和 softsign)、连续但并非处处可微的函数(relu、relu6、crelu 和 relu_x)和随机正则化(dropout)。

我已经在这个功能和其他地方搜索过它,但没有得到任何想法。我想这是 relu* 系列。请问有什么提示吗?

0 投票
1 回答
710 浏览

python - 如何在输出层使用softmax激活函数,但在TensorFlow的中间层使用relus?

我有一个由 3 个隐藏层组成的神经网络(所以我总共有 5 个层)。我想在每个隐藏层使用校正线性单元,但在最外层我想在 logits 上应用Softmax。我想使用DNNClassifier. 我已经阅读了TensorFlow 的官方文档,其中设置了activation_fn他们所说的参数值:

activation_fn:应用于每一层的激活函数。如果没有,将使用 tf.nn.relu。

我知道我总是可以编写自己的模型并使用激活函数的任意组合。但由于DNNClassifier更具体,我想诉诸于此。到目前为止,我有: