社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

2025年机器学习应用系列专题报告:DAFAT,基于Transformer模型的自适应解决方案(附下载)

报告研究所 • 2 周前 • 63 次点击  
图片


1 传统 Transformer 模型局限性及可优化点

1.1 Transformer 模型概述

Transformer 模型于 2017 年由 Google 的研究团队在论文《Attention Is All You Need》 中首次提出。该论文的主要作者包括 Ashish Vaswani、Noam Shazeer、Niki Parmar、Jakob Uszkoreit、Llion Jones、Aidan N. Gomez、Lukasz Kaiser 和 Illia Polosukhin。在 Transformer 诞生之前,序列到序列(Seq2Seq)模型主要依赖于循环神经网络(RNN)和其变体(如 LSTM、GRU),这些模型在处理长序列时存在梯度消失、并行化困难等问题。 Transformer 模型主要解决了以下几个关键问题:并行化问题:传统 RNN 模型的顺序处 理特性使其难以并行化,而 Transformer 通过自注意力机制实现了完全并行化;长程依赖问 题:RNN 在处理长序列时存在梯度消失问题,Transformer 通过直接建模任意两个位置之间 的关系来解决这一问题;计算效率问题:相比于 RNN 的顺序计算,Transformer 的矩阵运算 可以充分利用现代 GPU 的并行计算能力;表征能力问题:自注意力机制使模型能够更好地 捕捉序列中的全局依赖关系。

(1)模型整体结构

Transformer 采用编码器-解码器(Encoder-Decoder)架构,由功能互补的两部分组成: 编码器(Encoder):由 N 个(原论文 N=6)相同层堆叠而成,负责提取输入序列的深 层特征表示。每层包含两个核心子层:多头自注意力机制和前馈神经网络(FFN)。每个子 层均采用残差连接(Residual Connection)和层归一化(Layer Normalization),确保训练 稳定性。 解码器(Decoder):同样由 N 个相同层构成,在生成输出序列时,通过掩蔽自注意力 确保当前位置仅访问已生成标记。通过编码器-解码器注意力整合输入序列信息。解码器的独 特设计使其适用于自回归生成任务,如文本生成。

(2)注意力机制

Transformer 的 核 心 是 注 意 力 机 制 ( Attention Mechanism ), 特 别 是 自 注 意 力 (Self-Attention)机制。

1.2 Transformer 与传统序列模型对比

(1)模型架构对比

传统序列模型特点: RNN(循环神经网络):基本的循环结构,存在严重的梯度消失问题。 LSTM(长短期记忆网络):通过门控机制缓解梯度消失,但计算复杂度较高。 GRU(门控循环单元):简化的 LSTM,参数较少但性能接近。 Transformer 特点:完全基于注意力机制,无循环结构;编码器-解码器架构;多头注意 力并行处理。

(2)计算复杂度对比

其中:n 为序列长度;d 为隐藏层维度 时间复杂度:RNN 系列对序列长度呈线性关系,Transformer 对序列长度呈二次关系。 空间复杂度:RNN 系列空间需求固定,Transformer 需要存储注意力矩阵。 并行化:RNN 系列必须顺序计算,Transformer 可以完全并行。

(3)梯度传播特性与长程依赖建模能力

RNN 系列:信息需要逐步传递,容易丢失;梯度在反向传播中指数衰减;实际有效长 度受限(通常<100)。 LSTM/GRU:通过门控机制改善,但仍有限制;能处理稍长序列(数百个时间步);计 算复杂度增加。

Transformer:任意两个位置直接建模;理论上无长程依赖限制;受限于计算资源和序 列长度限制。Transformer通过残差连接和层归一化实现近乎无损的梯度传播,基本解决 RNN 家族的梯度消失问题。

1.3 Transformer 主要优势

(1)并行化能力

Transformer 的自注意力机制通过矩阵乘法实现全局关联计算,该计算可分解为独立子 矩阵运算,天然适配 GPU/TPU 的大规模并行架构。

(2)长程依赖建模

通过直接计算任意两个位置之间的注意力权重,Transformer 能够有效捕捉长程依赖关 系。传统 RNN/LSTM 的路径长度为?(?),Transformer 降低至?(1):任意两位置直接关联, 彻底解决梯度消失/爆炸问题。

(3)可解释性

注意力权重提供了模型决策过程的可视化,增强了模型的可解释性。

(4)迁移学习能力

