迁移学习让AI更好地理解上下文:Salesforce新论文

本文涉及的产品
文档翻译,文档翻译 1千页
文本翻译,文本翻译 100万字符
NLP 自学习平台,3个模型定制额度 1个月
简介:
本文来自AI新媒体量子位(QbitAI)

让神经网络理解每个词的意思很容易,但上下文、词语之间的关系,依然是自然语言处理(NLP)中的难题。

Salesforce的一群NLP研究者发现,搞图像识别的同行们有个不错的办法,值得一试。

在图像识别领域,把ImageNet上预训练的CNN拿来,用在其他图像识别模型中,已经成为一种惯例。这种把训练好的模型参数迁移到新模型的方法,也就是这两年大热的迁移学习。

理解上下文,就是一个非常适合迁移学习的问题。

Learned in Translation

我们所能想到的大部分NLP任务,都有“理解上下文”的需求。

机器翻译模型需要知道英语句子中的这些词是怎样组合在一起的,才能正确地把它翻译成其他语言;自动文本摘要模型需要了解上下文,才能知道哪些词是最重要的;问答模型需要知道问题中的词如何与文档中的词关联。

既然大家都需要,那能不能选一个任务训练一个“理解上下文”的组件,然后用到其他任务中呢?

 用机器学习预训练一个编码器,得到的上下文向量(CoVe)能提升其他NLP模型的表现

Saleforce的新论文Learned in Translation: Contextualized Word Vectors讲的就是这个问题。

Bryan McCann等研究员先通过英语-德语翻译任务,训练一个神经网络模型在上上文中理解词语,得到名为“上下文向量(context vectors, CoVe)”的输出。

然后,他们把CoVe用到了语义情感分析、问题分类、文本蕴含、问答等多种NLP任务上,这些模型的性能都得到了提升。

词向量

如今大部分NLP深度学习模型,都靠词向量(word vectors)来表示词义。在为特定任务训练模型之前,词向量可能是随机的数字,也可能用用word2vec、GloVe、FastText等方法进行了初始化。

word2vec和GloVe生成的词向量,与在自然语言中经常与这个词共现的词相关,其中word2vec模型会根据输入词来预测周围的相关词语,而GloVe在此基础上,还会统计两个词共同出现的频率。

在一个NLP任务中使用word2vec和GloVe训练的词向量,比随机初始化的词向量效果要好,但是还有改进的空间:

模型需要知道怎样使用这些词向量,也就是如何把它们置于上下文之中。

理解上下文

要在上下文中理解词语,通常会用到循环神经网络(RNN)。RNN非常适合处理词向量序列,本文作者为了更好地处理长序列,使用了一种特殊的RNN结构:长短时记忆网络(LSTM)。

这个LSTM是一个编码器,它以词向量作为输入,输出隐藏向量。研究员们尝试预训练这个编码器,让它输出在多种NLP任务上通用的隐藏向量。

用什么任务来进行预训练呢?他们选择了机器翻译。

与其他NLP任务相比,机器翻译有着更大规模的数据集,也更适合用来训练通用隐藏向量:它比文本分类等任务更需要软件理解语言的含义。

预训练完成后,研究员们得到一个LSTM,称为MT-LSTM,可以用来为新句子输出隐藏向量。他们称这些隐藏向量为CoVe,可以作为其他NLP模型的输入。

迁移效果

Salesforce研究员探索了在文本分类和问答模型上使用CoVe的效果。

他们使用了下列数据集:

  • 情感分类
  • SST-2
https://nlp.stanford.edu/sentiment/treebank.html
  • SST-5
https://nlp.stanford.edu/sentiment/treebank.html
  • IMDb
http://ai.stanford.edu/~amaas/data/sentiment/
  • 问题分类
  • TREC-6
http://cogcomp.cs.illinois.edu/Data/QA/QC/
  • TREC-50
http://cogcomp.cs.illinois.edu/Data/QA/QC/
  • 蕴含分类
  • SNLI
    https://nlp.stanford.edu/projects/snli/
  • 问答
  • SQuAD
    https://rajpurkar.github.io/SQuAD-explorer/

在每一类任务上,他们都对不同方法做了比较,也就是使用以下类型的输入序列:随机初始化词向量、用GloVe初始化的词向量、经GloVe+CoVe初始化的词向量。

GloVe和CoVe一起用时,需要用预训练的MT-LSTM来处理GloVe的输出序列,得到CoVe序列,然后将其中的每个向量加在GloVe序列中相应的向量之上。

结果显示,GloVe和CoVe一起用效果是最好的:

在这些任务上,都是机器学习训练集越大,使用CoVe的效果就越好:

结论

简单概括起来,这项研究就是说,让AI学一学翻译,能帮它更好地理解语言,在分类、问答等等其他NLP任务上都会有更好的表现。

相关链接

博客文章:
https://einstein.ai/research/learned-in-translation-contextualized-word-vectors

论文:
Bryan McCann, James Bradbury, Caiming Xiong, and Richard Socher. 2017.
Learned in Translation: Contextualized Word Vectors
https://einstein.ai/static/images/layouts/research/cove/McCann2017LearnedIT.pdf

