大牛讲堂 | 深度学习Sequence Learning技术分享

简介:

雷锋网按:本文作者都大龙,2011年7月毕业于中科院计算技术研究所;曾任百度深度学习研究院(IDL)资深研发工程师,并连续两次获得百度最高奖—百万美金大奖;现在Horizon Robotics负责自主服务机器人、智能家居以及玩具方向的算法研究与开发,涉及深度学习、计算机视觉、人机交互、SLAM、机器人规划控制等多个领域。

深度学习独领风骚

人工智能领域深度学习独领风骚自2006 年Geoffery Hinton等在《科学》( Science) 杂志发表那篇著名的论文开始, 深度学习的热潮从学术界席卷到了工业界。
从那天起,深度学习在工业界的应用就如火如荼,真正开始“深度”影响我们的生活。比如这个大牛同学,参与开发了国内最早的基于CDNN的图像识别技术,极大提升了计算机视觉相关线上应用的效果,还创新性的主导研发了基于CNN和BLSTM的OCR识别系统,大幅提升了商用OCR系统的识别率,他的工作影响了包括你我在内的千万互联网用户。

深度学习的优势在哪里

人工智能的特征之一是学习的能力,即系统的性能是否会随着经验数据的积累而不断提升。我们认识到深度学习主要在以下三个方面具有巨大优势:

1.从统计和计算的角度看,深度学习特别适合处理大数据。在很多问题上,深度学习是目前我们能找到的最好方法。

2.深度学习不是一个黑箱系统。它提供一套丰富的、基于联接主义的建模语言(建模框架)。利用这套语言系统,我们可以表达数据内在的丰富关系和结构,比如用卷积处理图像中的二维空间结构, 用递归神经网络(Recurrent Neu­ral Network, RNN) 处理自然语言等数据中的时序结构。

3.深度学习几乎是唯一的端到端机器学习系统。它直接作用于原始数据,自动逐层进行特征学习,整个过程直接优化某个目标函数。

关于Sequence Learning的技术分享现场实录

关于Sequence Learning的技术分享现场实录从2012 年的ImageNet竞赛开始,深度学习首先在图像识别领域发挥出巨大威力。随着研究的深入,深度学习逐渐被应用到音频、视频以及自然语言理解领域。这些领域的特点是针对时序数据的建模,我们将其称之为Sequence Learning。如何利用深度学习来进行端到端的学习,并摒弃基于人工规则的中间步骤,以提升Sequence Learning的效果已经成为当前研究的热点。

Sequence Learning 已经成功应用到多个领域,比如语音识别、 Image Captain 、机器翻译、 OCR 等,它们的共同特点是利用 DNN 或者 CNN 提取高级语义特征,利用 RNN 建模时序信息。在损失函数方面,除了常见的 logistic 损失外,还引入了结构化损失,比如 CTC 等序列对序列的损失等。

大牛讲堂 | 深度学习Sequence Learning技术分享

simple RNN的变体—LSTM

大牛讲堂 | 深度学习Sequence Learning技术分享

CTC结构化损失函数

在 Sequence Learning 中,我们认为 RNN 和 sequence 相关的结构化损失函数是当前时序学习取得巨大成功的重要组成部分。除了传统的 simple RNN 外,出现了很多 RNN 变种,比如LSTM( Long Short Temporal Memory )、 GRU(Gated Recurrent Unit)等,已经被广泛的应用到时序学习的任务中,它们都具有特定的 Recurrent 结构,并且通过一系列 gate 开关自适应的建模长时的信息,都在一定程度上克服了 Simple RNN 优化过程中的梯度消失或爆炸问题。CTC 作为一种结构化损失函数,它没有必要对序列数据进行分割,并且估计整体序列标注概率作为损失,已经被广泛应用到 OCR 、语音识别以及其他序列识别任务中。
在这里他就以 OCR 为例,介绍如何利用机器学习尤其是 Sequence Learning 技术对传统 OCR 技术进行改造升级。

对传统光学字符识别框架的改造

基于端到端的序列学习

