注意力机制的qkv

关于这个的介绍网络上非常非常多,不再赘述.仅仅就一个公司同事问我的一个问题补充下,让入门同志更加明白.他的问题是,这个qkv针对每个字变化,还是针对每个句子变化.

事实上,qkv不是针对句子和字来设定的,比如词嵌入是700维的. 那么首先产生qkv的wq,wk,wv就是700*700维度,他们在一个头里面不变,和句子和字变了无关,类比于卷积核,全局共享.

计算一下注意力机制的参数量更明白这点:

  • 以700维度词嵌入为例,那么wq,wk,wv合计参数7007003,约等于150万
  • 一个transformer5个头,那么150*5,约等于750万
  • 一共搞2次transformer,750*2,约等于1500万
  • 此外词嵌入本身也是可以训练的

你可能感兴趣的:(transformer)