CNN知识基础以及模型构建

卷积神经网络的特性:

  • 局部感知机制:卷积是一个滑动的窗口(卷积核)在图像(image)上根据给定的步距进行移动,每次移动都将窗口内的数值乘以卷积核对应的权重并且相加记录到一个新的矩阵中。局部感知说明其每次对图像的一部分进行压缩。
  • 权值共享:在图像的每一个局部中卷积核的权重不变。
  •  
  • 当图片具有多个维度(通道)时,压缩图片需要对应数量的卷积核,不同纬度的卷积核权值设计可以不同,并且也可以设计多套卷积核。
  • 每个通道的卷积核最终会对应叠加为一个输出特征矩阵,所以卷积输出矩阵的维度取决于用了几套卷积核
  • 偏移量(bias):偏移量实际就是对一套卷积核得到的特征矩阵的数值全部加或减一个数值
  • 激活函数:使得引入非线性函数使得模型有解决非线性问题的能力,例如sigmoid和ReLu。
  • 越界问题:当步长不为1时卷积核在移动时可能会越界,这时可以采用padding(添加一行一列0值像素)来解决

 池化层:对特征图进行稀疏处理,减少运算量(进一步压缩)

  • 与卷积的不同之处在于进行下采样的池化层是以固定大小的卷积核,用平均值或最大值来代替卷积核范围内的图像特征。下采样层无训练参数(权重)、只改变特征矩阵的宽与高,不改变深度(卷积深度与卷积核的个数有关)、池化核大小(poolsize)与步距相同(stride

 反向传播

  •  误差计算:以上图中input=2 output=2的一个三层神经网络为例。其中x为输入参数,w为对应权重;中间为隐藏层,σ代表本层激活函数。在全连接层之前的模型输出y1与y2的值如下表示。

 y1和y2经过softmax激活函数归一化处理,使得o1与o2的和为1(概率)。损失的计算(Cross Entropy Loss 交叉熵损失)一般有两种方式:

 两者的区别可以理解为,前者让所有概率和为1,输出节点之间的概率会互相影响,例如判断是个物品的是(90%)或否(10%);后者节点之间不相互影响,例如判断一个人是男人(50%),是人(100%)。

 以上图为例,计算w11(2)的误差梯度(左下角的公司,Loss对w的偏导即为w的误差梯度)。其中o*代表真实结果,o代表模型预测结果。

 根据左边篮筐内的计算过程(y与w的偏导即是上上图中w11的参数a1)得到结果如上图左侧。

最后根据以上公式,更新w11的梯度,就完成了反向传播。

 注意:

 在实际应用中,由于样本数据库巨大,我们一般分批次(batch)将样本放入求解,此时可能会出现损失梯度指向局部最优解的方向,有可能不向全局最优解方向收敛。此时需要引入优化器(optimazer)的概念,优化器能使得分批训练时损失梯度向全局最优解更快更好的收敛。

  • SGD:增加一个α学习率,缺点是容易被噪声影响,陷入局部最优解
  • SGD+momentum:增加一个动量部分,除了计算当前梯度,还会将之前 的梯度加入进来,使得收敛方向不容易受噪声影响
  • Adagrad:自适应学习率。使得在训练过程中s(分母)越来越大,学习率随着训练次数增加就越来越小。
  • RMSProp:相比上者改进了s的公式,添加了两个系数来控制学习率α的衰减速度。
  • Adam:最复杂,类似以上所有的叠加。包含两个阶的动量,更新权值的计算公式如下图:

转置卷积:

 

 reference:13.1 ConvNeXt网络讲解_哔哩哔哩_bilibili

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张北海。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值