大牛讲堂 | 深度学习Sequence Learning技术分享

大牛正在白板上讲解RNN

光学字符识别的概念早在20世纪20年代便被提出,一直是模式识别领域研究中极具代表性的重要课题。

经典的光学字符识别系统从输入图像到输出最终的文字识别结果,历经版面分析、行分割、字分割、单字识别、语言模型解码和后处理。涉及的技术分为基于经验制定的规则和基于统计学习的模型两大类。前者包括系统预处理阶段(版面分析、行分割、字分割)的二值化、连通域分析、投影分析等,以及后处理阶段的规则噪声过滤器;后者包括基于类方向梯度直方图(Histogram of Oriented Gradient, HOG)特征的单字识别引擎和基于N-gram 的语言模型,用于单字识别和语言模型解码阶段。

在数据简单、条件可控的情况下,经典的光学字符识别技术架构通过细致的人工规则制定和适量的模型参数学习,便可以达到比较理想的识别精度。但在广泛的自然场景中,文字呈现出的图像信息复杂度显著增大,而拍摄图像的条件又得不到很好的控制,经典的光学字符识别技术架构难以满足实际应用的需求。究其原因,是这一技术架构的处理流程繁琐冗长导致错误不断传递,以及过分倚重人工规则并轻视大规模数据训练。

解决方案

针对复杂场景的特点和经典技术框架的不足,利用机器学习尤其是 Sequence Learning 技术对光学字符识别的系统流程和技术框架进行了大幅改造。

大牛讲堂 | 深度学习Sequence Learning技术分享

在系统流程方面,摒弃传统的二值化和连通域等基于规则的方法,引入基于学习的 Boosting 文字检测概念,并和行分割合并成新的预处理模块,任务是检测图像中包含文字的区域并生成相应文字行;将字分割和单字识别合并成新的整行识别模块;基于 N-gram 的语言模型解码模块予以保留,但将主要依赖人工规则的版面分析和后处理模块从系统中删除。6 个步骤减少到3 个步骤,降低了误差传递造成的不良影响。

此外, 由于整行文字识别是一个序列学习(Sequence Learning)问题,我们有针对性地研发出基于双向长短期记忆神经网络(Bidirectional Long Short-term Memory, BLSTM)的递归神经网络序列模型学习算法,结合卷积神经网络模型提取出的图像特征,不考虑每个字符出现的具体位置,只关注整个图像序列对应的文字内容,使得单字分割和单字识别问题融为一体, 最终实现深度学习理论追求的理想——端到端训练。

大牛讲堂 | 深度学习Sequence Learning技术分享

大牛讲堂 | 深度学习Sequence Learning技术分享


这样做能够充分利用文字序列上下文关联进行消歧,避免传统方法中字符分割造成的不可逆转的错误。这一序列学习模型极其擅长识别字分割比较困难的文字序列,甚至包括潦草的手写电话号码。此外,这一序列学习模型还使得训练数据的标注难度大为降低,便于收集更大规模的训练数据。不同语言(即便字词、句子的长短结构迥异)光学字符识别问题也可以纳入同一个技术框架内统一解决,大幅降低系统维护成本。

大牛讲堂 | 深度学习Sequence Learning技术分享

总结与展望

作为深度学习以及 Sequence Learning 的实践者,我们获得许多颇具价值的经验和知识:

1. 丰富的图像扰动是我们将关于图像的先验知识用于深度学习输入端的有效手段。不同于许多其他数据,图像和视频在时间、空间维度上具有良好的连续性和结构性,且包含大量冗余信息。无论使用平移和翻转,还是旋转、缩放、高斯和椒盐噪音、错切等图像处理变换,都能够产生大量有效的训练数据,增强深度学习模型的鲁棒性。


2. RNN作为一种序列信息的建模语言能够有效的建模序列内部的依赖关系。RNN可以利用它内部的记忆来处理任意时序的输入序列,极大的降低了视频处理、语音识别、语义理解中序列建模的难度。


