我拥有自己的6600个训练图像集数字(0~9),18200个训练图像集的英文字母较低(a~z),18200个训练图像集的英文字母(A~Z)。
我首先使用CNN模型训练我的数字训练集,但效果很好。
这是我的CNN模型形成。
learning rate = 0.0001
28X28 input image
11X11 output label.(0~9(5500 training sets) and none digit ex)a~z, A~Z(1100 training sets))
CONV1
filter(3,3,1,32)->relu->maxpool(1,2,2,1) and stride(1,2,2,1)
CONV2
filter(3,3,32,64)->relu->maxpool(1,2,2,1) and stride(1,2,2,1)
CONV3
filter(3,3,64,128)->relu->maxpool(1,2,2,1) and stride(1,2,2,1)->reshape(-1, 128*4*4)
FC1
input - (128*4*4)
relu
output - (625)
FC2
input - (625)
relu
output - (11)
its acc :
![enter image description here][1]
its cost : ![enter image description here][2]
我认为CNN模型训练有素。
我用自己的英文低位字母(a~z)训练了相同的CNN模型,问题就出现了。
数字CNN模型只有一个区别,即FC2层输出(27)
以下是使用英文低位字母训练的CNN模型的acc和成本
acc:
费用:
与数字CNN模型相比,acc和成本存在严重的波动情况我想让这个CNN模型更稳定。如果你感兴趣,你会给我一些建议吗?
我认为CNN模型的形成是原因,但无法解释具体问题
答案 0 :(得分:0)
我个人认为英文小写字母(a-z)的波动对我来说是正常的。与数字数据集相比,波动很可能是由数据集中存在的类数量增加引起的。数字数据集只有10个类,但英文小写字母有26个类。因此,在英语小写字母数据集的培训过程中存在更多波动是合乎逻辑的,因为模型更可能遇到以前没有见过的例子。
您可以尝试的一种方法是减少波动是为了增加批量大小,以便模型可以调整其权重,同时查看"在每个培训步骤中的更多示例。
对我的答案不太自信,但这是我在训练CNN的1年多时间里所观察到的。期待看它是否适用于您的模型。