这里是李宏毅机器学习2021笔记self-attention的下篇。如果没看过上篇,可以先看上篇李宏毅机器学习2020笔记-—self-attention(上)。学习本节内容,需要一定的基础知识储备。
之前我们已经介绍了,怎么根据input的一排a,得到一个b1.
这里需要强调一点,b1到b4,并不需要按顺序。
(这里就不再赘述怎么得到b1了)
这里我们从矩阵乘法的角度再来看一遍b是怎么产生的。
每一个a,都分别要产生不同的q,k,v。
要用矩阵运算表示的话,就是每一个a都要乘上一个wq,这里我们可以把它们合起来看成是一个矩阵。就相当于矩阵I乘上一个Wq得到一个矩阵Q。(线性代数内容,很简单)
k和v以此类推,只是现在把它写成了矩阵的形式。
下一步:
就是k1和q1做inner-product,得到α1,1,同理得到α1,2和α1,3……
这几步的操作,可以看做是一个矩阵的相乘。写成右上角的形式。