3.结构化损失函数是我们将模型化知识用于深度学习输出端的有效方式。采用人工模型对深度学习模型输出进行后处理时,具有针对性的结构化损失函数往往能够帮助深度学习过程更快地收敛到更加理想的状态。

展望未来,基于深度学习的序列识别问题,可围绕如下重点展开:

增强学习

与卷积神经网络和递归神经网络相比,增强学习产出的模型能够根据数据特点更灵活地产生输入序列,并通过更加模糊的监督方式进行模型训练。这样可以精简模型的复杂度,提高预测速度,同时大幅降低训练数据的标注难度,使得学习和预测过程不需要过多的人工参与,形式上更接近真正智能的学习模式。

Attention modelAttention

作为一种抽象的概念,它模拟人的识别行为,并不只是利用序列当前时刻的状态信息,而是在decode的过程中对之前的序列状态信息进行自适应的建模加权,从而得以利用context的全部信息。


本文作者:大牛讲堂


本文转自雷锋网禁止二次转载,原文链接

相关文章
|
10月前
|
机器学习/深度学习 人工智能 资源调度
深度学习应用篇-元学习[16]:基于模型的元学习-Learning to Learn优化策略、Meta-Learner LSTM
深度学习应用篇-元学习[16]:基于模型的元学习-Learning to Learn优化策略、Meta-Learner LSTM
深度学习应用篇-元学习[16]:基于模型的元学习-Learning to Learn优化策略、Meta-Learner LSTM
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
第一周:深度学习引言(Introduction to Deep Learning)
在cousera的这一系列也叫做专项课程中,在第一门课中(神经网络和深度学习),你将学习神经网络的基础,你将学习神经网络和深度学习,这门课将持续四周,专项课程中的每门课将持续2至4周。
70 0
|
机器学习/深度学习 人工智能 文字识别
初探【深度学习Deep Learning】
初探【深度学习Deep Learning】
初探【深度学习Deep Learning】
|
机器学习/深度学习 人工智能 自然语言处理
全球名校AI课程库(5)| Stanford斯坦福 · 深度学习课程『Deep Learning』
吴恩达与助教在斯坦福开设的深度学习课程,内容覆盖基础知识、各类神经网络、实际应用等排,是很多人的深度学习入门课。
2258 1
全球名校AI课程库(5)| Stanford斯坦福 · 深度学习课程『Deep Learning』
|
机器学习/深度学习 人工智能 自然语言处理
全球名校AI课程库(1)| 吴恩达·深度学习专项课程『Deep Learning Specialization』
深度学习入门首选!课程可以帮助学习者掌握知识和技能,并邀请工业界与学术界的深度学习专家为大家提供职业发展建议,提供一条迈向 AI 世界的清晰途径。
2321 1
全球名校AI课程库(1)| 吴恩达·深度学习专项课程『Deep Learning Specialization』
|
机器学习/深度学习 Python
深度学习跟踪DLT (deep learning tracker)
深度学习跟踪DLT (deep learning tracker)
123 2
|
机器学习/深度学习 人工智能 自然语言处理
学习笔记 | 深度学习相关研究与展望 Review of deep learning
深度学习是新兴的机 器学习研究领域,旨在研究如何从数据中自动地提取多层特征 表示,其核心思想是通过数据驱动的方式,采用一系列的非线 性变换,从原始数据中提取由低层到高层、由具体到抽象、由一 般到特定语义的特征。
学习笔记 | 深度学习相关研究与展望 Review of deep learning
|
机器学习/深度学习 人工智能
开源翻译中文版《深度学习(Deep Learning)》
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。 专业研究人工智能的同学推荐的这本《深度学习》。
1549 0
|
机器学习/深度学习 算法 数据挖掘
Deep Learning | 深度学习介绍与基本概念
Deep Learning | 深度学习介绍与基本概念
289 0
Deep Learning | 深度学习介绍与基本概念
|
机器学习/深度学习 人工智能 自然语言处理
第一周:深度学习引言(Introduction to Deep Learning)
第一周:深度学习引言(Introduction to Deep Learning)
164 0
第一周:深度学习引言(Introduction to Deep Learning)