moss / speaker_rope.md
czyhust's picture
Initial upload (part 5)
6abc2e0 verified
|
Raw
History Blame Contribute Delete
9.54 kB

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 机制。