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保留负数

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

  • 相关阅读:
    CA证书申请、认证原理
    流量异常监控
    排查和处理一台被攻击的linux系统及其事后分析
    day39---mysql基础三
    一次专利讲座的笔记
    HBase MVCC 代码阅读(一)
    [翻译]HBase 中的 ACID
    [翻译]HBase 的 MVCC 和内建的原子操作
    HBase Maven 工程模块梳理
    关于 MVCC 的基础
  • 原文地址:https://www.cnblogs.com/shensobaolibin/p/9081087.html
Copyright © 2011-2022 走看看