一种基于深度胶囊网络的睡眠分期及可解释性分析方法

文档序号:39246802发布日期:2024-09-03 17:28阅读:12来源:国知局
一种基于深度胶囊网络的睡眠分期及可解释性分析方法

本发明属于睡眠分期,具体涉及了提供一种基于深度胶囊网络的睡眠分期方法。


背景技术:

1、睡眠是人类重要的生理周期,占个体寿命的三分之一。随着时代的发展,睡眠障碍的发病率也在不断上升。睡眠障碍会导致工作效率降低、免疫力下降,并对人类健康构成威胁。长期的睡眠障碍可能会导致各种慢性疾病,如高血压、老年痴呆症、帕金森氏症和抑郁症等。利用多导睡眠图(psg)数据进行睡眠分期是诊断和治疗睡眠障碍的基础。psg包括脑电图(eeg)、脑电图(eog)、心电图(ecg)和肌电图(emg)等生理信号。根据美国睡眠医学协会(aasm)制定的睡眠阶段标准,这些信号被分割成30秒的时间间隔(称为"历时"),随后被归入五个阶段(w、n1、n2、n3和rem)之一。完成这一过程需要耗费人类专家两个小时,因此,有必要建立一个精确的自动睡眠分期系统来应对这些挑战。早期的自动睡眠分期算法使用传统的机器学习方法将脑电图信号划分为相应的睡眠阶段。这些方法通常包括两个步骤,即人工特征提取和睡眠阶段分类。首先,它们设计并提取时域和频域的各种特征。特征选择算法通常用于进一步选择最具区分度的特征。其次,将所选特征输入用于睡眠阶段分类的传统机器学习模型,如普通贝叶斯(plain bayes)、支持向量机(svm)、随机森林(rf),甚至基于集成学习的分类器。然而,这些方法需要领域知识才能提取最具代表性的特征。近年来,深度学习已被应用于不同领域,并显示出其优于不需要领域知识的传统机器学习模型。这促使研究人员将深度学习技术用于自动睡眠阶段分类。最初,卷积神经网络(cnn)、深度神经网络(dnn)和递归神经网络(rnn)经常被用来提取特征。这些方法以一对一方案为基础,利用单个eeg epoch信号预测相应的睡眠阶段。为了利用多个睡眠阶段之间的上下文信息,多对多方法在这项任务中越来越受欢迎。这些方法一般基于cnn、cnn+rnn、tranformer、cnn+tranformer。为了获得脑电图的有效特征,mohsenvand等设计了具有不同卷积核的卷积通道来提取特征,以获得不同尺度的频率和振幅信息。这些研究利用不同感受野大小的特征图从给定的输入信号中获取更丰富的信息,但却忽略了psg信号中其他通道的信息。psg提供多通道信号记录,因此可以通过适当的方法提取和整合不同通道的信息,以实现更高的睡眠分期性能。现有的方法基于cnn或变换器从多通道psg数据中精确提取特征,这些方法在睡眠分期任务中表现出色。cnn无法识别一个物体相对于另一个物体的位置,而transformer在小数据集上有过拟合的倾向,同时由于神经网络的‘黑盒’特性,使得自动睡眠分期算法难以用于临床。


技术实现思路

1、为了解决背景技术中的问题,本发明的目的在于提供一种基于深度胶囊网络的睡眠分期及可解释性分析方法,通过建立不同层级特征之间的联系来进一步提升睡眠分期的准确性,利用胶囊模长表示特征存在的概率这一特性,提供了一种模型决策的可解释分析方法。

2、本发明的技术方案如下:

3、一种基于深度胶囊网络的睡眠分期及可解释性分析方法,包括以下步骤:

4、步骤s1、首先获取初始的睡眠多导图数据集,按照aasm睡眠分期标准,将睡眠多导图数据集中的睡眠多导图信号划分为n个睡眠期序列xn,根据n个睡眠期序列xn构建睡眠分期数据集,接着将睡眠分期数据集按照7:1:2的预设比例划分为训练集、验证集和测试集;

5、步骤s2、构建用于睡眠分期的睡眠分期网络模型,睡眠分期网络模型包括信号预处理模块、特征提取模块和特征分类器;

6、步骤s3、将步骤s1中的训练集输入到构建好的睡眠分期网络模型中进行训练,然后利用验证集对训练好的睡眠分期网络模型进行验证,以确定准确率最优的睡眠分期网络模型的权重;

7、步骤s4、将步骤s1获得的测试集输入到已训练好的睡眠分期网络模型中,获得睡眠多导图信号中各个睡眠期序列的睡眠分期结果。

8、所述步骤s2中,所述睡眠分期网络模型的拓扑结构如下:

9、所述睡眠分期网络模型主要由信号预处理模块、基于深度胶囊网络的特征提取模块和特征分类器依次连接构成;所述的特征提取模块主要由依次连接的初级胶囊层、两个连续卷积胶囊层和范数归一化模块组成,信号预处理模块的输出端与初级胶囊层的输入端连接,范数归一化模块的输出端与特征分类器的输入端连接;

10、首先,扩增睡眠期序列集合中的扩增睡眠期序列输入到信号预处理模块中,经短时傅里叶变换stft得到对数谱图像sn:

11、接着对数谱图像sn经过初级胶囊层后输出对应的初级胶囊组pa,n:

12、

13、

14、式中,表示初级胶囊组pa,n中的第m个胶囊层,下标m表示胶囊组中胶囊层的序数,m表示初级胶囊组中胶囊层的总数量;表示初级胶囊组pa,n的第m层胶囊层中位于(h,w)位置处的胶囊,下标h、w分别表示胶囊在胶囊层高度方向和宽度方向的位置,h、w分别表示初级胶囊组中胶囊层的总高度和总宽度;

15、输出的初级胶囊组pa,n经两个连续的卷积胶囊层处理后获得目标胶囊组da,n,根据目标胶囊组da,n得到各个睡眠期序列xn的特征f′n,并对目标胶囊组da,n进行二范数归一化处理后得到睡眠期序列xn存在各类睡眠阶段的概率vn,k;

16、将n个连续的睡眠期序列xn的特征f′n输入到特征分类器中,输出各个睡眠期序列xn对应的分期结果。

17、所述的初级胶囊层主要由三个连续的特征提取子模块、一个激活函数层g和一个reshape函数层依次连接组成,每个特征提取子模块主要由依次连接的卷积核大小为3×3的2d卷积模块、批量归一化层和relu激活函数组成,激活函数层主要由卷积核大小为1×1的2d卷积模块和tanh激活函数连接组成;第三个特征提取子模块的relu激活函数与激活函数层的2d卷积模块连接,tanh激活函数与reshape函数层连接,对数谱图像sn输入到第一个特征提取子模块的2d卷积模块中,由reshape函数层输出对数谱图像sn对应的初级胶囊组pa,n。

18、所述的卷积胶囊层用于将输入的胶囊以预设的卷积核大小进行转换,生成新的胶囊,将卷积胶囊层的输入胶囊组和输出胶囊组分别作为子胶囊组和父胶囊组;所述初级胶囊组pa,n经两个连续的卷积胶囊层处理后获得目标胶囊组da,n和概率vn,k的具体步骤为:

19、步骤s2.1、首先,将初级胶囊层输出的初级胶囊组pa,n作为第一个子胶囊组输入到第一个卷积胶囊层中,输出第一个父胶囊组ca,n;

20、所述第一个卷积胶囊层的卷积核大小不等于初级胶囊组pa,n中胶囊层尺寸h×w;

21、步骤s2.2、接着,将步骤s2.1中输出的胶囊组ca,n作为第二个子胶囊组输入到第二个卷积胶囊层中,输出第二个父胶囊组作为目标胶囊组da,n;

22、设置所述第二个卷积胶囊层的卷积核大小等同于胶囊组ca,n中的胶囊层尺寸,且设置目标胶囊组da,n中胶囊层的总数量为5,目标胶囊组da,n的表达式如下:

23、

24、

25、其中,表示目标胶囊组da,n中的第m个胶囊层;

26、步骤s2.3、根据目标胶囊组da,n获取对应睡眠期序列xn的特征f′n:

27、

28、其中,concatenate()表示拼接函数;

29、步骤s2.4、根据目标胶囊组da,n利用以下公式处理得到对应的睡眠期序列xn存在各类睡眠阶段的概率vn,k:

30、

31、

32、k=m,k∈{1,2,3,4,5}

33、其中,vn,k表示睡眠期序列xn中第k类睡眠阶段存在的概率;k=1表示睡眠阶段为清醒期;k=2表示睡眠阶段为非快速眼动i期;k=3表示睡眠阶段为非快速眼动ii期;k=4表示睡眠阶段为非快速眼动iii期;k=5表示睡眠阶段为快速眼动期;df表示目标胶囊组da,n中各个胶囊的维度;l2()表示取二范数函数。

34、所述将睡眠期序列xn的特征f′n输入到特征分类器中,输出各个睡眠期序列xn对应分期结果的具体方式为:

35、首先,将所有的睡眠期序列xn的特征f′n进行拼接,并对睡眠期序列的特征f′n的位置进行编码,得到拼接后的睡眠期时间序列ga:

36、ga=concatenate(f′1,f′2,...,f′n,...,f′n)

37、其中,concatenate()表示拼接函数;

38、然后将睡眠期时间序列ga输入到基于多头注意力机制的特征分类器网络中进行时间相关性学习,得到睡眠期时间序列ga中各个睡眠期序列xn的睡眠分期结果

