
1.本发明涉及深度学习技术领域,更具体的说是涉及一种基于预训练的孕检记录表征学习方法。
背景技术:2.目前,主要采用经典的时序模型来解决一项特定的诊断任务或解决电子健康记录的某些独特问题。这使得难以将这些现有方法重新用于妊娠并发症的早期诊断,或者难以提供通用的解决方案来解决由妊娠并发症引起的一系列健康问题。为了达到这个目的,一个基本的研究问题是如何从孕检数据中得出有效的数据表示形式,该数据可以捕获检查记录的主要数据特征。
3.但是,然而,孕检数据相当复杂,设计有效的表示学习方法并不容易。建模孕检数据至少要解决三个主要挑战。首先,孕检数据以不规则的时间间隔动态变化。在怀孕期间,身体特征(例如体重,脚底高度和腹围)可能会发生很大变化。此外,产前检查的记录对应于整个怀孕期间妇女身体特征的不规则分布样本。从这样的动态,不规则和不稳定的产前护理数据中,很难有效地提取和学习时间感知表示。其次,不同的妊娠并发症通常对应于不同的因素或指标。例如,妊娠糖尿病对孕检记录的时间戳更敏感,而妊娠高血压对特定孕周的检查记录更敏感。第三,孕检数据十分稀疏,甚至记录不完整,孕妇的每次孕检只进行特定的检查项,例如,只有在孕妇进行身体检查时才能获得检查记录,利用孕检数据受到检查项的限制。
4.因此,提供一种通用且鲁棒的表示学习方法,用于与妊娠并发症相关的各种医学下游任务是本领域技术人员亟需解决的问题。
技术实现要素:5.有鉴于此,本发明提供了一种基于预训练的孕检记录表征学习方法;通过引入transformer编码器来扩展时间感知的多头注意力机制,可有效处理不规则的时间间隔;过三个特殊的预训练任务对提出的神经网络体系结构进行有效的训练,解决数据不足、数据不完整和短序列问题。
6.为了实现上述目的,本发明采用如下技术方案:
7.一种基于预训练的孕检记录表征学习方法,包括以下步骤:
8.s1、修改transformer编码器中的自注意力机制,构建孕检记录表征模型;
9.s2、建立相似性预测任务;
10.s3、建立掩盖预测任务;
11.s4、建立合理性检查任务;
12.s5、基于步骤s2-s4所述的任务进行模型预训练,并对下游任务进行微调。
13.优选的,所述步骤s1具体包括:
14.建立数据序列《c,τ》,设每次孕检为一次就诊c,每个检查项结果为e,则就诊c为检
查项结果e的向量集,数据序列c为就诊c的合集,c=(c1,c2,
…
,cn),就诊c对应一个孕周τi,则孕周集合τ=(τ1,τ2,
…
,τn);
15.为数据序列增加虚拟就诊c
*
,该虚拟就诊c
*
的虚拟孕周为τ
*
=τ
*
+1;
16.在数据序列c中给定一个访问向量c
t
,使用全连接将其映射到高维空间中:
17.x
t
=w
x
×ct
+b
x
18.其中,x
t
∈rh,b
x
∈rh,均为可学习参数;
19.将结果进行堆叠,得到嵌入矩阵x=(x1,
…
,x
t
,x
*
);
20.采用位置编码对位置信息进行编码,使用孕周τ代替位置信息,并添加生成的位置编码到x
t
中,
21.u
t
=pe(τ
t
)
22.p
t
=x
t
+u
t
23.pe表示transformer中的位置编码函数,叠加所有就诊的向量得到p=(p1,
…
,p
t
,p
*
);
24.标准transformer编码器的自注意力机制为:
[0025][0026]
标准transformer编码器无法反映时间间隔大小,因此引入一个完全连接的层来捕获时间跨度信息,则修改后的transformer编码器的自注意力机制为:
[0027][0028]
其中,w
τ
∈r1×h,|
·
|为元素绝对值,使用|u
i-uj|将时间间隔信息纳入时间意识注意事项中;
[0029]
tsa的输入包括查询q,秘钥k和价值v,则多头注意力机制tsa表示为:
[0030]
tsa(q,k,v,w
τ
,τ)=soft max(a
(t)
)
×v[0031]
时间感知多头注意力机制将多个单独的tsa进行拼接,并将其输入到全连接网络中:
[0032][0033]
g=wo×
(g
(1)
||g
(2)
||...||g
(n)
)
[0034]
其中,“||”表示向量拼接,wo∈rh×
nh
,采用层归一化和残差连接,一个前馈层分别处理每次访问的隐藏状态h
t
,具体为:
[0035]st
=w2×
relu(w1×gt
+b1)+b2[0036]
其中,w1,w2∈rh×h,b1,b2∈rh,relu(x)=max(0,x),通过将残余连接和层归一化,得到孕检记录表征的最终表示:
[0037]
s=(s1,...,s
t
,s
*
)。
[0038]
优选的,所述步骤s2具体步骤为:
[0039]
s21、对数据集中所有孕妇的最后一周孕检记录两两计算欧式距离,即且数值越小相似度越高;
[0040]
s22、以最相似的15%为正样本,最不相似的15%为负样本,则原样本数n变为
[0041]
s23、基于孪生网络,将样本映射到一个潜在的空间,其中具有接近的特征距离的样本具有接近的语义距离,由和表示一个样本对,基于欧几里得距离来测量它们的语义距离则孪生网络在n
p
对上的损失函数被定义为:
[0042][0043]
其中,zi为正负样本,zi=1为正样本,zi=0为负样本,n
p
为样本对数,di为欧几里得距离,m为预设参数。
[0044]
优选的,所述步骤s3具体包括:
[0045]
s31、随机屏蔽30%的c
*
访问;
[0046]
s32,设为掩码访问的相应隐藏状态,基于具有relu激活的多层感知器mlp来预测源检查记录:
[0047][0048]
采用均方误差mse为优化目标:
[0049][0050]
其中,为所有蒙面访问的集合,为的大小。
[0051]
优选的,所述步骤s4具体包括:
[0052]
s41、选择50%的序列作为负样本,然后这些序列的50%-75%的访问被随机选择并替换为其他序列的就诊,另外50%是正样本;
[0053]
s42、使用激活函数为relu的多层感知机制来预测是否合理:
[0054][0055]
其中,为将输出映射至(0,1)的激活函数,设r为为合理性标签,采用交叉熵损失函数进行目标优化:
[0056][0057]
其中,nr为样本数量。
[0058]
优选的,所述步骤s5具体包括:
[0059]
在三个训练前任务上训练模型,最终的训练前损失函数定义为:
[0060]
l
p
=λ1ls+λ2lm+(1-λ
1-λ2)lr[0061]
其中,λ1和λ2为平衡三个训练前任务的超参数;
[0062]
对于分类任务,采用全连接层进行激活,即:
[0063][0064]
其中,wc∈r1×h,bc∈r1;
[0065]
设y表示标签,然后基于交叉熵损失作为优化目标:
[0066][0067]
其中,n为孕妇的数量;
[0068]
对于回归任务,基于全连接层:
[0069][0070]
其中,nf为回归目标的数量;
[0071]
采用均方误差mse作为优化目标可得:
[0072][0073]
其中,n为孕妇的数量。
[0074]
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于预训练的孕检记录表征学习方法;通过引入transformer编码器来扩展时间感知的多头注意力机制,可有效处理不规则的时间间隔;过三个特殊的预训练任务对提出的神经网络体系结构进行有效的训练,解决数据不足、数据不完整和短序列问题。
附图说明
[0075]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0076]
图1附图为本发明提供的方法流程结构示意图。
[0077]
图2附图为本发明提供的模型结构示意图。
[0078]
图3附图为本发明提供的结果示意图。
具体实施方式
[0079]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0080]
本发明实施例公开了一种基于预训练的孕检记录表征学习方法,包括以下步骤:
[0081]
s1、修改transformer编码器中的自注意力机制,构建孕检记录表征模型;
[0082]
s2、建立相似性预测任务;
[0083]
s3、建立掩盖预测任务;
[0084]
s4、建立合理性检查任务;
[0085]
s5、基于步骤s2-s4所述的任务进行模型预训练,并对下游任务进行微调。
[0086]
为进一步优化上述技术方案,步骤s1具体包括:
[0087]
建立数据序列《c,τ》,设每次孕检为一次就诊c,每个检查项结果为e,则就诊c为检查项结果e的向量集,数据序列c为就诊c的合集,c=(c1,c2,
…
,cn),就诊c对应一个孕周τi,则孕周集合τ=(τ1,τ2,
…
,τn);
[0088]
为数据序列增加虚拟就诊c
*
,该虚拟就诊c
*
的虚拟孕周为τ
*
=τ
*
+1;
[0089]
在数据序列c中给定一个访问向量c
t
,使用全连接将其映射到高维空间中:
[0090]
x
t
=w
x
×ct
+b
x
[0091]
其中,x
t
∈rh,b
x
∈rh,均为可学习参数;
[0092]
将结果进行堆叠,得到嵌入矩阵x=(x1,
…
,x
t
,x
*
);
[0093]
采用位置编码对位置信息进行编码,使用孕周τ代替位置信息,并添加生成的位置编码到x
t
中,
[0094]ut
=pe(τ
t
)
[0095]
p
t
=x
t
+u
t
[0096]
pe表示transformer中的位置编码函数,叠加所有就诊的向量得到p=(p1,
…
,p
t
,p
*
);
[0097]
标准transformer编码器的自注意力机制为:
[0098][0099]
标准transformer编码器无法反映时间间隔大小,因此引入一个完全连接的层来捕获时间跨度信息,则修改后的transformer编码器的自注意力机制为:
[0100][0101]
其中,w
τ
∈r1×h,|
·
|为元素绝对值,使用|u
i-uj|将时间间隔信息纳入时间意识注意事项中;
[0102]
tsa的输入包括查询q,秘钥k和价值v,则多头注意力机制tsa表示为:
[0103]
tsa(q,k,v,w
τ
,τ)=soft max(a
(t)
)
×v[0104]
时间感知多头注意力机制将多个单独的tsa进行拼接,并将其输入到全连接网络中:
[0105][0106]
g=wo×
(g
(1)
||g
(2)
||...||g
(n)
)
[0107]
其中,“||”表示向量拼接,wo∈rh×
nh
,采用层归一化和残差连接,一个前馈层分别处理每次访问的隐藏状态h
t
,具体为:
[0108]st
=w2×
relu(w1×gt
+b1)+b2[0109]
其中,w1,w2∈rh×h,b1,b2∈rh,relu(x)=max(0,x),通过将残余连接和层归一化,得到孕检记录表征的最终表示:
[0110]
s=(s1,...,s
t
,s
*
)。
[0111]
为进一步优化上述技术方案,步骤s2具体步骤为:
[0112]
s21、对数据集中所有孕妇的最后一周孕检记录两两计算欧式距离,即且数值越小相似度越高;
[0113]
s22、以最相似的15%为正样本,最不相似的15%为负样本,则原样本数n变为
[0114]
s23、基于孪生网络,将样本映射到一个潜在的空间,其中具有接近的特征距离的样本具有接近的语义距离,由和表示一个样本对,基于欧几里得距离来测量它们的语义距离则孪生网络在n
p
对上的损失函数被定义为:
[0115][0116]
其中,zi为正负样本,zi=1为正样本,zi=0为负样本,n
p
为样本对数,di为欧几里得距离,m为预设参数。
[0117]
为进一步优化上述技术方案,步骤s3具体包括:
[0118]
s31、随机屏蔽30%的c
*
访问;
[0119]
s32,设为掩码访问的相应隐藏状态,基于具有relu激活的多层感知器mlp来预测源检查记录:
[0120][0121]
采用均方误差mse为优化目标:
[0122][0123]
其中,为所有蒙面访问的集合,为的大小。
[0124]
为进一步优化上述技术方案,步骤s4具体包括:
[0125]
s41、选择50%的序列作为负样本,然后这些序列的50%-75%的访问被随机选择并替换为其他序列的就诊,另外50%是正样本;
[0126]
s42、使用激活函数为relu的多层感知机制来预测是否合理:
[0127][0128]
其中,为将输出映射至(0,1)的激活函数,设r为为合理性标签,采用交叉熵损失函数进行目标优化:
[0129][0130]
其中,nr为样本数量。
[0131]
为进一步优化上述技术方案,步骤s5具体包括:
[0132]
在三个训练前任务上训练模型,最终的训练前损失函数定义为:
[0133]
l
p
=λ1ls+λ2lm+(1-λ
1-λ2)lr[0134]
其中,λ1和λ2为平衡三个训练前任务的超参数;
[0135]
对于分类任务,采用全连接层进行激活,即:
[0136][0137]
其中,wc∈r1×h,bc∈r1;
[0138]
设y表示标签,然后基于交叉熵损失作为优化目标:
[0139][0140]
其中,n为孕妇的数量;
[0141]
对于回归任务,基于全连接层:
[0142][0143]
其中,nf为回归目标的数量;
[0144]
采用均方误差mse作为优化目标可得:
[0145][0146]
其中,n为孕妇的数量。
[0147]
在训练过程中,我们首先用三个预训练任务对时间感知变压器进行预训练。一旦我们的模型经过了预先训练,我们就会使用特定于任务的损失来调整具有时间感知的变压器和预测组件,以获得更好的性能。与传统的ehr数据建模方法相比,rapt具有以下优点。首先,该模型可以处理数据不足和数据不完整等各种问题。其次,所提出的模型可以处理几个问题,但不需要额外的组件。第三,该模型不是针对特定的任务而设计的。它为健康问题提供了一个一般的解决方案。
[0148]
最后,我们将训练前任务与其他领域的训练前任务进行了比较。在自然语言处理(nlp)中,常见的训练前任务包括掩蔽语言建模(mlm)、下一个句预测(nsp)、替换令牌检测(rtd)和句子顺序预测(sop)。我们遵循mlm任务并将其更改以应用ehr数据。对于其他任务,考虑到健康孕妇的检查记录相似,nsp和rtd不适用于ehr数据。对于健康孕妇,除了体重等检查记录很少有明显的变化趋势外,其他检查记录在整个妊娠期间保持稳定,因此ehr数据不用sop。在计算机视觉(cv)中,主流的训练前任务是实例识别。该任务将每个样本视为一个类。显然它不适用于ehr数据,但我们提出了相似性预测任务,它与实例识别有相似的效果。
[0149]
在预测妊娠期糖尿病上,本发明提出的方法对比已有方法在auc分数上提高了5.4%,在f1分数上提高了5.5%,在accuracy上提高了6.0%。
[0150]
在预测妊娠期高血压上,本发明提出的方法对比已有方法在auc分数上提高了0.6%,在f1分数上提高了0.3%,在accuracy上提高了0.7%。
[0151]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0152]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。