自然语言处理 Paddle NLP - 预训练语言模型及应用

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 自然语言处理 Paddle NLP - 预训练语言模型及应用

什么是语言理解?

关于疫情的一段对话:

  • 中国:我们这边快完了
  • 欧洲:我们这边快完了
  • 中国:我们好多了
  • 欧洲:我们好多了

挑战:

  • 语言的复杂性和多样性
  1. 多义/同义/歧义现象
  2. 灵活多变的表达形式
  • 语言背后的环境知识
  1. 以前没钱买华为,现在没钱买华为

语言理解的四个粒度:

  • 字的理解 例如:藏
  • 词的理解 例如:苹果
  • 句子的理解 例如:我们这边快完了
  • 篇章的理解 例如:贸易制裁似乎成了美国政府在对华关系中惯用的大棒。然而,这大棒果真如美国政府所希望的那样灵验吗?

好的表示是实现语言理解的基础:一个好的表示,是要具备通用涵义,并且与具体任务无关,是时又能根据具体任务,提供有用信息

理解是针对任务的理解:字词,关注局部信息;句子篇章,关注文本的全局信息

CBOW:基于临近词(上下文)预测词

Skip-Ngram:基于词预测临近词(上下文)

基于预训练的语义理解技术

ELMo:第一个现代的语义理解模型

利用两个LSTM,分别从左到右,从右到左的语言模型建模,实现建模上下文信息的目的。

两层LSTM:从低层到高层,逐个获取不同层次的语言信息,从最低层单词特征,到最高层语文特征

在获取了预训练模型特征以后,如何应用到具体的任务中。

ELMo:采用了 Feature-Based 方式进行应用

加权相加参数 a1a2a3�1、�2、�3 是可学习的。这是实现动态 Word Embedding 关键所在

ELMo 不仅解决了多义词的问题,而且可以将词性对应起来

ELMo:有什么缺点?

  • 问题1:不完全双向预训练
    模型的前向和后向LSTM两个模型是分别训练的,仅在Loss Function阶段进行了结合。
  • 问题2:需进行任务相关网络结构设计(GPT可解决网格设计问题)
    每种类型的下游任务都需要进行特定的网络结构设计和搭建
  • 问题3:仅有词向量,无句向量
    ELMo在预训练阶段仅学习了语言模型,无句向量学习任务

GPT:被BERT光芒掩盖的工作

对BERT的诞生,起到了非常明显的推动作用

Pre-training 作为 下游任务的一部分参与任务学习,大量减少下游任务网络中新增参数的数量。同时,下游任务的网络,相比较预训练网络,也只有少量结构上的变动,这样会节省大量时间

对于分类任务:模型只需要在输入文本上加上起始(Start)和终结(Extract)的符号,并在网络后端新增一个分类器(FC)。

对于句子判断:如语言识别,两个句子中增加分隔符就可以了。

对于文本相似度判断、多项选择:只需要少量改动,就能实现 Fine-Tuning 过程

GPT

优点:带来了明显的效果提升,也极大的简化了任务网络相关的结构

缺点:

  • 单向预训练
    预训练阶段仅采用传统单向语言模型作为训练目标
  • 仅有词向量,无句向量
    GPT在预训练阶段仅学习了语言模型,无句向量学习任务

BERT:预训练领域的里程碑式突破

Pre-training阶段

  • 延用了GPT 网络结构,使用了12层 Transformer Encoder
  • 交互式式双向语言模型建模(LM -> Auto-Encoder)
  • 引入sentence-level预训练任务
  • 更大规模预训练数据:BooksCorpus + Wikipedia(+2.5billion)

Pre-training 目标:

同时训练token-level & sentence-leveltask

  • Mask-LM task(Mask token)
    15% mask概率,在pre-training阶段实现交互式双向
  • Next-sentence句对预测任务
    预测当前句的下一句话

BERT:Pre-training 策略分析

BERT Mast-LM ,Mask 力度是 Token(单个字)

BERT 如何将自己的预训练模型,应用到下游任务?使用了简单粗暴的方式:伪结果论

BERT缺点

BERTmask(sub-word)lm任务存在的问题:

  • Word哈尔滨;sub-word哈##尔##滨
  • Sub-word预测可以通过word的局部信息完成
  • 模型缺乏全局建模信息的“动力”
    难以学到词、短语、实体的完整语义

ERNIE:基于知识增强的语义理解模型(百度)

将token 力度扩展到了 word 或 entity,使用了百度自建的语义库

ERNIE 在 Fine-tuning 使用了和 BERT 完全一致的方式

