我正在使用卷积神经网络(通过Keras)作为面部表情识别模型(55个受试者)。我的数据集非常困难,大约有450k且有7种类别。我已经按主题和类别标签平衡了我的训练集。
我实施了一个非常简单的CNN架构(具有实时数据增强):
在第一个时期之后,我的训练损失持续下降,而验证损失增加。那么过度拟合会这么快发生吗?或者我的数据存在问题导致混淆?我是否应该平衡我的测试集?
我实施了一个非常简单的CNN架构(具有实时数据增强):
model = Sequential()
model.add(Convolution2D(32, 3, 3, border_mode=borderMode, init=initialization, input_shape=(48, 48, 3)))
model.add(BatchNormalization())
model.add(PReLU())
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(256))
model.add(BatchNormalization())
model.add(PReLU())
model.add(Dropout(0.5))
model.add(Dense(nb_output))
model.add(Activation('softmax'))
在第一个时期之后,我的训练损失持续下降,而验证损失增加。那么过度拟合会这么快发生吗?或者我的数据存在问题导致混淆?我是否应该平衡我的测试集?