Convolutional Networks for Images,Speech,and Time-series
Convolutional Networks for Images,Speech,and Time-series
Yann LeCun Yoshua Bengio
1995年的
1引言
多层BP网络可以从大数据样本中学习复杂的,高维的,非线性的映射并用于图像识别和语音识别任务(见pattern recognition and neural networks)。在模式识别的传统模型中,是通过使用手动设计的特征提取器从输入数据中提取特征然后消除无关变量。随后通过一个可以训练的分类器来讲这些特征向量(或者说是符号字符串)进行分类。在本文中,一个全连接的多层网络可以被用来做一个分类器。一个更有趣的地方是可以通过不使用特征提取器,直接对这个网络输入“原始”数据(即归一化后的图像),并通过BP来讲这个网络的前几层调整成一个合适的特征提取器。而这些都是可以用一个有着普通全连接的前馈网络来做到的,比如特征识别,但是这也是存在问题的。
首先,通常的图片,口语单词的谱表征都是很大的,通常有着好几百个变量。与第一层(100多个隐藏单元)全连接的权重数量就差不多有10,000个。如果训练数据是不足够的,那么过拟合的问题就会出现。另外,为了存储这些权重,硬件的容量都可能会不够。但是,在图像或是语音上采用的的无结构网络的主要的问题在于他们没有将转换或是输入的局部扭曲不变性给内建到模型中。在将数据输入到一个有着固定大小输入层的网络前,特征图像,口语单词谱或是其他的2D或1D信号必须进行归一化和在输入区域进行中心化。问题是,现有的预处理方法都不能够达到要求:手写通常在单词级别的时候进行归一化,这会导致字符的尺寸,倾斜度和位置发生变化;单词可以以可变的速度,间距和语调说出来。这会导致输入对象中的可区分特征的位置发生变化。原则上来说,一个有着足够尺寸的全连接网络能够学习生成具有这些不变性特性的输出。然而这样可能会使得有着同样权重模式的多个单元位于输入的不同位置。而且这些权重的学习也需要大量的样本以便能够学到数据集的各种情况。另一方面,在卷积网络中,平移不变性可以通过对某些权重进行复制来自动的获得。
第二,以往全连接结构的缺点使得输入的拓扑被完全的忽略了。输入变量能以对输出没有影响的情况下以某种固定的顺序表示出来。相反的,图像和语音的表征谱有着很强的2D局部结构,时间序列也有着很强的1D结构:互相靠近的变量(或像素)在空间或时间上都有着高度相关性。局部相关性的优点就是在识别空间和时间对象前进行特征提取并进行局部组合。卷积网络通过限制隐藏单元的感受野成为局部的来强化局部特征提取。
2 卷积网络
卷积网络通过将三个结构性的想法进行组合以此去确保平移和扭曲不变性:局部感受野,权值共享(或是权值复制)和空间或时间的子采样。一个典型的为了识别字符的卷积网络如图1所示。
这个输入平面接受字符图像,这些字符都已经较好的进行归一化和中心化了。层中的每个单元接受的输入都是之前层中很小的邻居区域。将单元连接到局部感受野的想法可以追溯到1960年代的感知机,和Hubel和Wisel的在猫的视觉系统中发现的具有局部感知和导向选择的神经元。局部连接在视觉学习神经模型已经被使用了多次。局部感受野可以使神经元能够提取极端的视觉特征,例如定向边界,端点,角(或在语音谱中相似的特征)。这些特征随后在更高层中进行组合。如前所述,输输入的扭曲和平移能够导致主要的特征位置发生变化。另外在图像局部上很有效果的初步特征检测器在整个图像中也是很有帮助的。例如可以通过将定位不同局部感受野的神经元上的权值都设置成相同的。这样这些神经元的输出的集合就可以表示成一个特征映射图。在每个位置上,位于不同特征映射图上的不同的神经元就能够抓取不同的特征(即图1中第二层的几个灰度图上不同的层上权重不同,但是同一个层上权重共享)。对于每个特征映射图来说,就是用同一个有着局部感受野的神经元来扫描输入图像,并将计算的输出放到特征映射图的相对位置上。这个操作相当于小尺寸核心的卷积,并加一个压缩函数。这个过程可以并行执行,通过将特征映射图视为一个神经元平面,而其中的神经元都是共享同一个权重向量。特征映射图中的单元在图像的不同位置都是执行着相同的操作。一个卷积层通常由几个特征图构成(有着不同的权重向量),所以每个位置上都可以提取不同的特征。图1中的第一层隐藏层有着4个特征图,每个感受野的大小是5*5。平移卷积层的输入将会平移对应的输出,但是却不会改变它的值。一旦一个特征被检测到,他的准确的位置会变得不那么重要,只要与其他特征相对位置被保存就行。因此,每个卷积层后面跟着一个额外的层去执行一个局部的均值化和子采样操作,来减少特征映射图的分辨率和减少输出部分关于平移和扭曲的敏感度。图1中第二个隐藏层执行一个2*2的均值化和子采样,并之后跟着一个可训练的系数(权重)、偏置和一个sigmoid。这个可训练的系数和偏置控制着压缩非线性的影响(例如,如果系数很小,这个神经元会以类线性的模式进行操作)(其实这里就是权重
偏置和sigmoid函数而已)。逐次的卷积和子采样层通常是交替的,并生成一个‘bi--金字塔’:在每一层,特征映射图的数量是随着空间解析度的下降而增长。图1中第三个隐藏层中的每个单元是与前层中特征映射图进行连接。这个卷积/子采样组合的灵感来自于Hubel和Wiesel有关‘简单’和‘复杂’细胞理论,在神经认知模型中这已经被应用了,通过非全局有监督学习(例如BP)过程进行训练。
因为所有的权重都是通过BP进行学习的,卷积网络能够被认为是对它们自己的特征提取器的综合。权重共享能减少自由参数的数量,因而减少机器的’容量‘,但是却能提升泛化能力。图1中的网络包含了10w个连接,但是因为使用了权值共享所以只有2600个自由参数。手写字符识别任务上,这样的网络可以与其他方法有相当的竞争力了,并且已经能够商用化了。
在沿着单一时间维度上共享权重的 固定尺寸的卷积网络被称之为延时神经网络(TDNN)。TDNN被用在音素识别(没有子采样),口语单词识别(有子采样),在线手写识别上。
3 可变尺寸的卷积网络,SDNN
虽然字符或者短的口语单词可以先通过尺寸归一化然后馈送到一个固定尺寸的网络,但是更多复杂对象例如手写或者由于单词和句子是有可变长度的。一个处理这种复合型对象的方法是将它们分割成可以独立识别的更简单的对象(字符或者音素)。然而,现今却没有一种可靠的启发式分割方法来很好的应对语音或草书式的书写。一个强力的解决方法是通过扫描(或者是复制)所有在输入上可能的位置,这通常是代价高昂的,但是CNN可以在大型,可变尺寸的输入上进行很好的扫描或者复制。考虑一个CNN的实例,因为网络的卷积特性,在相同输入位置上的单元有着相同的输出,因此他们的输出不需要计算两次。所以可以通过增加卷积区域的大小和复制输出层来轻松的构建一个卷积层来达到复制一个卷积网络的目的。一个感受野位于初步对象中心的输出可以生成对象的类别信息,然而一个in-between的输出可能是空的或者包含着垃圾信息的。这个输出可以作为解释在输入区域不同位置上对象中心化的类别的证据(这里翻译的不好)。因此需要后续的处理来连续不断的进行输出。HMM或者其他的基于图的方法通常是以那种目的提出的。这个可复制网络和HMM可以在HMM的梯度上用BP同时训练。全局训练,可变尺寸TDNN/HMM混合可以用来语音识别和在线手写识别。两维可复制CNN,被称之为“sapce
displacement neural networks(SDNN)”已经和HMM或其他的用于手写单词识别的可伸缩匹配方法进行组合成复合结构。另一个有趣的SDNN的应用是对象发现。
CNN的一个重要的优点是他们呢以在现有的硬件条件下执行。专门的模拟/数字芯片已经被设计并用在了字符识别和图像处理上了。能够在以100,000连接规模的网络上每秒够识别1000个字符。
子采样的想法可以被转化并构建相似于TDNN的网络,但是他们需要从标签中生成序列。这些网络被称之为逆-TDNN,因为他伽门被一杯视为从上往下的TDNN:时间分辨率是从输入到输出(不断的过采样和卷积层的叠加)不断的增加的。
4 讨论
卷积神经网络是从生物上获得灵感的很好的例子,并且在工程应用相比较与其他方法上也具有竞争力。在将CNN应用到图像识别上,可以不需要使用一个分离的手动设计的特征提取器,只需要对图像的尺寸和方向(如果近似的话)进行归一化。权值共享和子采样可以使得具有小型的几何转换和扭曲的不变性,但是完全的不变性识别还是不能达到的。从根本上说,对于全神经图像或语音识别系统可能还是需要新的结构想法,有可能还是来自于生物灵感。
.
Convolutional Networks for Images,Speech,and Time-series的更多相关文章
- 论文翻译——Character-level Convolutional Networks for Text Classification
论文地址 Abstract Open-text semantic parsers are designed to interpret any statement in natural language ...
- Emotion Recognition Using Graph Convolutional Networks
Emotion Recognition Using Graph Convolutional Networks 2019-10-22 09:26:56 This blog is from: https: ...
- 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)
Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...
- VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 这篇论文
由Andrew Zisserman 教授主导的 VGG 的 ILSVRC 的大赛中的卷积神经网络取得了很好的成绩,这篇文章详细说明了网络相关事宜. 文章主要干了点什么事呢?它就是在在用卷积神经网络下, ...
- Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)
摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有 ...
- 关于 Graph Convolutional Networks 资料收集
关于 Graph Convolutional Networks 资料收集 1. GRAPH CONVOLUTIONAL NETWORKS ------ THOMAS KIPF, 30 SEPTE ...
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
- Very Deep Convolutional Networks for Large-Scale Image Recognition
Very Deep Convolutional Networks for Large-Scale Image Recognition 转载请注明:http://blog.csdn.net/stdcou ...
- 论文学习:Fully Convolutional Networks for Semantic Segmentation
发表于2015年这篇<Fully Convolutional Networks for Semantic Segmentation>在图像语义分割领域举足轻重. 1 CNN 与 FCN 通 ...
随机推荐
- 手机网页meta,添加使其兼容各种浏览器
虽然手机不像电脑那样会有各种低版本的浏览器,但写手机端网页也是需要注意的: <!-- 优先使用 IE 最新版本和 Chrome --> <meta http-equiv=" ...
- DNS协议详解
DNS协议详解 简介 DNS(Domain Name System)域名系统,主要实现的功能是将域名转换成ip地址的一个服务.它是由一个分层的DNS服务器实现的分布式数据库,同时.他也是一个使得主机能 ...
- CSS参考手册
CSS 属性 CSS 属性组: 动画 背景 边框和轮廓 盒(框) 颜色 内容分页媒体 定位 可伸缩框 字体 生成内容 网格 超链接 行框 列表 外边距 Marquee 多列 内边距 分页媒体 定位 打 ...
- Flutter——设置appBar的高度
使用脚手架Scaffold可以设置AppBar,想要设置高度,在AppBar外包一层PreferredSize,设置preferredSize的属性为想要的高度即可. Scaffold( appBar ...
- 【three.js练习程序】动画效果,100个方块随机运动
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- linux操作系统不重启添加raid0步骤
1.限制:本步骤仅适用于LSI芯片的raid卡,可以通过以下蓝色指令判断是否LSI芯片 [root@HKC-Lab-CDN ~]# lspci | grep -i lsi 03:00.0 RAID b ...
- WLW/OLW 最佳博客写作软件
前言 我发布到博客园中文章大多是通过Windows live Writer(wlw)来写的,本文记录一下wlw的安装及快捷键. WLW博客园插入代码插件:http://www.cnblogs.com/ ...
- UNIX高级环境编程(15)进程和内存分配 < 故宫角楼 >
故宫角楼是很多摄影爱好者常去的地方,夕阳余辉下的故宫角楼平静而安详. 首先,了解一下进程的基本概念,进程在内存中布局和内容. 此外,还需要知道运行时是如何为动态数据结构(如链表和二叉树)分配额外内 ...
- Ctrl+Alt+F1~F6
Ctrl+ALT+F1~F6 可以进入不同的字符终端和图形界面.体现了 linux 或者 unix 的多用户的特点. 6个不同的终端,相当于六个不同的用户. 保持更新,转载请著名出处.
- Mybatis 学习笔记
可学习渠道 MYBATIS 入门教程 1. Mybatis 介绍 Mybatis 是 sqlmap 技术,对 JDBC 进行封装,将大量的 SQL 语句外部化. 平时我们都用JDBC访问数据库,除了 ...