[2022]李宏毅深度学习与机器学习第七讲(必修)-Self-Supervised Learning

做笔记的目的

1、监督自己把50多个小时的视频看下去,所以每看一部分内容做一下笔记,我认为这是比较有意义的一件事情。
2、路漫漫其修远兮,学习是不断重复和积累的过程。怕自己看完视频不及时做笔记,学习效果不好,因此想着做笔记,提高学习效果。
3、因为刚刚入门深度学习,听课的过程中,理解难免有偏差,也希望各位大佬指正。

Self-Supervised Learning

在自然语言处理里面的模型,主要采用了芝麻街的角色。
在这里插入图片描述
Self-Supervised Learning是一种无监督学习方法,但是又比较特殊。
在这里插入图片描述

Bert

Bert训练的时候有两个任务,第一个是Masking Input预测遮住的词,损失函数是交叉熵,第二个任务是Next Sentence Prediction,取ClS,之后加一个线性层判断两个句子是否是前后相连。但是后面有工作提出Next Sentence prediction对于任务没有用,可能是这个任务比较简单,因为两个句子是不是配对很容易判断。所以就有了下面第二个图的SOP方法,判断两个句子的顺序,哪个在前,哪个在后。
在这里插入图片描述
在这里插入图片描述

Downstream Tasks

用预训练模型去做别的任务,主要有四个不同的任务:

  1. 输入一个序列,进行分类
  2. 产生相同长度的输出,如词性预测。
  3. 出入两个序列,输出是否配对(分类)
  4. Extraction-based Question Answering,这类问答要求答案一定要在原文里面。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这个任务,还要两个额外的向量去预测开始的地方和结束的地方。
    在这里插入图片描述
    在这里插入图片描述

为什么Bert可以工作

首先Bert考虑了上下文信息,可以区分一词多意,如下面的第二个图片,苹果和苹果手机的果字就可以分开。
在这里插入图片描述
在这里插入图片描述
这个又叫contextualized word embedding
在这里插入图片描述
同时Bert在蛋白质分析,DNA分析领域的效果也不错,所以就可能需要重新思考为什么Bert效果不错,因为DNA领域或者蛋白质分析和文本好像并没有关系。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实线是用Fine-tune虚线是不用,可以看到在训练集上,同样的模型用Fine-tune的模型不仅收敛的快,而且更加优秀。
在这里插入图片描述
而且同样都是局部最优解,但是Fine-tune一般会走到平缓的地方。

Multi-lingual Bert

用104种不同的语言去训练模型,得到了更加强大的模型。
在这里插入图片描述
不同语言的字,向量是接近的
在这里插入图片描述
但是,我们自己做这个实验的时候可能并不是很容易,很可能训练不出来,因为数据量小,同时训练的次数不够多,需要耐心等待。
在这里插入图片描述
为什么这种方法是有效的那?有论文做了Bert训练之后计算两种语言的差距,向量加上差距竟然可以弄成原来的语言。具体的来说就是,计算中午和英文所有向量的平均并相减得到C,然后用Multi-Bert编码英文,编码后加上C,做一个Reconstruction就可以得到中文。
在这里插入图片描述
在这里插入图片描述

GPT

GPT的任务是预测下一个Token,这里的架构非常像Transfrom的decoder,因为预测下一个Token的时候不能看到以下个Token,这里可以用MASK技术,GPT比较有名的是写了一篇关于独角兽的新闻。
在这里插入图片描述
因为GPT真的太大了,所以不会去在训练调整参数,都是给他看一些案例然后直接开始执行任务。
在这里插入图片描述
在这里插入图片描述

其他的任务Beyond Text

自监督学习在很多领域都有用到
在这里插入图片描述
图像领域的对比学习
在这里插入图片描述
在这里插入图片描述
也可以将bert用在语音上。
在这里插入图片描述

What is pre-train model

在这里插入图片描述
一般的机器学习方法,一个词,对应的向量是一样的,所以效果并不是很好。不同语境下词应该是不同的向量,所以机器学习又出了FastText。
现在的预训练模型都非常的大,基本上不是穷人可以玩的起来的,所以一方面是让模型变大,另一方面是让模型变小同时保证准确率。
在这里插入图片描述
这里Albert比原来的效果还好一点,同时模型更小了,有时间可以去读一读。
在这里插入图片描述
当然也有一些改变Transform架构减少计算量的工作,之前讲过了。
在这里插入图片描述

How to fine-tune

有两种预训练的方法

  1. 固定pre-trained Model但是训练最后一层
  2. 连同pre-trained Model和后面的神经网络一起进行训练。
    通常第二种方法更好一点
    在这里插入图片描述
    如果是第二种方法,每一个任务就要保存一个model那么成本非常大,所以就有了Adaptor这一项技术。
    在这里插入图片描述
    那么只需要存Apt这部分就可以了,Apt长什么样子,是一个值得研究的问题。
    在这里插入图片描述
    因为有很多layer,去每个layer的输出乘以weight然后相加也是一种方法。
    在这里插入图片描述
    做Encoder和Decoder的模型可以用翻译来做训练,翻译这个任务,每个词汇都会被考虑到,但是需要很多配对的文本。
    在这里插入图片描述
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值