sgr-interview-300

第 44 题:BST的Transformer编码器,位置编码在异构行为序列中的设计?

题目

BST的Transformer编码器,位置编码在异构行为序列中的设计?


完整讲解

一、BST 与 Transformer 编码器

BST (Behavior Sequence Transformer) 用 Transformer 编码用户行为序列,直接对序列做 self-attention,得到每个位置的上下文表示,再通过 pooling 或取最后位置得到用户表示。序列为 item 嵌入序列 ${e_1,\ldots,e_T}$,经过多层 Transformer block(Multi-Head Self-Attention + FFN + 残差 + LayerNorm),输出 ${\boldsymbol{h}_1,\ldots,\boldsymbol{h}_T}$,用户向量常取 $\boldsymbol{h}_T$ 或 mean pooling。

二、异构行为与位置编码设计

推荐场景中行为是异构的:点击、加购、购买等不同类型,且同一 item 可能多次出现、不同位置含义不同。BST 的位置编码设计通常包括:(1)序列位置:学习式或正弦位置编码,区分「第几个行为」;(2)行为类型:为点击/加购/购买等学 type embedding,与 item embedding 相加或拼接;(3)时间信息:可把时间间隔或时间戳编码后加入。形式化可写为 \(\tilde{e}_t = e_t + \boldsymbol{p}_t^{pos} + \boldsymbol{p}_t^{type} + (\text{optional})\,\boldsymbol{p}_t^{time}.\) 这样同一 item 在不同位置、不同行为类型下有不同的输入表示,Transformer 能区分「早先的点击」与「最近的购买」等。

三、与候选的融合

得到 $\boldsymbol{h}_T$ 后,与候选 item 嵌入通过 MLP 或再乘一层候选相关 attention 得到最终预测。BST 的优势是长程依赖与异构行为在一个统一的 Transformer 框架内建模,位置与类型编码是关键设计点。


面试要点


记忆要点

返回模块 返回总览