10 期 奚雪峰等: 面向自然语言处理的深度学习研究 1449
逐层训练中的关键部分是自动编码器 (Autoen-
coder) 的构建. 在深度学习模型中, 自动编码器可
以是一种尽可能重现输入信号的神经网络.
1.4.1 无监督构建自动编码器
当原始输入确定后, 首先训练模型的第一层, 如
图 4 中最左侧的黑色框图 Encoder A, 表示编码器,
是整个模型的“认知机构”, 其将原始输入编码后形
成第一层初级特征. 为了验证编码后的特征确实是
原始输入的一种等价抽象表示, 没有丢失太多信息,
我们引入一个对应的解码器, 如图 4 中最左侧的灰
色框图 Decoder A, 它是这个模型的“生成机构”.
为了使“认知”和“生成”达成一致, 我们需要将编
码后的特征经过解码器再生成, 目的是要与初始的
原始输入做比较验证. 验证得到的结果误差定义为
代价函数, 用于训练神经网络编码器和解码器. 当训
练达到收敛目标后, 确定了具体各类参数的神经网
络编码器就是我们需要的第一层模型 (而解码器可
以不需要), 即可以得到原始数据的第一层抽象表示.
固定第一层神经网络编码器的参数, 并将第一层抽
象输出作为输入, 再次重复操作, 陆续可以训练出第
二层模型、第三层模型; 以此类推, 直至训练得到满
足要求的最高层模型.
1.4.2 有监督训练分类器
通过上述训练后得到的自动编码器, 原始输入
信号得到了不同的表达特征, 这些特征可以最大程
度上代表原始输入信号. 但是, 这个自动编码器还不
能用来实现分类功能. 为了实现分类, 我们需要在自
动编码器最高层的编码层添加分类器 (Classifier),
结合标签 (Label) 样本, 基于标准神经网络的有监
督训练方法调整参数.
参数调整方法分为两类: 一是仅仅调整最高层
的分类器的参数; 二是通过标签样本, 调整所有自动
编码器的参数, 也即实现对多层模型参数的精细调
整.
深度学习所构建的深层模型具有较多局部最优
解. 逐层初始化方法的目的就是最终将深层模型调
整到较为接近全局最优解的位置, 从而获得最佳效
果. 表 2 从不同角度比较了深层模型和浅层模型的
特点. 浅层模型的一个主要局限性就是需要依赖人
工经验来抽取作为模型输入的样本特征, 模型本身
仅作为分类或预测工具. 因此在浅层模型实现的系
统中, 起决定性作用的往往不是模型的优劣, 而是所
选取的特征的优劣. 这也促使研究人员将研究精力
重点投入到特征的开发和筛选中, 不仅对任务问题
领域需要深刻的理解, 还需要花费大量时间反复实
验摸索. 事实上, 逐层初始化深层模型也可以看作是
特征学习的过程, 通过隐藏层对原始输入的一步一
步抽象表示, 来学习原始输入的数据结构, 找到更有
效的特征, 最终提高分类问题的准确性. 在获得有效
特征之后, 模型整体训练也可以水到渠成.
2 面向自然语言处理的深度学习研究及应用
深度学习在图像和语音领域取得了突出成果,
但是在自然语言处理上还未取得重大突破. 与语音
和图像不同, 语言是一种经过人类大脑产生并加工
处理的符号系统, 似乎模仿人脑结构的人工神经网
络应该在自然语言处理领域拥有更多优势, 但实际
情况并非如此. 同时, 近几十年来, 在基于统计的模
型成为自然语言处理主流方法之后, 属于统计方法
典型代表的人工神经网络在自然语言处理领域依然
没有得到足够重视. 当然, 这一切在 2006 年 Hinton
等提出深度学习
[5]
以后, 情况发生了变化, 当前结合
深度学习模型开展自然语言处理相关应用已经取得
了一定成果, 并成为研究热点之一.
语言模型是最早采用神经网络开展研究的自
然语言处理问题. 2003 年, Bengio 等提出词向量
(Word embedding 或 Word representation) 方 法,
表 2 浅层和深层模型比对分析
[32]
Table 2 Comparison and analysis of shallow model and deep model
[32]
模型 浅层模型 深层模型
理论 有成熟的理论基础 理论分析困难
模型层数 1 ∼ 2 层 5 ∼ 10 层
训练难度 容易 复杂, 需要较多技巧
数据需求
仅需要简单特征的任务, 如发电机故障诊断、
时间序列处理等
需要高度抽象特征的任务, 如
语音识别、图像处理等
模型表达能力 有限 强大
特征提取方式 特征工程 特征自动抽取
代价函数凸性
凸代价函数; 没有局部最优点;
可以收敛到全局最优
高度非凸的代价函数; 存在大量的局部最优点;
容易收敛到局部最优
先验知识依赖度 依赖更多先验知识 依赖较少先验知识