---
title: "點積注意力（Dot Product Attention）"
slug: dot-product-attention
language: zh-TW
source: https://aiterms.tw/terms/dot-product-attention
updated_at: 2026-06-22
tags: [Transformer, 注意力機制, 自注意力, 深度學習, NLP, 大型語言模型]
ipas_term: false
---

# 點積注意力（Dot Product Attention）

Transformer 中最基礎的注意力機制，透過查詢向量與鍵向量的點積計算相似度，再用 softmax 轉為權重後對值向量加權求和。

## 完整說明

點積注意力（Dot Product Attention）是 Transformer 架構中計算注意力分數的核心操作。給定查詢（Query）、鍵（Key）、值（Value）三個矩陣，計算流程為：以 Query 與 Key 的矩陣乘積為相似度分數，除以縮放因子（鍵向量維度的平方根）後，通過 softmax 轉為注意力權重，再對 Value 加權求和，得到上下文感知的表示。加入縮放因子的版本稱為縮放點積注意力（Scaled Dot-Product Attention）。

## 常見問題

### 為什麼點積要除以 √dk 進行縮放？

當鍵向量的維度 dk 較大時，查詢與鍵的點積值（q · k）的方差也會隨之增大（假設各分量獨立標準正態，點積方差 = dk）。方差大導致點積的絕對值可能很大，softmax 在數值很大的地方梯度接近零（飽和），使模型訓練時梯度更新困難。除以 √dk 可以將點積的方差標準化回 1，使 softmax 輸入保持在梯度信號充足的範圍，穩定訓練過程。

### 自注意力和交叉注意力（Cross-Attention）有什麼不同？

自注意力（Self-Attention）中，Q、K、V 全部來自同一個序列，讓序列的每個位置能關注自身序列的其他位置；交叉注意力（Cross-Attention）中，Q 來自一個序列（如解碼器的當前輸出），K 和 V 來自另一個序列（如編碼器的輸出），讓解碼器在生成時能關注編碼器的資訊。在機器翻譯的 Transformer 架構中，解碼器層同時包含自注意力（關注已生成的詞）和交叉注意力（關注源語言句子）。

### 點積注意力計算 O(n²) 的問題如何解決？

點積注意力需要計算序列中所有位置兩兩之間的相似度，計算量和記憶體使用均為 O(n²)。針對長序列場景，研究者提出多種改進方案：FlashAttention 透過核心融合（Kernel Fusion）和分塊計算減少記憶體讀寫次數，在不改變計算複雜度的前提下顯著加快實際速度；Sparse Attention 只計算部分有意義的位置對，降低計算量；Linear Attention 系列方法（如 Performer）將複雜度降至 O(n)；滑動視窗注意力（Sliding Window）限制每個位置只能關注相鄰的固定窗口範圍，適合局部依存為主的任務。

---

來源：https://aiterms.tw/terms/dot-product-attention
快查頁：https://aiterms.tw/terms/dot-product-attention
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-dot-product-attention