江辉老师分享“自然语言处理的通用深度学习方法”

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
简介: 6月5号,由阿里巴巴iDST邀请到了江辉老师,在北京阿里巴巴绿地中心阿里同学们做了一场A New General Deep Learning Approach for Natural Language Processing的讲座。

6月5号,由阿里巴巴iDST邀请到了江辉老师,在北京阿里巴巴绿地中心阿里同学们做了一场A New General Deep Learning Approach for Natural Language Processing的讲座。

DingTalk20170630102819.png

分享概要

如今在NLP领域各种CNN,RNN及其变种网络层出不穷,但是它们在复杂度,模型训练等方面都有不少问题。在这样的现状下,能否有一种更简单的机制代替这样的复杂网络,同时又取得与其相当甚至更好的效果,这成为了很多人的诉求。

江辉老师直接切入了NLP的痛点之一——变长编码(variable-length encoding)。即NLP需要处理的往往不是定长(fixed-size)的数据,而是变长的短语,句子,段落甚至篇章。也是因为变长编码的原因,才使得NLP领域大量引入CNN和RNN模型。
DingTalk20170629102441.png

技术核心

于是江辉老师及其团队,提出了FOFE-net架构,即FOFE(Fixed-size Ordinally-Forgetting Encoding) + DNN,来解决变长编码问题,同时降低模型复杂度,提高训练速度甚至整体效果
DingTalk20170629103259.png

FOFE是一种简单精妙的rule-base编码方式。上图中,左侧1-of-K是传统的one-hot编码,右侧是FOFE编码的计算过程的例子,下方是计算公式,公式中,z是整个编码,t表达不同的时刻,e是当前时刻的词的one-hot向量。运算当前t时刻的FOFE等于上个时刻t-1的FOFE编码乘上一个打折系数(遗忘系数)alpha,然后加上t时刻词的one-hot,通俗的说就是,在one-hot的基础上利用了数值的大小表明了词的位置信息

FOFE是简单的,同时是精妙的,江辉老师也给出了FOFE的理论证明
DingTalk20170629104721.png

解决了变长编码到定长编码的问题,那么后续只需要使用DNN(多层)就能完成很多任务,此次分享中,江辉老师展示了NLP的多个任务上使用FOFE-net和其他方法的结果对比
DingTalk20170629105039.png
(红色部分为重点介绍的任务)

实验结果

由于文章篇幅有限,本文仅详细讲述Word Embedding任务,其他任务仅简单描述方法和结果
DingTalk20170629105256.png

用了FOFE编码后Word Embedding变得非常简单,甚至并不需要深度学习相关的做法就能达到很好的性能。如图上所示,词表的长度为K,对于每个词w,我们使用该词左右两侧的若干词做FOFE编码,如果该词出现多次,那么left FOFE和right FOFE则是所有出现词w的上下文FOFE编码的平均(该做法只是策略之一),得到词到词context FOFE编码的矩阵后(K * 2K,2K是因为左右两个FOFE长度),使用SVD等sparse to dense的手段就能得到Word Embedding

DingTalk20170629105912.png

这种简单的方式得到的效果轻松超越了word2vec,GloVe等方法

除此外江辉老师还介绍了NLP中不少任务上FOFE-net的做法和表现(下面只列举部分):

  1. 语言模型。使用FOFE方式编码词w历史的词,然后经过DNN预测下一个词的概率分布。在Google-1B的数据上,表现出惊人效果(超越绝大多数方法,并与谷歌的最好算法相当),并且训练时间上大大降低(google使用32GPU,FOFE使用1GPU)。
  2. 命名实体识别。假定某个词序列S=wn~wn+m为实体,使用FOFE编码S左右两侧的context,作为特征进入DNN,输出判断该词序列S是否是实体,是何种实体。在CoNLL03任务上,得到不错的效果。
  3. 信息抽取。在2015 KBP-EDL,2016 KBP-EDL上表现不俗。

还有不少任务,如指代消解,文本分类,实体链接,句法分析等都在分享中有分析和对比,由于篇幅原因不能一一列举

听众收获

