蒙特卡洛(MC)辍学在喀拉拉斯与R

时间:2018-04-25 13:30:41

标签: r keras montecarlo convolutional-neural-network dropout

如何使用Keras在卷积神经网络中实现蒙特卡洛辍学来估计YARIN GAL建议的预测不确定性?我正在使用R。R-Code is here

我正在小批量拟合模型,并希望以小批量评估模型以及蒙特卡洛辍学。在Keras文档中找不到任何提示。但是,我用旗帜训练训练我的模型= TRUE。

由于

1 个答案:

答案 0 :(得分:4)

常规辍学仅在训练时而不是测试时随机丢弃神经元,因此这是Dropout类的默认行为。如果您希望MC退出,则还需要在测试时使用training=TRUE,并且必须多次运行前向遍历:这将为您提供预测分布,例如,您可以随意使用计算平均值。

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

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