在计算机视觉领域,Vision Transformer(ViT)将图像分割为 16×16 的 Patch 序列, 通过位置编码保留空间信息,利用 Transformer 编码器提取全局特征。在 ImageNet-21k(含 1,400 万图像)预训练预训练后,模型学习到通用视觉表征。在 CIFAR-100 数据集上微调后, ViT-L/16 模型达到 94.3% 准确率,显著超越相同条件下 ResNet152 的 93.3%。ViT证明了 纯 Transformer 架构在 CV 任务中的通用性。(Dosovitskiy et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR 2021.) 在生物医学这一高度专业化的领域,Transformer 模型同样展现出了强大的适应性。 BioBERT 作为专门针对生物医学文本优化的 BERT 变体,通过在 PubMed 大规模生物医学 语料库上进行预训练,成功地学习到了生物医学领域的专业知识表示。当将这种预训练模型 应用于生物医学命名实体识别任务时,相比于通用语言模型,BioBERT 的 F1 值显著提升了 8.2%。这一显著的性能提升表明,领域特定的预训练能够让 Transformer 模型更好地理解和 处理专业领域的复杂语义关系,从而在实际应用中发挥更大的价值。(Lee, J., Yoon, W., Kim, S., et al. (2020). BioBERT: a pre-trained biomedical language representation model for biomedical text mining. Bioinformatics, 36(4), 1234-1240.) 在代码生成和程序合成领域,Codex,作为 GPT-3 的专门变体,专注于理解和生成程序 代码。其最令人印象深刻的特性在于极强的跨编程语言迁移能力——当需要适应全新的编程 语言时,Codex 仅需要少量的示例样本(通常只需要数百个样本)进行微调,就能够掌握新 语言的语法规则和编程范式。这种 few-shot 学习能力展现了 Transformer 模型对代码结构和 逻辑的深层理解。(Chen, M., Tworek, J., Jun, H., et al. (2021). Evaluating large language models trained on code. arXiv:2107.03374.)。

1.4 传统 Transformer 模型局限性及可优化点

(1)计算复杂度问题

自注意力的二次复杂度:时间复杂度:?(?²?),其中?是序列长度,?是模型维度;空间 复杂度:?(?²),需要存储注意力矩阵。对于长序列,这种二次复杂度会导致计算和内存消 耗急剧增加。

(2)数据和计算资源需求

高资源需求:需要大量的训练数据才能达到最佳性能。训练需要大量的计算资源和时间 并且模型参数量巨大,部署成本高。

(3)任务特定缺陷:在不同应用场景中暴露特有局限

时间序列预测:通道不独立:多变量强行拼接破坏物理意义(如温度与股价尺度差异); 点式注意力不匹配:时间局部连续性未被有效利用,PatchTST 证明分块(Patch)更合理。 数学推理:符号运算和逻辑推导能力弱,需注入外部模块;思维链(Chain of Thought) 依赖注意力精细权重分配,部分高效模型在此表现不佳。 本报告致力于深入探究并显著提升 Transformer 深度学习模型在 A 股市场量化选股策略 中的应用效能。尽管 Transformer 凭借其强大的序列建模能力在自然语言处理等领域取得革 命性成功,但其在金融时序数据(特别是股票收益预测)上的直接迁移应用仍面临独特挑战, 尽管已有研究证明 Transformer 模型在 A 股市场具备较好的选股效果,但其存在进一步优化 的空间。 研究伊始,我们将严谨构建并测试一个标准 Transformer 模型作为性能基准。通过评估 未经优化的 Transformer 模型在选股任务中的原始表现,揭示其在捕捉金融市场复杂动态(如 非平稳性、长短期依赖、噪声干扰)方面存在的固有局限,为后续优化提供明确的方向与对 比基线。

模型训练方式等其他模型设定如下: 1) 训练数据:所有个股过去 10 年内的时序特征,做 5 天采样,预测标签为未来一个月 (20 个交易日)的累计收益; 2) 训练集验证集比例:80%:20%; 3) 时序尺度选择:40 天; 4) 数据处理:时序标准化(与最后一个时间步比值),截面标准化(均值标准差); 5) 模型训练及调仓频次:一年更新,月频调仓; 6) 模型超参数:batch=截面个股数,lr=1e-4,损失函数 1-IC。 自 2019 年 1 月至 2025 年 7 月,基础 Transformer 因子 IC(以 RankIC 表征)为 9.42%, 多头组合年化收益率为 28.70%,月均单边换手率 0.88X,整体来看,仅靠量价时序特征训 练出的基础 Transformer 模型具备一定的选股效果。(IC 测试中“***”、“**”、“*”分别代表 参数在 1%、5%、10%的显著性水平下显著,下同,不再特殊强调。)

