Validation 为什么要添加一个导致大量val_损失和val_mae的丢失层?

Validation 为什么要添加一个导致大量val_损失和val_mae的丢失层?,validation,keras,regression,loss,dropout,Validation,Keras,Regression,Loss,Dropout,最近,我在回归任务中使用了几个密集层 我使用SELU激活和lecun_normal为每个致密层 但是,当我在一个隐藏层之后添加一个AlphaDropout层时,val_损失变得非常巨大,如下所示: Train on 582050 samples, validate on 83150 samples Epoch 1/1000 582050/582050 [==============================] - 3s 4us/sample - loss: 22.1010 - mae:

最近,我在回归任务中使用了几个密集层

我使用SELU激活和lecun_normal为每个致密层

但是,当我在一个隐藏层之后添加一个AlphaDropout层时,val_损失变得非常巨大,如下所示:

Train on 582050 samples, validate on 83150 samples

Epoch 1/1000

582050/582050 [==============================] - 3s 4us/sample - loss: 22.1010 - mae: 22.5942 - val_loss: 70.2438 - val_mae: 70.7436

Epoch 2/1000

582050/582050 [==============================] - 2s 3us/sample - loss: 12.6855 - mae: 13.1761 - val_loss: 67.6379 - val_mae: 68.1378
如果不使用alphadropout,则val_loss和val_mae的值与train_loss和train_mae的值相似

model = keras.Sequential([keras.layers.Dense(256, activation="selu", kernel_initializer="lecun_normal", input_shape=[input_size]),
                          keras.layers.Dense(256, activation="selu", kernel_initializer="lecun_normal"),
                          keras.layers.AlphaDropout(rate=0.2),
                          keras.layers.Dense(256, activation="selu", kernel_initializer="lecun_normal"),
                          keras.layers.Dense(200)])

model.compile(loss=keras.losses.Huber(), optimizer=keras.optimizers.Nadam(), metrics=["mae"])
为什么添加alpha漏层会导致较大的val_损耗和val_mae