1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

题目要求实现一种新的注意力机制 TG-SATG\text{-}SATG-SA,整体流程可以直接按题意模拟,核心涉及两个算法步骤:

  1. 矩阵乘法计算注意力原始分数
  2. 按行进行双门控分段映射与 Top-kTop\text{-}kTop-k 保留

设输入矩阵为 Q,K,V∈RL×dQ,K,V \in \mathbb{R}^{L \times d}Q,K,V∈RL×d。

P4704.第3题-双门控序列加权器

    1000ms Tried: 28 Accepted: 8 Difficulty: 5 所属公司 : 携程
    算法与标签>模拟

题目内容

在仅使用 numpy/pandas/scikit−learnnumpy/pandas/scikit-learnnumpy/pandas/scikit−learn 的前提下,实现一种新型注意力机制 TG−SATG-SATG−SA,并完成给定序列的加权求和。与经典 Q⋅ KT/d Softmax \mathrm{Q} \cdot \mathrm{~K}^{\mathrm{T}} / \sqrt{\mathrm{d}} \text { Softmax }Q⋅ KT/d​ Softmax  不同,TG−SATG-SATG−SA 通过双门控转折 +Top−k+Top-k+Top−k 保留得到更稀疏、可解释的权重。

给定单头 Query/Key/ValueQuery/Key/ValueQuery/Key/Value 张量

Q,K,V∈RL×dQ, K, V \in \mathbb{R}^{L \times d}Q,K,V∈RL×d (长度 LLL、隐维 ddd),以及超参

k_topk\_topk_top:每行保留前 k_topk\_ topk_top 最大注意力得分

ααα:第 111 门限系数 (0−1)(0-1)(0−1)

βββ:第 222 门限系数 (0−1)(0-1)(0−1),且 β>αβ>αβ>α

默认 α=0.2,β=0.6;k_top≤Lα=0.2,β=0.6;k\_top≤Lα=0.2,β=0.6;k_top≤L。

计算过程:

1.1.1. 初始打分:S=QKTd(L×L)S=QK^T\sqrt{\mathrm{d}}(L×L)S=QKTd​(L×L)

2.2.2. 双门控折线映射

其中 smax⁡=max⁡jSijs_{\max }=\max _{j} S_{i j}smax​=maxj​Sij​ 为行内最大。

3.3.3. Top−kTop-kTop−k 稀疏

每行仅保留 k_topk\_topk_top 个 S~ij\tilde{S}_{i j}S~ij​ 最大位置;其余设 000。若行长 <k_top<k\_top<k_top,则全保留。

4.4.4. 行归一化

若行全 000,则改为均匀分布;否则归一化到和为 111 :Aij=S~ij/∑jS~ijA_{i j}=\tilde{S}_{i j} / \sum_{j} \tilde{S}_{i j}Aij​=S~ij​/∑j​S~ij​。

5.5.5. 输出

O=AV(L×d)O=AV (L×d)O=AV(L×d)

同时返回注意力权重矩阵 AAA 。

输入描述

单行 JSON

{

"Q":[[...],...], //L×d

"K":[[...],...],

"V":[[...],...],

"k_top":2, //2≤k_top≤L

"alpha":0.2, //可缺省

"beta":0.6 //可缺省,且>alpha

}

约束:2≤L≤6,2≤d≤42≤L≤6,2≤d≤42≤L≤6,2≤d≤4;所有元素为浮点。

输出描述

仅一行 JSON

{

"A":[[a11,...],...], //L×L,6位小数,便用round(x,6)即可

"O":[[o11,...],...] //L×d,6位小数,便用round(x,6)即可

}

补充说明

为确保通过测试用例,仅允许便用 numpy/pandas/sckit−learnnumpy/pandas/sckit-learnnumpy/pandas/sckit−learn。

样例1

输入

{"Q":[[1,0],[0,1]],"K":[[1,0],[0,1]],"V":[[1,2],[3,4]],"k_top":1}

输出

{"A":[[1.0,0.0],[0.0,1.0]],"O":[[1.0,2.0],[3.0,4.0]]}

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 230ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?