zoukankan      html  css  js  c++  java
  • 卷积神经网络

    卷积神经网络比神经网络多了卷积2个字,但是其实一般多了2个层:卷积层和池化层。卷积层的作用主要是用来提取特征的,而且能保存好空间结构,因为在全连接层,直接把向量给拉平了。设立多个卷积层,就能提取各种各样的特征。然后就是池化层,它的作用是降采样,就是去除一些图片中“不重要”的东西(把平面维度变小,比如100*100*3变成50*50*3),比如人脸识别,人脸一般在中间,所以图片边框就会降采样多。

    1.卷积层

    卷积其实和滑动窗口算法比较相似,是一个小的卷积核(例如5*5*3),在一个大的输入图像中滑动(例如32*32*3),在滑动匹配的时候,卷积核会和图像上的像素进行内积,如下图,最后滑动完会生成一个28*28*1的激活映射(这里为1的原因是因为在乘的时候也拉平了向量,所以1个卷积核只能生成1个深度为1的激活映射,当有N个卷积核的时候,就会生成深度为N的激活映射,其实也就对应着这个图像的N个特征)

    下面是举例卷积核移动会产生激活映射的例子,形成一个公式输出激活映射大小=(N-F)/stride+1,N是图像的大小,F是卷积核的大小,stride是步长,步长就是卷积核一次移动多少距离(这里一般来说都是正方形,如果不是正方形也可以处理为正方形):

    但是这里有个问题,当步长为3时,得到的就不是整数了,就会形成不对称的特征,所以这个时候不能直接移动3,那怎么办呢,添加0补充!一般来说,卷积核的大小为3,5,7,然后0填充分别为1,2,3,也就是(F-1)/2

    2.池化层

    池化层就是为了降采样,说白了就是减小像素的数量,一般会使用最大化池,即设定一个最大值N,然后在各个N*N(这个值一般为2)方块中取最大值,如下图:

    3.总结

    总的过程一般顺序是卷积--→池化–→全连接层。当然为了更好的提取特征和减少计算(降采样),卷积和池化可能会差穿进行,下图是一个很好的例子:

    会在最后的POOL(池化)层输出给全连接层,然后全连接层通过前面神经网络的方法计算出每个分类的分数,从而进行图像分类。

  • 相关阅读:
    了解Onunload,onbeforeunload事件
    asp.net 获取客服端的Ip地址
    HttpWebRequest WebResponse 对象简单了解
    web 编辑word 之dsoframer控件
    web编辑word之dsoframer(二)
    WebClient 对象实现下载和上传
    jquery datagrid 后台获取datatable处理成正确的json字符串
    doc文档的web查看
    C#中处理字符串对象的函数
    类3-类的static属性
  • 原文地址:https://www.cnblogs.com/tangmiao/p/8202722.html
Copyright © 2011-2022 走看看