江辉老师的分享非常精彩,虽然只有一个小时左右,干货多多,让人意犹未尽。
QA环节也有热烈的讨论:

  1. 问:FOFE编码在处理长句子时,是否会因为alpha不断打折而导致浮点精度问题丢失了一些词的信息?答:可以采用双向的FOFE编码减缓浮点精度问题
  2. 问:FOFE编码是否能再进入RNN,CNN然后效果是否会进一步提升?答:这个工作有学生做过,训练速度下降了,但是效果并没有好

个人思考

如有不对,欢迎评论区拍砖

  1. 问:如何在使用FOFE编码的同时融入更多其他信息,如词的标签,词性等,因为FOFE编码之后已经是整个sentence粒度,而词的标签还停留在word粒度?答:使用相同的编码方式编码额外的信息,如FOFE词性vector,FOFE词标签vector等;
  2. 问: 为什么FOFE-net会得到更优的性能?答:猜测。FOFE极大简化了网络复杂度,使得网络被训练得非常好,换句话说CNN和RNN这样得复杂网络在现有的BP算法下,很有可能没有被训得很好。这样的简化网络结构换取效果提升的思路貌似是个不错的方向

参考资料

The Fixed-Size Ordinally-Forgetting Encoding Method for Neural Network Language Models

相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能的深度学习与自然语言处理前沿
【10月更文挑战第10天】探索人工智能的深度学习与自然语言处理前沿
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习在自然语言处理中的最新进展
【10月更文挑战第10天】探索深度学习在自然语言处理中的最新进展
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习在自然语言处理中的最新进展
【10月更文挑战第10天】探索深度学习在自然语言处理中的最新进展
55 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习在自然语言处理中的最新进展
【10月更文挑战第10天】探索深度学习在自然语言处理中的最新进展
40 0
|
2月前
|
机器学习/深度学习 调度 计算机视觉
深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
本文探讨了多种学习率调度策略在神经网络训练中的应用,强调了选择合适学习率的重要性。文章介绍了阶梯式衰减、余弦退火、循环学习率等策略,并分析了它们在不同实验设置下的表现。研究表明,循环学习率和SGDR等策略在提高模型性能和加快训练速度方面表现出色,而REX调度则在不同预算条件下表现稳定。这些策略为深度学习实践者提供了实用的指导。
37 2
深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
|
14天前
|
机器学习/深度学习 自然语言处理 监控
探索深度学习在自然语言处理中的应用与挑战
本文深入分析了深度学习技术在自然语言处理(NLP)领域的应用,并探讨了当前面临的主要挑战。通过案例研究,展示了如何利用神经网络模型解决文本分类、情感分析、机器翻译等任务。同时,文章也指出了数据稀疏性、模型泛化能力以及计算资源消耗等问题,并对未来的发展趋势进行了展望。
|
4天前
|
机器学习/深度学习 自然语言处理 语音技术
探索深度学习中的Transformer模型及其在自然语言处理中的应用
探索深度学习中的Transformer模型及其在自然语言处理中的应用
19 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习在自然语言处理中的突破与未来趋势####
本文深入探讨了深度学习技术在自然语言处理(NLP)领域的最新进展,重点介绍了其在语言理解、生成及翻译等方面的革新应用。通过对比传统方法的局限性,展示了深度学习如何以其强大的特征提取和学习能力重塑NLP领域。文章还分析了当前面临的挑战,如模型泛化能力、解释性问题及资源消耗等,并展望了未来发展趋势,包括多模态学习、持续学习机制以及更加公平和可解释的AI模型设计。本文旨在为读者提供一个全面而深入的视角,理解深度学习在推动NLP发展的核心作用及其未来的无限可能。 ####
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习在自然语言处理中的突破与未来展望###
本文深入探讨了深度学习技术在自然语言处理(NLP)领域的最新进展,重点分析了其在该领域实现的重大突破及面临的挑战。通过对比传统方法与深度学习模型的差异,阐述了深度学习如何推动NLP领域的边界拓展,并对未来发展趋势进行了展望。 ###
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习与自然语言处理的最新进展
【10月更文挑战第6天】探索深度学习与自然语言处理的最新进展
25 0