机器学习和深度学习 -- 李宏毅(笔记与个人理解)Day 23

发布于:2024-04-28 ⋅ 阅读:(28) ⋅ 点赞:(0)

Day 23 Self - Atention 变形

关于很多个former 的故事image-20240421214633986

痛点:

在于做出注意力矩阵之后的运算惊人

image-20240421220327890

由于self - attention 一般都是在big model 的一部分,所以,一般不会对模型造成决定性的影响, 只有当model 的输入较长的时候, 例如图中: 图片处理 : 256 * 256 的输入,self-attention 就会得到一个 256 * 256 的平方的 矩阵;导致运算量巨大

methods : 使用人类的先验知识

Local Attention / Truncated Attention

image-20240421222312247

有的时候我们只需要知道左右另据;仅仅知道很小的范围;

感觉和双向RNN 差不多啊……好像还不一样,因为RNN 还是比较有时间序列的

老师说这里和CNN比较像, 可并行

Stride Attention

image-20240421222612960

Global Attentiion

image-20240421223459153

tushi 的是第一种的 attention matrix; 通过special 间接的传递信息

image-20240421223624344

做多 头

image-20240421223703909

//todo 这里忘记了什么是多头的概念了,多头自注意力是怎么做的来着?

Can we only focus on Critical Parts ?

image-20240421224007039

有没有办法估计一下较小的值,直接抹零?

how we do that ?

Clustering

image-20240421224103730

image-20240421224228177

提问:

  1. 为什么是计算相似的而不是计算不同的以保持模型的多样性, 久像 pca 那样
  2. 自注意力机制算的是不是相似程度的矩阵?
  3. 如果是的话, 这样做为什么就能得到sequence 的全局信息了?
  4. image-20240421225843843这里我突然蒙圈了,这里wei’啥是 4* N * N * 4呢? 而不是反过来,换句话说, 这个矩阵的大小为啥是序列的长度,而不是向量的维度

// todo 这是因为自注意力机制的目的是计算序列中每个元素对于序列中每个其他元素的注意力得分,所以我们需要一个 N×N 的矩阵来表示这些得分。每个元素都有一个对应于其他所有元素的得分,包括自己。

md 明白了, 还是需要有一个人来给自己点拨点拨呀

image-20240421231428239

特色就是新弄了一个network ;没讲的是如何从右边到左边binary 的 map

台大学生提问: 这里真的有加速吗?其实我也满想问的,奈何时间不允许啊!!!

NN 里面只会产生一个10*10 的解析度较低的matrix

image-20240421231957431

image-20240421232138378

这里的value 表示什么意思? 是不是输入?

//todo

注意这里为什么不也用 有代表性的 query ?

会改变我的output , 导致不能使得squence的每一个part 都有一个lable 被分出 ,例如词性标注

提问:为什么是 QKV ? 而不是KQV?

好啦 这个问题其实有点蠢了, 当你KQV 的时候 ,你的K 就变成了 Q ;Q 就变成了K ;和你做函数的代换法的时候 用 u 代表变量 x 的行为没什么两样啦

Reduce numbers of Key

image-20240421232743435

做不同方式的线性组合, 其实我的想法 那么也很简单, 用pca 做一下,说不定也可以, 反正就是减少运算量嘛~

image-20240421233111237

为啥这里的v 可以和 其他的维度不同?

emmm 比较简单了

  • 1N * N * 3 = 1 3
  • b = Σ \Sigma Σ a‘ * V

可以看到 V 只需要×一个数字, 当然就不需要一样啦

image-20240421233319679

好吧 V K T Q 其实差不多就是输出了(如果我们忽略掉, KQ 之后 的softmax ,md 我也忘了这里的作用了)

将原始计算分值整理成所有元素权重之和为1的概率分布;另一方面也可以通过softmax的内在机制更加突出重要元素的权重;

自注意力机制是注意力机制的变体,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。自注意力机制的关键点在于,Q、K、V是同一个东西,或者三者来源于同一个X,三者同源。通过X找到X里面的关键点,从而更关注X的关键信息,忽略X的不重要信息。

Change the orders --Linear Transformer

这里先假设没有softMax 的情况哈

image-20240421233532826

image-20240421233558559

image-20240421233648112

md 推荐 线性代数 – 李宏毅了 要开始;

ps 好像赚钱买mac 啊 ……

image-20240422010310137

image-20240422010330726

交换后:

image-20240422010416460

好家伙 改了一下乘法的次数 变了这么多;

but……

image-20240422010507533

image-20240422010516038

while when how we add the softMax

image-20240422010644797

image-20240422011101619

image-20240422011230057

image-20240422011320013

image-20240422011402261

image-20240422011506877

image-20240422011543721

image-20240422011558240

Lets put soft Max back ……

image-20240422011739068

image-20240422011755407

image-20240422011815118

image-20240422011906212

template == pattern

how to image-20240422012004876

image-20240422011953833

Synthesizer

image-20240422012401447

重新思考 attention weight 的价值到底是怎么样的

Attention -Free?

image-20240422012927296

image-20240422012945925


网站公告

今日签到

点亮在社区的每一天
去签到