自监督式学习

模型简介:

BERT简介:

首先我们要理解监督学习和自监督学习之间的区别:

监督学习是有人工设定好的label标签,而自监督学习一开始是没有label的

bert功能一:masking

首先决定要遮盖那几个tokens,决定之后遮盖的方法有两种:一种是直接mask遮盖,还有一种是随机生成汉字填充

bert功能二:句子衔接预测

句子与句子之间用SEP连接,只有开头的CLS作为输出,用来表示这两个句子是否衔接,但是这个功能一般效果不明显,不使用该功能模型识别衔接效果也不错

补充:我们一般说的Fine-tune就是在原有的BERT模型进行改造,生成新的模型

那么我们做好的模型怎么测试其效果怎么样呢?我们可以从以下几个方面进行测试

如果只使用BERT上面提到的两个功能,并没有什么作用,重要的是BERT可以通过变式得到更广泛的应用

案例一:语句情感分析

做填空题训练的时候是supervised,但是用在下游标注的时候是unsupervised

预训练BERT和未预训练模型区别:

案例二:词性分析

案例三:条件推断

输入自然语言,premise作为输入的条件/场景,hypothesis作为推断内容,最终输入推断是否正确

采用的是同样的结构:

案例四:阅读理解

现在的问题是这样的,我输入一个问题,如何让机器在原文中找到答案呢?输入:问题,输出:答案的起始位置到终点位置(也就是s和e)

处理过程如下:

将问题和文章作为输入(需要注意的是,BERT的结构和encoder类似,但是BERT的输入长度并没有很长,一般输入512就差不多了),同时提前训练好random initialized作为"标准答案"用来和输出的向量计算loss,通过inner product和softmax计算相似度,相似度越高,说明和正确答案的位置越接近

几个可能产生疑惑的问题:

问:每次问一个问题不都得拿真实答案去预测吗,这样的意义在哪里

如何预训练一个seq2seq的model:

首先把encoder的输入弄坏,然后让decoder还原输出

各种各样的弄坏方法:

BERT输出的文字不仅仅代表一个向量,甚至可以包含这个字的具体意思,这样是怎么做到的呢?

如下图所示,BERT主要采用的是上下文学习机制,以此来学习文字的"意思",最初版的模型是word embedding模型,但是这个最初模型只采用两个transformer结构,现在的BERT是更复杂的结构

但是实际上,并不只是这样的学习方式使得BERT达到这样的效果,如果我们进行随机训练,就会发现BERT的训练结果比随机训练还要好,说明BERT在初始化参数的过程就比较好

Multi-lingual BERT:

该模型是一种多语言模型,如果我们训练好了英文的语义填空,中文的类似语境也可以实现

这说明同样意思的中英文字词之间的距离向量也是很近的

但是这不代表BERT模型不区分语言,我们把中英文的embedding差距做成差距向量,发现英文的输出加上这个向量就变成中文输出了

相关推荐
武子康32 分钟前
给 H3-World 叠加 Turbo,动作 LoRA 为什么还要重新验收?
人工智能·agent·claude
Dawson Zhu1 小时前
【分布式训练④】张量并行与序列并行:把单层参数切碎分到多张卡
人工智能·语言模型·架构·aigc·agi
Martina_03212 小时前
AI生成的3D白模单帧没问题,镜头一移动就被挡?用6步检查遮挡与构图
图像处理·人工智能·数学建模·3d·ai·自然语言处理·游戏策划
泯泷2 小时前
SFT 的真相:它不教模型"知道什么",只教它"怎么说"
人工智能·llm·agent
JJJennie7772 小时前
MAI Gateway 免费试用与付费方案详解:先验效果,再谈 ROI
人工智能·大模型·gateway·ai网关
aifannihao2 小时前
AI 学习第 14 课:CNN 训 6 轮卡在 0.5352,数据没打乱
pytorch·python·深度学习·cnn·学习路线
AI_Gump2 小时前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
萝卜小白3 小时前
深度学习基础面经
人工智能·深度学习