Monte Carlo (MC) 在 Keras 中使用 R 丢失

Monte Carlo (MC) dropout in Keras with R

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

我正在小批量拟合模型,并且想用 Monte Carlo dropout.Could 小批量评估模型 dropout.Could 在 Keras documentation.BTW 中找不到任何提示,我训练了我的带有标志 training=TRUE 的模型。

谢谢

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

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

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