|
|
| # Multi-axis Relative Rotary Encoding with Layer-wise Random Speaker Projection for Speaker-aware Attention |
|
|
| --- |
|
|
| # 1. 动机(Motivation) |
|
|
| ## 1.1 Transformer 中相对关系建模的重要性 |
|
|
| Self-attention 的核心计算为: |
|
|
| [ |
| A_{ij}=q_i^Tk_j |
| ] |
| |
| 该计算仅依赖 query 与 key 的内容匹配,而缺少显式结构关系建模。 |
| |
| 因此 Transformer 通常引入位置编码,使模型能够感知 token 间的相对关系。 |
| |
| RoPE(Rotary Position Embedding)的核心思想是不直接将 position embedding 加入 token 表示,而是通过旋转变换将绝对位置映射到 query/key 空间: |
| |
| [ |
| q_i'=R(p_i)q_i |
| ] |
|
|
| [ |
| k_j'=R(p_j)k_j |
| ] |
| |
| 此时 attention 得分: |
| |
| [ |
| (q_i')^Tk_j' |
| ] |
| |
| 展开: |
| |
| # [ |
| |
| q_i^TR(p_i)^TR(p_j)k_j |
| ] |
| |
| 由于旋转矩阵满足: |
| |
| [ |
| R(a)^TR(b)=R(b-a) |
| ] |
| |
| 因此: |
| |
| [ |
| \boxed{ |
| A_{ij} |
| ====== |
|
|
| q_i^TR(p_j-p_i)k_j |
| } |
| ] |
|
|
| 即 attention 不再依赖绝对位置: |
|
|
| [ |
| p_i,p_j |
| ] |
|
|
| 而只依赖: |
|
|
| [ |
| p_j-p_i |
| ] |
|
|
| 因此 RoPE 将: |
|
|
| [ |
| \text{absolute position} |
| ] |
|
|
| 转化为: |
|
|
| [ |
| \boxed{\text{relative position}} |
| ] |
|
|
| --- |
|
|
| # 1.2 Speaker embedding 的特殊性 |
|
|
| 在 speaker diarization、speaker-attributed ASR 以及 conversation modeling 中,通常利用 speaker embedding: |
|
|
| [ |
| e_s\in\mathbb R^{d_e} |
| ] |
|
|
| 表示说话人身份。 |
|
|
| 然而,与时间位置不同,speaker embedding 不具有绝对坐标语义。 |
|
|
| 对于任意保持空间结构的旋转: |
|
|
| [ |
| e'_s=Ue_s |
| ] |
|
|
| 其中: |
|
|
| [ |
| U^TU=I |
| ] |
|
|
| 有: |
|
|
| [ |
| \cos(e_i',e_j') |
| =============== |
|
|
| \cos(e_i,e_j) |
| ] |
|
|
| 说明 speaker embedding 的语义主要存在于: |
|
|
| [ |
| \boxed{ |
| \text{relative geometry} |
| } |
| ] |
|
|
| 而非: |
|
|
| [ |
| \text{absolute coordinate} |
| ] |
|
|
| 因此,一个理想的 speaker encoding 应满足: |
|
|
| 1. 不依赖 speaker embedding 的绝对方向; |
| 2. 保留 speaker embedding 空间中的相对关系; |
| 3. 相同 speaker token 保持较强 interaction; |
| 4. 不同 speaker token 自动产生 attention decorrelation。 |
|
|
| --- |
|
|
| # 1.3 从二维 RoPE 到 Speaker-aware Rotary Encoding |
|
|
| 二维 RoPE 将二维位置: |
|
|
| [ |
| (x,y) |
| ] |
|
|
| 映射到两个独立 rotary 子空间: |
|
|
| [ |
| R(x,y) |
| ====== |
|
|
| R_x(x)\oplus R_y(y) |
| ] |
|
|
| 使不同相对轴分别建模。 |
|
|
| 类似地,在 speaker-aware attention 中,可以认为: |
|
|
| [ |
| (position,speaker) |
| ] |
|
|
| 构成两个不同的相对结构: |
|
|
| * position axis: |
| 时间相对距离; |
|
|
| * speaker axis: |
| speaker embedding 几何关系。 |
|
|
| 因此设计: |
|
|
| [ |
| \boxed{ |
| R_{total} |
| ========= |
| |
| R_{pos} |
| \oplus |
| R_{spk} |
| } |
| ] |
| |
| 其中: |
| |
| * position rotary 保留原始 RoPE; |
| * speaker rotary 建模相对 speaker relationship。 |
| |
| --- |
| |
| # 2. 编码设计(Encoding Design) |
| |
| --- |
| |
| # 2.1 Block-wise Rotary Dimension Split |
| |
| 设 Transformer attention head 维度: |
| |
| [ |
| d_h |
| ] |
| |
| 划分为: |
| |
| [ |
| d_h=d_p+d_s |
| ] |
| |
| 其中: |
| |
| * (d_p):position rotary 子空间; |
| * (d_s):speaker rotary 子空间。 |
| |
| 例如: |
| |
| [ |
| d_h=64 |
| ] |
| |
| 采用: |
| |
| [ |
| d_p=32 |
| ] |
| |
| [ |
| d_s=32 |
| ] |
| |
| 则: |
| |
| [ |
| q_i= |
| [q_i^{pos};q_i^{spk}] |
| ] |
| |
| [ |
| k_i= |
| [k_i^{pos};k_i^{spk}] |
| ] |
| |
| 即: |
| |
| [ |
| \boxed{ |
| \text{前半部分编码时间,后半部分编码 speaker} |
| } |
| ] |
| |
| --- |
|
|
| # 2.2 Position Rotary Branch |
|
|
| position 分支完全保持原始 RoPE。 |
|
|
| 对于第 (l) 层: |
|
|
| [ |
| q_{i,l}^{pos\prime} |
| =================== |
| |
| R(p_i)q_{i,l}^{pos} |
| ] |
| |
| [ |
| k_{i,l}^{pos\prime} |
| =================== |
|
|
| R(p_i)k_{i,l}^{pos} |
| ] |
|
|
| 其中: |
|
|
| [ |
| p_i=i |
| ] |
| |
| --- |
| |
| # 2.3 Layer-wise Random Speaker Projection |
| |
| ## Speaker embedding normalization |
| |
| 首先对 speaker embedding 归一化: |
| |
| [ |
| \hat e_i |
| ======== |
|
|
| \frac{e_i}{||e_i||} |
| ] |
|
|
| 后续记: |
|
|
| [ |
| e_i=\hat e_i |
| ] |
|
|
| 因此: |
|
|
| [ |
| ||e_i||=1 |
| ] |
| |
| --- |
| |
| ## Layer-wise projection matrix |
| |
| 不同于共享单一 projection,本方法为每个 Transformer layer 分配独立随机矩阵: |
| |
| [ |
| \boxed{ |
| W_l\in |
| \mathbb R^{d_s/2\times d_e} |
| } |
| ] |
|
|
| 其中: |
|
|
| [ |
| \boxed{ |
| (W_l)_{mn}\sim N(0,1) |
| } |
| ] |
|
|
| 并满足: |
|
|
| * 不同 layer: |
|
|
| [ |
| W_l\neq W_{l'} |
| ] |
|
|
| * 同一 layer、同一 utterance: |
|
|
| 所有 token 使用同一个: |
|
|
| [ |
| W_l |
| ] |
| |
| 因此: |
| |
| [ |
| \theta_{i,l} |
| ============ |
|
|
| W_le_i |
| ] |
|
|
| --- |
|
|
| ## 为什么采用 layer-wise projection? |
|
|
| 不同 layer 学习不同抽象层级的 speaker relationship。 |
|
|
| 因此: |
|
|
| layer (l): |
|
|
| [ |
| \theta_{i,l}=W_le_i |
| ] |
| |
| 相当于从不同随机子空间观察 speaker manifold。 |
| |
| 同时: |
| |
| 由于同一 layer 内: |
| |
| [ |
| W_l |
| ] |
|
|
| 保持一致: |
|
|
| [ |
| \theta_{j,l}-\theta_{i,l} |
| ========================= |
|
|
| W_l(e_j-e_i) |
| ] |
| |
| 保证 relative speaker property。 |
| |
| --- |
| |
| # 2.4 Speaker Rotary Transformation |
| |
| 第 (l) 层: |
| |
| [ |
| q_{i,l}^{spk\prime} |
| =================== |
|
|
| R(\theta_{i,l})q_{i,l}^{spk} |
| ] |
|
|
| [ |
| k_{i,l}^{spk\prime} |
| =================== |
| |
| R(\theta_{i,l})k_{i,l}^{spk} |
| ] |
| |
| --- |
| |
| # 2.5 Combined Attention |
| |
| 最终: |
| |
| [ |
| q_i' |
| ==== |
|
|
| [ |
| q_i^{pos\prime}; |
| q_i^{spk\prime} |
| ] |
| ] |
|
|
| [ |
| k_j' |
| ==== |
| |
| [ |
| k_j^{pos\prime}; |
| k_j^{spk\prime} |
| ] |
| ] |
| |
| attention: |
| |
| [ |
| A_{ij} |
| ====== |
|
|
| (q_i')^Tk_j' |
| ] |
|
|
| 由于两个子空间正交: |
|
|
| [ |
| \boxed{ |
| A_{ij} |
| ====== |
| |
| A_{pos} |
| + |
| A_{spk} |
| } |
| ] |
| |
| 其中: |
| |
| [ |
| A_{pos} |
| ======= |
|
|
| (q_i^{pos\prime})^Tk_j^{pos\prime} |
| ] |
|
|
| [ |
| A_{spk} |
| ======= |
| |
| (q_i^{spk\prime})^Tk_j^{spk\prime} |
| ] |
| |
| --- |
| |
| # 3. 理论证明(Theoretical Analysis) |
| |
| --- |
| |
| # 3.1 原始 RoPE 相对位置性质保持 |
| |
| 考虑 position branch: |
| |
| [ |
| q_i^{pos\prime} |
| =============== |
|
|
| R(p_i)q_i^{pos} |
| ] |
|
|
| [ |
| k_j^{pos\prime} |
| =============== |
| |
| R(p_j)k_j^{pos} |
| ] |
| |
| attention: |
| |
| [ |
| A_{pos} |
| ======= |
|
|
| (q_i^{pos\prime})^Tk_j^{pos\prime} |
| ] |
|
|
| 展开: |
|
|
| # [ |
|
|
| (q_i^{pos})^TR(p_i)^TR(p_j)k_j^{pos} |
| ] |
|
|
| 利用旋转性质: |
|
|
| [ |
| R(p_i)^TR(p_j) |
| ============== |
|
|
| R(p_j-p_i) |
| ] |
|
|
| 得到: |
|
|
| [ |
| \boxed{ |
| A_{pos} |
| ======= |
| |
| (q_i^{pos})^TR(p_j-p_i)k_j^{pos} |
| } |
| ] |
| |
| 因此: |
| |
| 加入 speaker rotary 后: |
| |
| [ |
| \boxed{ |
| \text{original RoPE relative position property is preserved} |
| } |
| ] |
| |
| 原因: |
| |
| position rotary 与 speaker rotary 位于独立子空间。 |
| |
| --- |
| |
| # 3.2 Layer-wise Speaker Rotary Relative Property |
| |
| 对于第 (l) 层: |
| |
| [ |
| q_{i,l}^{spk\prime} |
| =================== |
|
|
| R(\theta_{i,l})q_{i,l}^{spk} |
| ] |
|
|
| [ |
| k_{j,l}^{spk\prime} |
| =================== |
| |
| R(\theta_{j,l})k_{j,l}^{spk} |
| ] |
| |
| 因此: |
| |
| [ |
| A_{spk}^{(l)} |
| ============= |
|
|
| (q_i^{spk})^T |
| R(\theta_{i,l})^TR(\theta_{j,l}) |
| k_j^{spk} |
| ] |
|
|
| 得到: |
|
|
| # [ |
|
|
| (q_i^{spk})^T |
| R(\theta_{j,l}-\theta_{i,l}) |
| k_j^{spk} |
| ] |
|
|
| 由于: |
|
|
| [ |
| \theta_{i,l}=W_le_i |
| ] |
| |
| 所以: |
| |
| [ |
| \theta_{j,l}-\theta_{i,l} |
| ========================= |
| |
| W_l(e_j-e_i) |
| ] |
|
|
| 因此: |
|
|
| [ |
| \boxed{ |
| A_{spk}^{(l)} |
| ============= |
| |
| (q_i^{spk})^T |
| R(W_l(e_j-e_i)) |
| k_j^{spk} |
| } |
| ] |
| |
| 说明: |
| |
| 第 (l) 层 speaker rotary 只依赖: |
| |
| [ |
| \boxed{ |
| e_j-e_i |
| } |
| ] |
| |
| 而不依赖: |
| |
| [ |
| e_i,e_j |
| ] |
| |
| 的绝对坐标。 |
| |
| --- |
|
|
| # 3.3 Overall Multi-axis Relative Property |
|
|
| 第 (l) 层: |
|
|
| [ |
| A_{ij}^{(l)} |
| ============ |
| |
| A_{pos}^{(l)} |
| + |
| A_{spk}^{(l)} |
| ] |
| |
| 即: |
| |
| # [ |
| |
| q_p^TR(p_j-p_i)k_p |
| + |
| q_s^TR(W_l(e_j-e_i))k_s |
| ] |
| |
| 因此: |
| |
| [ |
| \boxed{ |
| A_{ij}^{(l)} |
| ============ |
| |
| f( |
| p_j-p_i, |
| e_j-e_i |
| ) |
| } |
| ] |
| |
| 同时满足: |
| |
| * relative position encoding; |
| * relative speaker encoding。 |
| |
| --- |
| |
| # 3.4 Speaker Rotary Phase Decorrelation |
| |
| 考虑: |
| |
| [ |
| \Delta e=e_j-e_i |
| ] |
| |
| speaker rotary 中: |
| |
| [ |
| R(W_l\Delta e) |
| ] |
| |
| 对应复数形式: |
| |
| [ |
| e^{iw_r^T\Delta e} |
| ] |
| |
| 其中: |
| |
| [ |
| w_r\sim N(0,I) |
| ] |
| |
| 由于: |
| |
| [ |
| w_r^T\Delta e |
| \sim |
| N(0,||\Delta e||^2) |
| ] |
| |
| 根据 Gaussian characteristic function: |
| |
| [ |
| E[e^{ix}] |
| ========= |
| |
| e^{-\frac12Var(x)} |
| ] |
| |
| 得到: |
| |
| [ |
| \boxed{ |
| E[ |
| e^{iw_r^T\Delta e} |
| ] |
| = |
|
|
| e^{-\frac12||\Delta e||^2} |
| } |
| ] |
|
|
| 因此: |
|
|
| [ |
| \boxed{ |
| E[S_m(\Delta e)] |
| ================ |
| |
| m e^{-\frac12||\Delta e||^2} |
| } |
| ] |
| |
| 随着: |
| |
| [ |
| ||e_j-e_i|| |
| ] |
| |
| 增加: |
| |
| phase cancellation 增强。 |
| |
| 因此: |
| |
| [ |
| \boxed{ |
| speaker\ distance |
| \uparrow |
| \Rightarrow |
| attention\ correlation |
| \downarrow |
| } |
| ] |
| |
| --- |
| |
| # 3.5 与 Cosine Speaker Similarity 的关系 |
| |
| 由于: |
| |
| [ |
| ||e_i||=||e_j||=1 |
| ] |
| |
| 有: |
| |
| [ |
| ||e_i-e_j||^2 |
| ============= |
| |
| 2-2cos(e_i,e_j) |
| ] |
| |
| 因此: |
| |
| [ |
| E[S] |
| ==== |
| |
| e^{-(1-cos(e_i,e_j))} |
| ] |
| |
| 即: |
| |
| [ |
| \boxed{ |
| cos(e_i,e_j) |
| \uparrow |
| \Rightarrow |
| speaker\ rotary\ correlation |
| \uparrow |
| } |
| ] |
| |
| 与 speaker embedding 几何空间一致。 |
| |
| --- |
| |
| # 4. 设计评价(Design Summary) |
| |
| ## 4.1 方法优势 |
| |
| ### (1) 完全保留原 RoPE 能力 |
| |
| 采用: |
| |
| [ |
| R_{total} |
| ========= |
|
|
| R_{pos}\oplus R_{spk} |
| ] |
|
|
| position branch 与原始 RoPE 完全一致。 |
|
|
| 因此: |
|
|
| * 不破坏已有位置建模能力; |
| * 不影响长上下文建模。 |
|
|
| --- |
|
|
| ### (2) 从绝对 speaker encoding 转向相对 speaker encoding |
|
|
| 传统: |
|
|
| [ |
| x+e_s |
| ] |
| |
| 依赖 speaker embedding 绝对坐标。 |
| |
| 本文: |
| |
| [ |
| R(W_l(e_j-e_i)) |
| ] |
|
|
| 直接编码: |
|
|
| [ |
| speaker\ relationship |
| ] |
|
|
| --- |
|
|
| ### (3) Layer-wise random projection 提升表示能力 |
|
|
| 不同 Transformer layer: |
|
|
| [ |
| W_1,W_2,...,W_L |
| ] |
| |
| 提供不同随机观察空间。 |
| |
| 同时: |
| |
| 同层内共享: |
| |
| [ |
| W_l |
| ] |
|
|
| 保证: |
|
|
| [ |
| \theta_j-\theta_i=W_l(e_j-e_i) |
| ] |
| |
| 严格满足 relative property。 |
| |
| --- |
| |
| ### (4) 理论性质统一 |
| |
| 最终 attention: |
| |
| [ |
| \boxed{ |
| A_{ij}^{(l)} |
| ============ |
|
|
| f( |
| \Delta p, |
| \Delta e |
| ) |
| } |
| ] |
|
|
| 同时具有: |
|
|
| * RoPE relative position property; |
| * speaker relative geometry property; |
| * speaker distance induced decorrelation。 |
|
|
| --- |
|
|
| # 4.2 总结 |
|
|
| 本文提出: |
|
|
| [ |
| \boxed{ |
| \textbf{Multi-axis Relative Rotary Encoding with Layer-wise Random Speaker Projection} |
| } |
| ] |
|
|
| 将 rotary embedding 从单一时间轴扩展到: |
|
|
| [ |
| (position,speaker) |
| ] |
|
|
| 通过: |
|
|
| [ |
| \boxed{ |
| R_{total} |
| ========= |
| |
| R_{pos} |
| \oplus |
| R(W_le) |
| } |
| ] |
| |
| 实现: |
| |
| * 时间相对关系建模; |
| * speaker 相对关系建模。 |
| |
| 理论证明: |
| |
| 1. 原始 RoPE 的相对位置性质完全保持; |
| 2. speaker rotary 满足 relative speaker encoding; |
| 3. layer-wise random projection 保留 speaker embedding 几何不变性; |
| 4. speaker embedding 距离增加导致 rotary phase cancellation,从而产生 attention decorrelation。 |
| |
| 该方法提供了一种无需显式 speaker token、无需全局 speaker index 的 speaker-aware Transformer encoding 机制。 |
| |