我正在训练一个深度学习模型并且得到一个非常低的准确度,但也是低损失,这是两个反向相关的。这种极低精度的原因是什么?如何阻止它呢?
模型应检测视频场景中的异常事件
我用来构建模型的研究论文链接
https://arxiv.org/abs/1604.04574
这是我的代码:
model = Sequential()
model.add(TimeDistributed(Convolution2D(512, 11, 11 ,activation='relu' , border_mode='valid', subsample = (4,4))
, input_shape=(10,231, 231, 1)))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2), strides=None, border_mode='valid')))
model.add(TimeDistributed(Convolution2D(256,5, 5,activation='relu' , border_mode='same')))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2), strides=None, border_mode='valid')))
model.add(TimeDistributed(Convolution2D(128,3,3,activation='relu' , border_mode='same'))),
model.add(TimeDistributed(Conv2DTranspose(128, 3,3,border_mode='same')))
model.add(TimeDistributed(UpSampling2D(size=(2, 2, ))))
model.add(TimeDistributed(Conv2DTranspose(256, 3,3,border_mode='same')))
model.add(TimeDistributed(UpSampling2D(size=(2, 2, ))))
model.add(TimeDistributed(Conv2DTranspose(512,5,5,border_mode='same')))
model.add(TimeDistributed(Conv2DTranspose(1, kernel_size=(11,11),strides=(4,4))))
答案 0 :(得分:4)
问题在于,您在此处解决的任务更多的是回归任务而不是分类任务。计算accuracy
时 - 如果两个float
数字相等,则会正确标记示例,即使您拥有非常好的模型,这也是非常罕见的。因此,我不会对准确性进行太多考虑,并尝试计算,例如R2
得分。