PyTorch代码:
https://github.com/salesforce/cove

word2vec:
https://www.tensorflow.org/tutorials/word2vec

GloVe:
https://nlp.stanford.edu/projects/glove/

FastText:
https://github.com/facebookresearch/fastText

—— ——

本文作者:李林
原文发布时间:2017-08-06
相关文章
|
10天前
|
传感器 人工智能 机器人
【01】人形机器人研究试验-被有些网友痛骂“工业垃圾”“人工智障”上春晚的人形AI机器人-宇树科技机器人到底怎么样??-本系列优雅草卓伊凡亲自尝试下人形机器人的制造-从0开始学习并且制作机器人-可以跟随卓伊凡
【01】人形机器人研究试验-被有些网友痛骂“工业垃圾”“人工智障”上春晚的人形AI机器人-宇树科技机器人到底怎么样??-本系列优雅草卓伊凡亲自尝试下人形机器人的制造-从0开始学习并且制作机器人-可以跟随卓伊凡
37 1
【01】人形机器人研究试验-被有些网友痛骂“工业垃圾”“人工智障”上春晚的人形AI机器人-宇树科技机器人到底怎么样??-本系列优雅草卓伊凡亲自尝试下人形机器人的制造-从0开始学习并且制作机器人-可以跟随卓伊凡
|
9天前
|
人工智能 网络协议 IDE
使用通义灵码AI高效学习muduo网络库开发指南
Muduo 是一个基于 C++11 的高性能网络库,支持多线程和事件驱动,适用于构建高效的服务器和应用程序。它提供 TCP/IP 协议支持、异步非阻塞 I/O、定时器、异步日志等功能,并具备跨平台特性。通过 Git 克隆 muduo 仓库并切换至 C++17 分支可开始使用。借助 AI 工具如 Deepseak-v3,用户可以更便捷地学习和理解 Muduo 的核心模块及编写测试用例,提升开发效率。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
Agent Laboratory:AI自动撰写论文,AMD开源自动完成科研全流程的多智能体框架
Agent Laboratory 是由 AMD 和约翰·霍普金斯大学联合推出的自主科研框架,基于大型语言模型,能够加速科学发现、降低成本并提高研究质量。
313 23
Agent Laboratory:AI自动撰写论文,AMD开源自动完成科研全流程的多智能体框架
|
5天前
|
人工智能 自然语言处理 搜索推荐
阿里云携手叫叫,共创儿童学习AI新体验
阿里云携手叫叫,共创儿童学习AI新体验
|
2月前
|
人工智能
Scaling Laws终结,量化无用,AI大佬都在审视这篇论文
《Scaling Laws for Precision》论文提出“精度感知”的扩展理论,将精度纳入模型发展的核心考量,弥补了传统AI模型发展理论忽视精度的不足。研究发现低精度训练会降低模型的有效参数计数,影响性能,并预测了低精度训练和后训练量化带来的损失。作者通过大量实验验证了理论的可靠性和有效性,为计算资源有限情况下如何平衡模型规模和精度提供了新思路。然而,该研究也引发了关于精度与性能权衡复杂性的争议。
91 27
|
3月前
|
人工智能 开发框架 算法
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
Qwen-Agent 是阿里通义开源的一个基于 Qwen 模型的 Agent 应用开发框架,支持指令遵循、工具使用、规划和记忆能力,适用于构建复杂的智能代理应用。
838 10
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
|
3月前
|
人工智能 Linux API
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
PromptWizard 是微软开源的 AI 提示词自动化优化框架,通过自我演变和自我适应机制,迭代优化提示指令和上下文示例,提升大型语言模型(LLMs)在特定任务中的表现。本文详细介绍了 PromptWizard 的主要功能、技术原理以及如何运行该框架。
316 8
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
|
2月前
|
存储 人工智能 自然语言处理
AI 工程学习 - 三张图说明白什么是 RAG
RAG(检索增强生成)是一种结合信息检索和生成模型的自然语言处理框架,通过引入外部知识库(如文档库、数据库等),增强生成模型的回答准确性与相关性。其核心在于避免模型仅依赖训练数据产生不准确或“幻觉”内容,而是通过实时检索外部资料,确保回答更精准、丰富且上下文相关。RAG的实现包括建立索引(清洗、分割、嵌入存储)和检索生成(计算相似度、选择最优片段、整合提示词模板提交给大模型)。
264 0
|
4月前
|
人工智能 自然语言处理 前端开发
VideoChat:高效学习新神器!一键解读音视频内容,结合 AI 生成总结内容、思维导图和智能问答
VideoChat 是一款智能音视频内容解读助手,支持批量上传音视频文件并自动转录为文字。通过 AI 技术,它能快速生成内容总结、详细解读和思维导图,并提供智能对话功能,帮助用户更高效地理解和分析音视频内容。
260 6
VideoChat:高效学习新神器!一键解读音视频内容,结合 AI 生成总结内容、思维导图和智能问答
|
4月前
|
存储 人工智能 搜索推荐
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。
199 6
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库

热门文章

最新文章