机器学习(李宏毅)——BERT

embedded/2025/2/13 7:17:02/

一、前言

本文章作为学习2023年《李宏毅机器学习课程》的笔记,感谢台湾大学李宏毅教授的课程,respect!!!
读这篇文章必须先了解self-attention、Transformer,可参阅我其他文章。

二、大纲

  • BERT简介
  • self-supervised learning(自督导式学习)
  • BERT原理
  • BERT应用
  • BERT为啥有效?

三、BERT简介

  • BERT (Bidirectional Encoder Representations from Transformers)

  • BERT 是由 Google AI 于 2018年10月 提出的预训练语言模型,其论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》在 arXiv 发布,引起了 NLP 领域的巨大关注。

  • BERT 的核心思想是基于 Transformer 结构,并采用 双向(Bidirectional) 预训练机制,极大提升了自然语言理解(NLU)任务的性能。

  • 参数量对比

在这里插入图片描述

模型参数量
ELMO94M
BERT340M
GPT-21542M
Megatron8B
T511B
Turing NLG17B
GPT-3175B
Switch Transformer1.6T

四、self-supervised learning(自督导式学习)

阐述BERT前先讲一下self-supervised learning(自督导式学习)。

什么是self-supervised learning(自督导式学习)?
想必大家都知道supervised learning,通俗来讲就是有输入和对应输出的成对训练资料。
在这里插入图片描述
self-supervised 的意思则是只有输入的资料,没有对应输出的资料的情况,就用输入划拨一部分当做输出,如下图:
在这里插入图片描述
有点晦涩。
打个比喻
古诗填空题大家语文考试时候都做过吧,你要反复背诵,一会儿捂住前半句通过后半句默写前半句,一会儿捂住后半句通过前半句默写后半句,直到完全掌握。
Model比做你的大脑,输入x是完整的诗句“锄禾日当午,汗滴禾下土”,x’和x’‘就是x分出来的前半句和后半句,你大脑背诵时候就是要让你输出的答案y和x’'一样。
这就是self-supervised的精髓了,从训练资料中裂分进行训练的过程,呼应了self这个词。

五、BERT原理

哇靠,BERT就是这么干的。

1、填空题
在这里插入图片描述
说明:
上图自底向上看:

  • 黑色方块就是要填空的地方,把它遮住;
  • BERT用的结构就是Transformer Encoder,没啥好说的;
  • 遮住的部分输出的向量经过Linear和softmax得到y;
  • 利用cross entropy去minimize和遮住部分的正确答案的loss。

那至于怎么遮住的方法有两种:
1、找个特殊字符代表遮住这件事情;
2、随机找个文字作为输入;
在这里插入图片描述

2、排序题
填空题是学会了,那如果是两句诗的让你排序呢?
① “谁知盘中餐,粒粒皆辛苦”
② “锄禾日当午,汗滴禾下土”
请排序,正确答案那当然是②→① 。
你的大脑怎么知道这件事,当然是我背过知道顺序,所以Model还得知道语序。

于是有了第二招→排序。
在这里插入图片描述
输入就是多个不同句子,句子间隔用特殊字符表示。
输出很直观,就是该不该接在一块,Yes/No。

3、小结
这就是全部了!
干了填空题和排序题这两件事!
大名鼎鼎的BERT仅此而已,牛逼的是人家用的训练资料有3.3B词汇,约等于1435套四大名著。

六、BERT应用

BERT是个预训练模型,就像是个插座一样,你想用电风扇、电饭煲都行,所以说它是个基座。
例如:评论情感分析
在这里插入图片描述
基座是BERT的pretrain模型,已经会了填空和句子排序。
自定义部分插个linear、softmax适应不同任务就行。

其他的应用案例就也是这种思想,不赘述。

七、BERT为什么有效?

在这里插入图片描述
BERT知道上下文语义,同样的词在不同的语境下不同,这是能够辨别出来的,同样是“果”字在不同句子环境下输出的向量也不一样。

个人理解:
从空间角度,BERT做的我个人认为它是在进行空间归类,同样的词可以根据语境归类至不同矩阵空间,只要知道这种空间联系就能进行空间转换,一个神奇的例子就是用中英文转换:
在这里插入图片描述

八、小结

掌握BERT在做填空题和排序题这两件事情就达到基本要求了,其他的更多细节和技巧在实做中进行深入研究。


http://www.ppmy.cn/embedded/161812.html

相关文章

MRC最大比合并

1️⃣ 分集和复用技术介绍 多天线技术大致可以分为两类:分集技术和空间复用技术。 分集技术利用多天线接收同一个信号,从而提高传输的可靠性。分集技术的基本思想是将瑞利衰落无线信道转换成更加稳定的信道,像 AWGN 一样没有灾难性的信号衰…

Kafka的ISR是什么,HW是什么,怎么保证可靠性,Kafka怎么实现顺序消息?为什么Kafka的broker上的topic越多,效率越慢?

目录 1. Kafka 的 ISR 是什么 2. Kafka 的 HW 是什么 3. Kafka 如何保证可靠性 4. Kafka 怎么实现顺序消息 5. 为什么 Kafka 的 broker 上的 topic 越多,效率越慢 1. Kafka 的 ISR 是什么 ISR 即 In-Sync Replicas(同步副本集),是 Kafka 中一个重要的概念,用于保障消…

音视频协议

1. 多媒体信息 1.1 多媒体信息的两个主要特点: 信息量很大 标准语音:64Kbits(8KHz采样,8位编码)高质量音频:3Mbps(100KHz采样,12位编码) 在传输多媒体数据时,对时延和时延抖动均有较高要求 1.2 处理时延…

Python3创建虚拟环境

个人博客地址:Python3创建虚拟环境 | 一张假钞的真实世界 Python虚拟环境主要是为了解决Python多版本及模块间版本兼容的问题。创建虚拟环境的方法很简单,使用下面的命令即可: python3 -m venv PySparkEnv PySparkEnv即虚拟环境的主目录。…

Ubuntu20.04上搭建nginx正向代理提供上网服务

背景:公司很多电脑因软件管控问题不得不禁止设备上网,现需搭建上网代理服务器提供给这些用户使用。 操作系统:ubuntu20.04 工具:nginx-1.25.4 1、下载nginx安装包及依赖 由于nginx默认只持支持转发http协议,所以如…

DeepSeek 与网络安全:AI 驱动的智能防御

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 随着人工智能(AI)的快速发展,深度学习技术正渗透到多个领域,从医疗诊断到…

Python----PyQt开发(PyQt高级:组件大小,界面位置,按钮,文本显示,文本输入,字体大小)

一、大小 setMinimumSize(width, height) 描述: 设置控件的最小尺寸。控件不会被缩小到比这个尺寸更小的大小。 参数: width: 最小宽度(以像素为单位)。 height: 最小高度(以像素为单位)。 button.setMinimumSize(100, …

day 40 复习makefile以及51单片机

1.makefile 1.流程 1.将源文件和头文件以及库分别放在src include lib中 2.在源码目录下创建一个名为makefile的文件 3.编写makefile代码。 4.make编译 2.怎么编写代码 通过定义变量 将gcc main.c tree.c queue.c -o app -lm -lpthread 转换 1.定义变量(所有变…