鱼C论坛

 找回密码
 立即注册

19.彻底理解深度学习之卷积神经网络

已有 242 次阅读2019-7-24 16:52 |个人分类:自然语言



卷积神经网络
    是深度学习技术中极具代表的网络结构之一,CNN相较于传统的算法避免了对图像复杂的前期预处理过程(提取人工特征等),
    可以直接输入原始图像

    CNN中的局部连接和权值共享方法,下图是一个很经典的图示,左边是全连接,右边是局部连接
    
    对于一个1000 X 1000的输入图像而言,如果下一个隐藏层的神经元数目为10^6个,采用全连接
    则有1000 X 1000 X 10^6 = 10^12个权值参数,如此数目巨大的参数几乎难以训练,而采用
    局部连接,隐藏层的每个神经元仅与图像中10 X 10 的局部图像相连接,那么此时的权值参数
    数量为10 X 10 X 10^6 = 10^8,将直接减少4个数量级。

    尽管减少了几个数量级,但参数数量依然较多,请看权值共享继续减少参数,具体做法是,在局部连接中
    掩藏层的每一个神经元连接的是一个10 X 10的局部图像,因此有10 X 10 个权值参数,将这10 X 10个权值
    参数共享给剩下的神经元,也就是说隐藏层中10^6个神经元的权值参数相同,那么此时不管隐藏层神经云的数目
    是多少,需要训练的参数就是这10 X 10 个权值参数(也就是卷积核)

    这大概即使CNN的一个神奇之处,尽管只有这么少的参数,依旧有出色的性能,但是,这样仅
    提取了图像的一种特征,如果要多提取出一些特征,可以增加多个卷积核,不同的卷积核能够
    得到图像的不同映射下的特征,称之为Feature Map。如果有100个卷积核,最终的权值参数也
    仅为100 X 100 = 10^4个而已,另外,偏置参数也是共享的,同一个滤波器共享一个。

    卷积神经网络由输出层,卷积层,激活函数,池化层,全连接层组成

卷积
    卷积层是卷积核在上一级输入层上通过逐一滑动窗口计算而得,卷积核中的每一个参数都相当于传统神经网络中的权值参数,
    与对应的局部像素相连接,将卷积核的各个参数与对应的局部像素值相乘之和,(通常还要在加上一个偏置参数),得到卷积
    层上的结果。

高维度卷积层
    输入图像和卷积核的对应位置元素相乘再求和,最后加上b,得到特征图,w0的第一层深度和输入图像的蓝色方框中对应元素相乘在
    求和得到0,其他两个深度得到2,0,则有0+2+0+1 = 3即图中右边特征图的第一个元素2,卷积过后,输入图像的蓝色方框在滑动,
    stride=2,

正则化和dropout
    regularization:正则化,通过降低模型的复杂度,通过在cost函数上添加一个正则项的方式来降低overfitting,主要有L1和
    L2两种方式
    Dropout:通过随机删除神经网络中的神经元来解决overflitting问题,在每次迭代的时候,只使用部分神经元训练模型获取w和
    d的值

    对于同一组训练数据,利用不同的神经网络训练之后,求其输出的平均值可以减少过拟合.Dropout就是利用这个原理,每次丢掉
    一半左右的隐藏层神经元,相当于在不同的神经网络上进行训练,这样就减少了神经元之间的依赖性,即每个神经元不能依赖于
    某几个其他的神经元(指层与层之间相连接的神经元),使神经网络更加能学习到与其他神经之间的更加健壮的特征.另外Dropout
    不仅减少过拟合,还能提高准确率

    正则化通过给cost函数添加正则项的方式来解决过拟合,Dropout是通过直接修改神经网络的结构来解决过拟合..

路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-25 10:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部