问题标签 [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.
deep-learning - ReLU 什么时候会杀死神经元?
我对垂死的 ReLU 问题感到困惑。ReLU 只会在前向传播期间杀死神经元?还是在向后传球期间?</p>
tensorflow - 由于激活函数的位置不同,MNIST 自动编码器的结果不同
我在玩变分自动编码器时偶然发现了一个奇怪的现象。这个问题描述起来很简单:
在为 VAE 定义损失函数时,您必须使用某种重构误差。我决定使用我自己的交叉熵实现,因为我无法使用 tensorflow 提供的任何函数获得合理的结果。它看起来像这样:
它使用重构层的输出,该层应用 sigmoid 函数将其变为 [0; 1]范围。现在,我想在损失函数中应用 sigmoid 并将其更改为
我相信这应该提供几乎相同的结果。然而,在实践中,第二次尝试会导致奇怪的灰色图片。原件看起来也模糊且明亮得多。首先是好的版本,然后是替代的“错误”版本。
有人可以向我解释导致这种奇怪行为的原因吗?
如果你想自己测试,下面是我的源代码。您必须注释相应的块或注释以获得结果。谢谢!
EDIT1:解决方案
感谢@xdurch0,我意识到重建的输出不再通过 sigmoid 函数重新缩放。这意味着必须在绘制图像之前将 sigmoid 应用到图像上。只需修改输出:
numpy - 如何使用 Numpy 函数实现泄漏 relu
我正在尝试实现泄漏的 Relu,问题是我必须为 4 维输入数组执行 4 个 for 循环。
有没有一种方法可以只使用 Numpy 函数来进行泄漏 relu?
machine-learning - 如何为具有负输入值的 ANN 设置合适的激活函数
我正在创建一个具有 3 个输入神经元的 ANN,这些神经元以 x、y、z 的形式从设备的加速度计获取输入。这些值是正数和负数,具体取决于加速度。我无法获得合适的激活以规范化这些值。另外,我没有得到想要的预测。任何帮助都是有价值的。:-)
tensorflow - 张量流中有logit函数吗?
tensorflow中是否有logit函数,即sigmoid函数的反函数?我已经搜索了谷歌,但没有找到任何。
python - 如果我的输出是代表单词的 Glove 向量,我应该为输出层使用哪个激活函数
我的输出是 332 维(300 手套 + 32 我的自定义向量),这个向量的值范围从 -1 到 +1 我使用 sigmoid 得到了可怕的结果,因为它将输出限制在 0 到 1。我现在正在尝试 Tanh。Softmax 呢?它适合我的情况吗?
neural-network - 为什么 pytorch 有两种非线性激活?
为什么 pytorch 有两种非线性激活?
非线性激活(加权和,非线性): https ://pytorch.org/docs/stable/nn.html#non-linear-activations-weighted-sum-nonlinearity
非线性激活(其他):https ://pytorch.org/docs/stable/nn.html#non-linear-activations-other
python - 神经国际象棋:样本神经网络陷入价值
我正在尝试编写一个神经网络来下棋,但我遇到了输出问题。我正在使用 python-chess 库,并内置了奖励。网络有 4 个输出和三个全连接层。4 个输出应映射在 0 和 7 之间,前两个和后两个输出将每个映射映射到正方形的行列和文件。为了压缩输出,我对每个输出进行 sigmoid 运算并乘以 7。问题是,在几个学习时期之后,学习就碰壁了。无论初始种子如何,网络都会输出相同的输出,例如 3443 或 4333,并且 sigmoid 之前的输出都非常接近于零。我认为这是事实,失败动作的负奖励和 sigmoid 导数将输出移动到 0,因此输出 3s 和 4s。我需要这个网络通过强化学习来学习,
代码:
python - Keras 如何优化没有激活的层的权重?
背景:
如果我没记错的话,在训练网络时,我们前馈对每一层执行 sigmoid(sum(W*x)) 然后在反向传播中我们计算误差和增量(变化),然后我们计算梯度并更新权重.
假设我们在其中一层上没有激活,keras 如何计算梯度?是否只需要sum(W*x)*next_layer_delta*weights
获取当前层的增量并使用它来计算梯度?
代码:
我有这段代码,我写它来创建一个 word2vec 模型(skip-gram):
输入和输出是 1 个热向量。
问题:在这种情况下,keras 如何优化权重以及在隐藏层中没有激活函数的含义是什么?