Монте-Карло (MC) выбывает в Керасе с R - PullRequest
0 голосов
/ 25 апреля 2018

Как реализовать отсев по методу Монте-Карло с Keras в сверточных нейронных сетях для оценки прогностической неопределенности в соответствии с предложением YARIN GAL? Я использую R. R-код здесь

Я подгоняю модель небольшими партиями и хочу оценить модель также небольшими партиями с отсрочкой по методу Монте-Карло. Не удалось найти подсказки в документации Keras. Кстати, я обучил свою модель с обучением флагу = TRUE.

Спасибо

1 Ответ

0 голосов
/ 26 августа 2018

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