r - 蒙特卡洛 (MC) 在 Keras 中使用 R 退出

标签 r keras montecarlo convolutional-neural-network dropout

如何在卷积神经网络中使用 Keras 实现 Monte Carlo dropout 以估计 YARIN GAL 建议的预测不确定性?我正在使用 R。R-Code is here

我正在小批量地拟合模型,并希望通过蒙特卡罗辍学小批量地评估模型。在 Keras 文档中找不到任何提示。顺便说一句,我用标志训练 = TRUE 训练了我的模型。

谢谢

最佳答案

常规 dropout 仅在训练时随机丢弃神经元,而不是测试时,因此这是 Dropout 的默认行为。类(class)。如果你想要MC dropout,你需要使用training=TRUE在测试时也是如此,您必须多次运行前向传递:这将为您提供预测分布,您可以随意使用,例如计算平均值。

我对 R 不够熟悉,所以这里是我使用的类而不是标准 Dropout类(class):

class MCDropout(keras.layers.Dropout):
    def call(self, inputs, training=None):
        return super(MCDropout, self).call(inputs, training=True)

关于r - 蒙特卡洛 (MC) 在 Keras 中使用 R 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50023666/

相关文章:

R - 如何检测列中的符号变化并添加该符号的值?

r - 使用 QR 分解在 R 中进行多元回归分析

r - 如何将值向量作为 mutate 的参数传递?

python - 如何将输入传递给 Keras 中的 2D Conv?

c - openmp中的Pi不依赖于线程

python - 蒙特卡洛分析 Python 石油和天然气体积

R:不要为 VennDiagram 写日志文件

python - Keras 自定义损失函数 : Accessing current input pattern

python - TypeError : Could not build a TypeSpec for <KerasTensor when using tf. map_fn 和 keras 功能模型

c - C 中的 Pi 近似值 - 为什么我得到的近似值结果为 0?