我正在尝试训练 Keras 神经网络进行回归。我的数据集实例由两个泊松分布组成,一个作为输入(0 和 1 之间的四个元素的向量),另一个作为输出(以及 0 和 1 之间的四个元素的向量)。所以我读到 泊松损失函数可能是这种情况下的最佳损失函数选择。下面是我模型的配置
A_0 = Input(shape=(X.shape[1], ), name='input')
A_1 = Dense(32, kernel_initializer='he_uniform', activation='relu')(A_0)
A_2 = Dense(4, activation='linear')(A_1)
model = Model(inputs=[A_0], outputs=[A_2])
opt = Adam(lr=0.001)
model.compile(loss=tf.keras.losses.Poisson(), optimizer=opt)
当我尝试拟合模型时,我得到了类似的东西
Epoch 1/200
625/625 [==============================] - 1s 530us/step - loss: nan
Epoch 2/200
625/625 [==============================] - 0s 451us/step - loss: nan
Epoch 3/200
625/625 [==============================] - 0s 474us/step - loss: nan
Epoch 4/200
625/625 [==============================] - 0s 449us/step - loss: nan
Epoch 5/200
625/625 [==============================] - 0s 484us/step - loss: nan
nan 丢失的原因是什么? (我的数据集包含一些零,但在缩放后我仍然遇到同样的问题)