没有合适的资源?快使用搜索试试~ 我知道了~
阵列13(2022)100127用于心律失常检测的节能卷积神经网络Nikoletta Katsaounia,c,d,Rimini,Florian Aulb,Lukas Krischkerb,Sascha Schmalhoferb,Lars Hedrichb,马塞尔·H舒尔茨公司a心血管再生研究所,歌德大学,60590 Frankfurt am Main,Germanyb德国法兰克福歌德大学计算机科学研究所c德国心血管研究中心(DZHK),合作中心RheinMain,60590,Frankfurt am Main,Germanyd德国美因河畔法兰克福歌德大学医院肺研究所A R T I C L E I N F O保留字:卷积神经网络能量效率房颤分类A B S T R A C T心电图(ECG)记录心脏活动,是检测心律失常(如房颤)的最常见和最可靠的方法。最近,许多市售设备(如智能手表)都提供ECG监测。因此,设计深度学习模型的需求越来越大,这些模型可以在这些能量供应有限的 小型 便携 式设 备上 物理 实现 。在 本文 中, 提 出了 一种 用于AFib检测 的小 型节 能递 归卷 积神 经网 络(RCNN)架构的设计工作流程。然而,该方法可以很好地推广每一种类型的长时间序列。与以前的研究相比,需要数千个额外的网络神经元和数百万个额外的模型参数,描述了生成仅具有114个可训练参数的CNN的逻辑步骤。该模型由一个小的分段CNN和一个最佳能量分类器组成。通过使用能耗作为度量标准来做出架构决策和准确性一样重要。优化步骤集中在软件上,该软件可以随后嵌入到物理芯片上。最后,与以前的一些相关研究的比较表明,广泛使用的用于类似任务的大型CNN大多是冗余的,并且计算成本不高。1. 介绍心电活动的监测、分析和分类已经吸引了科学界的兴趣,并成为具有各种商业应用的领域[1,2]。小型便携式设备,如智能手表或植入式心脏记录仪[3]能够监测心脏的节律和活动。它们的小尺寸和高生产和放置成本需要低能耗的硬件。因此,这些设备上负责检测异常心律(心律失常)的嵌入式软件必须具有有限的计算要求。心房颤动(AFib)是一种由心房功能紊乱引起的心律失常。它是最常见的心律失常,在一般人群中的发生率为1%[4]。房颤可以诊断为 由心电图仪(ECG),作为不规则,快速心跳导致P波的缺失,R峰的不规则性,以及通常在窄QRS波群中。虽然这些反射波是中风的主要原因之一,但AFib的早期诊断和及时治疗可以充分抑制风险[5]。人工智能已经允许设计能够立即解决这个问题的模型,通过实时分类ECG,指示不同类型的心律失常,并建议心脏病专家进行进一步调查和治疗。在深度学习的扩展使用之前,研究人员提到了基于重特征提取策略的心律失常自动检测模型,这些模型是特定于应用程序的,需要领域知识。数据库,如PhysioBank [6],提供了大量的数字记录。Goldberger等人还引入了一种开源在线软件来预处理和分析ECG信号。 此外,对于数据集不足或损坏(由于噪声或其他测量伪影)的情况,可以模拟ECG轨迹[7]。Hernandez–Matamoros et al. [ 通过11层CNN进行心跳分类,可以检测5种心律失常,平均准确率达到97%。目前,卷积神经网络(CNN)和递归神经网络(RNN)是用于检测各种类型心律失常的最常用方法,通讯作者:歌德大学心血管再生研究所,60590 Frankfurt am Main,Germany。电子邮件地址:katsaouni@em.uni-frankfurt.de(N. Katsaouni)。https://doi.org/10.1016/j.array.2022.100127接收日期:2021年9月29日;接收日期:2021年12月10日;接受日期:2022年1月4日2022年1月17日在线提供2590-0056/© 2022作者。爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表阵列期刊主页:www.elsevier.com/locate/arrayN. Katsaouni等人阵列13(2022)1001272保证高性能的结果。CNN的成功主要归功于它们“学习”所有基本特征并对其进行相应分类的能力。Hannun等人。[9]提出了一种34层CNN,用于检测和分类心律类别,其准确性高于训练有素的心脏病专家。在此之前,其他研究使用CNN来开发心律失常分类和房颤检测的准确模型[10虽然充血性心力衰竭的诊断任务是Acharya等的主要焦点[16 ]第10段。此外,在[17,18]中使用了ECG信号段之间的循环连接在前一项研究中,最终的密集决策层被替换为支持向量机(SVM),而在后者中,包括一个额外的注意力层。最后,熊等使用跳跃连接[19 ]第10段。然而,主要目的是准确检测这些心脏异常的上述研究中没有一项考虑到这些模型的最终能量消耗,一旦它们被放置在便携式可穿戴设备上,能量消耗是一个重要方面。具体来说,当唯一的问题是CNN的准确性时,考虑到检测到更详细的特征(当然是在避免过拟合的情况下),更深的架构将表现得更好。但是,当我们对在实际集成电路上实现该模型感兴趣时,这是我们应该考虑的一点。拥有节能的硬件组件显然可以最大限度地减少对能源供应的需求,但从软件角度来说,实现具有数十万个神经元和数百万个连接的大型模型几乎肯定是节能的。以前在不同应用领域的一些研究已经通过开发简化CNN架构和减少权重数量的技术来解决这个问题。结构稀疏性在神经网络的早期被首次提及[20]。从那时起,多个作品已经使用它来压缩网络的架构。Han等人。[21]提出了一种具有训练权重量化的修剪策略,以便实现权重共享和霍夫曼编码。他们实现了四倍的分层加速和七倍的能源效率。Anwar等人提出了一种基于核和特征图的粒子滤波[22 ]第20段。不同的结构进行了评估的分类精度与小型CNN证明良好的性能。在Alvarez等人[23]和Zhou等人[24]的研究中排除了不重要的参数,同时利用了结构化稀疏性。另一种生成简化版本的神经网络,同时保持较大网络的所有预测能力的方法是知识蒸馏(KD)。在Bucila等人的作品[25,26]应用KD,通过优化它们之间的损失函数,同时训练一个较小的学生网络和一个更大的教师网络,证明了学生网络的令人满意的性能,尽管其更小,压缩架构。这些方法提出了一个轻量级版本的初始网络。尽管减少网络规模可能会带来好处,但他们主要考虑的是训练后网络的效率。假设我们关心未来的硬件实现,我们感兴趣的是一个稳定的架构,可以通过改变模型参数来更新,同时保持基本结构。 通过在第二步中修剪网络权重和架构,网络的通用性受到影响,并且未来的更新将需要对网络设计进行剧烈干预。 这是导致硬件生产商增加时间和财务负担的条件。因此,我们认为在设计模型时有必要考虑能源效率。Amirshahi等人在[27]中进行了这方面的尝试,其中使用尖峰神经网络为节能可穿戴设备开发了ECG分类算法。他们建议把它改造成在尖峰域中完成,能量消耗显著降低。在这项研究中,我们提出了一种准确的节能架构,以检测心律失常的节点和连接的数量最少的方式,在物理芯片上的模型的可能实现可以受益于低能量约束和实际面积。为 本文的目的是将我们的方法应用于心房颤动的检测和分类。对输入的心电信号进行分割 到相等长度的非标记窗口。虽然我们的数据集的标签是按信号提供的,但网络的生成方式可以检测每个片段的房颤。这些模型可以使设备具有更高的耐用性、更少的充电周期和更低的计算能力,同时保留高检测能力。我们的方法不是特定场景。它可以应用于各种时间序列,推广到更多类别,不同类型的输入,并解决了节能神经网络评估大型架构大多是冗余的方面。在本文的背景下,我们专注于软件实现的功能,这将使我们能够嵌入到物理芯片上。在接下来的部分中,将描述能量优化模型的确切工作流程。性能进行了分析,并与最近发表的其他相关研究进行了比较,这些研究表明网络具有数千个额外的节点和数百万个额外的可训练参数。2. 材料和方法2.1. 概述在以下小节中,提出了用于设计节能CNN的工作流程我们的方法为时间序列的CNN构建提供了一条管道,该管道不仅具有检测精度,而且具有能量效率。这里由网络大小、计算数量和可训练参数的数量定义的能量消耗有助于最终模型架构的选择,并且它与网络的训练相耦合网络优化包括在数千个模型中进行网格搜索,网络分割和最佳能量分类器的应用。概述如图所示。1.一、具体步骤如下:1. 对输入信号进行预处理以降低噪声2. 构建多个模型架构,并对不同数量的过滤器、过滤器内核、层和池大小进行网格搜索。3. 模型训练4. 使用准确度和能量消耗作为度量来比较候选模型。候选模型的选择是通过设置一个准确度阈值和搜索来完成的 最大限度地减少能源消耗。5. 模型分段,以实现每个分段的预测6. 为最佳能量分类器找到最佳参数值在能量优化的最后步骤(模型分割、最优能量分类器)之后,可以选择具有最少可训练参数同时保持高精度2.2. ECG数据集本研究使用的数据由Bundesministerium für Bildung und Forschung(BMBF)1在项目“En-ergieeffizientes KI-System”背景下提供。该数据集由16.000个ECG信号组成8.000例房颤患者和8.000例窦性心律对照病例。 的信号通过将心跳信号编码为尖峰并使用尖峰定时相关的可塑性,以根据尖峰定时来训练层的权重。它们表明,由于计算1https://www.elektronikforschung.de/service/aktuelles/pilotinnovationswettbewerbN. Katsaouni等人阵列13(2022)1001273图1.一、为时 间 序 列 生成节能模型的 工 作 流 程 。图二. 示出了数据集的两个示例ECG信号,每个类别中的一个。子图(a)是对应于窦性心律的对照情况,而子图(b)是对应于窦性心律的对照情况。是心房颤动的一个例子在这两种情况下,都描绘了一个7秒的片段通过便携式设备PM 1000(GETEMED AG)测量,并提供双通道ECG(导联I和II)。该设备采用一键技术,易于操作,并集成了GSM模块,用于移动心电图传输。2导联ECG的记录通过4个电极完成,电极放置在个人的胸部并连接在设备的背面。每个通道的持续时间约为120 s,采样率为512 Hz。信号数据的示例在图2中示出。数据是私有的,并在BMBF的许可下分发。2.3. 包含ECG信号的为了我们的方法的目的,2分钟被分成17段,7秒的持续时间相等。7s的窗口持续时间是在试验后选择的,我们在试验中搜索可以导致准确检测房颤的最小必要持续时间。具体而言,对于在4和10 s之间的范围内的不同持续时间的段,估计模型的性能。通过设置95%的准确度阈值,我们选择了满足此条件的最小持续时间。通过这种方式,我们可以将输入信号的大小限制到最小,同时保持高性能。 但是,标签被分配给整个信号,而不是每个片段。 AFib信号不仅在整个持续时间内具有持续的解释波,而且还具有阵发性事件,其中AFib仅可以检测到几秒钟,然后正常节律重现。据观察,在ECG开始时,由于器械的放置和初始校准,出现了噪声、非周期性波。因此,每个心电图都被排除在培训过程之外。其余由硬件测量设备或由人的运动产生的噪声部分地由预处理步骤和我们提出的对干扰信号鲁棒的模型来2.4. 用于心电信号预处理的在连续心电信号的监测中,我们要克服的主要困难之一是肌肉刺激器、磁场、电极错位引起的信号失真、基线漂移甚至个体呼吸产生的噪声。为了区分ECG的主要伪影与噪声,对原始信号应用带通Butterworth滤波器为了使我们的架构设计在物理硬件上的转移,预处理策略选择适当。使用14阶无限脉冲响应(IIR)滤波器,其可以在模拟或数字硬件中能量有效地实现。可以确定二阶级(SOS)结构的7个双二阶块的参数,以实现带通滤波器的期望传递函数。 滤波器的高阶能够很好地抑制基线误差和噪声。未来的硬件实现当然需要适当地重新安排二阶级,以保持滤波器级之间的幅度在合理的范围内。滤波器的应用是通过消除所有小于5和大于30 Hz的频率在频域上进行的。图图3绘制了带通滤波器去噪前后的一个ECG信号。通过这样做,CNN能够在这两个类中找到最佳模式,并提取区分它们的特征。带通滤波器不仅对信号具有平滑效果,而且还使信号以零为中心2.5. 卷积神经网络CNN是一种流行的深度学习模型,在各种学科中都有巨大的潜力。许多研究已经将它们用于图像和信号分类,目标检测,信号去噪等。它们主要由三个不同的操作组成,构建为层。卷积层、激活函数和池化层。CNN为所有上述场景提取高度复杂和数据驱动特征的能力主要是由于卷积运算。更准确地说,每个卷积层在输入信号上应用级联的滤波器(通常称为内核),并排列在特征图中,每个特征图提取不同种类的特征。考虑到输入信号的复杂性,卷积的线性性质无法捕获所有潜在信息。因此,激活函数充当前一层的映射以非线性的方式传递到下一个。然而,在同一输入上应用多个滤波器通常会显著增加特征图的尺寸,因此池化操作负责通过简单地下采样信息来压缩CNN的复杂性。通常,CNN生成的特征被馈送到完全连接的层中,它们之间具有密集的连接。层的数量,内核,池大小和节点的数量 在全连接层中有一些超参数,它们定义了CNN的结构,应该根据网络性能和学习能力进行适当的选择。然而,当需要能量效率和有限的网络规模时,建议最小化节点数量N. Katsaouni等人阵列13(2022)1001274������������_������������������=⌊ ⌋,(4)_图三. 应用带通滤波器前后的ECG信号。红线是预处理前的信号。在消除了小于5 Hz和大于30 Hz时,“干净"信号居中并以蓝色显示。(For为了解释该附图图例中对颜色的引用,读者可以参考这篇文章的网络版本)。边缘和整体计算,同时保持高精度。 CNN沿着整个信号应用相同内核而不改变其权重的特性称为权重共享。该属性可以过度缩减在学习期间应该计算的可训练参数的数量,并且还限制了用于权重存储的存储器要求。2.6. 初始CNN架构候选网络的第一次训练如下进行。每个信号的所有16段都通过特征提取器如果模型将集成在具有有限能量供应的硬件上,则该模型将非常大。我们对过滤器的数量、内核大小和池大小进行了网格搜索,以找到最佳架构。 定义了过滤器、内核和池大小的值的预定义范围。 每个层的过滤器范围为1-5,内核大小在4到11之间并测试了2到6之间的轮询大小。 对所有组合的性能进行了评价。 通过设置准确性阈值,我们可以选择不太复杂但性能良好的模型。模型的复杂性通过以下等式以神经元计算:CNN的最后一个池化层的输出是平坦的,���������������������������������连接到4个节点。 最后,保存了4个16 = 64个节点,=∑+∑(_+(2)���������������������������������������������������������������������整个大约2分钟的信号,并使用S形激活函数完全连接到输出节点通过这样做=1≠0=1≠0我们正在迫使CNN学习基于整个信号的一般表示,降低滤波器的风险,���������������������������∗������������_������������������ ���+��� ���)+1,���������������_������������������= [������+ 2 ∗��� −������������������] + 1,(3)局部地(例如在信号的开始或结束2.7. CNN学习初始CNN使用自适应矩(Adam)优化器进行训练[28]。为了使CNN收敛到最佳值,应用二进制交叉熵损失函数联系我们���������������联系我们 _联系我们其中N是CNN的神经元总数,segms表示信号的段数,layers表示层的数量(卷积,池化),filters表示滤波器的数量,pool表示池化大小,fc表示完全连接层中的节点。 在方程末尾加上1对应于输出节点。关于L= −1���������������������∑=1������log��� ��� +(1 −������) log 1 −���̂ ���,(1)计算每个卷积的输出conv_output,表示要卷积的输入,p是填充,内核的大小为其中,y是基础事实,并且是预测的类。此外,在完全连接层之前实现了参数为0.5的dropout层,以避免过拟合。这意味着在训练过程中,每次迭代时只有50%的权重被更新我们使用以下程序来评估模型的性能:将训练集随机分为80%用于训练,20%用于测试,10%的训练子集用于验证(见表1)。参数优化仅在验证集上进行,而性能计算在测试集上进行。根据设计,不能发生来自同一个人的完整ECG或其片段 是训练集和测试集的一部分。作为测试一部分的所有ECG或验证集独立于用于训练的那些,以避免对模型的过度乐观的性能评估2.8. CNN架构比较选择正确的CNN架构可能非常具有挑战性,因为如上所述,需要学习许多超参数。在我们的应用程序中,准确性并不是我们想要优化的唯一指标。尽管模型对于房颤检测可以足够准确,如果它的复杂度相当高并且具有许多节点和连接, 则用于预测一个ECG信号的能量消耗将滤波器和s是卷积应用的步幅最后,pool_size是池化操作的窗口大小通过遵循这种策略,CNN具有更高的准确性, 选择了较低复杂度。然而,这些并不是最终的架构。进一步的优化将在后面描述的后续步骤中完成。2.9. 递归CNN和能量优化如前一节所述的模型需要整个2分钟ECG信号,以便做出最终决定。然而,在阵发性房颤的情况下,在ECG的某些部分。假设房颤在早期被检测到,很明显,信号的其余部分的过程是没有意义的,它应该被归类为房颤。在CNN中馈送整个ECG需要额外的计算能力,这在某些情况下是不必要的。考虑到这一事实,我们开发了一个完全分段的模型,该模型能够为每个7 s窗口做出决定(图5)。新架构将输出 根据当前段的信息与先前段的信息进行决策。以这种循环的方式使用片段允许我们具有时间动态行为。最后,虽然每一段N. Katsaouni等人阵列13(2022)1001275见图4。分段信号分类模型。在这种架构中,输入信号被分割成预定义长度的窗口。 整个2分钟信号被分段馈送到相同的CNN中。对于每个段,存储多个节点。一旦所有的段都被传递并且它们的输出被连接,就执行最终的分类。由于我们没有每个片段的标签,这种架构允许我们在训练同一个网络时,每个信号只使用一个标签,同时使用所有片段的信息来提取重要特征图五. 具有能量优化的递归CNN架构。我们的模型的决定现在是每个信号段,通过反复考虑以前的段的输出。这种循环的信息流是通过使用最佳能量分类器来实现的,并将网络转换为循环的CNN。CNN的递归模块具有需要优化的参数,如最佳能量分类子部分中所述由循环CNN(RCNN)单独处理,决策是基于所有以前的观察结果。更详细地说,我们正在使用迁移学习来训练RCNN。 保留模型的特征提取器部分的具有其权重的节点,并且冻结直到最后一次池化的模型部分。平坦化的输出现在完全连接到一个输出,sigmoid activationfunction激活函数然而,sigmoid的输出不是模型的预测。最后的决定是通过使用最佳能量分类方法(图1)。5),这是我们的RCNN的记忆和决策单元2.10. 最优能量分类为了构建一个简化的小RCNN,我们使用了最优能量分类器。RCNN的存储器和决策单元有三个额外的参数需要优化。在伪代码算法1中给出的详细算法将下限D、上限U和为了进行判定而应当被检测的同类的连续段的数量S这三个值是通过在训练集上进行网格搜索来设置的。例如,让我们假设这三个值分别设置为0.47、0.53和5。如果在应用激活函数之后每个段的输出小于0.47,则整个信号立即被分类为窦性心律,并且不再有段流入网络。如果它大于0.53,则整个信号被分类为心律失常。在当前段的输出在这两个值之间的情况下,则将下一个7s段馈送到网络中,直到我们得到小于0.47、大于0.53或5个可能心律失常的连续段(> 0.50)或5个可能无心律失常的连续段(0.50)的①的人。通过这样做,我们允许RCNN更快地做出决定并关闭它。尽管我们的混合模型不包含任何类型的复杂模块用于片段之间的循环连接,如长短期记忆(LSTM)[29],但我们已经成功地实现了时间动态行为。结果为了测试我们的方法,使用了由便携式设备测量的16.000个ECG的数据集数据集对于病例和对照组都是平衡的心电信号分为80%用于训练,20%用于测试。此外,训练集的10%子集用于验证。数字的更详细描述见表1。通过应用5-30 Hz范围内的带通滤波器,消除了设备、患者运动和呼吸产生的噪声信号长度约为2 min,采样频率为512 Hz。在下采样之后,剩余的信号具有128 Hz的采样率。心电图在7s时间窗内进行分段。每个信号总共采集16个节段。在对信号进行去噪和归一化之后,执行多个CNN架构的网格搜索以比较它们的性能。由于策略是保持模型足够小以允许低能量需求,因此我们将搜索限制在3层上。然而,每个层的过滤器数量在1-5的范围内变化由于每个片段都没有标签,因此在将所有16个片段传递到网络中之后,对每个信号进行决策。更准确地说,16个段中的每一个段都被连续地馈送到网络中。最后一个卷积池化层的输出是平坦的,完全连接并存储到预定义数量的节点。对于网格搜索,全连接层的这些节点被限制在2到5的范围内。这些节点被连接到所有的段,并完全连接到输出(图4)。通过这种方式,我们可以通过整个信号的特征来学习特征提取,并捕获重要的特征。在图6中,描绘了模型准确度和模型复杂度之间的比较。模型的复杂性表示模型节点的总和(二)、N. Katsaouni等人阵列13(2022)1001276见图6。CNN模型架构比较。将显示测试模型的子集。散点图中的每个点都是一个不同的模型及其架构。 通过将准确度阈值设置为94%,具有高于此阈值的最小复杂度的模型被认为是最节能的。红色虚线表示此阈值,选定的点是满足要求的选定候选模型算法1最优能量分类Energy_Optim(SuccessiveSet S,上限U,下限D)ℎℎ←0←0对于所有细分市场>做如果≤0.5,则���������������←���������������+ 1ℎℎ←0如果==__,则���������������������������������������←���������������end ifif== or���������������������������那么,←���������������其他继续结束,如果否则←0���������ℎ������ ℎ���������←��������� ℎ������ ℎ��������� +1如果==__,则���������������������������������������������������������������←AA���������������end if如果你是一个人,������������������������������������那么,������������������������←AA���������������其他������������������������结束如果结束如果端将测试集的阈值设置为94%,使其具有实际适用性,选择具有最小复杂性的模型作为N. Katsaouni等人阵列13(2022)1001277表1分割原始ECG信号。培训验证测试房颤4994 554 2452窦性心律5086 566 2348共计10080 1120 4800示于图6,有五个模型具有最少的节点数量,同时保持阈值以上的准确性。这些模型是候选模型,当被包含到RCNN中时,这些模型被选择以进行进一步的能量优化步骤,使得可以在不读取所有片段的情况下进行分类所选模型的体系结构的更详细的描述具体地说,所有模型都有三层卷积,分别有1、2和2个滤波器。每个卷积层后面都有一个ReLU激活函数和一个池化层,用于大小为3、6和6的降维。然而,卷积的核大小在7到11的范围内变化。 滤波器的大小影响网络中可训练参数和计算的数量。 也就是说,通过增加内核大小,增加的邻居节点数量将有助于当前计算。2.11. 能源优化以降低能耗使用CNN架构中的一个以连续的方式(例如在佩戴智能手表的同时12小时)对心律失常进行分类将是非常能量低效的。 在实践中,将心律失常的检测限制在短的重复间期是有意义的,这里我们使用7 s间期,但这可能有所不同。 理想情况下,分类器可以决定心律失常或非心律失常,而无需探索整个2分钟。由于CNN在创建了一个准确的分类器之后,我们需要强制模型在每个细分上独立地做出决策。由于所有片段的特征都是以相同的方式提取的,我们假设如果最后一次卷积池化的平坦输出完全连接到一个节点,那么这个节点的权重将揭示片段的决策因此,通过冻结所有N. Katsaouni等人阵列13(2022)1001278表25种最节能的候选型号的网络架构。所有模型都由3个1D卷积层组成,然后是池化操作。过滤器的数量、内核和池大小显示在表中。所有卷积层都有ReLU作为激活函数,而密集层是sigmoid。模型参数层1层2层3致密层Conv1D滤波器Conv1D内核合并规模Conv1D滤波器Conv1D内核合并规模Conv1D滤波器Conv1D内核合并规模节点1 1 8 3 2 8 3 2 8 6 12 1 9 3 2 9 3 2 9 6 13 1 10 3 2 10 3 2 10 6 14 1 11 3 2 11 3 2 11 6 15 1 7 3 2 7 3 2 7 6 1表3优化前后最节能的RCNN模型的性能和大小。给出了能量优化前后各模型的精度用于训练集和测试集。此外,还提供了整个2 min ECG分类所需的7 s段的平均数量。中的平均段数该表对应于测试集上的结果模型能源优化前的性能分割后的性能和能量优化减少段20.952 0.949 0.914 0.920 0.40 0.60 6 3.844 76% 1002019 - 06 - 24 00:00:00 00:002019 - 06 - 24 0.974 0.966 0.956 0.953 0.40 0.60 6 3.092 81% 1140.960 0.949 0.936 0.942 0.42 0.58 4 5.702 64% 88卷积层(特征提取器),使最后一个卷积池层表4性能最 佳 模 型 4的测试集混 淆 矩 阵 。只重新训练最后一个分类层,我们就有了一个完全分段的实际实际模型现在可以限制每个段缺少标签,正负通过使用所有段的输出的相加作为最终决策来克服阳性预测值2,308 77144 2,271将最佳能量分类器集成到CNN中允许对每个信号进行判断,而无需处理所有2分钟。以循环的方式对信号段进行处理,我们可以在考虑先前的信号段的同时对每个信号窗口进行判定。作为先前描述的CNN和最优能量分类器的组合的最终RCNN架构如下生成:对于训练集,保存针对所有片段应用sigmoid之后的输出。对于上限、下限和连续段数的多个组合(参见算法1),计算每个信号所需段的平均数和所有候选的准确度。如果段的输出小于下限,或大于上限,则deci负分类器),导致具有对长ECG信号进行分类的潜力的非常小的架构。该模型的混淆矩阵可以在表4中找到。此外,在连续监测和分类的情况下,在决策后不关闭整个系统,它可以是用于不间断AFib检测的强大的轻量级模型。使用该架构和模型中的最优能量分类器, RCNN对测试集的分类决策仅通过平均流传输3.092个片段来做出。 代替在模型中馈送整个2 min ECG,我们可以仅通过测试27.44 s来获得准确的预测,这可以将计算成本降低到几乎1分别立即定义为房颤和无心律失常。同时保持95.3%的准确性(见图)。 7)。5否则,需要可能的房颤或无心律失常的其余节段。在测试了算法的所有组合之后,我们选择了性能最好的组合。对于我们感兴趣的模型,选择的参数可以在表3中找到。 下限的检测值设定在0.20至0.48范围内,步长为0.02,上限设定在0.52至0.80范围内,步长相同。数量测试的连续段的间隔设置为2至8。之一 选择在保持高精度的同时使所需段的数量最小化的组合。最终模型的决策是在所有优化步骤完成后完成的。表3中给出的平均段数对应于每个模型所需的7s段的平均数对于整个约2分钟ECG信号的正确分类。尽管针对训练集上的每个模型计算用于最优能量分类的算法的参数, 在测试集上估计所需段的平均数目以进行无偏评估。能量效率最高的RCNN是模型4,其具有总共114个不同的可变参数(权重、偏差和3个参数)。在能量优化步骤之前,模型5似乎是更有效的选项,因为它具有更小的内核,因此在滤波器的每次应用时需要更少的操作。然而,转换为RCNN后,使用最优能量分类器相比之下,我们平均需要5.702个段来进行分类,到模型4只需要3.092。因此,使用26个额外的可训练参数是可接受的折衷,同时考虑到所需的段的数量减少。所提出的RCNN架构由3层卷积和1、2和2个滤波器组成,然后是大小为3、3和6的平均池化,以及一个具有sigmoid激活函数的输出节点。最优能量分类的上限和下限被设置为0.60和0.40,并且用于连续段的参数被 选 择 为 4 ( 可 以 找 到 用 于 所 提 出 的 模 型 的 精 确 架 构 和 代 码https://github.com/nikatsaouni/Energy-efficient-CNN应该提到的是,这些参数的选择不是绝对的,而是必须根据每个应用的预定义精度和能量限制来调整。然而,对于我们的案例研究来说,这是一个正确的决定。训练集测试集训练集测试集跌停上限连续段数平均数能源参数10.9510.9430.9260.9180.300.8044.798百分之七十93N. Katsaouni等人阵列13(2022)1001279表5三个竞争模型的架构和性能以及我们提出的节能模型4和性 能 最好的 模型6。模型层过滤器参数精度节能型3 5 114 95.2%最佳性能型号3 19 2,347 98.2%Chaur等人[30] 10 1,984 3,933,634 98.8%Fujita等人[15] 8 34 239,245 97.9%Yıldırıma等[12] 16 1,216 13,274,690 94.6%见图7。最高效的架构模型4的架构。在该方案中,显示了RCNN的确切架构。CNN和具有循环连接的最优能量分类器以黄色框突出显示。(For关于本图图例中颜色的解释,读者可参考本文)。2.12. 与最近发布的架构的通过我们的工作流程提出的模型的主要优势 是他们的小尺寸,不仅在他们的能力,分类长时间序列,而且在与其他最近公布的架构在同一应用领域的比较。可以找到摘要 如表5所示。Chaur等人。[30]类似地生成了用于检测房颤的1D CNN。CNN架构包括10层卷积,然后是池化操作和2个全连接层,然后是一个softmax层输出。滤波器的数量 在每个卷积层上,在32到512的范围内变化,这导致3,933,634个可训练参数。这表示比我们提出的模型4多34,505倍的参数为了与我们的方法进行公平的比较,我们复制了网络架构,并使用建议的参数在我们的数据集上对其进行了训练。网络的训练采用亚当优化算法,交叉熵作为损失函数。批量固定到50,网络被训练了100个epoch。 由于每个片段都没有标签,我们无法执行分段训练,因此插入全长信号作为输入。无论如何,这不会影响参数的最终数量和网络大小,因为必须馈送所有段。我们计算了测试集的准确度进行比较,其中Chaur的模型达到了98.8%的准确度。这个性能比我们模型的准确度高3.5%。但是,当能量效率与准确检测率同等重要时,我们的模型比Chaur它涉及到可训练的参数。考虑到这些结果,人们必须决定3.5%是否是如此巨大的节能的合理妥协。遵循相同的策略,我们将我们的模型与Fujita等人生成的CNN进行了比较。Fujita的模型由8个卷积层和一个最大池化操作组成。数量 每个卷积层的滤波器的最大值为12,并且它有一个大小为12的全连接层。在我们的数据集上训练这个架构后,准确率达到了97.9%。这个性能比我们提出的最佳性能架构略差,比最节能的替代方案高出2.7%。 尽管如此,当涉及到效率时,FujitaYildirim等人。[12]提出了一种不同的心律失常检测架构,我们也对我们的数据进行了训练。这个16层模型在训练后,在我们的测试数据集上达到了94.5%的准确率。Yildirim的模型使用了1216个过滤器,有13,274,690个可训练参数。尽管滤波器比Chaur的模型少,但核的范围从3到50,这导致数量增加可训练的参数。尽管有13,274,576个额外的参数,其性能仍落后于我们建议的模型。此外,我们尝试生成1D-CNN,如[31,32]中所述,用于房颤,并根据我们的数据对其进行训练。 然而,实现模型收敛并产生稳定的精确解是不可行的。他们的模型总共包括232,214,329个参数,13层卷积2完全连接和一个sigmoid输出层。由于这个模型比我们的模型多了2,036,967个可训练参数,因此训练数据的数量可能不足以满足这种复杂性的模型现在让我们假设我们想要生成一个模型,其精度与两个性能最好的模型(Chaur或Fujitas的模型)一样高在这种情况下,具有更高的分类性能的模型从图。 6可以选择。为此,我们选择了具有6,6和7个过滤器,内核大小为9,池大小等于3,3和6的模型,并将其命名为模型6。在能量优化步骤之后,该模型在我们的测试集上具有98.2%的准确率,并且平均需要2.47个段来分类一个ECG信号。最终模型共有2347个参数。虽然准确性与Chaur提出的架构相似Fujita等人的模型表现更差,使用的参数是模型6的101倍。这表明Chaur和Fujita的模型架构至少对于我们数据中观察到的变化是高度冗余的Chaur、Fujita和Yildirima的模型、我们最节能的模型4和我们性能最高的模型6的比较架构可以在表5和图5中找到。 八、3. 讨论在本研究中,我们提出了用于长时间序列的节能循环CNN架构,并在ECG信号的房颤检测上对我们的方法进行了测试。我们的工作流程建议开发轻量级的,完全分段的模型,模型参数比以前的研究少得多。将能耗作为评估性能的额外指标,使我们能够生成可以轻松嵌入物理小型硬件设备的架构。N. Katsaouni等人阵列13(2022)10012710见图8。使用所提出的工作流程(模型4),最佳性能模型(模型6)和Chaur [ 30 ],Fujita [ 15 ]和Yildirima [ 12 ]模型的最节能模型的比较。条形图顶部的数字表示模型相对于可训练参数的大小。开发可以集成在微型芯片上并放置在可穿戴设备上的轻量级神经网络是一项挑战,因为我们希望保持有限的能源需求和高性能。 在我们的方法中,模型架构的选择不是绝对的。 这可以通过考虑精度和能量限制来实现。换句话说,这是准确性和能耗之间的权衡。我们应该事先确定这些限制。然后,选择更好地满足当前需求的架构。预处理方法的选择因任务和性质而异 的信号。对于房颤检测的当前任务,在5-30 Hz范围内应用带通滤波,用于信号去噪和归一化。滤波步骤可以由一些额外的卷积层代替,但由于我们实现的主要思想是保持一个尽可能少的神经元和参数的小网络,带通滤波器对于噪声消除至关重要。虽然一些先前的工作以类似的方式应用小频率和高频率的滤波[32],但是通过也使用傅立叶或小波变换[14]。 为了将我们设计的模型合并到物理芯片上,带通滤波器可以提供一种“廉价"的解决方案,因为它可以直接应用于时域,避免了这种方式的额外变换, 是模拟和数字芯片
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功