损失函数的数字看起来不一样



我是深度学习的新手,但我知道通常情况下,损失函数的输出会是0.4、0.6之类的数字,但我得到的损失值看起来有点不同。有人能告诉我发生了什么事吗?

在这个时代,我们可以看到损失数字是这样的4736.9226。

代码:

#三维模型

from keras.layers import Conv3D, MaxPooling3D, BatchNormalization, Dropout, Dense, Flatten, concatenate
from keras.models import Model
from keras import Input
# 3D Convolutional Model:
input_model=Input(shape=(10,250,250,1))
layer=Conv3D(32,(3,3,3),strides=(1,1,1),activation='relu')(input_model)
layer=MaxPooling3D((2,2,2))(layer)
layer=Conv3D(64,(3,3,3),strides=(1,1,1),activation='relu')(layer)
layer=MaxPooling3D((2,2,2))(layer)
layer=BatchNormalization()(layer)
layer=Flatten()(layer)
layer=Dense(128,activation='relu')(layer)
layer=Dropout(0.1)(layer)
layer=Dense(64,activation='relu')(layer)
layer=Dropout(0.1)(layer)
layer=Dense(32,activation='relu')(layer)
layer=Dropout(0.1)(layer)
layer_output=Dense(2,activation='softmax')(layer)
model_3dConv=Model(input_model,layer_output)
model_3dConv.summary()
epoch:
Epoch 1/10
13/13 [==============================] - 91s 7s/step - loss: 4736.9226 - acc: 0.4918 - val_loss: 387258.4062 - val_acc: 0.5625
Epoch 2/10
13/13 [==============================] - 90s 7s/step - loss: 4021.6621 - acc: 0.5050 - val_loss: 246713.4844 - val_acc: 0.5625
Epoch 3/10
13/13 [==============================] - 89s 7s/step - loss: 3532.2977 - acc: 0.5936 - val_loss: 166724.2500 - val_acc: 0.5625
Whereas if I use 2d model this does not happen.

10 epoch:后更新

[![Epoch 1/10
13/13 [==============================] - 91s 7s/step - loss: 4736.9226 - acc: 0.4918 - val_loss: 387258.4062 - val_acc: 0.5625
Epoch 2/10
13/13 [==============================] - 90s 7s/step - loss: 4021.6621 - acc: 0.5050 - val_loss: 246713.4844 - val_acc: 0.5625
Epoch 3/10
13/13 [==============================] - 89s 7s/step - loss: 3532.2977 - acc: 0.5936 - val_loss: 166724.2500 - val_acc: 0.5625
Epoch 4/10
13/13 [==============================] - 94s 7s/step - loss: 2712.2616 - acc: 0.5445 - val_loss: 112906.0078 - val_acc: 0.5625
Epoch 5/10
13/13 [==============================] - 89s 7s/step - loss: 3779.4980 - acc: 0.5557 - val_loss: 75516.1641 - val_acc: 0.5625
Epoch 6/10
13/13 [==============================] - 89s 7s/step - loss: 3778.8524 - acc: 0.5036 - val_loss: 53132.3477 - val_acc: 0.6875
Epoch 7/10
13/13 [==============================] - 91s 7s/step - loss: 3544.4086 - acc: 0.4869 - val_loss: 36817.3906 - val_acc: 0.6875][1]][1]

绝对没有理由the loss function output would be in digits like 0.4, 0.6 something。我不确定你在这里使用的损失函数是什么,但例如,损失函数mse可以是[0, inf)的任何正数。所有的问题都是,你的损失/价值损失应该在每个时代都在下降,看起来你正在这样做。

训练整整10个时期,检查val_loss是否在下降,希望val_acc是否在上升。

最新更新