问题标签 [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 投票
0 回答
599 浏览

theano - 在 Theano 中实现 Maxout 激活

Theano 中 maxout 实现的唯一示例在此链接上。我的理解是我使用任何激活函数,然后 maxout 只是隐藏层输出的后处理。

我试图将其应用于我自己的HiddenLayer班级。以下是maxout之前的课程:

如果我正确理解了链接,那么 maxout 实现后的类应该如下所示。这个对吗?如果不是,你能指出我误解了哪一部分吗?

0 投票
1 回答
3281 浏览

c# - C# 中的激活函数列表

我可以在数学中找到激活函数列表,但在代码中找不到。所以我想这将是代码中这样一个列表的正确位置,如果应该有的话。从这两个链接中算法的翻译开始: https ://en.wikipedia.org/wiki/Activation_function https://stats.stackexchange.com/questions/115258/comprehensive-list-of-activation-functions-in -neural-networks-with-pros-cons

目标是通过 UI 轻松访问 Activation 类(带有函数及其派生类)。

编辑:我的尝试

不确定我的数学是否正确,所以我没有将其发布为答案。如果有人愿意进行错误检查,我可以将其作为答案。

0 投票
1 回答
824 浏览

neural-network - sigmoid - 反向传播神经网络

我正在尝试创建一个可用于信用评分的示例神经网络。由于这对我来说是一个复杂的结构,我试图先从小处学习它们。

我使用反向传播创建了一个网络 - 输入层(2 个节点)、1 个隐藏层(2 个节点 +1 个偏差)、输出层(1 个节点),它使用 sigmoid 作为所有层的激活函数。我首先尝试使用 a^2+b2^2=c^2 对其进行测试,这意味着我的输入是 a 和 b,目标输出是 c。

我的问题是我的输入和目标输出值是实数,范围可以从(-/infty,+/infty)。因此,当我将这些值传递给我的网络时,我的错误函数将类似于(目标网络输出)。那是正确的还是准确的?从某种意义上说,我得到了网络输出(范围从 0 到 1)和目标输出(很大)之间的差异。

我已经读过解决方案是首先规范化,但我不确定如何做到这一点。在将输入和目标输出值输入网络之前,我是否应该对其进行标准化?最好使用什么归一化函数,因为我阅读了不同的归一化方法。在获得优化的权重并使用它们来测试一些数据后,由于 sigmoid 函数,我得到了一个介于 0 和 1 之间的输出值。我应该将计算值恢复为未标准化/原始形式/值吗?或者我应该只标准化目标输出而不是输入值?这真的让我困了好几个星期,因为我没有得到想要的结果,也不确定如何将标准化思想融入我的训练算法和测试中。

非常感谢!!

0 投票
5 回答
14043 浏览

machine-learning - 为什么只在输出层使用softmax而不在隐藏层使用?

我见过的用于分类任务的大多数神经网络示例都使用 softmax 层作为输出激活函数。通常,其他隐藏单元使用 sigmoid、tanh 或 ReLu 函数作为激活函数。在这里使用 softmax 函数 - 据我所知 - 在数学上也可以计算出来。

  • 不使用 softmax 函数作为隐藏层激活函数的理论依据是什么?
  • 有没有这方面的出版物,有什么可以引用的?
0 投票
2 回答
4806 浏览

python - 由多个激活函数组成的神经网络

我正在使用 sknn 包来构建神经网络。为了优化我正在使用的数据集的神经网络参数,我正在使用进化算法。由于该软件包允许我构建一个神经网络,其中每一层都有不同的激活函数,我想知道这是否是一个实际的选择,或者我是否应该只为每个网络使用一个激活函数?在神经网络中具有多个激活函数是否会损害、不损害或有益于神经网络?

另外,我应该拥有的每层神经元的最大数量是多少,每个网络应该拥有的最大层数是多少?

0 投票
2 回答
116 浏览

java - 激活函数需要有多精确,其输入需要多大?

我正在用 Java 编写一个基本的神经网络,并且正在编写激活函数(目前我刚刚编写了 sigmoid 函数)。我正在尝试使用doubles (与 sBigDecimal相对),希望培训实际上需要合理的时间。但是,我注意到该函数不适用于较大的输入。目前我的功能是:

这个函数返回非常精确的值,一直到 when t = -100,但是当t >= 37函数返回时1.0在一个典型的神经网络中,当输入被归一化时这很好吗?神经元会得到总和超过 37 的输入吗?如果输入到激活函数中的输入总和的大小从 NN 到 NN 不同,有哪些因素会影响它?另外,有什么方法可以使这个函数更精确吗?是否有更精确和/或更快的替代方案?

0 投票
2 回答
27719 浏览

python - 如何在 Tensorflow 中仅使用 Python 制作自定义激活函数?

假设您需要制作一个仅使用预定义的 tensorflow 构建块无法实现的激活函数,您能做什么?

所以在 Tensorflow 中可以制作自己的激活函数。但它相当复杂,你必须用 C++ 编写它并重新编译整个 tensorflow [1] [2]

有没有更简单的方法?

0 投票
2 回答
48392 浏览

machine-learning - 在 LSTM 中使用 tanh 的直觉是什么?

在 LSTM 网络中(Understanding LSTMs),为什么输入门和输出门都使用 tanh?

这背后的直觉是什么?

只是非线性变换?如果是,我可以将两者都更改为另一个激活函数(例如,ReLU)吗?

0 投票
1 回答
78 浏览

torch - Torch-为什么人们不明确使用激活?

每当我看到在 Torch 中实现的神经网络,nn 时,它们只是将模块连接在一起。例如,有一个带有 LookupTable、Splittable、FasLSTM、Linear、LogSoftMax 的音序器模块。为什么人们不使用介于两者之间的激活函数,例如 tanh/Sigmoid/ReLu?

0 投票
1 回答
267 浏览

neural-network - 当标签是概率时,训练 TensorFlow 模型进行回归

我将训练一个神经网络(例如,前馈网络),其中输出只是一个表示概率的实数值(因此在 [0, 1] 区间内)。我应该为最后一层(即输出节点)使用哪个激活函数?

如果我不使用任何激活函数而只输出tf.matmul(last_hidden_layer, weights) + biases它可能会导致一些负输出,这是不可接受的,因为输出是概率,因此预测也应该是概率。如果我使用tf.nn.softmaxtf.nn.softplus模型在测试集中总是返回 0。有什么建议吗?