点积
线性映射、向量与矩阵的几何与代数
点积接收两个向量并返回一个数。做法很简单:把对应分量相乘,再把结果加起来。这个朴素算术带有几何意义:点积衡量两支箭头有多朝同一个方向。
右边的形式最值得依赖。|a| 和 |b| 是长度,θ 是两支箭头之间的角度。所以点积的符号可以立刻读出几何:正表示箭头大致同向(θ < 90°),负表示它们相反(θ > 90°),正好为零表示它们垂直。最后一种情况会反复出现。
想象在刮风时推着一辆购物车。你的推力和风的点积告诉你这两个箭头的对齐程度:当风对你起顺向帮助作用时,它很大且为 positive,当风径直横穿你的路径且不做功时为 zero,当风反向推挤你时为负。作为相似度分数来解读,更大的点积简单地表示“这两个箭头更加一致”。
在机器学习中的应用当 transformer 决定要关注哪个先前 token 时,它会计算点积。注意力分数是查询向量和键向量之间的 q · k:当它们同向时分数高,表示“这个 token 与那个 token 相关”。余弦相似度是同一个思想,只是除掉了长度。它按方向相似度给两个嵌入排序,而不受大小影响,这正是搜索和推荐把查询匹配到文档的方式。
▶ 点积