- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在我正在构建的 tensorflow 模型中为我的简单 RNN 使用 relu 激活。它位于深度卷积网络之上。我正在尝试对一系列图像进行分类。我注意到 keras 和 tensorflow 源代码中的默认激活是简单 RNN 的 tanh。是否有一个原因?使用relu有什么问题吗?似乎 relu 会更好地帮助消除梯度。nn = tf.nn.rnn_cell.BasicRNNCell(1024, activation = tf.nn.relu)
最佳答案
RNN 可能会遇到梯度爆炸和梯度消失的问题。当要学习的序列很长时,这可能是一种非常微妙的平衡,很容易陷入其中。这两个问题都是由求幂引起的——每一层都乘以权重矩阵和激活的导数,所以如果矩阵大小或激活导数与 1.0 不同,就会有爆炸或消失的趋势。
ReLU 对梯度爆炸问题没有帮助。事实上,它们可能比在权重很大时自然受限的激活函数更糟糕,例如 sigmoid 或 tanh。
ReLU 确实有助于解决梯度消失问题。然而,LSTM 和 GRU 单元的设计也旨在解决相同的问题(处理从许多时间步之外的潜在弱信号中学习),并且这样做非常有效。
对于具有短时间序列的简单 RNN,使用 ReLU 激活应该没有问题。为了解决训练时梯度爆炸的可能性,您可以查看梯度裁剪(将允许范围之外的梯度视为该范围的最小值或最大值)。
关于tensorflow - 为什么 tensorflow 和 keras SimpleRNN 层的默认激活为 tanh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39180685/
我在 keras 中定义了一个简单的 RNN,代码如下: # define RNN architecture from keras.layers import Input from keras.mod
我有一个医学纵向数据,我正在对其进行研究。 首先,我正在处理 4000 行样本,其中 3 个时间步长(3 列)的骨骼大小对应于在 3 个不同月份测量的骨骼大小。 我已经完成了基本模型。现在我想确定我对
Keras 新手警报!!! 我有一些与 Keras 中的循环层相关的问题(通过 theano) 关于时间步长,输入应该如何格式化(例如,我想要一个具有 3 个时间步长的层,1 个 future 时间步
...来自 TensorFlow,其中几乎所有形状和所有内容都已明确定义,我对 Keras 用于循环模型的 API 感到困惑。让 Elman 网络在 TF 中工作非常容易,但 Keras 拒绝接受正确
我有一个 SimpleRNN喜欢: model.add(SimpleRNN(10, input_shape=(3, 1))) model.add(Dense(1, activation="linear
当使用 SimpleRNN 或 LSTM 进行经典处理时 sentiment analysis算法(此处适用于长度 3200 个参数(内核) l.weights[1].shape == (100,
在下面的代码中,我导入了一个保存的稀疏 numpy 矩阵,使用 python 创建,对其进行致密化,将掩码、batchnorm 和密集输出层添加到多对一 SimpleRNN。 keras 顺序模型工作
我有一个像这样的时间序列数据的数据框 df = pd.DataFrame({'TimeStep': [1, 2, 3, 1, 2, 3], 'Feature1':
我想在我正在构建的 tensorflow 模型中为我的简单 RNN 使用 relu 激活。它位于深度卷积网络之上。我正在尝试对一系列图像进行分类。我注意到 keras 和 tensorflow 源代码
输入元素有 3 行,每行 199 列,输出元素有 46 行 1 列 Input.shape, output.shape ((204563, 3, 199), (204563, 46, 1)) 当给出输
我创建了一个非常简单的顺序模型,但我的数据很不方便(每个样本都是不同长度的序列)。没关系,因为每个数据项都相对重要,所以将每个序列作为唯一批处理进行训练效果很好。一切正常。 模型看起来像: Input
我正在尝试在 Keras 上的 SimpleRNN 上根据文本进行训练。 在 Keras 中,我为 SimpleRNN 指定了一个非常简单的参数,如下所示: model = Sequential()
我是一名优秀的程序员,十分优秀!