warning: Creating default object from empty value in /mydata/wwwroot/xilinx.eetrend.com/modules/taxonomy/taxonomy.pages.inc on line 33.

卷积

深度学习中的“卷积”与数学中的“卷积”有何不同?

深度学习中的卷积

当提到神经网络中的卷积时,我们通常是指由多个并行卷积组成的运算。(因为单个核只能特区一种类型的特征,我们usually希望可以在多个位置提取多个特征)

输入也不仅仅是实值的网格,而是由一系列观测数据的向量构成的网格。

我们有的时候会希望跳出核中的一些位置来降低计算的开销(相应的代价是提取特征没有先前那么好了)我们就把这个过程看作对全卷积函数输出的下采样(downsampling).如果只是在输出的每个方向上每间隔s个像素进行采样,那么可重新定义一个 下采样卷积函数。我们把s称为下采样卷积的步幅(stride)。

在任何卷积网络的实现中都有一个重要性质:能够隐含地对输入V用零进行填充(pad)使得它加宽。

普遍意义的卷积

从数学上讲,卷积只不过是一种运算,对于很多没有学过信号处理,自动控制的同学来说各种专业的名词可以不做了解。我们接着继续:

本质上卷积是将二元函数 U(x,y) = f(x)g(y) 卷成一元函数 V(t) ,俗称降维打击。

怎么卷?

CNN中卷积的意义

在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量。需要人工设计特征,然后将用这些特征计算的值组成特征向量。在过去几十年的经验来看,人工找的特征并不总是好用。有时多了,有时少了,有时选的特征根本就不起作用(真正起作用的特征在浩瀚的未知里)。这就是为啥过去几十年神经网络一直被SVM等完虐的原因。

如果有人说,任何特征都是从图像中提取的。那如果把整幅图像作为特征来训练神经网络不就行了嘛,那肯定不会有任何的信息丢失!额,先不说一幅图像有多少冗余信息,单说这数据量就,吓死了!

假如有一幅1000*1000的图像,如果把整幅图像作为向量,则向量的长度为1000000(10^6)。在假如隐含层神经元的个数和输入一样,也是1000000;那么,输入层到隐含层的参数数据量有10^12,妈呀,什么样的机器能训练这样的网络呢。所以,我们还得降低维数,同时得以整幅图像为输入(人类实在找不到好的特征了)。于是,牛逼的卷积来了。接下来看看卷积都干了些啥。

局部感知:

各种卷积结构原理及优劣总结

卷积神经网络作为深度学习的典型网络,在图像处理和计算机视觉等多个领域都取得了很好的效果。

Paul-Louis Pröve在Medium上通过这篇文章快速地介绍了不同类型的卷积结构(Convolution)及优势。为了简单起见,本文仅探讨二维卷积结构。

卷积

首先,定义下卷积层的结构参数。

卷积核为3、步幅为1和带有边界扩充的二维卷积结构

卷积核大小(Kernel Size):定义了卷积操作的感受野。在二维卷积中,通常设置为3,即卷积核大小为3×3。

步幅(Stride):定义了卷积核遍历图像时的步幅大小。其默认值通常设置为1,也可将步幅设置为2后对图像进行下采样,这种方式与最大池化类似。

关于caffe 是如何卷积的一点总结

最近,在看caffe源码时,偶然在网上看到一个问题?觉得挺有意思,于是,仔细的查了相关资料,并将总结写在这里,供大家迷惑时,起到一点启示作用吧。

问题的题目是CNN中的一个卷积层输入64个通道的特征子图,输出256个通道的特征子图,那么,该层一共包含多少个卷积核?

对于上面这个问题,目前有两种答案,每一种答案的区别是所基于的卷积核的维度不同而导致的。下面是两种答案的解析过程:

第一种答案:卷积核是二维的(caffe源码中以卷积核二维转化成相应矩阵),那么就需要64*256个卷积核来对输入特征子图进行卷积,其中,输入的每个通道对应64种不同的卷积核进行卷积,再将64种卷积核得到的卷积结果合并成一张输出特征子图;这样,就会得到256个通道的特征子图。

第二种答案:卷积核是三维的(caffe大神贾杨清老师的回答中就是这么认为的),那么一个卷积核的表示为C*H*W(C:通道数,H:卷积核的高,W:卷积核宽)。那么对于输入的特征子图,就需要一个大小为64*h*w的卷积核进行卷积,得到一张特征子图。这样,就需要256个不同卷积核,每个卷积核的通道数为64,从而得到256个通道的特征子图。

卷积为什么如此强大?理解深度学习中的卷积

有太多的公开课、教程在反复传颂卷积神经网络的好,却都没有讲什么是“卷积”,似乎默认所有读者都有相关基础。这篇外文既友好又深入,所以翻译了过来。文章高级部分通过流体力学量子力学等解释卷积的做法在我看来有点激进,这些领域恐怕比卷积更深奥,所以只需简略看看即可。以下是正文:

卷积现在可能是深度学习中最重要的概念。正是靠着卷积和卷积神经网络,深度学习才超越了几乎其他所有的机器学习手段。但卷积为什么如此强大?它的原理是什么?在这篇博客中我将讲解卷积及相关概念,帮助你彻底地理解它。

