深度学习:算法到实战——卷积神经网络和循环神经网络
本文最后更新于:2023年7月18日 晚上
卷积神经网络的应用
还有人脸识别、自动驾驶、风格转化等等
深度学习三部曲
损失函数
首先将图片表示成向量形式x,再通过函数f得到输出,然后将输出与真实标签对比,用损失函数衡量结果的吻合度,再调整参数和权重使输出和实际吻合。
卷积神经网络的结构
卷积
卷积核大小定义了卷积操作的感受野(Receptive Field),即所有可能影响像 元 x 前向计算的输入区域。步幅定义了卷积核窗口滑动时的单位距离长度;填充 即在图像边缘添加额外的元素(通常为 0),可以使得输入矩阵和输出矩阵具有相 同的大小。
3D 卷积
二维卷积(2D-CNN)能够充分提取图像数据的特征,并用于分类、识别等任务,而对于具有时间维度的视频分析、行为识别等问题,但二维卷积很难捕获数据中的时序信息。因此三维卷积(3D-CNN)操作被提出,并最早应用于行为识别任务,卷积神经网络通过三维的卷积核同时提取数据的时间和空间特征。3D 卷积比 2D 卷积多一个深度维度信息,可以将 2D 卷积看作是深度为 1 的 3D 卷积。
池化层
通过卷积操作,虽然已经对输入特征进行了提取和降维,但是维度仍旧很高,容易在训练中造成过拟合的问题。因此引入池化操作,对卷积后的图像特征进行分块,特征图被分为不相交的多个块,然后计算块内部的最大值或者平均值,从而得到池化后的图像。池化层不包含需要神经网络学习的参数,进行池化操作也不会改变通道数。因此,经过池化层处理的特征图通道数在处理前后相等。此外,采用池化层还可以使神经网络对一些图像局部细节的形态改变保持不变性,其感受野相比运算之前往往更大。
最大值池化(Max Pooling)与均值池化(Mean Pooling)是两种常见的池化操作方式。
全连接层
全连接层(Full Connected Layer)通常处于神经网络的末尾,可以对神经网络所提取的特征进行汇总,将局部特征重新通过权值矩阵组装成完整的图,最终将学习到的“分布式特征表示”映射到样本标记空间。通常使用 softmax 函数将输出结果变换为满足大小为正、和为一的概率分布,以得到最终的分类或回归结果。