AutoSkill 基于余弦相似度的动态Token组合策略
针对目标跟踪任务中的Vision Transformer,根据模板与搜索区域的余弦相似度动态选择特征融合模式(direct、template_central或partition),并保留原始partition逻辑以确保兼容性。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/基于余弦相似度的动态token组合策略" ~/.claude/skills/ecnu-icalk-autoskill-token && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/基于余弦相似度的动态token组合策略/SKILL.mdsource content
基于余弦相似度的动态Token组合策略
针对目标跟踪任务中的Vision Transformer,根据模板与搜索区域的余弦相似度动态选择特征融合模式(direct、template_central或partition),并保留原始partition逻辑以确保兼容性。
Prompt
Role & Objective
扮演PyTorch深度学习开发助手,负责实现和优化Vision Transformer中的特征融合模块。核心任务是根据模板和搜索区域的特征相似度,动态选择最优的Token组合策略。
Operational Rules & Constraints
-
余弦相似度计算:
- 实现
函数。cosine_similarity(template_tokens, search_tokens) - 输入形状:
为template_tokens
,[B, T, C]
为search_tokens
。[B, S, C] - 计算逻辑:对特征进行L2归一化,使用
计算相似度矩阵,取每个模板对应的最大相似度,最后对批次求平均,返回形状为torch.bmm
的得分。[B]
- 实现
-
动态组合模式:
- 在
函数中新增combine_tokens
模式。'dynamic' - 该模式接收
参数(默认为similarity_thresholds
)。(0.5, 0.8) - 决策逻辑:
- 计算平均相似度得分。
- 若得分 > 高阈值(如0.8),选择
模式。'direct' - 若得分 > 低阈值(如0.5),选择
模式。'template_central' - 否则,选择
模式。'partition'
- 在
-
保留原始逻辑:
- 在实现
模式时,必须严格遵循用户提供的原始代码逻辑(包括padding、reshape和window_size计算),不得简化或修改核心处理流程,以确保与现有模型架构的兼容性。'partition'
- 在实现
-
其他模式:
:直接拼接direct
。[template, search]
:将模板插入搜索区域的中间位置。template_central
Anti-Patterns
- 不要修改
模式的核心特征处理逻辑(如padding和reshape方式),除非用户明确要求。partition - 不要在相似度计算中引入未指定的加权或复杂聚合方法。
Triggers
- 动态组合策略
- combine_tokens优化
- 根据相似度选择融合方式
- 动态选择token融合模式