神经网络复习--卷积神经网络及其扩展

卷积

卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,每个平面由多个独立神经元组成

卷积神经网络基本组成:输入层、卷积层、池化层(降维)、全连接层、输出层

卷积运算:两个步骤1. 矩阵内积乘法(两个矩阵相同位置的元素进行乘法运算,得到一个新的矩阵),2. 将内积乘法的结果进行全加

对于实际的卷积,一方面他需要输入图像,这些图像被称为特征图像,另一方面还需要卷积核。卷积核的值是人为设定的,它是可调节的,在实际的卷积神经网路中,卷积核的值就是网络的参数。对卷积网络进行训练,就是在调节这些卷积核的参数。实际用不到太大的卷积核,常见的卷积核大小为3x3, 5x5, 1x1的
随着网络层数的加深后面一个点就能代表前面一个图像的大部分像素点,当卷积核太大,没几层就把前面全部点给覆盖了,层数不深,丢失信息更多,因此卷积核不会太大

卷积参数

  • 卷积核大小(Kernel Size):卷积和大小定义了卷积的视野。2维中常见选择3x3的像素矩阵
  • 步长(Stride) : 步长定义遍历图像时卷积核的移动的步长。虽然它的默认值通常为1,但我们可以使用值维2的步长来进行类似于MaxPooling的图像进行采样(可以对图像进行降维)
  • 填充(Padding):填充定义如何处理样本的边界。Padding的目的是保持卷积操作的输出尺寸等于输入尺寸,因为如果卷积核大于1,则不加Padding会导致卷积操作的输出尺寸小于输入尺寸,填充了为same-conv, 未填充为valid-conv, 而如果要进行填充使图像的尺寸不变则 p = ( f − 1 ) / 2 p = (f - 1) / 2 p=(f1)/2
    通过解公式 得到padding的大小
  • 输入和输出通道(Channels): 卷积层通常需要一定数量的输入通道,并计算一定数量的输出通道

假设有nxn的矩阵输入,fxf的卷积核,p的填充padding, 步长s,则输出的矩阵长为为 ( n + 2 p − f s + 1 ) ∗ ( n + 2 p − f s + 1 ) (\frac{n + 2p - f}{s} + 1)*(\frac{n + 2p - f}{s} + 1) (sn+2pf+1)(sn+2pf+1)
最终向下取整,意味着卷积核只能在输入图像内部移动,不可以移动出边缘

可训练参数的数量
在这里插入图片描述
在这里插入图片描述

池化操作通常叫做子采样或降采样,通过池化来降低卷积层输出的特征维度,池化一般通过简单的最大值、最小值或平均值操作完成。主要功能有:

  1. 抑制噪声
  2. 提升模型的尺度不变性、旋转不变性
  3. 降低模型计算量
  4. 防止过拟合

卷积网络反向传播

全连接中的w,b和神经网络中的推导一致,池化层没有w,b参数,所以不用进行w,b梯度的推导

已知池化层误差,反向求上一层隐藏层误差

在前向传播时,池化层我们会用MAX或者Average对输入层进行池化,池化的区域大小已知。现在我们反过来,要从缩小后区域的误差,还原前一层较大区域的误差。这个过程叫做upsample(上采样)。假设我们池化区域大小位2x2。第 l l l 层的第 k k k 个子矩阵 δ k l \delta_k^l δkl 为:
在这里插入图片描述
首先对其进行扩展进行还原:
在这里插入图片描述
如果是MAX,假设我们之前在前向传播时记录的最大值位置分别是左上,右下,右上,左下,则转换后的矩阵为:
在这里插入图片描述
如果是Average,则进行平均,转换后的矩阵为:
在这里插入图片描述

已知卷积层的误差,推导该层的W, b的梯度

up主讲解

  1. 求解对应 W W W 的梯度
    在这里插入图片描述
    将这层的输入与链式求导对应的上层矩阵进行对应相乘再相加得到对应位置的w的偏导矩阵

  2. 求解对应 x x x 的梯度
    在这里插入图片描述
    将这层的输入与链式求导对应的上层矩阵进行卷积(翻转180度后对应相乘相加)得到对应位置的 x x x 的偏导矩阵

总结:
α L α w = c o n v ( I n p u t X , L o s s g r a d i e n t α L α O ) \frac{\alpha L}{\alpha w} = conv (Input X, Loss gradient \frac{\alpha L}{\alpha O}) αwαL=conv(InputX,LossgradientαOαL)
       α L α x = c o n v ( L o s s g r a d i e n t α L α O , 18 0 o R O T   w ) \ \ \ \ \ \ \frac{\alpha L}{\alpha x} = conv(Lossgradient \frac{\alpha L}{\alpha O}, {180^o ROT\ w})       αxαL=conv(LossgradientαOαL,180oROT w)

