fukushima教授在1980年发表了一篇文章,提出了一种新识别器,这是卷积网络的最早实现.该网络是一种自组织的神经网络,拥有平移和扭曲不变性.
1986年rumelhart等人在反向传播(back propagation)那篇论文的书籍版中提到了这个思想.1988年的一篇关于语言识别中的暂态信号的文章中,也使用了卷积神经网络.
1988年,LeCun在他的文章<基于梯度详细的文本分类>中回顾了之前的卷积神经网络的设计,提出了LeNet-5网络,该网络还可以用于手写数字识别.当时几种变种SVM算法在手写数字识别上取得最好的效果,当时LeNet-5仍然超过了他们.
后来在2003年,有一篇文章<基于层次神经网络的图像解释>对该模型做了扩展.当时,我们主要使用LeCun的LeNet架构.
1.连续卷积
卷积最早的历史能够追溯到18世纪;通俗点讲,卷积就是两个操作在时间纬度上的融合.
用数学公式可以表示如下:
如果我们从算法的角度来理解这个概念,这个操作能够被分解为如下步骤:
(1)信号翻转:对应
这个部分的符号.
(2)信号平移:对应函数g中的参数t
(3)信号相乘:f和g的相乘
(4)信号积分:这个没有前3个部分直观,因为结果中的每个瞬时值都是一个积分的结果
2.离散卷积
卷积的使用范围可以被延展到离散域,对应的数学表示为:
3.核与卷积
当我们在离散域进行离散操作时,核(kernel)就是一个非常重要的概念.
核是一个nxm的矩阵,n和m是每个维度上的元素数目,通常m=n
卷积操作包括:首先将相应的元素乘上核,每个像素乘一次,然后把所有值相加,最后把相加后的结果赋值给中心像素
移动卷积矩阵,应用同样的操作,直到所有元素都被遍历.
4.卷积操作的解释
在学习过连续和离散域的卷积操作之后,我们来学习卷积在机器学习中的应用.
卷积核的作用在于强化或者隐藏模式(pattern),通过训练好的参数(在下面的例子中是手动设置),我们可以发现模式,如不同维度的方向和边缘.我们也可以通过模糊核去除我们不想要的细节和异常点.
正如LeCun在他的论文中所说:
卷积网络可以被认为本身集成了特征提取器
这使得卷积神经网络可以被看成一种先进的数据处理方式;对于一个特定的数据集,我们可以非常灵活的将卷积神经放在整个模型的前面.
5.卷积核对结果的影响
我们可以观察核变量是怎样影响输出的结果的.第一幅是原始图像,从左到右,从上到下的卷积核依次是模糊,向下sobel,emboss,outline