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

李宏毅机器学习笔记29

目录

摘要

1.Predictive Approach 

2.Contrastive learning

3.Bootstrapping Approache

Bootstrapping

Knowledge Distillation


摘要

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是self-supervised learning在语音和影像上应用的方法,包括Predictive Approach,Contrastive learning,Bootstrapping Approache。

1.Predictive Approach 

Predictive Approach就是给机器一些图片或者是影像,声音讯号,让他预测一些简单的东西。之前generative的方法都是让机器还原声音,图片的内容,但是产生原来声音或图片是很复杂的事情。举一个例子,我们让机器预测一张图片有没有被旋转过。机器要学的就是能不能根据一张图片,判断旋转多少度。

或者是给一张较大的图片,把图片切成小块,拿出两个小块,然后问第二个小块在第一个小块的哪个方向。在声音上也有类似的方法,就是给出两段声音讯号,判断他们两之间有多宽,相差几秒。通过这些任务,会让机器在其他任务上表现的更好。

也有比较general的方法,就是让它生成的东西简化,以声音为例,声音讯号可以表示为一排向量,但是之间产生这些向量不是意见容易的事,所以我们把这些向量做clustering,让他们从向量变为一个一个的token。接下来还是要对输入做mask,但是还原的不是原来的声音讯号,而是做clustering之后的cluster id。

2.Contrastive learning

那有没有办法在不产生东西的情况下,做self-supervised learning?这个就是Contrastive learning要做的事情。它的基本概念是不需要产生或预测任何东西,而是找出一些postive的例子,让他们向量越近越好,negative的例子越远越好。假设给你两张图片,你知道他们是同类别,那我们就说它是postive的例子,接下来我们将两个例子丢入model中,输出的向量期待他们越接近越好。如果是不同类别的图片,就是negative的例子,那么输出的向量越远越好。

一个知名的例子是SimCLR,它是将数据中的图片都先做data augmentation(将图片截一块放大到跟原来一样,或更改颜色,或加入一些gaussian的杂讯)。同一张图片augment的不同图片就是postive的例子,反之,如果另一张图片augment的结果就是negative的例子。

在语言上如何做Contrastive learning,知名的有CPC,Wav2vec。首先有一大堆的声音讯号,放入encoder中,产生一排representation,接下来再把encoder的输出通过predictor产生新的输出。predictor的输出和相邻位置的encoder输出是postive的,跟其他句子或是不相邻的encoder的输出是negative。

Contrastive learning有一个很大的问题就是我们需要取选negative的例子,这是一件困难的事,因为需要有一定难度但是不能太难。假设猫的negative例子是天空,树,海,这些与猫非常不相似,对机器来说太简单,困难看一个颜色就知道了,最后训练出来可能只学会了抽取颜色资讯。但是也不能选太难,不然会把两只不同猫的图片视为是negative的例子,这就将本来是同类的向量距离拉远。

3.Bootstrapping Approache

Bootstrapping

丢掉negative的例子并不简单。如果训练时只用postive,最后model会学到不管看到什么图片都给一模一样的向量。Bootstrapping是这样的,输入两张图片,第一张通过encoder得到向量,第二张通过encoder之后再通过一个predictor(一个简单的,可能只有几层的feedforward network)后,再产生向量,但是在训练时只计算右边的gradient,计算之后把右侧更新后的参数复制到左边。

Knowledge Distillation

还有一个Knowledge Distillation技术。假设你有一个比较大teacher network,输入一张图片,输出一个representation。还有一个比较小的student network,用student network学teacher network的行为,他们看到同一张图片的时候,输出越接近越好并且student network的参数与teacher network差不多。Bootstrapping就可以看作是一个Knowledge Distillation,Bootstrapping左侧就看做是teacher network,右侧是student network。在右侧更新后,student就变成teacher将参数传递给左侧。

http://www.dtcms.com/a/517013.html

相关文章:

  • 羊驼免疫平台:纳米抗体制备的天然基石与实践挑战深度解析
  • 【YOLO11-obb部署至RK3588】模型训练→转换RKNN→开发板部署
  • 怎么建立公司网站平台南通微信网站开发
  • nodejs可以做企业网站吗wordpress xcache
  • AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
  • 基于 GEE 使用 OTSU 算法赋能遥感水体自动化提取:从自动阈值计算到高效分割的水体自动分割方案
  • 网站开发的项目总结汕头网站建设方案开发
  • 网站做好了怎么做后台wordpress设置弹窗
  • jsp租房网站开发门户网站系统建设项目招标书
  • PL2303TA不支援WINDOWS 11及后续版本,请洽询购买厂商[已解决]
  • Flink 的 checkpoint 对 key state 是怎么样存储的?
  • 辛集市住房和城乡建设厅网站焦作网站建设设计公司
  • 电子商务网站建设有什么意义重庆网站建设途锦科技
  • 【回眸】英语自我介绍(头马俱乐部版)
  • Python技巧:负数的16进制补码
  • 昆山建设局网站首页网站培训公司
  • 南充做网站建网站 网站内容怎么做
  • 力扣热题100道之189轮转数组
  • AutoGen框架入门:5个核心概念搭建智能体协作系统
  • MySQL 慢查询诊断与 SQL 优化实战指南(适配 MySQL 8.4 LTS)
  • wordpress 上传svg南通seo网站推广费用
  • 蓝桥杯-16955 岁月流转
  • 每日一个网络知识点:应用层WWW与HTTP
  • 个人网站建设实验心得投资公司取名字大全
  • 欧美网站建设公司东莞专业的网站制作有哪些
  • xtuoj Candy
  • 襄阳大摩网站建设网站开发者所有权归属
  • 一条龙网站建设价格编程应用
  • StarsNote 1.1.0测试版
  • Java--网络原理