论文参考文献

首页 » 常识 » 问答 » PyTorch学习系列教程卷积神经网络
TUhjnbcbe - 2022/5/2 15:04:00
市场营销求职招聘交流QQ群 http://liangssw.com/bozhu/12719.html

导读

前篇推文介绍了深度学习中最为基础和常见的一类网络——深度神经网络,也就是DNN,其源起于MLP网络,经过丰富的激活函数和反向传播算法的加持,使得网络在层数深的情况下能够有效训练,并大大增强了网络的信息表达能力(神经网络模型本质上是在拟合一个相对复杂的映射函数,随着网络层数的增加,能拟合逼近的映射函数可以越复杂,意味着信息表达能力越强)。

本篇继续深度学习三大基石之卷积神经网络(CNN)——一类在计算机视觉领域大放异彩的网络架构。

LeNet5——CNN的开山之作

前篇介绍了DNN网络,理论上通过增加网络层数可以逼近任意复杂的函数,即通用近似定理。但在实践过程中,增加网络层数也带来了两个问题:其一是层数较深的网络容易可能存在梯度消失或梯度弥散问题,其二是网络层数的增加也带来了过多的权重参数,对训练数据集和算力资源都带来了更大的考验。与此同时,针对图像这类特殊的训练数据,应用DNN时需要将其具有二维矩阵结构的像素点数据拉平成一维向量,而后方可作为DNN的模型输入——这一过程实际上丢失了图片像素点数据的方位信息,所以针对图像数据应用DNN也不见得是最优解。

在这样的研究背景下,卷积神经网络应运而生,并开启了深度学习的新篇章。延续前文的行文思路,本篇从以下几个方面展开介绍:

什么是CNN

CNN为何有效

CNN的适用场景

在PyTorch中的使用

01什么是CNN

卷积神经网络,应为ConvolutionalNeuralNetwork,简称CNN,一句话来说就是应用了卷积滤波器和池化层两类模块的神经网络。显然,这里表达的重点在于CNN网络的典型网络模块是卷积滤波器和池化层。所以,这里有必要首先介绍这两类模块。

1.卷积滤波器

作为一名通信专业毕业人士,我对卷积一词并不陌生,最初在信号处理的课中就有所接触。当然,卷积操作本身应该是一个数学层面的操作,对两个函数f(x)和g(x)做卷积,其实就是求解以下积分:

这个卷积的数学表达形式很优美,但其实有些过于抽象。从计算机的角度理解,一个连续的函数积分是不便操作的,因为计算机只能接受离散的输入,所以上述卷积操作的离散表达形式便是:

当然了,上述形式也只是从连续的积分形式变成了离散的求和形式。其中一个值得

1
查看完整版本: PyTorch学习系列教程卷积神经网络