论文标题:Medformer: A Multi-Granularity Patching Transformer for Medical Time-Series Classification
论文链接:https://arxiv.org/abs/2405.19363
代码链接:https://github.com/DL4mHealth/Medformer.
(后台回复“交流”加入讨论群,回复“资源”获取2024年度论文讲解合集)
研究思路
这篇虽然不是做的预测任务,而且用的也是医学数据集,但是还是推荐大家快速阅读一下,学习patch的一种创新思路。简单来说,论文的核心贡献就是把所有的patch切法都枚举了一遍,这也是核心看点。先看下面的图,Transformer是点编码,Itransformer是编码整条序列,Patch TST则是切片。可以看到原始Transformer是通道依赖,而iTransformer和PatchTST则是通道独立。
与已有的模型不同,本文则是通道依赖,而且作者设计了一种多粒度patch切分方法,把从L1-Ln的长度全部切分了一遍,文章称之为跨通道多粒度patch嵌入,在此基础上作者还在路由、注意力机制方面做了一些改进,模型名为Medformer,专门用于医疗时间序列(MedTS)分类。
本文模型
模型结构比较容易看明白,左侧A是骨干网络,就是Transformer,核心贡献有两部分,分别在嵌入层和注意力层,分别对应“跨通道多粒度patch嵌入”和“多粒度自注意力”。
01 跨通道多粒度patch嵌入
这部分主要用于从多通道时间序列数据中提取具有不同时间尺度和频率特征的patch。首先,输入的多变量时间序列样本被分割成多个跨通道的非重叠patch,每个patch的长度由一组不同的值确定。
然后,这些patch通过线性投影映射到潜在嵌入空间,并进行数据增强以提高模型的学习能力。为了捕捉不同粒度的时间特征,引入位置嵌入和粒度嵌入,以生成最终的序列嵌入,如下所示:
最后,为每个粒度初始化一个路由器,用于在多粒度自注意力机制中进行信息交互,捕捉多通道时间序列数据中的跨通道特征,并在不同的时间尺度和频率范围内学习特征,从而增强了模型在医疗时间序列分类任务中的适用性。
02 多粒度自注意力
多粒度自注意力机制从不同尺度捕捉特征,并整合跨不同时间分辨率的信息。该机制包括两个阶段:
1. 内粒度自注意力(Intra-Granularity Self-Attention):该阶段捕捉每个粒度内的独特特征。对于每个patch长度(粒度),patch嵌入与路由器嵌入连接形成中间序列。然后对这些patch嵌入和路由器嵌入应用自注意力,以捕捉同一粒度内的局部时间特征和相关性。
2. 跨粒度自注意力(Inter-Granularity Self-Attention):该阶段捕捉不同粒度之间的相关性。将所有粒度的路由器嵌入连接起来形成一个路由器序列。对这些路由器嵌入应用自注意力,允许在不同粒度之间交换信息和学习。
通过结合这两个阶段,Medformer有效地整合了不同时间尺度上的特征,增强了模型捕捉细粒度和大粒度模式的能力。相比简单地连接所有patch并对其进行自注意力的方式,降低了计算复杂性。
本文实验
在ADFTD数据集上,Medformer在所有六个评估指标中均取得最高排名,F1得分为97.50%。其他基线方法如Informer、Nonformer、Reformer和Transformer也表现出色,F1得分超过90%。受试者独立设置: 在四个数据集上,Medformer在F1得分上取得最高排名。在ADFTD数据集上,F1得分显著下降至50.65%,表明受试者独立设置的挑战性。总体而言,Medformer在六个指标中的平均排名最佳。
不足和可改进之处
高复杂度问题:Transformer老生常谈的问题,尽管论文设计了路由器机制来降低时间复杂度,但 Transformer 架构本身在处理大规模数据时仍可能面临计算资源消耗大、训练时间长的问题。是否可以通过下采样等方法、稀疏注意力机制、量化技术,以减少计算量和内存占用。
多模态数据融合:目前的研究仅关注了单一类型的医学时间序列数据,是否可以探索将 Medformer 模型扩展到多模态数据融合的场景?
大家可以关注我【科学最top】,第一时间follow时序高水平论文解读!!!,后台回复“交流”加入讨论群,回复“资源”获取2024年度论文讲解合集