卷积神经网络优缺点
优点:

  • 共享卷积核,对高维数据处理无压力
  • 无需手动选取特征,训练好权重,即得特征
  • 分类效果好

缺点:

  • 需要调参,需要大样本量,训练最好要gpu
  • 物理含义不明确

注意力机制

在这里插入图片描述

Transformer

Transformer是一个纯基于注意力机制的结构,并将自注意力机制和多头注意力机制的概念运用到模型中;
由于缺少RNN模型的时序性,Transformer引入了位置编码,在数据上而非模型中添加位置信息;
从而带来的优点:

  1. 更容易并行化,训练更下高效
  2. 在处理长序列的任务中表现优秀,可以快速捕捉长距离中的关联信息

注意力机制在判断词在句子中的重要性,我们通过注意力分数来表达某个词在句子中的重要性,分数越高,说明该词对完成该任务的重要性越大。
计算注意力分数时,我们主要参考三个因素:query、key和value

  • 查询(Query):指的是查询的范围,自主提示,即主观意识的特征向量
  • 键(Key): 指的是被比对的项,非自主提示,即物体的突出特征信息向量
  • 值(Value):则是代表物体本身的特征向量,通常和Key成对出现

注意力机制是通过Query与Key的注意力汇聚(给定一个Query,计算Query与Key的相关性,然后根据Query与Key的相关性去找到最合适的Key)实现对Value的注意力权重分配,生成最终的输出结果。
用一个比较直观的例子来说,每次登录视频网站搜索视频时,搜索的内容为query,搜索结果中显示的视频名称为key,它与任务内容相关,并可以引导我们至具体的视频内容(value)

计算注意力分数,即为计算query与key的相似度。常用的计算注意力分数的方式有两种:additive attention和scaled dot-product attention

Transformer结构
Transformer同样是encoder-decoder的结构,只不过这里的“encoder”和“decoder”是由无数个同样结构的encoder层和decoder层堆叠组成。

在进行机器翻译时,encoder解读源语句(被翻译的句子)的信息,并传输给decoder。decoder接收源语句信息后,结合当前输入(目前翻译的情况),预测下一个单词,直到生成完整的句子。
在这里插入图片描述
位置编码(Positional Encoding)

卷积变体

  1. 组卷积
    分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最后把多个GPU的结果进行融合

    在AlexNet的Group Convolution当中,特征的通道被平均分到不同组里面,最后再通过两个全连接层来融合特征,这样以来,就只能在最后时刻融合不同组之间的特征,对模型的泛化性是相当不利的。

    为了解决这个问题,ShuffleNet在每一次层叠这种Group conv层前,都进行一次channel shuffle(通道打乱),shuffle过的通道被分配到不同组当中。进行完一次group conv之后,再一次channel shuffle, 然后分到下一层组卷积当中,依次循环。
    请添加图片描述

  2. 可分离卷积
    在可分离卷积中,通常将卷积操作拆分成多个步骤
    在这里插入图片描述
    在这里插入图片描述

  3. 膨胀卷积
    在这里插入图片描述
    在这里插入图片描述

  4. 全卷积网络
    在这里插入图片描述

  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
人脸表情识别是一种人机交互的技术,可以通过分析人脸特征来识别和理解人的表情。为构建一个有效的人脸表情识别模型,可以使用深度卷积神经网络u-net和局部监督卷积神经网络ls-cnn进行设计。 首先,我们可以使用u-net作为特征提取和图像分类器的基础框架。u-net是一种能够有效处理图像语义分割任务的网络结构,其具有编码器和解码器两个部分。通过编码器,可以将输入的人脸图像逐渐降采样为低维度的特征图,提取人脸表情的主要特征。然后,通过解码器,将低维度特征图逐步上采样,并与编码器中对应层的特征图进行拼接,从而恢复原始图像的空间分辨率。最后,利用卷积操作对特征图进行分类,得到人脸表情的分类结果。 其次,在u-net的基础上,我们可以引入局部监督卷积神经网络ls-cnn来提升模型的识别性能。ls-cnn是一种结合全局信息和局部信息的网络结构,能够更好地捕捉人脸表情的细节特征。在ls-cnn中,可以在每个编码器和解码器的网络层之间引入子网络,用于局部特征的学习和融合。这样可以使模型更好地关注人脸表情的细微差别,提高识别的准确性和鲁棒性。 综上所述,构建基于深度卷积神经网络u-net和局部监督卷积神经网络ls-cnn的人脸表情识别模型能够充分利用深度学习的优势,提取人脸图像中的特征,并结合全局和局部信息来进行分类。这种模型可以有效地识别和理解人的表情,为人机交互和情感计算提供有力支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ˇasushiro

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

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

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

打赏作者

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

抵扣说明:

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

余额充值