从分组角度来看,多头组合(组 1)年化收益率 28.70%,最大回撤 39.42%;空头组合 (组 10)年化收益率-6.17%,最大回撤 70.95%;多空组合(组 1/组 10)年化收益率 37.16%, 最大回撤 9.30%,具备一定单调性。但整体来看,因子多头组合表现并不显著,且除空头组 合外,组一组二组合分化程度不高,基础 Transformer 模型及量价时序信息在因子挖掘效果 层面更多聚焦于空头,具备进一步提升空间。

从因子分组的相对净值表现来看,相对万得全 A, Transformer 因子在 2024 年 1 月底 出现了较大的超额回撤,但在 2024 年 9 月底的上涨行情(0924 行情)内并未出现较为明显 的超额回撤。 分年度来看,多头组合自 2019 年至 2025 年 7 月,7 年均跑赢万得全 A 指数,其中 2021 年相对万得全 A 年化超额 30.55%,超额最大回撤 12.65%;2023 全年相对万得全 A 年化超 额收益率 25.44%,超额最大回撤仅 4.87%.此外,因子今年以来超额表现较好,2025 年初 至 7 月 31 日,累计超额收益率 11.03%,超额最大回撤 3.17%。受限于 2024 年两端极端行 情,全年多头组合相对万得全 A 超额进 6.37%,超额回撤 26.26%。

传统 Transformer 模型具备一定的选股效果,但模型整体选股效果和模型稳定性具备较 大的优化空间,且在关键市场阶段(2024 年 1 月量化危机、2024 年 0924 行情)仍会出现 较为明显的超额回撤。 本报告的提出了一类基于 Transformer 模型自适应的解决方案(Dynamic Adaptive Fusion Attention Transformer, DAFAT),主要工作点在于系统性地提出并实现针对 Transformer 架构三大关键组件的深度优化: 位置编码自适应: 针对金融时间序列的强时序依赖性与周期性(如季节性效应、事件 驱动),我们针对标准正弦/余弦位置编码,引入动态时变位置编码机制,旨在精确地捕捉因 子在时间轴上的相对重要性演变与市场状态影响的持续效应,提升模型对时序结构的感知能 力。 注意力机制自适应:传统全局注意力在高噪声、高维金融数据上易引入冗余信息并导致 过拟合。我们设计稀疏化与局部敏感的注意力机制,引导模型聚焦于当前预测最具信息量的 少数关键因子及历史片段,旨在提升计算效率,抑制噪声干扰。 信息融合自适应:为充分利用不同来源(量价、基本面等)和不同频率(日、周、月、 季)因子,本文设计多尺度信息融合框架,其多尺度信息融合框架包含微观尺度、中观尺度 以及宏观尺度,并引入跨尺度注意力门控融合机制以及原始量价特征残差融合,旨在超越简 单的拼接或加权,实现跨因子、跨周期的深度非线性交互与自适应信息整合,增强模型对复 杂市场微观结构的刻画能力。

2 位置编码自适应:动态位置编码解决方案

在传统 Transformer 选股模型中,位置编码机制存在三重核心缺陷,可能会严重制约模 型在金融时序数据上的表现。 (1)周期性失配问题:固定正弦/余弦编码无法适配金融市场的独特周期(例如特定的 财报季、年末效应、政策窗口期)。传统编码与金融季度周期的相关性较低,有可能导致模 型无法准确捕捉各类事件驱动的行情; (2)状态盲区问题:静态编码忽视市场状态转换对因子有效性的根本影响。如图 1 所 示,动量因子在牛熊市中的有效性差异达 80%,但传统模型对此完全失效,造成熊市超额回 撤。

基于上述问题,本文提出了双通道门控动态位置编码(Double-Gate DPE)以实现 Transformer 模型中的位置编码自适应。其中双通道门控动态位置编码分别包括时间周期编 码以及市场状态编码,两类编码信息分别由不同的深度学习神经网络模型处理后,经有门控 融合网络对两类动态位置编码进行动态加权求和,最终输出新的动态位置编码方式。

