ELU激活在第二个时期后停止改善损失

时间:2019-09-20 09:42:46

标签: python keras tf.keras

我仅使用ReLU激活构建了以下神经网络,它收敛了一些可接受的水平。我想尝试另一种激活方法,因为我阅读了它应该可以改善更深层次的培训。这是我的模型:

model = tfk.Sequential([
          tfk.layers.Dense(h1, input_shape=(4,), activation='elu',kernel_initializer='he_uniform'),
          tfk.layers.GaussianDropout(drop1),    
          tfk.layers.Dense(h2, activation= 'relu',kernel_initializer='he_uniform'),
          tfk.layers.Dense(h3, activation= 'elu',kernel_initializer='he_uniform'),
          tfk.layers.Dense(h4, activation= 'elu',kernel_initializer='he_uniform'),
          tfk.layers.Dense(h4, activation= 'elu',kernel_initializer='he_uniform'),
          tfk.layers.Dense(1,activation='relu',kernel_initializer='he_uniform'),
       ])

之所以在输出层中也使用ReLu激活,是因为我期望只有正输出。

问题在于它在前两个时期后停止训练。

Epoch 1/200
270625/270625 [==============================] - 41s 153us/sample - loss: 0.3676 - val_loss: 0.3654
Epoch 2/200
270625/270625 [==============================] - 39s 146us/sample - loss: 0.3674 - val_loss: 0.3654
Epoch 3/200
270625/270625 [==============================] - 40s 147us/sample - loss: 0.3674 - val_loss: 0.3654

无论多少个时代,损失都不会动。我尝试使用glorot_uniform初始化,结果相似。

我想知道问题是否出在tfk.layers.Dense中通过ELU激活的方式。因为它应该接收参数 alpha ,但是我无法在tfk.keras

中弄清楚该如何做。

0 个答案:

没有答案