Установка обучения на уровне отсева в значение True вызвало увеличение MSE и MAE для регрессивной проблемы - PullRequest
0 голосов
/ 20 января 2020

Я хочу провести количественную оценку неопределенности в моей модели глубокого обучения тензорных потоков. Я сделал это, установив для обучения Dropout Layer значение True.

tf.keras.layers.Dropout(p)(X, training=True)

Я делаю прогноз по непрерывному числу (регрессионная задача вместо классификации). Я замечаю, что при установке этого исключения на True мои MSE и MAE увеличиваются, что означает, что моя модель хуже по сравнению с тем, что я просто делаю "нормальную" тренировку (не устанавливая тренировку для исключения на True). Кто-нибудь знает почему? Вот мой код:

def dropout(X, p=0.5, mc=False):
    if mc:
        return tf.keras.layers.Dropout(p)(X, training=True)
    else:
        return tf.keras.layers.Dropout(p)(X)

maxlen = X.shape[1]
embedding_dim = X.shape[2]

inputs = tf.keras.layers.Input(shape=(maxlen,embedding_dim))
model = tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(100,return_sequences=True))(inputs)
model = tf.keras.layers.Dense(50, activation='relu')(model)
model = dropout(model, p=0.5, mc=mc)
model = tf.keras.layers.Flatten()(model)
model = tf.keras.layers.Dense(1)(model)

model = tf.keras.Model(inputs=inputs,outputs=model)

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...