动态位置编码之市场状态编码:引入市场波动率(市场情绪)、行业轮动速度(热点切 换)以及市场流动性(资金活跃度)三维状态指标来表征市场状态,并利用时序模型 LSTM+MLP 的深度学习网络结构进行市场状态信息的处理,并最终输出多维市场状态信息。 其中市场波动率、行业轮动速度以及市场流动性的特征表示如下: 1) 市场波动率:全市场个股 20 日收益率标准差中位数; 2) 行业轮动速度:行业 20 日累计收益标准差(申万一级行业分类); 3) 市场流动性:全市场换手率。 在构建时间周期位置编码和市场状态位置编码后,引入门控融合机制,即引入可学习线 性层,动态学习两类动态位置编码的合成权重,并合成两类动态位置编码。动态位置编码作 为 Transformer 模型自适应改造的第一部分(特征处理部分),主要采取时间周期编码自适 应和市场状态自适应,并最后并引入可学习参数的门控融合层对两个不同时间尺度的编码信 息进行加权求和,将最后加权求和后的位置编码信息作为最终的 Transformer 的位置编码信 息。

2.1 动态位置编码自适应 Transformer 模型回测结果

本节中仅 测试 加入 动 态位 置编 码自 适 应的 Transformer 模 型 的 选 股因 子效 果 (DPE_Transformer, Dynamic Positional Encoding Transformer)。自 2019 年 1 月至 2025 年 7 月,DPE_Transformer 因子 IC 均值为 9.54%,多头组合年化收益率 30.60%,月均单 边换手率 0.86X。整体 IC 及多头组合表现优于基础 Transformer 模型,换手率小幅低于基础 Transformer 模型。

从分组角度来看,多头组合(组 1)年化收益率 30.60%,最大回撤 39.41%;空头组合 (组 10)年化收益率-5.02%,最大回撤 68.41%;多空组合(组 1/组 10)年化收益率 37.23%, 最大回撤 8.69%,整体具备一定单调性。且相对于传统 Transformer 模型分组测试中组一与 组二分化不明显的现象,DPE_Transformer 模型因子单调性具备一定程度的提升。

从因子分组的相对净值表现来看,相对万得全 A,多尺度 Transformer 因子在 2024 年 1 月底出现了较大的超额回撤,但在 2024 年 9 月底的上涨行情(0924 行情)内并未出现较为 明显的超额回撤。

分年度来看,多头组合自 2019 年至 2025 年 7 月,7 年均跑赢万得全 A 指数,其中 2021 年相对万得全 A 年化超额 32.54%,超额最大回撤 11.51%;2022、2023 全年相对万得全 A 年化超额收益率均超过 20%,超额最大回撤分别仅 6.53%、4.59%。此外,因子今年以来超 额表现较好,2025 年初至 7 月 31 日,累计超额收益率 16.02%,超额最大回撤 2.81%。

2024 年 DPE_Transformer 多头组合相对于万得全 A 超额仅 4.48%,在加入时间周期编 码与市场状态编码组成的动态位置编码信息后,DPE_Transformer 模型在 2024 年 1 月末及 2024 年“0924”行情下相对万得全 A 仍然会产生较大幅度的回撤。

3 注意力自适应:稀疏注意力解决方案

完整版报告可扫描下方图片二维码进入星球社群查阅下载

(报告来源:西南证券。本文仅供参考,不代表我们的任何投资建议。如需使用相关信息,请参阅报告原文。

我们组建了研究报告知识星球社群,加入后您可以享受以下服务:
1、星球中分享最新、专业、深度有价值的行业研究报告、投行报告、白皮书、蓝皮书、公司研报等。报告持续更新;
2、 会员可以用提问方式单独获取需要的报告,满足个性化需求;
3、星球中海量研究报告PDF高清版,无限制下载;
4、4000+会员使用的研究报告宝库值得您信赖;

扫描下方二维码加入星球
图片

业务咨询、商务合作:136 3162 3664(同微信)

温馨提示



应广大粉丝要求,「报告研究所」成立了报告交流群,欢迎各位公司、企业、投行、投资机构、政府机构、基金、创业者朋友加入!

这里能且不限于:“每日分享多篇研究报告、行业交流、报告交流、信息交流、寻求合作等......”

入群方式:添加助理微信【touzireport666】,发送「个人纸质名片」或电子名片」审核后即可入群。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/186277
 
63 次点击