当前位置: 首页 > article >正文

BERT***

​1.预训练(Pre-training)​

是深度学习中的一种训练策略,指在大规模无标注数据上预先训练模型,使其学习通用的特征表示,再通过​​微调(Fine-tuning)​​ 适配到具体任务

2.sentence-level(句子级任务)​​和​​token-level(词元级任务)​

自然语言处理(NLP)中,​​sentence-level(句子级任务)​​和​​token-level(词元级任务)​​是根据任务处理的文本粒度划分的两类任务。

在自然语言处理(NLP)中,Feature-based (Elmo) 与 Fine-tuning (GPT) 是两种使用预训练语言模型的策略。它们的主要区别在于 如何将预训练模型应用到下游任务 中。

在自然语言处理(NLP)中,​​sentence-level(句子级任务)​​和​​token-level(词元级任务)​​是根据任务处理的文本粒度划分的两类任务。它们的区别主要体现在输入输出的形式和应用场景上:


​1. Sentence-Level(句子级任务)​

​定义​​:以​​整个句子或句子对​​作为输入,输出是对句子整体属性的预测或分类。
​特点​​:

  • 输入是一个完整的句子(或两个句子的组合)。
  • 输出是句子级别的标签或分数。
  • 通常用于理解句子的语义、情感或关系。

​典型任务​​:

  • ​文本分类​​(如情感分析、主题分类)
    • 输入:"这部电影太精彩了!"
    • 输出:正面情感
  • ​自然语言推理(NLI)​
    • 输入:"句子A:猫在沙发上。句子B:沙发上有一只动物。"
    • 输出:蕴含(Entailment)
  • ​句子相似度​
    • 输入:"句子A:天气真好。句子B:今天阳光明媚。"
    • 输出:相似度0.9(0-1范围)

​BERT中的应用​​:

  • 使用[CLS]标签的最终隐藏状态作为整个句子的表示,接分类器输出结果。

​2. Token-Level(词元级任务)​

​定义​​:以​​句子中的每个词或子词(Token)​​为处理单元,输出对每个Token的预测或标注。
​特点​​:

  • 输入是一个句子,但需要对每个Token单独处理。
  • 输出是Token级别的标签序列。
  • 通常用于细粒度的语言分析。

​典型任务​​:

  • ​命名实体识别(NER)​
    • 输入:"马云在杭州创立了阿里巴巴。"
    • 输出:[B-PER, I-PER, O, B-LOC, O, O, B-ORG]
  • ​词性标注(POS Tagging)​
    • 输入:"我爱自然语言处理"
    • 输出:[代词, 动词, 名词, 名词, 名词]
  • ​问答任务(QA)​
    • 输入:"问题:谁写了《哈利波特》? 上下文:J.K.罗琳是《哈利波特》的作者。"
    • 输出:答案跨度"J.K.罗琳"(定位起始和结束Token的位置)。

3.Feature-based (Elmo) 与 Fine-tuning (GPT)

Feature-based(基于特征的方法,如 ELMo)

  • 核心思想
    使用预训练模型(如 ELMo)提取每个词的上下文表示作为“静态特征”,然后将这些特征作为输入提供给一个单独训练的下游模型(如 BiLSTM+CRF)。

  • 过程如下

    1. 用预训练好的语言模型(如 ELMo)生成文本的上下文嵌入(embeddings)。

    2. 将这些嵌入作为特征输入到任务特定的模型中(如文本分类器、NER模型等)。

    3. 只训练下游模型的参数,ELMo参数保持不变(有时可以微调,但本质上是特征提取)。

Fine-tuning(微调方法,如 GPT/BERT)

代表模型:GPT、BERT、T5、LLAMA 等

  • 核心思想
    将整个预训练模型和下游任务模型作为一个整体进行端到端训练。

  • 过程如下

    1. 将下游任务的数据输入预训练模型(如 GPT/BERT)。

    2. 在其顶层添加一个或多个任务特定的层(如分类器)。

    3. 使用任务数据对整个模型进行微调,包括预训练模型本身。

4.BERT

1.BERT结构

1.输入

BERT的输入由三部分嵌入(Embedding)相加组成:

  1. ​Token Embeddings​​(词嵌入)

    • 使用​​WordPiece分词​​(30,000词表),解决未登录词(OOV)问题。
    • 特殊标记:
      • [CLS]:分类任务的聚合表示(位于序列开头)。
      • [SEP]:分隔句子对(如问答中的问题和答案)。
      • [MASK]:预训练时用于掩码语言模型(MLM)。
  2. ​Segment Embeddings​​(句子嵌入)

    • 区分句子A和句子B(如问答对、句对任务),用E_AE_B表示。
  3. ​Position Embeddings​​(位置嵌入)

    • 使用可学习的位置编码(而非Transformer的固定正弦/余弦函数),支持最长512个Token的序列。

