
文章目錄Attention注意力機制的公式解析一、基本形式二、組成部分解釋三、作用機制四、應用價值Attention注意力機制的公式解析P.S. 關于Self-Attention自注意力機制的更詳細信息可以看我的這一篇文章Self-Attention機制詳解Transformer的核心引擎。一、基本形式A t t e n t i o n ( Q , K , V ) s o f t m a x ( Q K T d ) V Attention(Q,K,V)softmax(\frac{QK^T}{\sqrtdrlblxrh1})VAttention(Q,K,V)softmax(d?QKT?)V二、組成部分解釋輸入參數Q (Query):查詢矩陣K (Key):鍵矩陣V (Value):值矩陣d: 鍵向量的維度可以把注意力機制理解成一個信息檢索過程名稱中文作用直觀理解Q (Query)查詢向量表示當前 Token 想找什么信息我想知道什么K (Key)鍵向量表示每個 Token 可以通過什么特征被匹配我有什么信息值得關注V (Value)值向量表示每個 Token 實際提供的信息我能提供什么內容核心思想是使用 Q 和 K 計算注意力權重再利用這些權重對 V 進行加權求和。e.g.①假設 Transformer 正在處理這句話“小明買了一臺電腦因為它運行速度很快?!蹦P托枰斫狻八敝复裁?。Q想尋找自己指代的對象的內容即“它”。K“小明”“電腦”等 Token 提供各自的匹配特征。V這些 Token 攜帶著可供提取的語義信息。如果“它”的 Q 與“電腦”的 K 匹配程度很高模型就會給“電腦”對應的 V 較大的注意力權重。這樣“它”的新表示就能融合更多與“電腦”相關的信息。②或者還有一種理解Q就像鑰匙想要找對應的保險柜K像保險柜與鑰匙配套的鎖V是想找到的保險柜里面的東西。上述①②兩種說法都是直觀解釋真實模型的 Q、K、V 是通過訓練得到的高維數值向量不一定具有如此明確的人類語義。計算步驟a.計算注意力分數Q K T d \frac{QK^T}{\sqrtdrlblxrh1}d?QKT?將Q與K的轉置相乘除以縮放因子d \sqrtdrlblxrh1d?以防止梯度消失b.歸一化s o f t m a x ( Q K T d ) softmax(\frac{QK^T}{\sqrtdrlblxrh1})softmax(d?QKT?)使用softmax函數將分數轉換為概率分布關于softmax函數的相關信息可以參見Softmax 函數詳解確保所有權重和為1c.加權求和將歸一化后的權重與V相乘得到最終的注意力輸出三、作用機制相關性計算Q K T QK^TQKT計算查詢和鍵之間的相關性高相關性會得到更大的權重縮放處理d \sqrtdrlblxrh1d?用于縮放點積結果防止維度d較大時softmax函數梯度消失權重分配softmax確保權重為正且和為1實現對不同位置信息的軟性選擇四、應用價值信息篩選自動識別重要信息忽略不相關信息長距離依賴捕捉序列中的長距離依賴關系克服傳統(tǒng)RNN的局限性并行計算支持并行處理提高計算效率