zoukankan      html  css  js  c++  java
  • 手写体识别

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

    第一个网络,识别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保留负数

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

  • 相关阅读:
    ssh访问控制,多次失败登录即封掉IP,防止暴力破解
    经常用到的一些命令行
    自定义控件
    委托线程三部曲(引用)
    关于委托
    三个调用的例子(转)
    同一网段的两台电脑通信(转)
    SOCKET原理(转载)
    C#winform和百度API互动-----之JS读取中C#中的函数
    C#winform和百度API互动-----之读取中js的参数
  • 原文地址:https://www.cnblogs.com/shensobaolibin/p/9081087.html
Copyright © 2011-2022 走看看