问题标签 [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.
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 类(带有函数及其派生类)。
编辑:我的尝试
不确定我的数学是否正确,所以我没有将其发布为答案。如果有人愿意进行错误检查,我可以将其作为答案。
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 之间的输出值。我应该将计算值恢复为未标准化/原始形式/值吗?或者我应该只标准化目标输出而不是输入值?这真的让我困了好几个星期,因为我没有得到想要的结果,也不确定如何将标准化思想融入我的训练算法和测试中。
非常感谢!!
machine-learning - 为什么只在输出层使用softmax而不在隐藏层使用?
我见过的用于分类任务的大多数神经网络示例都使用 softmax 层作为输出激活函数。通常,其他隐藏单元使用 sigmoid、tanh 或 ReLu 函数作为激活函数。在这里使用 softmax 函数 - 据我所知 - 在数学上也可以计算出来。
- 不使用 softmax 函数作为隐藏层激活函数的理论依据是什么?
- 有没有这方面的出版物,有什么可以引用的?
python - 由多个激活函数组成的神经网络
我正在使用 sknn 包来构建神经网络。为了优化我正在使用的数据集的神经网络参数,我正在使用进化算法。由于该软件包允许我构建一个神经网络,其中每一层都有不同的激活函数,我想知道这是否是一个实际的选择,或者我是否应该只为每个网络使用一个激活函数?在神经网络中具有多个激活函数是否会损害、不损害或有益于神经网络?
另外,我应该拥有的每层神经元的最大数量是多少,每个网络应该拥有的最大层数是多少?
java - 激活函数需要有多精确,其输入需要多大?
我正在用 Java 编写一个基本的神经网络,并且正在编写激活函数(目前我刚刚编写了 sigmoid 函数)。我正在尝试使用double
s (与 sBigDecimal
相对),希望培训实际上需要合理的时间。但是,我注意到该函数不适用于较大的输入。目前我的功能是:
这个函数返回非常精确的值,一直到 when t = -100
,但是当t >= 37
函数返回时1.0
。在一个典型的神经网络中,当输入被归一化时这很好吗?神经元会得到总和超过 37 的输入吗?如果输入到激活函数中的输入总和的大小从 NN 到 NN 不同,有哪些因素会影响它?另外,有什么方法可以使这个函数更精确吗?是否有更精确和/或更快的替代方案?
machine-learning - 在 LSTM 中使用 tanh 的直觉是什么?
在 LSTM 网络中(Understanding LSTMs),为什么输入门和输出门都使用 tanh?
这背后的直觉是什么?
只是非线性变换?如果是,我可以将两者都更改为另一个激活函数(例如,ReLU)吗?
torch - Torch-为什么人们不明确使用激活?
每当我看到在 Torch 中实现的神经网络,nn 时,它们只是将模块连接在一起。例如,有一个带有 LookupTable、Splittable、FasLSTM、Linear、LogSoftMax 的音序器模块。为什么人们不使用介于两者之间的激活函数,例如 tanh/Sigmoid/ReLu?
neural-network - 当标签是概率时,训练 TensorFlow 模型进行回归
我将训练一个神经网络(例如,前馈网络),其中输出只是一个表示概率的实数值(因此在 [0, 1] 区间内)。我应该为最后一层(即输出节点)使用哪个激活函数?
如果我不使用任何激活函数而只输出tf.matmul(last_hidden_layer, weights) + biases
它可能会导致一些负输出,这是不可接受的,因为输出是概率,因此预测也应该是概率。如果我使用tf.nn.softmax
或tf.nn.softplus
模型在测试集中总是返回 0。有什么建议吗?