李宏毅 – 2022深度学习课程

内容纲要

参考材料

  • 视频: 这个不完整, 只有李宏毅的部分, B站整理的会更完整. 但是这里有很多其他系列的视频也是挺好的.
  • B站视频

简介

file

相对于单层或者很浅层的网络, 实践中相同参数深度带来性能的大幅度提升. 要达到相似的性能, 深度的网络往往比浅层网络需要更少的参数量, 深度的网络更容易更快的被训练出来.
虽然有不同的解释, 但是既不是定理,也不怎么简洁. 所以才需要调参, 很难通过比较好的理论来推断.

自注意力机制

自注意力模块计算量对输入长度敏感, 是N^2, 所以在特别长的时候, 计算量特别大

1. Local Attention / Truncated Attention

只需要看左右或者比较短的一个window即可, 加快计算速度. 但是实际上也很像CNN.
file

2. Stride Attention

file

3. Global Attention

Special关注全局的信息, 如果两个token之间有信息要传递,可以通过special token来传递.
file

使用

一般我们可以混合使用这几种方式来减少计算量的同时, 又可以尽可能获得他们的优点.
file

4. Clustering

使用一个方法对q,k进行分群
file
然后只对同一个群的q,k进行Attention计算
file
也可以使用学习的方法来决定
file

5. Reduce Number of Keys

file

6. Synthesizer

Attention是不是一定要使用q,k,v计算,还是直接可以去学习?
file

总结

Transformer的性能挺好的, 这是性能确实不行,但是目前看起来也没有哪个替代能够在不伤害性能的前提下完全替代self attention, 只是在N太大的时候,我们需要控制计算量.
file

Generative Model

  1. GAN
  2. VAE
  3. Flow based
  4. Diffusion

GAN

file

GAN由discrimintor(辨别器)和一个generator(生成器)组成, 一般generator就是一个分类器(clasifier)模型,用来区分样本是属于哪个分布, 是从样本中抽样的还是由生成器合成的. 我们希望他们之间的竞争能够一起提升, 最终能够得到一个很好的generator.

最早的GAN模型很难被训练, 后续的研究工作都在使用各种方法让GAN可以更容易被训练.这里核心是辨别器

  1. 如果辨别器不好, 无法区分真实的样本和合成的样本, 则没有有效的损失
  2. 如果辨别器太好, 总是能够完美区分, 则生成器收不到有效的梯度.

场景的问题问题是Model collapse: 生成器总是生成一个非常小范围的输出,这些输出总是能够让判别器无法分出.

KL散度和JS散度(Kullback-Leibler and Jensen-Shannon Divergence)

这两个散度都是用来衡量不同的概率分布之间的相似度.

发表评论