2.0 在预训练阶段,引入了更多的预训练任务

如何在学习新知识的同时,不忘旧知识

在预训练阶段,不断进行任务的叠加训练

预训练模型在NLP经典任务的应用

NLP部分经典任务总览

预训练语言模型在下游任务的优势

  • 更少的标注数据
  • 更高的任务效果
  • 更简单的网络结构适配

预训练模型,不是越大越好

预训练模型,如何达到收敛的状态?一直是一个难以界定的范围,越训越大,很难做到预训练充分的结果。目前常规采取的方式是,让它一直训着,抽取实时对预训练模型中产生的中间模型,进行一个具体任务验证,随时采取一个文本匹配任务进行 Fine-Tuning 验证,如果预训练后期,发现了在很长一段时间内,在这样一个验证的下游任务上,得到的 Fine-Tuning 结果,基本持平,我们就认为这个模型达到了一个收敛的状态,或者说局部收敛的状态,这时候就可以给它停下来了。没有一个特别规范的指标

原文:https://aistudio.baidu.com/aistudio/course/introduce/24177?sharedLesson=1455657&sharedType=2&sharedUserId=2631487&ts=1685934903156

目录
相关文章
|
1月前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
AI在自然语言处理中的突破:从理论到应用
AI在自然语言处理中的突破:从理论到应用
53 17
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用
随着人工智能技术的不断发展,自然语言处理(NLP)已经成为了一个重要的应用领域。本文将介绍一些常见的NLP任务和算法,并通过代码示例来展示如何实现这些任务。我们将讨论文本分类、情感分析、命名实体识别等常见任务,并使用Python和相关库来实现这些任务。最后,我们将探讨NLP在未来的发展趋势和挑战。
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在自然语言处理中的创新应用
本文旨在揭示人工智能技术如何革新自然语言处理领域。我们将从基础的文本分析到复杂的情感识别,逐步深入探讨AI如何提升语言理解的准确性和效率。文章将通过实际代码示例,展示AI技术在自然语言处理中的应用,并讨论其对日常生活的潜在影响。读者将获得关于AI技术在理解和生成自然语言方面的实用知识,以及如何将这些技术应用于解决现实世界问题的见解。
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理(Natural Language Processing,简称NLP)
自然语言处理(NLP)是人工智能的分支,旨在让计算机理解、解释和生成人类语言。NLP的关键技术和应用包括语言模型、词嵌入、文本分类、命名实体识别、机器翻译、文本摘要、问答系统、情感分析、对话系统、文本生成和知识图谱等。随着深度学习的发展,NLP的应用日益广泛且效果不断提升。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理(NLP)是AI的重要分支,旨在让计算机理解人类语言
自然语言处理(NLP)是AI的重要分支,旨在让计算机理解人类语言。本文探讨了深度学习在NLP中的应用,包括其基本任务、优势、常见模型及具体案例,如文本分类、情感分析等,并讨论了Python的相关工具和库,以及面临的挑战和未来趋势。
67 1
|
1月前
|
机器学习/深度学习 自然语言处理 监控
探索深度学习在自然语言处理中的应用与挑战
本文深入分析了深度学习技术在自然语言处理(NLP)领域的应用,并探讨了当前面临的主要挑战。通过案例研究,展示了如何利用神经网络模型解决文本分类、情感分析、机器翻译等任务。同时,文章也指出了数据稀疏性、模型泛化能力以及计算资源消耗等问题,并对未来的发展趋势进行了展望。
|
29天前
|
机器学习/深度学习 自然语言处理 语音技术
探索深度学习中的Transformer模型及其在自然语言处理中的应用
探索深度学习中的Transformer模型及其在自然语言处理中的应用
47 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用与挑战
【10月更文挑战第3天】本文将探讨AI技术在自然语言处理(NLP)领域的应用及其面临的挑战。我们将分析NLP的基本原理,介绍AI技术如何推动NLP的发展,并讨论当前的挑战和未来的趋势。通过本文,读者将了解AI技术在NLP中的重要性,以及如何利用这些技术解决实际问题。
|
3月前
|
机器学习/深度学习 数据采集 自然语言处理
深度学习在自然语言处理中的应用与挑战
本文探讨了深度学习技术在自然语言处理(NLP)领域的应用,包括机器翻译、情感分析和文本生成等方面。同时,讨论了数据质量、模型复杂性和伦理问题等挑战,并提出了未来的研究方向和解决方案。通过综合分析,本文旨在为NLP领域的研究人员和从业者提供有价值的参考。

热门文章

最新文章