39、所述步骤s3训练时,使用损失函数对睡眠分期网络模型的损失进行计算,同时通过梯度下降算法对所述睡眠分期网络模型进行训练,损失计算具体按照以下公式处理得到:

40、

41、

42、其中,loss表示损失,n表示睡眠期序列的总个数;α表示给定的损失参数;ln表示margin损失函数;m+取0.9,m-取0.1;当k和实际的睡眠分期结果相等时,tk取1,否则取0;max()表示取最大值函数。

43、所述的步骤s4具体为:

44、步骤s4.1、将测试集输入到已训练好的睡眠分期网络模型中,获得睡眠多导图信号中各个睡眠期序列的睡眠分期结果

45、步骤s4.2、对测试集中的扩增睡眠期序列进行处理:

46、首先设置长度为ks、滑动步长为ks/2的滑动窗口,以滑动掩码的方式利用滑动窗口对扩增睡眠期序列进行片段置零处理,得到置零睡眠期序列其中表示在t位置处进行置零处理的扩增睡眠期序列,t表示置零位置;

47、步骤s4.3、接着,将扩增睡眠期序列和对应的置零睡眠期序列分别输入到已训练好的睡眠分期网络模型中,得到扩增睡眠期序列存在各类睡眠阶段的概率vn,k以及置零睡眠期序列存在各类睡眠阶段的概率vn,k,t’;获取当k和实际的睡眠分期结果相等时,概率和的差值最大时的置零位置t,并将该置零位置t处的扩增睡眠期序列作为睡眠分期网络模型作出睡眠分期结果的决策依据。

48、将所述子胶囊组和父胶囊组中的胶囊分别作为子胶囊和父胶囊利用卷积胶囊层获取父胶囊的表达式如下:

49、

50、

51、其中,表示与对数谱图像sn对应的输入胶囊组的第i个胶囊层中位于(h,w)位置处的胶囊,下标i表示输入胶囊组中胶囊层的序数;表示与对数谱图像sn对应的输出胶囊组的第j个胶囊层中位于(h,w)位置处的胶囊,下标j表示输出胶囊组中胶囊层的序数;g()表示激活函数;表示所有子胶囊的加权和;表示位于(h,w)位置处子胶囊和其对应父胶囊相关联的路由系数,表示位于(h,w)位置处子胶囊和其对应父胶囊之间的预测向量;

52、上式中,子胶囊和对应父胶囊之间的路由系数和预测向量表达式如下:

53、

54、

55、

56、其中,表示预测系数,表示给定的第一转换矩阵,用于将(h,w)位置处第i层的子胶囊转换为第j层的父胶囊;wij表示给定的第二转换矩阵,用于将同一个胶囊组中第i层的胶囊转换为第j层的胶囊。

57、所述步骤s1中根据n个睡眠期序列xn构建睡眠分期数据集的具体方式为:

58、步骤s1.1、首先,获取各个睡眠期序列xn对应的标签序列yn,根据睡眠期序列xn和对应的标签序列yn分别构建睡眠期序列集合xa和标签序列集合ya:

59、xa={x1,x2,…,xn,…,xn}

60、ya={y1,y2,…,yn,…,yn}

61、yn∈{1,2,3,4,5}

62、其中,下标n表示睡眠期序列的序数;yn=1表示当前睡眠期序列xn处于清醒期;yn=2表示当前睡眠期序列xn处于非快速眼动i期;yn=3表示当前睡眠期序列xn处于非快速眼动ii期;yn=4表示当前睡眠期序列xn处于非快速眼动iii期;yn=5表示当前睡眠期序列xn处于快速眼动期;

63、步骤s1.2、然后按照以下公式对睡眠期序列xn进行边界扩充,得到各个睡眠期序列xn对应的扩增睡眠期序列并根据扩增睡眠期序列构建扩增睡眠期序列集合

64、

65、

66、其中,xc为给定的零扩增序列,零扩增序列xc中元素的个数与睡眠期序列xn中的元素个数一致且所有元素均为0;concatenate()表示拼接函数;

67、步骤s1.3、建立睡眠分期数据集,包括扩增睡眠期序列集合和对应的标签序列集合ya。

68、与现有技术相比,本发明的有益效果在于:

69、1、本发明使用胶囊网络克服了传统cnn网络无法建立特征之间的层次关系,使用胶囊网络作为特征提取网络,能提取到更有效的多通道特征,使得模型的分类正确率能有效提升。

70、2、本发明采用基于注意力机制的带有局部约束的卷积路由方式,减小了大尺寸输入和传统动态路由带来的复杂计算量,使得胶囊网络能处理大尺寸输入的睡眠信号。

71、3、本发明利用胶囊网络的胶囊特性构建出可解释分析方法,为实现自动睡眠分期算法临床可用提供的依据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1