• 卷积神经网络笔记2



    活动地址:CSDN21天学习挑战赛

    *学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

    • 神经网络的学习能力受神经元数目以及神经网络层次的影响,神经元数目越大,神经网络层次越高,那么神经网络的学习能力越强,那么就有可能出现过拟合的问题
    • Regularization:正则化,通过降低模型的复杂度,通过在cost函数上添加一个正则项的方式来降低overfitting,主要有L1和L2两种方式
    Dropout:通过随机删除神经网络中的神经元来解决overfitting问题,在每次迭代的时候,只使用部分神经元训练模型获取W和d的值。
    • 一般情况下,对于同一组训练数据,利用不同的神经网络训练之后,求其输出的平均值可以减少overfitting。Dropout就是利用这个原理,每次丢掉一半左右的隐藏层神经元,相当于在不同的神经网络上进行训练,这样就减少了神经元之间的依赖性,即每个神经元不能依赖于某几个其它的神经元(指层与层之间相连接的神经元),使神经网络更加能学习到与其它神经元之间的更加健壮robust(鲁棒性)的特征。另外Dropout不仅减少overfitting,还能提高准确率。
    • 正则化是通过给cost函数添加正则项的方式来解决overfitting,Dropout是通过直接修改神经网络的结构来解决overfitting

    在这里插入图片描述
    池化层误差反向传播
    Maxpool 池化层反向传播,除最大值处继承上层梯度外,其他位置置零。
    在这里插入图片描述
    在这里插入图片描述

    Maxpool 池化层反向传播,除最大值处继承上层梯度外,其他位置置零。

    平均池化,我们需要把残差平均分成2*2=4份,传递到前边小区域的4个单元即可。

    误差反向传播前
    在这里插入图片描述
    误差反向传播后
    在这里插入图片描述

    局部响应归一化( LRN )
    局部响应归一化层的建立是模仿生物神经系统的临近抑制机制,对局部神经元的活动创建竞争机制,使得局部响应比较大的值相对更大,这样更能凸显需要的特征,提高模型泛化能力。 LRN一般是在激活、池化后进行的一中处理方法。用 表示经过激活函数后的输出值,对于第j 个卷积核经过激活函数输出的神经元激活值 ,选取临近的n个卷积核卷积后的输出值,将它们在同一个位置上卷积后激活函数的输出值进行求和。其中(x,y) 就代表特征层的坐标位置,i,j就代表不同的卷积核,N为总卷积核数目,k ,a, 和β都是超参数,由验证数据集决定,一般取k =2,a =10-4 , β = 0.75,具体的如下:
    在这里插入图片描述

    数据增强(Data augmentation)
    增加训练数据,则能够提升算法的准确率,因为这样可以避免过拟合,而避免了过拟合你就可以增大你的网络结构了。当训练数据有限的时候,可以通过一些变换来从已有的训练数据集中生成一些新的数据,来扩大训练数据。数据增强的方法有:
    1)水平翻转
    2)随机裁剪
    如原始图像大小为256256,随机裁剪出一些图像224224的图像。如下图,红色方框内为随机裁剪出的224*224的图片。 AlexNet 训练时,对左上、右上、左下、右下、中间做了5次裁剪,然后翻转,得到10张裁剪的图片。防止大网络过拟合(under ubstantial overfitting)。
    3)fancy PCA
    在训练集像素值的RGB颜色空间进行PCA, 得到RGB空间的3个主方向向量,3个特征值, p1, p2, p3, λ1, λ2, λ3. 对每幅图像的每个像素加上如下的变化:

    在这里插入图片描述

  • 相关阅读:
    如何理解 Spring Boot 中的 Starter?
    iMazing传输 iPhone 备忘录和通话记录功能
    java:判断字符串是否为数字
    【2018】【论文笔记】最后一米THz——
    Redis 定长队列的探索和实践
    华为NFC设置教程(门禁卡/公交卡/校园卡等)
    【实践】一种基于Spring Boot最简单的RESTFul接口版本管理
    记一次dotnet拆分包,并希望得大佬指点
    自然辩证法与人工智能:一种哲学与技术的对话
    java.sql.SQLException:Unknown system variable ‘tx_isolation‘问题解决
  • 原文地址:https://blog.csdn.net/leva345/article/details/126173619