浅析深度学习之卷积
demi 在 周日, 01/19/2020 - 10:34 提交
卷积神经网络顾名思义,是一种使用了卷积运算的神经网络。随着深度学习技术的发展,卷积神经网络的复杂度不断提升,逐渐发展出针对不同问题而设计的卷积(convolution)运算。
卷积(Convolution)是一种数学运算,常用于信号处理和图像处理领域,也在深度学习中的卷积神经网络(CNN)中发挥着关键作用。简单来说,卷积是通过在两个函数之间滑动并在每个位置上计算它们的积分来生成一个新的函数。
在图像处理中,卷积通常用于图像的特征提取。
卷积神经网络顾名思义,是一种使用了卷积运算的神经网络。随着深度学习技术的发展,卷积神经网络的复杂度不断提升,逐渐发展出针对不同问题而设计的卷积(convolution)运算。
比较 GPU 和 CPU ,就是比较它们两者如何处理任务。CPU 使用几个核心处理单元去优化串行顺序任务,而 GPU 的大规模并行架构拥有数以千计的更小、更高效的处理单元,用于处理多个并行小任务。CPU 拥有复杂的系统指令,能够进行复杂的任务操作和调度,两者是互补关系,而不能相互代替。
我们知道在CNN网络中,会有各种size的卷积层,比如常见的3x3,5x5等,卷积操作是卷积核在图像上滑动相乘求和的过程,起到对图像进行过滤特征提取的功能。
卷积这个概念,很早以前就学过,但是一直没有搞懂。教科书上通常会给出定义,给出很多性质,也会用实例和图形进行解释,但究竟为什么要这么设计,这么计算,背后的意义是什么,往往语焉不详。作为一个学物理出身的人,一个公式倘若倘若给不出结合实际的直观的通俗的解释(也就是背后的“物理”意义),就觉得少了点什么,觉得不是真的懂了。
卷积,这个词大家应该都不陌生,数学中傅立叶变换的时候,物理中信号处理的时候,图像处理中滤波的时候、提取边缘的时候,还有深度学习中卷积神经网络的时候,处处可见卷积的影子。卷积在图像处理中的应用非常广泛,可以说理解了卷积,就可以理解图像处理算法的半壁江山,也不知道这个说法是否夸张了。
在CNN中,转置卷积是一种上采样(up-sampling)的方法。如果你对转置卷积感到困惑,那么就来读读这篇文章吧。
在可分离卷积(separable convolution)中,通常将卷积操作拆分成多个步骤。而在神经网络中通常使用的就是深度可分离卷积(depthwise separable convolution)。
在人工智能深度学习技术中,有一个很重要的概念就是卷积神经网络 CNN(Convolutional Neural Networks)。
卷积中的特征图大小计算方式有两种,分别是‘VALID’和‘SAME’。
什么是转置卷积(反卷积)?转置卷积(Transposed Convolution)又称为反卷积(Deconvolution)。在PyTorch中可以使用torch.nn.ConvTranspose2d()来调用,在Caffe中也有对应的层deconv_layer。