一种可解释的序列数据建模方法及系统
未命名
08-13
阅读:71
评论:0

1.本发明属于人工智能与机器学习领域,尤其涉及一种可解释的序列数据建模方法及系统。
背景技术:
2.深度神经网络已被广泛应用于分析现实世界中的序列数据,包括心电图波形、事件信息流、自然语言文本等。现有方法通常利用卷积神经网络(cnn)、循环神经网络(rnn)及其他混合网络进行序列数据建模。为了满足使黑盒深度神经网络的模型预测具有可解释性的需求,越来越多研究人员求助于可解释机器学习方法。
3.基于原型(prototype)的序列数据建模方法采用了基于案例的推理(case-based reasoning)范式,通过用已知的解决方案来解决新问题,这也是人类在做出决策时常用的一种策略,能够提供基于原型的解释。模型在做出决策时,通过寻找样本上的特定特征,并将其与已知标签样本的特征进行比较,以做出预测,相关研究在计算机视觉领域进行了广泛探索。在序列数据建模的场景中,典型的方法是构建一个原型学习模型,采用cnn、rnn等方法编码输入数据,从训练数据中随机选择样本作为初始原型并编码,在编码后的隐藏空间分别计算输入数据与原型样本的相似度,将相似度排列为输入数据的表示向量,并采用多层感知机(mlp)完成模型的预测,最后根据多样性、稀疏性等要求,迭代优化原型样本的选择。由此,人们可以通过比较输入数据与不同类型的原型样本的相似度,了解模型的决策依据。
4.现有基于原型的序列数据建模方法主要存在以下问题。对于信息量较为丰富的序列数据,现有原型学习方法需要维护大量的原型样本以实现可靠的性能,影响模型的可解释性。此外,由于序列数据的原型相似度计算是在编码后的隐藏空间进行,而编码器中的主要组件通常为cnn、rnn等高度递归、难以解释的函数,输入数据与原型样本之间的直接关系可能难以让人理解,输入数据与原型样本之间难以直观地匹配。用户需要对模型提供的原型与输入序列重新进行整体的对比分析,这也在一定程度上影响了可解释性。前沿工作采用了基于原型部件(prototypical part)的思想,通过为序列数据的片段构建原型,实现更灵活且具有较细粒度的基于原型的解释,但仍存在着依赖预训练的语言模型而局限于自然语言文本的场景、片段长度固定而极大增加计算量、聚焦于序列片段而丢失了远距离上下文信息等问题。
技术实现要素:
5.根据上述发展现状,本发明的目的在于提出一种可解释的序列数据建模方法及系统。本发明通过引入选择机制,从输入数据中选择表示不同概念(concept)的子序列作为原型部件,从而消除模型提供的解释中对原型与输入之间的对比和分析的过程,使基于原型的可解释性更加直观。
6.为了达到上述目的,本发明采用了以下方案:
7.一种可解释的序列数据建模方法,其步骤包括:
8.1)利用概念选择器从序列数据x中抽取表示不同概念信息的子序列{x1,x2,
…
,xh};其中,xh为序列数据x中抽取出的第h个概念信息的子序列;
9.2)利用概念编码器生成每一子序列的表示向量;ch为子序列xh的表示向量;
10.3)利用参数化器将所述序列数据x映射为h维向量[p1,p2,
…
,ph],ph为子序列xh的权重;
[0011]
4)将各子序列的表示向量进行线性加权,得到序列数据x的整体建模结果
[0012]
5)根据所述整体建模结果g所应用的下游任务,选取对应的训练集对所述整体建模结果g进行训练,得到对应下游任务的原型。
[0013]
一种可解释的序列数据建模的模型解释方法,其步骤包括:
[0014]
1)利用概念选择器从序列数据x中抽取表示不同概念信息的子序列{x1,x2,
…
,xh};其中,xh为序列数据x中抽取出的第h个概念信息的子序列;
[0015]
2)利用概念编码器生成每一子序列的表示向量;ch为子序列xh的表示向量;
[0016]
3)利用参数化器将所述序列数据x映射为h维向量[p1,p2,
…
,ph],ph为子序列xh的权重;
[0017]
4)将各子序列的表示向量进行线性加权,得到序列数据x的整体建模结果
[0018]
5)根据所述整体建模结果g所应用的下游任务,选取对应的训练集对所述整体建模结果g进行训练,训练中对所述训练集中每一已知标签的样本,通过概念选择器抽取该样本中包含的各概念的子序列,并使用参数化器判断该样本中不同概念的权重;
[0019]
6)对于从所述训练集中获取的每一个概念,采用具有最高权重的样本对应的子序列作为该概念的解释。
[0020]
进一步的,根据下游任务的损失及多样性、稳定性和局部性三个约束损失对所述整体建模结果g进行端到端的整体训练。
[0021]
进一步的,采用多头选择性自注意力机制作为所述概念编码器,所述概念选择器根据输入数据x产生多个子序列的选择方式{s1,s2,
…
,sh},其中每个子序列是一个长度为n的0-1向量,第h个子序列对应的向量sh的第i维为1表示第h个子序列包含输入x的第i个元素,否则表示不包含;所述概念选择器将序列数据x分别映射为q、k、w三个张量,其中q和k的大小为h
×n×dk
,dk表示隐层维度,w的大小为h
×n×
1;张量w将多头自注意力机制产生的注意力矩阵h
×n×
n压缩为元素级的h
×n×
1,利用sigmoid函数将元素级的h
×n×
1转换为0-1概率形式,使选择性机制的结果与输入序列在元素级一一对应,输出的结果为h个不同的子序列选择方式。
[0022]
进一步的,所述概念编码器为用于序列数据的编码器,将子序列建模为输入在对应概念上的表示向量。
[0023]
进一步的,所述参数化器为用于序列数据的编码器,根据输入数据的整体来判断序列中的不同概念对于整体任务的权重。
[0024]
进一步的,所述序列数据是指其中的元素按顺序排列的数据,分为连续序列数据
和离散序列数据,所述连续序列数据包括心电图波形数据,所述离散序列数据包括事件信息流、自然语言文本。
[0025]
一种可解释的序列数据建模系统,其特征在于,包括概念选择器、概念编码器、参数化器和原型生成模块;
[0026]
所述概念选择器,用于从序列数据x中抽取表示不同概念信息的子序列{x1,x2,
…
,xh};其中,xh为序列数据x中抽取出的第h个概念信息的子序列;
[0027]
所述概念编码器,用于生成每一子序列的表示向量;ch为子序列xh的表示向量;
[0028]
所述参数化器,用于将所述序列数据x映射为h维向量[p1,p2,
…
,ph],ph为子序列xh的权重;
[0029]
所述原型生成模块,用于将各子序列的表示向量进行线性加权,得到序列数据x的整体建模结果根据所述整体建模结果g所应用的下游任务,选取对应的训练集对所述整体建模结果g进行训练,得到对应下游任务的原型。
[0030]
一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。
[0031]
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。
[0032]
本发明整体框架如图1所示,其步骤包括:
[0033]
1)构建概念选择器,对于长度为l的序列数据x,从中抽取表示不同概念信息的子序列{x1,x2,
…
,xh},其中h表示序列数据x中可能包含的概念数量;序列数据是指其中的元素按顺序排列的数据,可以分为连续和离散两种,心电图属于连续序列,事件流、文本等属于离散序列;
[0034]
2)构建概念编码器,分别建模子序列xh,得到每个子序列的表示向量ch;
[0035]
3)构建参数化器,建模原始输入x,将其映射为h维向量[p1,p2,
…
,ph],其中每一维代表对应子序列的权重;
[0036]
4)将各子序列的表示向量进行线性加权,得到输入数据x的整体建模结果
[0037]
5)输入数据的整体建模结果可被用于下游任务,通过反向传播(backpropagation)算法,根据下游任务的损失及多样性、稳定性和局部性三个约束损失进行端到端的整体训练。
[0038]
6)最后,模型的可解释性仍然可以通过基于原型的解释提供。利用已知标签的样本,通过概念选择器抽取样本中包含不同概念的子序列,并使用参数化器判断样本中不同概念的权重,对于每一个概念,采用具有更高权重的样本对应的子序列作为具有代表性的原型,从而帮助用户理解输入数据中不同概念的含义,实现基于原型的解释。
[0039]
比如将一个心电图信号拆分后,可以了解对每个子序列单独做出预测时所属的类别及其在整个样本中的权重,从而得知是心电图中的哪些片段导致了模型给出对应的输出,即给出了对预测输出结果的解释。
[0040]
所述概念选择器是一种神经网络结构,给定输入的序列数据,经过计算后可以产生h个0-1向量,对于其中每个向量sh,向量的第i维若为1则表示第h个子序列包含输入x的第i个元素,否则表示不包含,其中i的取值范围为1~n。其目标是从输入数据抽取表现出不
同概念的子序列。
[0041]
所述概念编码器可以是任意用于序列数据的编码器,如基于cnn、rnn等模型的深度神经网络,其目标是将子序列建模为输入在对应概念上的表示向量。
[0042]
所述参数化器同样可以采用任意用于序列数据的编码器,其目标是根据输入数据的整体来判断序列中的不同概念对于整体任务的权重。例如采用双向lstm模型对序列进行编码,取隐层表示的平均向量,并通过全连接网络映射为h维向量。
[0043]
所述下游任务是指序列数据建模所用于的实际任务,常见的下游任务包括序列分类、序列预测等。
[0044]
进一步地,所述下游任务的损失是指在模型训练过程中,对比模型的输出与真实标签,利用损失函数计算出的损失值,从而通过反向传播算法训练模型。常见的损失函数包括交叉熵损失、对数损失等。
[0045]
所述多样性、稳定性和局部性三个约束损失,是用于约束概念选择器所选择的子序列,使其具有可解释性和可用性而设计的损失函数。
[0046]
进一步地,所述多样性要求对于同一个输入数据,所选择的h个子序列尽量包含不同的元素,对包含重复元素的子序列选择方式施加惩罚。
[0047]
进一步地,所述稳定性要求对于多个不同的输入数据,概念选择器的多头机制每个头(head)所选择的子序列在经过概念编码器编码后的表示向量尽量一致,对编码后的相似的表示向量施加惩罚。
[0048]
进一步地,所述局部性要求每个子序列所选择的元素尽可能少,以实现细粒度的原型部件选择,并防止概念选择器选择包含输入数据大部分元素的子序列,造成模型退化,参数化器始终选择包含输入数据大部分元素的子序列,导致最终的建模结果等价于由概念编码器直接产出,缺乏可解释性。
[0049]
与现有技术相比,本发明的积极效果为:
[0050]
本发明不需要直接维护大量的样本整体作为原型参与对比计算和模型预测,而是将相关信息通过训练融入模型,通过概念选择器和参数化器实现相似功能。
[0051]
本发明的选择机制消除了输入数据与原型样本之间的间隙,可直接在输入数据上标记代表不同概念的子序列,提供更加直观的可解释性。
[0052]
本发明的选择机制使子序列的建模过程完全解耦,可与任意已有的黑盒序列建模模型相结合,帮助在提供可解释性的同时提高模型的准确率。
附图说明
[0053]
图1为本发明整体框架图。
[0054]
图2为多头选择性自注意力机制图。
具体实施方式
[0055]
为了使本发明的目的、方案及优点更加清楚明白,以在真实数据集上进行的实验为例,对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0056]
以mit-bih数据集为例,描述对心电图波形数据进行可解释分类的具体实施步骤。
[0057]
mit-bih数据集源自于一个由美国麻省理工学院提供的研究心律失常的数据库,包含5种类型的心电图波形样本,对应于正常情况下和受不同心律失常和心肌梗塞影响的情况下的心电图形状的心跳信号。该数据集常被用于分析基于深度神经网络架构的心跳分类算法,经过预处理和分段,每个样本对应一次心跳的信号。
[0058]
本实施例采用该数据集上常用的数据表示方法,用卷积核大小为10的1维卷积操作对原始的输入数据x进行处理,将原本长度为n+9的时间序列数据映射为一组长度为n的隐层表示向量e,便于后续的序列编码计算过程。
[0059]
本实施例采用一种多头选择性自注意力机制作为概念选择器,根据输入数据x,产生多个子序列的选择方式{s1,s2,
…
,sh},其中每个选择sh是一个长度为n的0-1向量,向量sh的第i维为1表示第h个子序列包含输入x的第i个元素,否则表示不包含。如图2,类似于多头自注意力机制(multi-head self-attention mechanism),输入数据x被分别映射为q、k、w三个张量,分别表示查询(query)、键(key)、压缩权重(weight)。其中q和k的大小为h
×n×dk
,其中dk表示隐层维度,w的大小为h
×n×
1。在q和k的上的矩阵乘法代表了输入数据x中每个元素与其他元素两两之间产生的注意力权重。张量w将多头自注意力机制产生的成对的注意力矩阵h
×n×
n压缩为元素级的h
×n×
1,sigmoid函数进一步将结果转换为0-1概率形式,使选择性机制的结果与输入序列在元素级一一对应,输出的结果为h个不同的子序列选择方式。
[0060]
本实施例的概念选择器中,由于sigmoid产生的选择结果为概率形式,而实际操作中需要采用离散的0-1结果来选择或丢弃对应元素,因此引入gumbel-sigmoid算法,将来自于概率分布的随机性分离出来,以便将离散的采样结果进行重参数化(reparameterization),使不可微的选择性机制可通过反向传播训练。
[0061]
本实施例的概念编码器采用双向lstm网络实现。对于每一个子序列,将未被选择的元素对应的表示向量置零,输入双向lstm网络中,取所有输出向量的平均值作为子序列的编码结果。
[0062]
本实施例采用多层堆叠的cnn与多层感知机实现参数化器。对输入数据,使用3层cnn网络将输入数据整体编码为一个表示向量,并经过两层全连接神经网络,得到h维权重向量。
[0063]
本实施例的训练目标包括分类任务的交叉熵损失及多样性、稳定性、局部性三个约束要求。其中,多样性约束通过计算实现,其中d
min
是不同子序列间允许出现相同元素的数量阈值,取d
min
=2。稳定性约束通过计算来自不同样本的对应位置的子序列编码之间的cosine距离实现,即其中b表示训练中统一批次输入样本的数量。局部性约束通过计算每个子序列包含的元素数量实现,即
[0064]
本实施例通过随机取出20%的序列作为测试数据集,其余80%作为训练数据集,如此重复10次,并取结果的平均值作为最终的结果。本实施例的一个评价任务为分类任务的实验设置。采用分类中常用的精确性(accuracy)、准确率(precision)、召回率(recall)作为评价指标。本实施例的另一个评价任务为代表不同概念的子序列选择的可解释性。通
过将自然语言处理中的扰动曲线面积(area over perturbation curve,aopc)迁移至基于原型的解释中,实现反事实(counterfactual)解释的量化评价指标。具体来说,aopc通过在模型预测过程中逐步移除具有更高相关性的原型或原型部件部件,计算模型输出中样本类别所对应的概率值的平均下降程度,验证模型解释中所提供的原型或原型部件对模型预测的重要性,从而量化基于原型的解释的可解释性。
[0065]
本实施例在应用后的分类准确率未受明显的影响,而aopc值相比于现有能够提供基于原型的解释的模型有很高的提升,显示了本发明在可用性和可解释性方面的有效性。
[0066]
以上所述为本发明的一个实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
技术特征:
1.一种可解释的序列数据建模方法,其步骤包括:1)利用概念选择器从序列数据x中抽取表示不同概念信息的子序列{x1,x2,
…
,x
h
};其中,x
h
为序列数据x中抽取出的第h个概念信息的子序列;2)利用概念编码器生成每一子序列的表示向量;c
h
为子序列x
h
的表示向量;3)利用参数化器将所述序列数据x映射为h维向量[p1,p2,
…
,p
h
],p
h
为子序列x
h
的权重;4)将各子序列的表示向量进行线性加权,得到序列数据x的整体建模结果5)根据所述整体建模结果g所应用的下游任务,选取对应的训练集对所述整体建模结果g进行训练,得到对应下游任务的原型。2.一种可解释的序列数据建模的模型解释方法,其步骤包括:1)利用概念选择器从序列数据x中抽取表示不同概念信息的子序列{x1,x2,
…
,x
h
};其中,x
h
为序列数据x中抽取出的第h个概念信息的子序列;2)利用概念编码器生成每一子序列的表示向量;c
h
为子序列x
h
的表示向量;3)利用参数化器将所述序列数据x映射为h维向量[p1,p2,
…
,p
h
],p
h
为子序列x
h
的权重;4)将各子序列的表示向量进行线性加权,得到序列数据x的整体建模结果5)根据所述整体建模结果g所应用的下游任务,选取对应的训练集对所述整体建模结果g进行训练,训练中对所述训练集中每一已知标签的样本,通过概念选择器抽取该样本中包含的各概念的子序列,并使用参数化器判断该样本中不同概念的权重;6)对于从所述训练集中获取的每一个概念,采用具有最高权重的样本对应的子序列作为该概念的解释。3.根据权利要求2所述的方法,其特征在于,根据下游任务的损失及多样性、稳定性和局部性三个约束损失对所述整体建模结果g进行端到端的整体训练。4.根据权利要求1或2或3所述的方法,其特征在于,采用多头选择性自注意力机制作为所述概念编码器,所述概念选择器根据输入数据x产生多个子序列的选择方式{s1,s2,
…
,s
h
},其中每个子序列是一个长度为n的0-1向量,第h个子序列对应的向量s
h
的第i维为1表示第h个子序列包含输入x的第i个元素,否则表示不包含;所述概念选择器将序列数据x分别映射为q、k、w三个张量,其中q和k的大小为h
×
n
×
d
k
,d
k
表示隐层维度,w的大小为h
×
n
×
1;张量w将多头自注意力机制产生的注意力矩阵h
×
n
×
n压缩为元素级的h
×
n
×
1,利用sigmoid函数将元素级的h
×
n
×
1转换为0-1概率形式,使选择性机制的结果与输入序列在元素级一一对应,输出的结果为h个不同的子序列选择方式。5.根据权利要求1或2或3所述的方法,其特征在于,所述概念编码器为用于序列数据的编码器,将子序列建模为输入在对应概念上的表示向量。6.根据权利要求1或2或3所述的方法,其特征在于,所述参数化器为用于序列数据的编码器,根据输入数据的整体来判断序列中的不同概念对于整体任务的权重。7.根据权利要求1或2或3所述的方法,其特征在于,所述序列数据是指其中的元素按顺序排列的数据,分为连续序列数据和离散序列数据,所述连续序列数据包括心电图波形数据,所述离散序列数据包括事件信息流、自然语言文本。8.一种可解释的序列数据建模系统,其特征在于,包括概念选择器、概念编码器、参数化器和原型生成模块;
所述概念选择器,用于从序列数据x中抽取表示不同概念信息的子序列{x1,x2,
…
,x
h
};其中,x
h
为序列数据x中抽取出的第h个概念信息的子序列;所述概念编码器,用于生成每一子序列的表示向量;c
h
为子序列x
h
的表示向量;所述参数化器,用于将所述序列数据x映射为h维向量[p1,p2,
…
,p
h
],p
h
为子序列x
h
的权重;所述原型生成模块,用于将各子序列的表示向量进行线性加权,得到序列数据x的整体建模结果根据所述整体建模结果g所应用的下游任务,选取对应的训练集对所述整体建模结果g进行训练,得到对应下游任务的原型。9.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1至7任一所述方法中各步骤的指令。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法的步骤。
技术总结
本发明公开了一种可解释的序列数据建模方法及系统。本方法为:1)利用概念选择器从序列数据X中抽取表示不同概念信息的子序列;2)利用概念编码器生成每一子序列的表示向量;3)利用参数化器将所述序列数据X映射为H维向量;4)将各子序列的表示向量进行线性加权,得到序列数据X的整体建模结果g;5)根据所述整体建模结果g所应用的下游任务,选取对应的训练集对所述整体建模结果g进行训练,训练中对所述训练集中每一已知标签的样本,通过概念选择器抽取该样本中包含的各概念的子序列,并使用参数化器判断该样本中不同概念的权重;6)对于从所述训练集中获取的每一个概念,采用具有最高权重的样本对应的子序列作为该概念的解释。重的样本对应的子序列作为该概念的解释。重的样本对应的子序列作为该概念的解释。
技术研发人员:张逸飞 高能
受保护的技术使用者:中国科学院信息工程研究所
技术研发日:2023.03.21
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/