卷积定理:函数卷积的傅里叶变换等于函数傅里叶变换的乘积
时域的卷积等于频域的乘积
卷积的数学形式:
卷: f ( T ) g ( t − T ) f(T)g(t-T) f(T)g(t−T)
积: ∫ \int ∫
卷积本质上还是一种运算,运算符是*,区别于乘法运算,比常见的加减乘除要高级很多。卷积用极简的数学形式漂亮地描述了一个动态过程。
动态过程:一个函数钻进另一个函数的动态过程,两个函数的重叠面积一定程度上描述了卷积的结果。
法国学者Yann LeCun将卷积运算与神经网络相结合,提出了著名的卷积神经网络。
伴随着21世纪海量互联网大数据和GPU等硬件设备的快速发展,深度卷积神经网络自2012年开始一炮而红,引领了过去十年间人工智能技术的再度崛起,在众多领域显示了超越人类的强大能力。
卷积神经网络最早应用于计算机视觉领域。人脸识别、数字识别、相机美颜,背后算法的核心都是CNN技术。
卷积神经网络在把图像交给神经网络之前要对图像进行一轮卷积的操作。
将卷积核扣到原始图像上,重合格子里的数字相乘,然后相加,输出新的结果至新的图像矩阵上对应的位置(卷积核的中心位置)。这个过程用数学式子表达就是二维离散卷积操作
但是这样做原图图像边缘的像素点就遍历不到了,每次生成新的矩阵都要小上一圈。所以一般在卷积操作之前一般会在原始图像边缘补上一圈0,保证输入输出维度一致。
卷积操作就是用一个输入乘上系统函数然后计算输出。
在图像处理中,输入就是原始图像的像素,系统函数就是卷积核。
卷积操作的意义,不同卷积核会过滤出不同的图像,能够提取出图像的不同特征,因此这里的卷积核也被称为过滤器。
卷积不仅可以用于处理二维的图像,还可以处理一维的音频信号和自然语言。只不过这里用的卷积核是1*N的一维卷积核
神经网络:CNN、RNN、LSTM、RBM
如果说神经网络是一个黑盒子,吃进去数据吐出来结果,那么不同神经网络最大的区别就是肚子里的网络结构。卷积神经网络有什么过人优势呢?
卷积神经网络(CNN)的结构
传统意义上的神经元:
节点表示神经元,连线表示计算关系,每条线都有一个权重。所谓学习或训练就是输入大量数据,在训练中调整权重。
传统意义上的神经网络,每层节点都和上一层的所有节点相连,构成所谓的全连接网络。看上去密密麻麻,但是冗余度大,这种模型比较笨拙,吃的东西多,又没什么显著效果。学术一点说就是参数众多,难以训练。
而卷积运算恰恰相反,一个简洁优美的公式就能描述,因此科学家们萌生了想要借助卷积给神经网络减肥的想法。
以二维图像为例,3*3的卷积核却能起到特征提取的大作用,通过二维离散卷积操作全连接变成一个个小的局部连接,实现了高效的图像特征提取,这些小小的卷积核却具备传说中的空间平移不变的特性
对于一张照片,不管你的脸在哪个位置,她都能找出来。无论图像大小如何,每个滑动区域都具有相同的共享权重,如果使用3*3大小的卷积核就只需要学习9个参数(忽略bias)。
卷积运算得到的结果通常被称为:特征图(feature map),特征图的每个点都是由上一层的若干个点共同决定的,如果用的是3*3的卷积核,每个点是由上一层的9个点决定的,我们就把这9个点称为这一点的感受野。
深度卷积神经网络:卷积层数越多,每点的感受野就越大,对复杂特征的表达能力越强。
以图像分类为例,在多层卷积神经网络中,第一层可以表示在特定的角度和位置是否出现边缘;第二层可以将这些边缘组合成有趣的模式,比如花纹;在第三层中,也许上一层的花纹能够进一步汇合成物体特征部位的模式。这样逐级表示下去,就能够学到图像的各种特征了。
之所以神经网络能解决非线性问题,本质上是因为加入了激活函数这一非线性因素。
卷积神经网络解决非线性问题的本质是加入了线性整流单元(Rectified Linear Unit)。
把特征图上的所有负数都变成0,正数不变:把所有意义不大的特征全部换成0,保留意义较大的特征。
池化的意思是淤积、汇聚。
抓住主要矛盾,忽略次要因素。池化层把局部多个神经元的输出组合成下层单个神经元来减少数据维度(在一个小矩阵中找最大值【最大池化】或者平均值【平均池化】)。局部池化一般选择2*2的卷积核即可。目的是进一步放大主要特征,忽略掉几个像素的偏差,其意义不光能降低数据的维度、减少训练参数,同时还能避免过拟合。
全连接层将相邻两层的神经元全部交叉相连,与传统的神经网络的做法是一样的。其作用好比从局部出发做出最终结论,和前面的卷积层共同形成了先局部再整体的学习结构:卷积+池化,多层集连,对输入数据进行多尺度特征提取和深度学习。
AlexNet
这个网络结构和LeNet非常相似,但是更深更大,并且使用层叠的卷积层来获取特征。识别率超高,使学术界意识到卷积对神经网络改造的巨大潜力。
ZFNet
通过可视化展示了卷积神经网络各层的功能和作用
VGGNet
牛津大学提出了VGGNet,采用堆积的小卷积核替代大的卷积核不仅能够增加决策函数的判别性还能够减少参数量。
GoogleNet
增加了神经网络的宽度,使用1*1卷积降维,减少参数量,在多个不同尺寸的卷积核上进行卷积后再聚合。
ResNet(残差网络)
解决了网络模型的退化问题,使得神经网络可以更深。
卷积神经网络越变越宽,越变越深,越来越复杂。应用也从最初的计算机视觉快速拓展到语音识别、自然语言处理等领域,进而应用到工程科学的各个行业。但不管怎么变,CNN的核心思想都没变:利用卷积核的特征提取能力,通过多层级联,实现多尺度特征学习。
传统的CNN对于输入形式、卷积核、级联和初始化方法都没有严格的要求,在这些方面都有很大的改进空间。
传统的CNN在进行特征提取的时候,认为提取到最后就是精华,其实中间晒出去的东西,也可以好好利用。有人把这种思想用在人脸识别上,取得了很好的效果。
整理自视频资料:B站up主耿直哥
【卷积】直观形象的实例,10分钟彻底搞懂
【卷积神经网络】8分钟搞懂CNN,动画讲解喜闻乐见