首页 > 其他分享 >【李宏毅机器学习】生成式学习的两种策略:各个击破 or 一次到位

【李宏毅机器学习】生成式学习的两种策略:各个击破 or 一次到位

时间:2023-06-05 12:55:40浏览次数:41  
标签:各个击破 策略 李宏毅 生成式 生成 学习 一次 元素 到位

生成式学习是用来生成有结构的复杂物件,这些复杂物件通常由一些小的元素构成:

  • 文句:由 token 所构成
    • 中文的 token 就是【字】
    • 英文的 token 是 word piece。 unbreakable -> un break able
  • 影像:由像素所组成
  • 语音:由取样点所组成。16k 取样频率,每秒有16000个取样点

策略一:各个击破——每次只生成一个元素。模型:Autoregressive(AR) model

策略二:一次到位——一次性生成所有元素。模型:Non-autoregressive(NAR) model


各个击破 vs. 一次到位:

  • 生成速度:通常一次到位策略速度更快。各个击破策略每个元素生成之前都要等前面的元素生成,时间开销大,没有办法平行化。一次到位策略只要有足够的平行运算能力,就可以把所有元素一次都生成出来。这就是为什么影像生成常常采用一次到位策略,影像的像素太多了!
  • 生成品质:往往各个击破策略生成品质比较好,一次到位策略生成品质比较差。以生成文句举例(下图):各个击破策略会生成第一个元素的概率分布,假设采样到【老】,再根据第一个元素来确定后续元素生成的结果,【老】后无疑是【师】概率比较大。一次到位策略会一次性生成第一个元素和第二个元素的概率分布,然后采样,则可能生成相邻词汇之间不匹配的情况。

图片来源:李宏毅机器学习课程

总结:AR 的生成品质更好,常用于生成文句。NAR 的生成速度更快,常用于生成影像。


那有没有方法综合两种策略从而截长补短呢?有两种方法:

方法一:先用各个击破策略决定大方向,然后用一次到位策略确定最后结果。常用于语音合成。

一段语音的采样点很多,用各个击破策略生成时间开销大。一次到位策略把握生成方向能力差,生成的语音又会较模糊。

可以用各个击破策略产生一个中间产物把握大方向,再用一次到位策略把中间产物变成语音。


图片来源:李宏毅机器学习课程

方法二:一次到位策略改为 N 次到位。相当于把各个击破策略融合进了一次到位策略。

一次到位策略虽然能快速生成图像,但一次性生成的像素点之间可能存在不匹配情况,图像会非常模糊。可以把模糊的图像再通过一次到位策略变得更清楚一点,因为第一次生成图像的大方向已经决定了,之后的每次都会生成更清晰的图像。


图片来源:李宏毅机器学习课程

Diffusion Model 的基本精神就是 N 次到位策略。

标签:各个击破,策略,李宏毅,生成式,生成,学习,一次,元素,到位
From: https://www.cnblogs.com/hzyuan/p/17457498.html

相关文章

  • [学习笔记]数据结构_线性表_顺序表and单链表
    线性表线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是指存储结构,两者属于不同层面上的概念。线性表的基本操作boolInitList(&L)//初始化表,构造一个空的线性表intLength(L)//求表长。返回线性表L的长度,即L中数据元素的个数intLocateElem(L,e)//按......
  • 系统化学习前端之Vue(vue2 组件通信)
    前言前文vue2基础中聊过,页面本质是DOM树,而在vue2中组件=vm实例对象=DOM。因此,页面其实也是组件树构成,组件之间形成父子关系,兄弟关系等,相互之间通信也是组件树的必须要求。vue2组件通信组件通信即组件之间的数据传递。props和$emit$attrs和$listener$parent......
  • MySQL学习从基础开始
    1.什么是数据库DataBase,简称DB;数据库软件称为数据库管理系统,英文简称DBMS,全称为DataBaseManagementSystem,例如:Oracle、MySQL、SQLServer、Sybase、informix、DB2等等。2.MySQL概述MySQL最初是由“MySQLAB公司”开发的一套关系型数据库管理系统(RDBMS-RelationDataBas......
  • 学习Python能做什么 怎么快速学习学习Python
    学习Python能做什么?Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,设计具有很强的可读性。相比其他语言经常使用英文关键字,其他语言的一些标点符号,Python具有比其他语言更有特色语法结构。Python被称为“胶水语言”,拥有丰富而强大的库,在数据分析、数据挖......
  • 23605 六七月的学习重点
    五月的学习总结1.关于音标的学习从5月13到6月5日,你基本上了3周,才算比较系统的学完了音标.这个速度太慢了,同时,音标的学习,还是遗留了比较多的问题.你只是整理了资料,但是,对于资料,还没有系统性的理解.2.关于英翻中的学习虽然学习,但是,整体的速度依旧不理解. 六七月......
  • Java学习笔记(十四)
    1.请描述你理解的IO流的作用 I/O流(输入/输出流)的作用是在程序与外部世界(例如文件、网络、控制台等)之间传输数据。2.请描述I/O流的体系结构(1)InputStream类和OutputStream类,其实现类:FileInputStream和FileOutputStream(2)Reader类和Writer类,其实现类:FileReader和FileWriter(3)缓......
  • PE学习——导出表,加载dll并GetProcAddress获取函数地址的内在原理
    导出表一个可执行程序是由多个PE文件组成,这些PE文件依靠倒入表、导出表进行联系,导出表存储着PE文件提供给其他人使用的函数列表,导入表则存储着PE文件所需要用到的PE文件列表。从PE文件的角度去看,任何PE文件都可以有导入、导出表,从一般情况下来看,EXE文件不会提供导出表,也就是不会......
  • rodert单排学习redis入门【黑铁】
    文章目录前言1.NoSql(notonlysql)2.Redis入门3.Redis特性3.1.性能3.2.特性3.3.优势4.Redis使用场景5.安装5.1.单机安装5.1.1.windows下5.1.2.linux下6.五类数据结构6.0.说明6.1.介绍6.2.Rediskeys6.2.字符串(strings)6.3.列表(Lists)6.4.哈希(Hash)6.5.集合(Set)6.6.有序集合(sorted......
  • Innodb学习
    mysql5.5.8之后是innodb的存储引擎。之前默认是myisam。innodb支持事务。有表空间概念,分为ON独立表空间OFF系统表空间。如何选择:Innodb数据字典内部的保证事务安全性 没有使用mysql内部的数据类型都是引擎相关的类型 B树  Undo回滚段服务器层产生frm文件......
  • Zookeeper的学习总结
    源:http://www.tuicool.com/articles/2IBzyq评:Zookeeper的核心概念:ZNodeZnode就是核心结构,Zookeeper服务中是由大量的Znode构成。Znode一般是由客户端建立和修改,作为信息或标志的载体,甚至本身就是标志。Znode可以设置为持久(PERSISTENT)或临时(EPHEMER......