Регулярное выпадение только случайных выпадений нейронов во время обучения, а не во время теста, так что это поведение по умолчанию класса 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)