如何使用Keras在卷积神经网络中实现蒙特卡洛辍学来估计YARIN GAL建议的预测不确定性?我正在使用R。R-Code is here
我正在小批量拟合模型,并希望以小批量评估模型以及蒙特卡洛辍学。在Keras文档中找不到任何提示。但是,我用旗帜训练训练我的模型= TRUE。
由于
答案 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)