挑战深度学习与自然语言处理的极限!

最后一课,总结了目前这两个领域中的难题,介绍了一些前沿研究:快16倍的QRNN、自动设计神经网络的NAS等。

深度学习已经漂亮地完成了许多单项任务,但如果我们继续随机初始化模型参数,我们永远也无法得到一个可以完全理解语言的系统。模型就像蒙住眼的狗,在高原上随机游走,头撞南墙。

Richard说他同样不相信独立的无监督学习能够救世(同意),虽然这个问题还存在许多争议。因为语言有许多监督与反馈,要完成的目标也多种多样。

在达到下一个层次的路上,摆在NLP面前有许多障碍。

障碍1:通用架构

没有单个模型能够胜任多个任务,所有模型要么结构不同,要么超参数不同。

上次介绍的DMN带来了曙光。

障碍2:联合多任务学习

上次也提到过,同一个decoder/classifier,对于不同的输入,只要替换encoder就能同样输出。

不像计算机视觉,只能共享低层参数

只在任务相关性很强的时候才会有帮助

否则会影响效果

解决方案

在第一课中提到的MetaMind团队提出的A Joint Many-Task Model: Growing a Neural Network for Multiple NLP Tasks,现在详细介绍。

这是个怪兽一般的模型,多层LSTM并联,从下往上看在文本颗粒度上是越来越大,在任务上是越来越复杂。由底而上分别是词性标注、CHUNK、句法分析、两个句子的相关性、逻辑蕴涵关系。输入可能是词,也可能是字符ngram。底层任务的隐藏状态有到其他层级的直接路径。相关性encoder的输出卷积一下,供逻辑关系分类器使用。

整个模型使用同一个目标函数。左右对称只是示意可以接受两个句子用于关联分析,其实是同一套参数。

模型细节

词性标注是单层LSTM,隐藏状态softmax一下,乘上label的embedding得到每个单词的pos embedding。将词性标注LSTM的隐藏状态、pos embedding和单词输入chunking的LSTM,执行类似的流程得到chunk的embedding。

依存句法分析

依然是单层LSTM,每个时刻同时接受下级的输入。每两个时刻的单词做一次softmax,判断它们的依存关系。理论上讲,该方法无法保证结果一定是合法的句法树,但Richard说99%的case都是合法的,加上一些剪枝规则后,可以拿到最高分数(虽然论文还未发表就被另一位同行超越了)。

语义联系

依然是类似的BiLSTM,多了个CNN max池化,过一层前馈神经网络,过一层softmax得到两个句子的语义联系。

训练

如果每个softmax都用交叉熵损失函数训练的话,效果并不好。这里用到了一种新奇的技巧叫做successive regularization,在某个上层任务的损失函数中,加入一个正则化项,限制下层任务的参数不要改变太多。

在训练的时候,从低层任务出发,先专注优化一个目标函数,假装上面的东西都不存在,逐步往上。(我觉得这并不是同一个目标函数)

结果

联合训练提高了每项任务的效果,任务数据越小,提升越显著。这是因为迁移学习的帮助越大。

大部分任务都拿到了最高分:

障碍3:预测从未见过的词语

以前课程也讲过,pointer copy机制:

原文:http://www.hankcs.com/nlp/cs224n-tackling-the-limits-of-dl-for-nlp.html

本文来自企鹅号 - AI讲堂媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CVer

[计算机视觉论文速递] ECCV 2018 专场5

Amusi 将日常整理的论文都会同步发布到 daily-paper-computer-vision 上。名字有点露骨,还请见谅。喜欢的童鞋,欢迎star、for...

1340
来自专栏算法channel

了解这5种常用的概率分布,能让你跳过不少坑

学习机器学习算法过程中,少不了概率分布的概念,说起概率分布我的脑中除了正太分布那条线就再也没有其他印象了,这个缺陷使我在推导公式过程中遇到很多坑,也在理解数据特...

890
来自专栏杨熹的专栏

强化学习第6课:什么是 Crossentropy 方法

求解方法不止有一个, 有一种思路是,我们有一个 policy,即有了行为和状态的概率分布。 对其进行初始化,可以是随机的,也可以根据具体问题用一些先验知识初...

642
来自专栏人工智能头条

如何让神经网络把熊猫识别为秃鹫

1809
来自专栏AI研习社

基于 Python 的自动文本提取:抽象法和生成法的比较

本博客是对文本摘要的简单介绍,可以作为当前该领域的实践总结。它描述了我们(一个RaRe 孵化计划中由三名学生组成的团队)是如何在该领域中对现有算法和Python...

1492
来自专栏语言、知识与人工智能

【干货】Kaggle 数据挖掘比赛经验分享

如果你也跃跃欲试,不妨选一个合适的任务,开启数据挖掘之旅吧。

43811
来自专栏大数据文摘

斯坦福CS231N深度学习与计算机视觉第二弹:图像分类与KNN

1594
来自专栏AI科技评论

浅谈神经网络训练方法,Deepmind更青睐正向传播

深度学习的神经网络训练方法有除了典型的反向传播,也有被Deepmind青睐的正向传播,以及以BAM网络背后的双向传播,本文将对这些训练方法进行简单的探讨,如果你...

3456
来自专栏AI科技大本营的专栏

程序员想搞机器学习?看看Nodejs之父这一年摸爬滚打的心路历程

本文是Nodejs之父Ryan Dahl在Google Brain做了一年深度学习后的心得体会,他在那里的目标是用机器学习将卓别林的老电影自动修改到4K画质。他...

4147
来自专栏大数据挖掘DT机器学习

Kaggle 数据挖掘比赛经验分享

简介 Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台。笔者从 2013 年开始,陆续参加了多场 K...

3877

扫码关注云+社区