问题标签 [dropout]

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 投票
1 回答
619 浏览

tensorflow - 向预训练模型 Yolo v1 添加 dropout

我从https://github.com/lovish1234/YOLOv1获得了 Yolo v1 代码(如果添加此链接有许可证问题,请联系我)

据我所知,与 Yolo v1 论文不同,该代码不包含 dropout。同样根据原始论文,他们在第一个连接层之后添加了一个 rate=0.5 的 dropout 层,以防止层之间的共同适应。

所以我将代码更改为

我期待一个积极的结果。但是添加 dropout 后的训练会降低它的功能。有些甚至没有显示框,而对于那些显示的框,框是错误的,并且信心较低。

我找不到我得到这些结果的原因。(我的猜测是经过训练的模型在某处包含 dropout,或者在预训练模型中添加 dropout 层会降低其功能。)

这是我必须做的一个重要项目。但我是 TensorFlow 的新手。如果这是一个简单的问题,请原谅我。另外,如果有人知道答案,请告诉我。谢谢你。

0 投票
1 回答
1177 浏览

python - 如何使用 Keras API 在 TensorFlow Eager 中将 dropout 应用于 RNN 的输出?

我想将 dropout 应用于 RNN 的输出。例如,在 Tensorflow 1.8.0 中,我可以这样做:

如何使用 Keras API 实现相同的目标?

我想过以下两种方法,但都没有成功:

0 投票
1 回答
710 浏览

python - 卷积神经网络(张量流)中损失函数的周期性模式

我正在使用在 Tensorflow 中实现的卷积神经网络 (cnn) 进行图像分割。我有两个类,我使用交叉熵作为损失函数和 Adam 优化器。我正在用大约 150 张图像训练网络。

在训练过程中,我看到了这种周期性模式,训练损失会下降,直到它有几个高值,然后它迅速下降到之前的水平。

训练损失图

在验证损失中也可以观察到类似的模式,验证损失会在几个时期内周期性下降,然后回到之前的水平。

验证损失图

通过降低学习率,这种模式不再可见,但损失更高,联合拦截(IoU)要低得多。

编辑:我发现我有两次带有两个略有不同标签的图像。我还注意到这种模式与 drop_out 有关,在训练图像被学习到 100% 之后,drop_out 会导致在某些迭代中训练误差增加很多,这会导致峰值。有人在辍学时经历过这样的事情吗?

有人见过这样的模式吗?这可能是什么原因?

0 投票
1 回答
10231 浏览

keras - 将 Dropout 与 Keras 和 LSTM/GRU 单元一起使用

在 Keras 中,您可以像这样指定 dropout 层:

但是对于 GRU 单元,您可以将 dropout 指定为构造函数中的参数:

有什么不同?一个比另一个更可取吗?

Keras 的文档 中,它将其添加为单独的 dropout 层(请参阅“使用 LSTM 进行序列分类”)

0 投票
2 回答
137 浏览

r - 如何从原始数据创建累积辍学率表

我正在尝试修改此处发布的解决方案 从原始数据创建队列辍学率表

我想使用这些数据创建一个累积辍学率表。

到目前为止,我已经能够达到这一点

累积辍学率表反映了一个班级内多年来辍学的学生比例。

标题的最后两列显示,到 2014-2015 年年底,60% 的第一组学生辍学;到 2015-2016 年末,第一组 80% 的学生辍学。

我想为第 2 组和第 3 组计算相同的值,但我不知道该怎么做。

0 投票
1 回答
491 浏览

tensorflow - Tensorflow:了解带和不带 Dropout Wrapper 的 LSTM 输出

我正在使用 TensorFlow 1.8.0。

我预计 的输出y2与使用相同y1y2LSTM 单元相同,y1只是它也通过了 dropout 层。由于 dropout 仅应用于 LSTM 单元的输出,因此我认为 的值y2将与y1这里和那里的几个 0 相同。但这就是我得到的y1

y2

中的非零值y2与 中相应位置的值完全不同y1

这是一个错误还是我对在 LSTM 单元的输出上应用 dropout 意味着什么有错误的想法?

0 投票
1 回答
785 浏览

python - 使用 Dropout 层的 noise_shape。Batch_size 不适合提供的样本。该怎么办?

我在我的模型中使用了一个 dropout 层。当我使用时态数据时,我希望每个时间步的noise_shape相同- > (batch_size, 1, features)。

问题是如果我使用的批量大小不适合提供的样本,我会收到一条错误消息。示例:batch_size = 2, samples= 7。在最后一次迭代中,batch_size (2) 大于其余样本 (1)

其他层(我的情况:Masking、Dense 和 LSTM)显然对此没有问题,只需对最后一个不合适的样本使用较小的批次。

ConcreteError:训练数据形状为:[23, 300, 34] batchsize=3

InvalidArgumentError(参见上面的回溯):不兼容的形状:[2,300,34] vs. [3,1,34] [[Node: dropout_18/cond/dropout/mul = Mul[T=DT_FLOAT, _device="/job:localhost /replica:0/task:0/device:CPU:0"](dropout_18/cond/dropout/div, dropout_18/cond/dropout/Floor)]]

这意味着对于最后一批 [ 2,300,34 ],batch_size 不能拆分为 [ 3,1,34 ]

由于我仍处于参数调整阶段(是否会停止:-)),

  • 回顾(使用 LSTM),
  • 训练/验证/测试的拆分百分比,
  • 和批量

仍然会不断变化。所有提到的都会影响训练数据的实际长度和形状。

我可以尝试通过一些计算总是找到下一个适合batch_size的 int。例如,如果batch_size = 4 和samples=21,我可以将batch_size减少到3。但是如果训练样本的数量是例如素数,这又是行不通的。另外,如果我选择 4,我可能想要 4。

我想复杂吗?有没有很多异常编程的简单解决方案?

谢谢

0 投票
2 回答
1485 浏览

machine-learning - 为什么初始网络中没有 dropout 层?

我最近在实现 InceptionNet,遇到了在早期或中期阶段根本没有在网络中实现 dropout 层的场景。这有什么特别的原因吗?

0 投票
1 回答
1044 浏览

python - 两个 Conv 层之间的 Dropout 和 Batchnormalization

我很想知道两个卷积层之间的 dropout 是如何工作的。L如果层中特征图的维度是(m, n_h, n_w, n_c),并且大小的过滤器(f, f, n_c)在其上进行卷积,我们是否在执行卷积之前随机关闭n_c层中通道中的一些单元L?MaxPool 层上的 Dropout 很简单。

批量标准

第三列是层的参数个数。对于 batchnorm 层,我们是否对批次中的每个特征图进行规范化,以便对于每个特征图我们将有 4 个参数,因此在我的情况下,我有32*4 = 128参数?如果我错了,有人可以纠正我。我假设我的假设是错误的,因为我在某个地方读到了我们在整个渠道中标准化的内容。但这并没有计算层的参数数量。

0 投票
0 回答
103 浏览

r - H2O 深度学习模型结果,dropout 缩小

我在训练带有 dropout 的 H2O 深度学习模型时出现下图

错位的预测

用于训练网络的代码是

图对应dro=0.1

为什么我会有这种错位?有什么我错过的选择吗?

您可以在下面找到一段代码来尝试(从此处下载“SampleData.csv” )