2.BERT通过两个无监督任务预训练:

​(1) 掩码语言模型(Masked Language Model, MLM)​

  • ​方法​​:随机掩盖15%的输入Token,其中:
    • 80%替换为[MASK]
    • 10%替换为随机Token。
    • 10%保持不变(缓解预训练-微调不一致)。
  • ​目标​​:基于上下文预测被掩盖的原始Token。

​(2) 下一句预测(Next Sentence Prediction, NSP)​

  • ​方法​​:给定句子A和B,预测B是否是A的下一句(50%正例,50%随机负例)。
  • ​目标​​:学习句子间关系,提升问答(QA)、自然语言推理(NLI)等任务性能。

2.Bert用途 

语言模型(Language Model, LM) 的目标是:给定前面的词序列,预测下一个词的概率。

Transformer 本身只是一个神经网络架构,包含以下两种主要模块:

  • Encoder:用于建模整段输入(如 BERT)

  • Decoder:用于按序生成词(如 GPT)

Transformer 结构能不能用来做语言模型?
Encoder-only(如 BERT)❌ 不能做自回归语言模型(会信息泄露)
Decoder-only(如 GPT)✅ 可以做语言模型(逐词生成)
Encoder-Decoder(如 T5)✅ 可用于生成任务,也能做语言建模(但更常用于翻译、摘要)
  • BERT 不是用来生成句子的(不像 GPT);

  • 它做的是填空、理解,不会从左到右一步步生成;

  • BERT 的核心用途是做“理解”类任务,是为各种 NLP 下游任务提供语义理解的预训练模型。

应用举例用 BERT 怎么做
1️⃣ 文本分类情感分析、垃圾邮件检测将整段文本喂给 BERT,取 [CLS] 向量接全连接层做分类
2️⃣ 序列标注命名实体识别(NER)、分词每个词有一个表示,接一个分类器预测标签(如人名、地名)
3️⃣ 句子对判断语义相似度、句子关系判断把两个句子拼在一起,让 BERT 判断是否相关
4️⃣ 问答系统(QA)给你一段文章,问“谁是美国总统”BERT 提取答案的起止位置
5️⃣ 多轮对话理解对话状态跟踪、意图识别同样是对语言的“理解”
http://www.lryc.cn/news/2393862.html

相关文章:

  • 超级对话2:大跨界且大综合的学问融智学应用场景述评(不同第三方的回应)之二
  • 在Linux环境里面,Python调用C#写的动态库,如何实现?
  • 【Linux 基础知识系列】第三篇-Linux 基本命令
  • OpenCV CUDA模块直方图计算------生成一组均匀分布的灰度级函数evenLevels()
  • 深度学习常见实验问题与实验技巧
  • 前端面试之Proxy与Reflect
  • uniapp vue3 鸿蒙支持的 HTML5+接口
  • 一张Billing项目的流程图
  • 理想树图书:以科技赋能教育,开启AI时代自主学习新范式
  • 【大模型02】Deepseek使用和prompt工程
  • B端产品经理如何快速完成产品原型设计
  • [Java实战]Spring Boot切面编程实现日志记录(三十六)
  • Apache POI生成的pptx在office中打不开 兼容问题 wps中可以打卡问题 POI显示兼容问题
  • 大学大模型教学:基于NC数据的全球气象可视化解决方案
  • Python学习(2) ----- Python的数据类型及其集合操作
  • 机器学习算法-决策树
  • MediaMtx开源项目学习
  • Linux安装EFK日志分析系统
  • Linux(9)——进程(控制篇——下)
  • E. Melody 【CF1026 (Div. 2)】 (求欧拉路径之Hierholzer算法)
  • @Pushgateway 数据自动清理
  • 粽叶飘香时 山水有相逢
  • YC-8002型综合变配电监控自动化系统
  • react diff 算法
  • 近期手上的一个基于Function Grap(类AWS的Lambda)小项目的改造引发的思考
  • Obsidian 社区插件下载修复
  • VSCode的下载与安装(2025亲测有效)
  • 千库/六图素材下载工具
  • Ansible模块——Ansible的安装!
  • 差分S参数-信号与电源完整性分析