Self-attention with Functional Time Representation Learning

Xu D., Ruan C., Kumar S., Korpeoglu E. and Achan K. Self-attention with functional time representation learning. NIPS, 2019.

一般的位置编码建模的是序列信息而不是绝对的时间信息, 本文介绍一种可以引入时间间隔信息的位置编码.

Motivation

  • 一般的 attention 机制如下所示:

    Attn(Q,K,V)=softmax(QKTd)V,

    但是就注意力机制本身而言, 是不具备序列先后关系区分的能力的. 故而, 像 transformer 之类会在最开始的 embedding 部分加入位置编码:

    Z+P.

  • 不过, 一般的 P 能够区分序列的位置, 即先后关系, 但是无法告知你对应的具体的时间 tT[0,tmax], 但是有些时候, 具体的时间 t 也是十分重要的.

  • 作者希望找到一个映射 Φ:TRd, 然后通过:

    ZΦ(t)

    来注入时间信息.

  • 更为具体一点, 作者不希望直接建模绝对的时间戳 (或许出于泛化性的考虑), 而是希望注入时间间隔的信息, 注意到:

    [Z1Φ(t1)][Z2Φ(t2)]=Z1,Z2+Φ(t1),Φ(t2).

  • 看到 Φ,, 我们很容易想到 RKHS, 即我们可以直接建模:

    K(t1,t2):=Φ(t1),Φ(t2),

    倘若 kernel K(t1,t2)=ψ(t1t2), 则此 kernel 是 time-invariant 的, 这是很有用的性质.

  • 不过, 作者引入 K 并不是希望真的去构建这样一个 kernel, 而是探讨在这种 time-invariant 的情况下, 具体的 Φ 具有怎样的形式.

Bochner

  • 首先我们有如下的定理:

  • 即, 为了保证 K 是对称半正定的, 我们需要满足存在非负的测度 p:

    (2)K(t1,t2)=ψ(t1,t2)=Reiw(t1t2)p(ω)dω=Eω[ξω(t1)ξω(t2)],ξω(t):=eiωt.

  • 既然 K,p(ω) 都是实的, 我们可以得到:

    K(t1,t2)=Eω[cos(ω(t1t2))]=Eω[cos(ωt1)cos(ωt2)+sin(ωt1)sin(ωt2)].

  • 倘若我们能够从 p(ω) 中采样 [ω1,,ωd], 则 K(t1,t2) 可以近似为:

    1di=1d[cos(ωit1)cos(ωit2)+sin(wit1)sin(ωit2)]=ΦdB(t)ΦdB(t),

    其中

    ΦdB(t):=1d[cos(ω1t),sin(ω1t),,cos(ωdt),sin(ωdt)].

  • 现在, 我们需要解决的问题是 p(ω) 的采样问题. 实际上, 可以这么认为, 给定任意的非负测度 p(ω), 都能确定一种 K, 所以作者选择训练 pθ(ω):

    1. 一种方式是令其为高斯分布:

      pθ(ω)=N(ω;θ={μ,σ}),

      采样只需通过:

      μ+σϵ,ϵN(0,I).

    2. 第二种方式是, 倘若随机变量 X 具有概率分布函数 P(X<x)=F(x), 则

      F1(U)=X,

      其中 U 表示均匀分布. 于是, 我们可以建模 F1:=gθ (通过 normalizing flow), 然后

      ω=gθ(ϵ),ϵU[0,1]

      即可.

  • 注: 如果我没理解错误的话, 上面提到的 θ 是在一般的损失函数的监督下训练的.

Mercer

  • 我们可以从 Mercer' Theorem 中获得更直接的启发:

  • 它启发我们可以直接构建:

    ΦM(t):=[c1ϕ1(t),c2ϕ2(t),].

  • 当然, ϕ 本身如何确定是一个问题. 当 ψ(t1t2) 是一个周期性函数的时候, 有如下性质:

  • 此时

    ΦM(t):=[c1,c2cos(jπtω),c2j+1sin(jπtω),],

    其中 cj 为傅里叶系数. 由于傅里叶系数随着 j 增大逐渐减小, 所以我们实际上可以选择前面的部分进行近似.

  • 当然, 周期性的假设可能过于强烈了, 此时我们可以选择多个 ω1,ω2,,ωk. 作者令:

    ωi=ωmax(ωmaxωmin)i/k,i=1,,k,

    其中 [ωmin,ωmax] 是认为设定的频率的范围.

注: 这个作者几乎原模原样地把这个东西套在图上, 然后提出了 TGAT ?

代码

[official]

posted @   馒头and花卷  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示