一种基于可解释性的深度神经网络的心电信号降噪方法
技术领域
本发明涉及心电信号处理技术领域,具体涉及一种基于可解释性的深度神经网络的心电信号降噪方法。
背景技术
近年来,根据世界卫生组织的调查,每年将近有近千万人死于心脏疾病。可见,心血管疾病严重危害了人类的健康。然而心血管疾病是采集患者的心电信号来诊断的,心电信号的不同波段的异常情况,其表示为患者的不同的心脏疾病。在采集心电信号过程中,难免会引入不同的噪声来扭曲心电信号。为此,为了获得干净的信号,对心电信号降噪成为了不可缺少的一步。
目前,对于心电信号降噪方法有经验模态分解、小波滤波、贝叶斯滤波、稀疏表示以及最近研究颇多的神经网络降噪方法。对于传统的降噪模型,其缺点是鲁棒性低且降噪能力不足,而对于基于深度学习的神经网络模型,虽然解决了传统方法中鲁棒性与降噪能力不足现象,但是神经网络作为一种黑匣子,是对数据进行端对端训练。神经网络的搭建也根据人为经验而设计,其设计过程中缺乏了可解释性。基于此,本发明主要从传统模型的强解释性与深度学习模型的强大学习能力出发来设计出一种新的神经网络框架。不仅解决了传统模型的鲁棒性问题,也解决了神经网络缺乏解释性的问题。
发明内容
本发明为了克服以上技术的不足,提供了一种设计心电信号降噪网络,在提高神经网络解释性的同时,也提高对心电信号的降噪能力的方法。
本发明克服其技术问题所采用的技术方案是:
一种基于可解释性的深度神经网络的心电信号降噪方法,包括如下步骤:
a)建立含噪的心电信号;
b)将含噪信号划分为训练集和测试集;
c)建立心电信号模型,该模型依次由inception模块、辅助函数模块、权重分配模块、降噪模块及后处理模块构成;
d)将训练集输入到inception模块中,输出得到多维信号S1,inception模块由第一处理单元、第二处理单元、第三处理单元、卷积层及LeakyReLU激活函数层构成;
e)将多维信号S1输入到辅助函数模块和权重分配模块,输出得到多维信号S4;
f)将多维信号S4输入到降噪模块,输出得到多维信号S5;
g)将多维信号S5输入到后处理模块中得到一维降噪信号x;
h)重复步骤c)至步骤g)N次,使用距离损失函数训练心电信号模型,得到迭代优化后的心电信号模型;
i)将测试集输入迭代优化后的心电信号模型中输出得到最优解的一维降噪信号x。
进一步的,步骤a)中选取MIT-BIH数据库中的103、105、111、116、122、205、213、219、223、230十种干净信号,选取MIT-BIH数据库中的噪声压力数据库中的BW、EM、MA作为噪声数据,通过输入信噪比公式将信噪比为1.25dB、5dB的噪声数据注入到干净信号中得到含噪信号。
优选的,步骤b)中划分的训练集样本为480个片段,每个片段长度为512,划分的测试集样本为120个片段,每个片段长度为512。
进一步的,步骤d)包括如下步骤:
d-1)第一处理单元依次由通道数为64、卷积核大小为1×3的卷积层和LeakyReLU激活函数构成,将训练集输入到第一处理单元后输出通道数为64维的特征信号T1;
d-2)第二处理单元依次由通道数为64、卷积核大小为1×5的卷积层和LeakyReLU激活函数构成,将训练集输入到第二处理单元后输出通道数为64维的特征信号T2;
d-3)第三处理单元依次由通道数为64、卷积核大小为1×7的卷积层和LeakyReLU激活函数构成,将训练集输入到第三处理单元后输出通道数为64维的特征信号T3;
d-4)通过级联将特征信号T1、特征信号T2与特征信号T3进行拼接,得到拼接后的特征信号T,T=[T1,T2,T3];
d-5)将拼接后的特征信号T通过卷积核大小为1×1进行卷积运算后再通过跳跃连接与训练集求和,将求和后的信号输入LeakyReLU激活函数层,输出得到多维信号S1。
进一步的,步骤e)包括如下步骤:
e-1)辅助函数模块由第一卷积单元、第二卷积单元、第三卷积单元及第四卷积单元构成;
e-2)第一卷积单元由通道数为64、卷积核大小为1×3的卷积层及LeakyReLU激活函数层构成,将多维信号S1输入到第一卷积单元中,输出得到多维信号S2;
e-3)将多维信号S1与多维信号S2输入到权重分配模块进行级联,得到拼接的信号S,S=[S1,S2],第二卷积单元由通道数为64、卷积核大小为1×3的卷积层及LeakyReLU激活函数层构成,将拼接的信号S输入到第二卷积单元中,输出得到多维信号S3;
e-4)第三卷积单元由通道数为64、卷积核大小为1×3的卷积层及Sigmoid激活函数层构成,将多维信号S3输入到第三卷积单元中,得到多维信号的分配值a1,通过公式a2=1-a1得到分配值a2;
e-5)将分配值a
1、分配值a
2、多维信号S
1和多维信号S
2输入到第四卷积单元中通过公式
计算得到多维信号S
4,式中
为卷积运算。
进一步的,步骤f)包括如下步骤:
f-1)降噪模块由第一编码层、第二编码层、第三编码层、第四编码层、第五编码层、第六编码层、第一解码层、第二解码层、第三解码层、第四解码层、第五解码层、第六解码层构成;
f-2)第一编码层依次由通道数为16、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将多维信号S4输入到第一编码层中,输出得到特征信号h1;
f-3)第二编码层依次由通道数为32、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h1输入到第二编码层中,输出得到特征信号h2;
f-4)第三编码层依次由通道数为64、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h2输入到第二编码层中,输出得到特征信号h3;
f-5)第四编码层依次由通道数为128、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h3输入到第二编码层中,输出得到特征信号h4;
f-6)第五编码层依次由通道数为256、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h4输入到第二编码层中,输出得到特征信号h5;
f-7)第六编码层依次由通道数为512、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h5输入到第二编码层中,输出得到特征信号h6;
f-8)将特征信号h6输入到空间注意力模块,输出得到特征信号h7;
f-9)第一解码层依次由通道数为256、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h7输入到第一解码层中,输出得到特征信号h8;
f-10)第二解码层依次由通道数为128、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h8与特征信号h5通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第二解码层中,输出得到特征信号h9;
f-11)第三解码层依次由通道数为64、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h9与特征信号h4通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第三解码层中,输出得到特征信号h10;
f-12)第四解码层依次由通道数为32、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h10与特征信号h3通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第四解码层中,输出得到特征信号h11;
f-13)第五解码层依次由通道数为16、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h11与特征信号h2通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第五解码层中,输出得到特征信号h12;
f-14)第六解码层依次由通道数为64、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h12与特征信号h1通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第六解码层中,输出得到特征信号h13;
f-15)将特征信号h13与多维信号S4求和得到多维信号S5。
进一步的,步骤g)中后处理模块依次由两个通道数为64、卷积核大小为1×3的卷积层、LeakyReLU激活函数层构成,将多维信号S5输入到后处理模块中得到一维降噪信号x。
优选的,步骤h)中N取值为6。
本发明的有益效果是:利用稀疏表示算法来建立心电信号模型,进而通过半二次分裂算法将优化问题转化为两个子问题的优化。继而在两个子问题中搭建神经网络,通过心电信号噪声数据与干净数据在搭建的神经网络中端对端训练来寻求最优解。通过设计心电信号降噪网络,在提高神经网络解释性的同时,也提高对心电信号的降噪能力。在传统稀疏表示降噪算法与深度神经网络降噪模型之间建立了一座有吸引力的桥梁。这样不仅提高了神经网络的可解释性也增加了传统稀疏表示降噪算法的精度与鲁棒性。
附图说明
图1为本发明的方法流程图;
图2为本发明的辅助函数模块的结构图;
图3为本发明的辅助函数模块及权重分配模块的结构图;
图4为本发明的降噪模块的结构图;
图5为本发明的降噪模块中的空间与注意力模块的结构图。
具体实施方式
下面结合附图1至附图5对本发明做进一步说明。
一种基于可解释性的深度神经网络的心电信号降噪方法,包括如下步骤:
a)建立含噪的心电信号。
b)将含噪信号划分为训练集和测试集。
c)建立心电信号模型,利用神经网络将信号升高到多维空间,目的是为了更好的显示出心电信号的细节部分,具体的该模型依次由inception模块、辅助函数模块、权重分配模块、降噪模块及后处理模块构成。
d)将训练集输入到inception模块中,输出得到多维信号S1,inception模块由第一处理单元、第二处理单元、第三处理单元、卷积层及LeakyReLU激活函数层构成。
e)将多维信号S1输入到辅助函数模块和权重分配模块,输出得到多维信号S4。
f)将多维信号S4输入到降噪模块,输出得到多维信号S5。
g)将多维信号S5输入到后处理模块中得到一维降噪信号x。
h)重复步骤c)至步骤g)N次,使用距离损失函数训练心电信号模型,得到迭代优化后的心电信号模型。
i)将测试集输入迭代优化后的心电信号模型中输出得到最优解的一维降噪信号x。
利用稀疏表示算法来建立心电信号模型,进而通过半二次分裂算法将优化问题转化为两个子问题的优化。继而在两个子问题中搭建神经网络,通过心电信号噪声数据与干净数据在搭建的神经网络中端对端训练来寻求最优解。通过设计心电信号降噪网络,在提高神经网络解释性的同时,也提高对心电信号的降噪能力。在传统稀疏表示降噪算法与深度神经网络降噪模型之间建立了一座有吸引力的桥梁。这样不仅提高了神经网络的可解释性也增加了传统稀疏表示降噪算法的精度与鲁棒性。
实施例1:
步骤a)中选取MIT-BIH数据库中的103、105、111、116、122、205、213、219、223、230十种干净信号,选取MIT-BIH数据库中的噪声压力数据库中的BW、EM、MA作为噪声数据,通过输入信噪比公式将信噪比为1.25dB、5dB的噪声数据注入到干净信号中得到含噪信号。
实施例2:
步骤b)中划分的训练集样本为480个片段,每个片段长度为512,划分的测试集样本为120个片段,每个片段长度为512。
实施例3:
步骤d)包括如下步骤:
d-1)第一处理单元依次由通道数为64、卷积核大小为1×3的卷积层和LeakyReLU激活函数构成,将训练集输入到第一处理单元后输出通道数为64维的特征信号T1;
d-2)第二处理单元依次由通道数为64、卷积核大小为1×5的卷积层和LeakyReLU激活函数构成,将训练集输入到第二处理单元后输出通道数为64维的特征信号T2;
d-3)第三处理单元依次由通道数为64、卷积核大小为1×7的卷积层和LeakyReLU激活函数构成,将训练集输入到第三处理单元后输出通道数为64维的特征信号T3;
d-4)通过级联将特征信号T1、特征信号T2与特征信号T3进行拼接,得到拼接后的特征信号T,T=[T1,T2,T3];
d-5)将拼接后的特征信号T通过卷积核大小为1×1进行卷积运算后再通过跳跃连接与训练集求和,将求和后的信号输入LeakyReLU激活函数层,输出得到多维信号S1。
实施例4:
步骤e)包括如下步骤:
e-1)辅助函数模块由第一卷积单元、第二卷积单元、第三卷积单元及第四卷积单元构成;
e-2)第一卷积单元由通道数为64、卷积核大小为1×3的卷积层及LeakyReLU激活函数层构成,将多维信号S1输入到第一卷积单元中,输出得到多维信号S2;
e-3)将多维信号S1与多维信号S2输入到权重分配模块进行级联,得到拼接的信号S,S=[S1,S2],第二卷积单元由通道数为64、卷积核大小为1×3的卷积层及LeakyReLU激活函数层构成,将拼接的信号S输入到第二卷积单元中,输出得到多维信号S3;
e-4)第三卷积单元由通道数为64、卷积核大小为1×3的卷积层及Sigmoid激活函数层构成,将多维信号S3输入到第三卷积单元中,得到多维信号的分配值a1,通过公式a2=1-a1得到分配值a2;
e-5)将分配值a
1、分配值a
2、多维信号S
1和多维信号S
2输入到第四卷积单元中通过公式
计算得到多维信号S
4,式中
为卷积运算。
实施例5:
步骤f)包括如下步骤:
f-1)降噪模块由第一编码层、第二编码层、第三编码层、第四编码层、第五编码层、第六编码层、第一解码层、第二解码层、第三解码层、第四解码层、第五解码层、第六解码层构成;
f-2)第一编码层依次由通道数为16、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将多维信号S4输入到第一编码层中,输出得到特征信号h1;
f-3)第二编码层依次由通道数为32、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h1输入到第二编码层中,输出得到特征信号h2;
f-4)第三编码层依次由通道数为64、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h2输入到第二编码层中,输出得到特征信号h3;
f-5)第四编码层依次由通道数为128、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h3输入到第二编码层中,输出得到特征信号h4;
f-6)第五编码层依次由通道数为256、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h4输入到第二编码层中,输出得到特征信号h5;
f-7)第六编码层依次由通道数为512、卷积核大小为1×3、步长为2的卷积层、批量归一化层及LeakyReLU层构成,将特征信号h5输入到第二编码层中,输出得到特征信号h6;
f-8)将特征信号h6输入到空间注意力模块,输出得到特征信号h7;
f-9)第一解码层依次由通道数为256、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h7输入到第一解码层中,输出得到特征信号h8;
f-10)第二解码层依次由通道数为128、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h8与特征信号h5通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第二解码层中,输出得到特征信号h9;
f-11)第三解码层依次由通道数为64、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h9与特征信号h4通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第三解码层中,输出得到特征信号h10;
f-12)第四解码层依次由通道数为32、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h10与特征信号h3通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第四解码层中,输出得到特征信号h11;
f-13)第五解码层依次由通道数为16、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h11与特征信号h2通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第五解码层中,输出得到特征信号h12;
f-14)第六解码层依次由通道数为64、卷积核大小为1×3、步长为2的反卷积层、批量归一化层及LeakyReLU层构成,将特征信号h12与特征信号h1通过空间与通道注意力模块后得到特征信号之和,将特征信号之和输入到第六解码层中,输出得到特征信号h13;
f-15)将特征信号h13与多维信号S4求和得到多维信号S5。
实施例6:
步骤g)中后处理模块依次由两个通道数为64、卷积核大小为1×3的卷积层、LeakyReLU激活函数层构成,将多维信号S5输入到后处理模块中得到一维降噪信号x。
实施例7:
步骤h)中N取值为6。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。