Почему кривая потерь становится неровной, если я добавляю регуляризацию к слою? - PullRequest
0 голосов
/ 11 ноября 2019

Я использовал тензор потока для обучения модели. Тем не менее, он перегружен, тогда я попытался добавить термин регуляризации, чтобы избежать этого. Но потеря модели не такая плавная, как у оригинала. он имеет форму гребня. Я не знаю, нормально это или нет, или что я могу сделать, чтобы улучшить его?

Моя версия TF - 1.14.0.

Оригинальная модель:

model = keras.Sequential([
        keras.layers.Dense(800, activation=tf.nn.tanh),
        keras.layers.Dense(800, activation=tf.nn.tanh),
        keras.layers.Dense(800, activation=tf.nn.tanh),
        keras.layers.Dense(3)
])


Модифицированная модель:

model = keras.Sequential([
            keras.layers.Dense(800, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l2(0.001), bias_regularizer=tf.keras.regularizers.l2(l=0.001)),
            keras.layers.Dense(800, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l2(0.001), bias_regularizer=tf.keras.regularizers.l2(l=0.001)),
            keras.layers.Dense(800, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l2(0.001), bias_regularizer=tf.keras.regularizers.l2(l=0.001)),
            keras.layers.Dense(3)
])

И оставил другой код без изменений. Наконец, я получаю кривые потерь модели следующим образом: do nothing to layers add a regularization to layers

Я думаю, что у меня должна быть плавная кривая, но я этого не сделал. Большое спасибо за любую помощь заранее!

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