http://zh.d2l.ai/chapter_attention-mechanisms/attention-scoring-functions.html
请问这里的batch_size 和num_queries的区别是什么 batch_size不应该是代表了一个batch里面查询的数目吗??
查询的shape: (batch_size, num_queries, q)
keys的shape:(batch_size, num_keys, k) (这里假设k和q不同)
我个人理解是比如1组数据包括5个batch(小批量),在CV里面是不是可以理解为有5张图片,每一张图片上做num_queries次询问,每一张图片提供num_keys条线索。
然后在一张图片完成所有的询问;再然后是一个小批量完成所有的询问。(暂时这么理解的,李沐老师后面的课还没有看 )
文中提到查询和键特征维度不同的时可以采用加性注意力,那么是不是也可以对查询和键采用全连接层将他们映射到特征维度相同的隐藏层,这样他们的特征维度就相同了,是不是也就可以接着使用前面提到的Nadaraya-Watson核来计算权重?类似于:
为什么两个均值为0方差为1的向量相乘后的方差是d呢?
点积是向量对应位置相乘再相加。两个独立的N(0,1)的随机变量相乘得到的变量方差还是1。Q,K都是d维, 相加步骤是d个方差为1的变量相加,方差就是d了。
懂了,非常感谢[date=2023-03-05 timezone=“Asia/Shanghai”]
书里在缩放点积注意力的第一句话:“使⽤点积可以得到计算效率更⾼的评分函数,但是点积操作要求查询和键具有相同的⻓度d。”,我想问相同长度d是什么意思,我可以通过Linear层把不同的特征数映射成相同的长度吗?可是如果这样操作就跟上文提到的加性注意力类似了?我不太明白为什么要求查询和键有相同的长度d。