HUST网络和Transformer网络异同介绍

一、标准Transformer的完整网络结构

1. 整体架构

Transformer由编码器(Encoder)解码器(Decoder)堆叠而成,主要用于序列到序列任务(如机器翻译)。其核心是多头自注意力机制前馈神经网络

2. 计算公式

(1)输入表示
  • 词嵌入X = E(W) ∈ ℝ^(L×d_model),其中W是词索引序列,E是嵌入矩阵。
  • 位置编码(正弦/余弦函数或可学习):
    P(pos,2i) = sin(pos/10000^(2i/d_model))
    P(pos,2i+1) = cos(pos/10000^(2i/d_model))
  • 输入向量H⁰ = X + P
(2)编码器层(共N层)

每层包含两个子层:

H^(l) = LayerNorm( MHAttention(H^(l-1)) + H^(l-1) )          # 子层1:多头注意力 + 残差 & 层归一化
H^(l) = LayerNorm( FFN(H^(l)) + H^(l) )                     # 子层2:前馈网络 + 残差 & 层归一化

a. 多头自注意力(Multi-Head Self-Attention)

  • 将输入投影到h个头:
    Q_i = H W_i^Q, K_i = H W_i^K, V_i = H W_i^V,其中W_i^Q, W_i^K, W_i^V ∈ ℝ^(d_model×d_k)
  • 每个头的缩放点积注意力:
    Attention(Q_i, K_i, V_i) = softmax( (Q_i K_i^T) / √d_k ) V_i
    
  • 多头拼接与输出投影:
    MultiHead(H) = Concat(head₁, ..., head_h) W^O
    

b. 前馈神经网络(FFN)

FFN(x) = max(0, x W₁ + b₁) W₂ + b₂

其中W₁ ∈ ℝ^(d_model×d_ff), W₂ ∈ ℝ^(d_ff×d_model)d_ff通常为4×d_model

(3)解码器层(共N层)

每层包含三个子层:

  1. 掩码多头自注意力(防止看到未来信息)
  2. 编码器-解码器注意力(以编码器输出为K、V)
  3. 前馈网络

3. 输出层

  • 线性投影:y = H^(N) W_y
  • Softmax:p = softmax(y)

二、HSTU(Hierarchical Sequential Transduction Unit)网络结构

1. 整体设计理念

HSTU是纯编码器架构,专为推荐任务设计。其核心创新是用门控注意力完全替代FFN,并采用点式聚合注意力以适应超长用户行为序列。

2. 计算公式

(1)输入表示
  • 行为序列编码:将用户历史行为(物品ID、行为类型、时间戳)编码为交错序列:
    X = [e(item₁)⊕e(action₁), e(item₂)⊕e(action₂), ...] ∈ ℝ^(L×d)
  • 相对注意力偏置:引入位置p和时间t的相对偏置rab^(p,t)
(2)HSTU单元(单层)

每个单元包含三个连续操作:

a. 逐点投影(Pointwise Projection)

U, V, Q, K = Split( ϕ₁( X W_proj + b_proj ) )

其中:

  • W_proj ∈ ℝ^(d×4d),将输入投影到4倍维度。
  • ϕ₁SiLU激活函数SiLU(x) = x · σ(x)
  • 输出分割为四个矩阵:U, V, Q, K ∈ ℝ^(L×d),分别作为门控、值、查询、键

b. 空间聚合(Spatial Aggregation)

A = ϕ₂( (Q K^T) / √d_k + rab^(p,t) )
Context = A V

其中:

  • ϕ₂点式聚合函数(通常为SiLU),替代Softmax,保持注意力分数的绝对值强度。
  • rab^(p,t)是位置与时间的相对偏置项。

c. 逐点变换(Pointwise Transformation)

Y = f₂( LayerNorm( Context ⊙ U ) )

其中:

  • 是逐元素乘法(Hadamard积),U作为动态门控调制聚合信息。
  • f₂是线性输出层:f₂(z) = z W_out + b_outW_out ∈ ℝ^(d×d)
  • 注意:此处没有FFN,门控乘法Context ⊙ U承担了非线性变换功能
(3)堆叠与输出
  • 多个HSTU单元堆叠:H^(l) = HSTU_Unit(H^(l-1))
  • 最终序列表示用于推荐任务:
    • 召回:预测下一个物品的概率p(item_{L+1} | H^(N))
    • 排序:对候选物品打分p(action | H^(N), e(candidate))

三、Transformer与HSTU的关键对比

组件TransformerHSTU
核心架构编码器-解码器(或纯编码器)纯编码器,针对推荐序列优化
注意力归一化Softmax(概率分布,权重和为1)点式聚合(如SiLU),保留绝对值强度
FFN两层MLP:FFN(x)=max(0,xW₁+b₁)W₂+b₂完全删除,由门控注意力替代
门控机制无专门门控引入门控矩阵U,动态调制注意力输出
投影输出Q、K、V三组U、V、Q、K四组,并行计算
位置编码绝对位置(正弦/可学习)相对注意力偏置rab^(p,t)(含时间信息)
非线性激活FFN中使用ReLU/GELU投影使用SiLU,聚合使用SiLU
计算复杂度O(L²·d)(注意力)+ O(L·d·d_ff)(FFN)O(L²·d)(注意力),但通过SLA降至O(L·d)
内存占用较高(FFN产生大量激活)降低约2.3倍(无FFN,激活量少)
设计目标通用序列建模(NLP等)超长用户行为序列推荐(万级以上长度)

四、结构差异图示

Transformer编码器层

输入 → 多头注意力 → Add & Norm → FFN → Add & Norm → 输出

HSTU单元

输入 → 投影为(U,V,Q,K) → 空间聚合(A V) → 门控调制(⊙U) → LayerNorm → 线性输出 → 输出
          ↓                    ↓
       SiLU激活           点式聚合(SiLU)

五、公式对比总结

操作TransformerHSTU
注意力输出softmax(QK^T/√d_k)Vϕ₂(QK^T/√d_k + rab)V
FFN/替代FFN(x)=GELU(xW₁)W₂无FFN,用(A V) ⊙ U实现非线性
门控U = SiLU(X W_proj[:, d:2d])
残差连接每个子层后:LayerNorm(x+Sublayer(x))保留,但仅用于整个单元输出

六、设计动机差异

  • Transformer:为通用序列设计,FFN提供强大的特征变换能力,Softmax确保注意力权重归一化。
  • HSTU:为推荐任务特化:
    1. 删除FFN:减少内存/计算,适合工业级大规模训练。
    2. 点式聚合:保留用户对物品的“兴趣强度”绝对值(如点击时长、频率)。
    3. 门控注意力:动态过滤信息,适应非平稳的推荐数据流。
    4. 相对偏置:更好捕捉序列中的时序模式。

通过以上对比可见,HSTU在保留Transformer核心注意力机制的同时,针对推荐系统的数据特性(超长序列、强度信号、流式更新)和工程约束(内存、吞吐)进行了深度定制,实现了从通用架构到领域特化架构的演进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值