手写体识别

此网络用了一个网络 + 三个并联的网络

第一个网络,识别ACBDE

结构:

输入 32 × 32 × 1

第一层:16个5*5的卷积核,relu激活,maxpool池化

第二层:32个3*3的卷积核,relu激活,maxpool池化

第三层:64个3*3的卷积核,tanh激活,maxpool池化

输出层:将第三层的输出变成一维向量,然后使用5个节点,最后用softmax激活

dropout = 0.6

网络出为分别为ABCDE的概率

网络准确率为98.12

第二个网络,识别A

结构:

输入 32 × 32 × 1

第一层:8个5*5的卷积核,relu激活,maxpool池化

第二层:16个3*3的卷积核,relu激活,maxpool池化

第三层:32个3*3的卷积核,tanh激活,maxpool池化

输出层:将第三层的输出变成一维向量,然后使用1个节点,最后用sigmoid激活

 dropout = 0.5

网络输出为A的概率

网络准确率为99.1

第三个网络,识别C

结构:

输入 32 × 32 × 1

第一层:8个5*5的卷积核,relu激活,maxpool池化

第二层:16个3*3的卷积核,relu激活,maxpool池化

第三层:32个3*3的卷积核,tanh激活,maxpool池化

输出层:将第三层的输出变成一维向量,然后使用1个节点,最后用sigmoid激活

dropout = 0.6 

网络输出为C的概率

网络准确率为99.2

第四个网络,识别E

结构:

输入 32 × 32 × 1

第一层:16个5*5的卷积核,relu激活,maxpool池化

第二层:32个3*3的卷积核,relu激活,maxpool池化

第三层:64个3*3的卷积核,tanh激活,maxpool池化

输出层:将第三层的输出变成一维向量,然后使用1个节点,最后用sigmoid激活

 dropout = 0.4

网络输出为E的概率

网络准确率为98.9

首先将图片输入第一个网络

如果是A的概率最大

就放入第二个网络

若第二个网络判定A的概率 < 0.4

则将A的概率置为0之后寻找最大的概率,并将他作为输出

如果是C的概率最大

就放入第三个网络

若第三个网络判定C的概率 < 0.2

则将C的概率置为0之后寻找最大的概率,并将他作为输出

如果是E的概率最大

就放入第四个网络

若第四个网络判定E的概率 < 0.2

则将E的概率置为0之后寻找最大的概率,并将他作为输出

最后总体网络的查准率为98.29

查全率对于ABCDE分别是 97.86, 98.88, 98.99, 97.63, 98.28

使用11000张图片

8000张图片做训练集 3000张图片做验证集合

对于之前网络的比较:

第一层使用3*3的卷积核时 准确率<97.5

卷积层激活函数全部使用relu 准确率 < 93.0

只使用一个网络 准确率<98.12

因为图像较为简单 第一层使用大卷积核能更好的提取特征

因为是做分类问题,负数对于sigmoid和softmax均有影响

所以在最后一个卷积层使用tanh保留负数

用多个网络加大了神经网络深度的同时,减少了过拟合的出现

猜你喜欢

转载自www.cnblogs.com/shensobaolibin/p/9081087.html