卷积神经网络基础知识和相关算法汇总版
demi 在 周三, 06/19/2019 - 16:01 提交
神经网络的发展史可以分为三个阶段,第一个阶段是Frank Rosenblatt提出的感知机模型,感知机模型的逻辑简单有效,但不能处理异或等非线性问题。第二个阶段是Rumelhart等提出的反向传播算法,该算法使用梯度更新权值,使多层神经网络的训练成为可能。第三个阶段得益于计算机硬件的发展和大数据时代的到来,促进了深度神经网络的发展。
卷积(Convolution)是一种数学运算,常用于信号处理和图像处理领域,也在深度学习中的卷积神经网络(CNN)中发挥着关键作用。简单来说,卷积是通过在两个函数之间滑动并在每个位置上计算它们的积分来生成一个新的函数。
在图像处理中,卷积通常用于图像的特征提取。
神经网络的发展史可以分为三个阶段,第一个阶段是Frank Rosenblatt提出的感知机模型,感知机模型的逻辑简单有效,但不能处理异或等非线性问题。第二个阶段是Rumelhart等提出的反向传播算法,该算法使用梯度更新权值,使多层神经网络的训练成为可能。第三个阶段得益于计算机硬件的发展和大数据时代的到来,促进了深度神经网络的发展。
卷积神经网络(CNN)在计算机视觉大放异彩,入门CNN的第一步就是理解什么是卷积(Convolution)运算。本文旨在以通俗易懂的方式让读者理解卷积的概念。
本文清晰展示三种模式的不同之处,其实这三种不同模式是对卷积核移动范围的不同限制。
卷积过程是卷积神经网络最主要的特征。然而卷积过程有比较多的细节,初学者常会有比较多的问题,这篇文章对卷积过程进行比较详细的解释。
卷积神经网络四种卷积类型:一般卷积;扩张的卷积;转置卷积;可分离的卷积。
卷积操作的维度计算是定义神经网络结构的重要问题,在使用如PyTorch、Tensorflow等深度学习框架搭建神经网络的时候,对每一层输入的维度和输出的维度都必须计算准确,否则容易出错,这里将详细说明相关的维度计算。
离散卷积是两个离散序列之间按照一定的规则将它们的有关序列值分别两两相乘再相加的一种特殊的运算。
转置卷积又叫反卷积、逆卷积。不过转置卷积是目前最为正规和主流的名称,因为这个名称更加贴切的描述了卷积的计算过程,而其他的名字容易造成误导。在主流的深度学习框架中,如TensorFlow,Pytorch,Keras中的函数名都是conv_transpose。
在图像识别中,卷积神经网络(CNN)无疑是现在最先进的方法。CNN的基础操作是对图像中的局部区域做卷积提取特征,在每一层的卷积中使用相同的卷积核(共享参数)以减少参数数量,再结合池化(pooling)操作可以实现位移不变性的识别。
深度学习中CNN网络是核心,对CNN网络来说卷积层与池化层的计算至关重要,不同的步长、填充方式、卷积核大小、池化层策略等都会对最终输出模型与参数、计算复杂度产生重要影响,本文将从卷积层与池化层计算这些相关参数出发,演示一下不同步长、填充方式、卷积核大小计算结果差异。