网络上已经有不少博客讲解卷积和深度学习中的卷积,但我发现它们都一上来就加入了太多不必要的数学细节,艰深晦涩,不利于理解主旨。这篇博客虽然也有很多数学细节,但我会以可视化的方式一步步展示它们,确保每个人都可以理解。文章第一部分旨在帮助读者理解卷积的概念和深度学习中的卷积网络。第二部分引入了一些高级的概念,旨在帮助深度学习方向的研究者和高级玩家进一步加深对卷积的理解。

什么是卷积

整篇博客都会探讨这个问题,但先把握行文脉络会很有帮助。那么粗略来讲,什么是卷积呢?

由浅入深:CNN中卷积层与转置卷积层的关系

导语:转置卷积层(Transpose Convolution Layer)又称反卷积层或分数卷积层,在最近提出的卷积神经网络中越来越常见了,特别是在对抗生成神经网络(GAN)中,生成器网络中上采样部分就出现了转置卷积层,用于恢复减少的维数。那么,转置卷积层和正卷积层的关系和区别是什么呢,转置卷积层实现过程又是什么样的呢,笔者根据最近的预研项目总结出本文。

1. 卷积层和全连接层

深入学习卷积神经网络中卷积层和池化层的意义(三)

如何选择卷积核的大小?越大越好还是越小越好?

答案是小而深,单独较小的卷积核也是不好的,只有堆叠很多小的卷积核,模型的性能才会提升。

  •  CNN的卷积核对应一个感受野,这使得每一个神经元不需要对全局图像做感受,每个神经元只感受局部的图像区域,然后在更高层,将这些感受不同局部的神经元综合起来就可以得到全局信息。这样做的一个好处就是可以减少大量训练的参数。

  •  VGG经常出现多个完全一样的3×3的卷积核堆叠在一起的情况,这些多个小型卷积核堆叠的设计其实是非常有效的。两个3×3的卷积层串联相当于1个5×5的卷积层,即一个像素会和周围5×5的像素产生关联,可以说感受野是5×5。同时,3个串联的3×3卷积层串联的效果相当于一个7×7的卷积层。除此之外,3个串联的3×3的卷积层拥有比一个7×7更少的参数量,只有后者的 (3×3×3) / (7×7) = 55%。最重要的是3个3×3的卷积层拥有比一个7×7的卷积层更多的非线性变换(前者可以使用三次ReLu激活,而后者只有一次)。

卷积神经网络池化后的特征图大小计算

深入学习卷积神经网络中卷积层和池化层的意义(二)

CNN卷积神经网络卷积层和池化层详解

卷积神经网络(Convolutional Neural Network,简称CNN),是一种前馈神经网络,人工神经元可以响应周围单元,可以进行大型图像处理。卷积神经网络包括卷积层和池化层。

卷积神经网络是受到生物思考方式启发的MLPs(多层感知器),它有着不同的类别层次,并且各层的工作方式和作用也不同。这里提供一个较好的CNN教程(http://cs231n.github.io/convolutional-networks/)。文章中详细介绍了CNN的计算方式和数据的流动过程,这里只做简单的介绍。

卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。

CNNs是受早期的延时神经网络(TDNN)的影响。延时神经网络通过在时间维度上共享权值降低学习复杂度,适用于语音和时间序列信号的处理。

深入学习卷积神经网络中卷积层和池化层的意义(一)

为什么要使用卷积呢?

在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量,需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用,有时多了,有时少了,有时选择的特征根本就不起作用(真正起作用的特征在浩瀚的未知里面)。这就是为什么在过去卷积神经网络一直被SVM等完虐的原因。

如果有人说,任何特征都是从图像中提取的,那如果把整副图像作为特征来训练神经网络不就行了,那肯定不会有任何信息丢失!那先不说一幅图像有多少冗余信息,单说着信息量就超级多。。。

假如有一幅1000*1000的图像,如果把整幅图像作为向量,则向量的长度为1000000(10^6)。在假如隐含层神经元的个数和输入一样,也是1000000;那么,输入层到隐含层的参数数据量有10^12,妈呀,什么样的机器能训练这样的网络呢。所以,我们还得降低维数,同时得以整幅图像为输入(人类实在找不到好的特征了)。于是,牛逼的卷积来了。接下来看看卷积都干了些啥。

CNN卷积神经网络层级结构

数字图像处理中滤波和卷积操作详细说明

线性滤波与卷积的基本概念

线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果。做法很简单。首先,我们有一个二维的滤波器矩阵(有个高大上的名字叫卷积核)和一个要处理的二维图像。然后,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。这样就完成了滤波过程。

数字图像处理中滤波和卷积操作详细说明

对图像和滤波矩阵进行逐个元素相乘再求和的操作就相当于将一个二维的函数移动到另一个二维函数的所有位置,这个操作就叫卷积或者协相关。卷积和协相关的差别是,卷积需要先对滤波矩阵进行180的翻转,但如果矩阵是对称的,那么两者就没有什么差别了。

同步内容
--电子创新网--
粤ICP备12070055号