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

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

  • 文句:由 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 次到位策略。

posted @   hzyuan  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示