Khorina · 2020年08月05日

用于医疗领域的嵌入式AI: 如何为嵌入式设备构建COVID-Net

image.png
所有内容由Sheldon Fernandez (DarwinAI CEO) and Alexander Wong (DarwinAI 首席科学家 )撰写

如今几乎每一个产业都会涉及到深度学习应用。在过去几个月中,随着医疗系统的负担越来越重,医疗交付链中的每个人(医疗设备制造商,医院,临床医生和患者)都在寻找加速提供更好治疗结果的同时使用更少资源的方法。

嵌入式深度学习的优势是可以在庞大数据集上实现强大的自动化预测功能,这与当今医疗系统的目标非常吻合。有了深度学习,就可以用消费类设备来做早期疾病检测,举个例子可以用医院中的传感器数据来监控和优化资源,放射设备的CT和MRI图像可用于“边缘”诊断。但是,开发可靠,可解释的深度学习算法仍然很复杂。 此外,考虑到深度学习应用计算量大的性质,支持深度学习的基础设施需要很高的成本。

最近我们和Arm合作来帮助不同的产业,例如医疗行业。为嵌入式设备快速的带来更高效,更具成本效益的深度学习解决方案。

和Arm一样,我们希望医疗技术能够有更快更强的洞察力, 改善结果并以更低的成本提供服务。

将嵌入式AI引入医疗行业:COVID-Net计划

3月22日,我们宣布开放COVID-Net的源代码,这是一个可以通过检查胸部X射线(CXR)来检测COVID-19感染的深度神经网络(DNN)。

我们最大化利用可解释人工智能(XAI)技术,在不到一周的时间内从零开始加速COVID-Net的开发。

COVID-Net是为帮助医疗专业人员快速筛查COVID-19感染而设计的辅助工具。其中分类和诊断COVID-19感染最大的瓶颈之一是专家解析射线照相图像需要花费很长时间,可能长达20分钟或更久。 因此,计算机辅助诊断系统有可能帮助挽救生命并更有效地引导稀缺的医疗资源。

人们对宣布开放COVID-Net源代码的热情回应令人难以置信(并且还在继续!),我们没有办法一一感谢所有人的贡献和兴趣。

让我们看看COVID-Net在Arm处理器上如何快速可靠地运行且显着减少分诊和诊断患者所需的时间:

Configurations推理延迟 ()
TensorFlow Lite v1.145400 \~ 5600
Arm NN TF Lite parser with Neon-CPU backend2700 \~ 3000
Arm NN TF Lite parser with Neon-CPU & Mali-GPU backends2600 \~ 2800

Arm NN是Arm CPU、GPU和NPU的推理引擎, 用于端上的ML模型的运行并根据输入数据进行预测。 Arm NN可以高效的<u>转换</u>现有神经网络框架,例如TensorFlow Lite,TensorFlow,ONNX和Caff,同时可以使这些框架在Arm CPU,Mali GPU或Ethos NP上高效运行,无需多做修改。

Rock Pi 4B使用了功能强大的Arm 64位六核处理器,包含双Cortex-A72(1.8Ghz频率),四核Cortex-A53(1.4Ghz频率)CPU和Mali T860MP4 GPU。通过Debian Stretch(9.9)桌面版收集推理延迟的结果。

除了关于如何使用COVID-Net这个问题之外,还有一个常见问题:我们如何如此迅速地构建一个针对特定目的且高性能的深度神经网络?

疫情不会等待

鉴于COVID-19大流行的紧迫性,我们需要以更快的速度构建COVID-Net。 即使对于大型企业,针对特定任务和嵌入式需求构建定制的深度学习解决方案通常也要花费数月的时间。

在这种情况下,我们将目标设定为少于7,这样我们就可以将COVID-Net推向世界,给全球社区提供可实现的XAI技术突破参考同时让他们可以在COVID-Net基础上继续构建。

我们是如何做到的

为了实现目标,我们采用了人机协作设计策略将人为驱动的原则性网络设计原型与机器驱动的设计探索通过四个步骤结合在一起:

1.     数据收集

2.     原则性网络设计原型

3.     机器驱动的设计探索

4.     机器引导的设计审核

这个策略不仅将AI视为简单的可利用工具,而且将AI视为协作者,可以从开发人员的需求中汲取教训,并说明了如何设计不同权衡取舍的解决方案。 同时还说明了这些解决方案是如何做出决策的,从而为模型构建提供了一种快速迭代的方法。

1. 数据收集

首先,我们结合了现有的公开来源和合作者公开提供的来源构建了一个名为COVIDx的数据集。 COVIDx由13,645例患者的16,756幅CXR图像组成,同时数据每天都在增长。

用于构建COVIDx数据集的数据集生成脚本可公开访问。
image.png
                           COVIDx数据集包含来自公共来源的数千个CXR图像。

尽管COVIDx自出现以来已增长显着,但相比于其他呼吸系统问题而言COVID-19阳性病例还是相对较少,因此它仍表现出数据类别不平衡的问题。

这个问题并不罕见,因此模型设计人员必须保持警惕,并采取措施以减少数据类别偏差的影响。

2. 原则性网络设计原型

人机协作设计策略的第一阶段是原则性网络设计原型,我们构建了一个基于人为驱动的设计原则和最佳实践的原型。

本质上,这个原型提供了最初的支架但将最终的微架构和微架构设计留给机器驱动的设计探索来完成。

首先,我们利用残差结构设计原理,因为它们支持可靠的神经网络架构。所以他们易于被训练成高性能架构,并且能够成功构建更深层次的架构。

为了帮助临床医生更好地决定谁应该优先进行反转录·聚合酶链反应(RT-PCR)得测试以及在等待RT-PCR测试结果时(目前可能需要几天时间)采用哪种治疗策略,我们的原型能对以下三种结果进行预测(三类softmax输出):
1. 无感染(正常)
2. 非COVID-19感染(例如,非COVID19病毒,细菌等)。
3. COVID-19病毒感染

3. 基于创成式综合的机械驱动设计探索

人机协同设计策略的第二阶段是利用DarwinAI的GenSynth平台进行机器驱动的设计探索。

我们使用GenSynth来利用我们对领域需求的内在理解,并采用系统的、智能的方法来进行设计探索,而非人工方式的组合。

更具体地说,GenSynth使用了初始网络设计原型,数据和我们人工定义的设计要求来指导设计探索确定最佳的宏观架构和微架构,这样可以为任意设备构建量身定制的DNN架构。

这种机器驱动的设计探索比人工驱动的架构设计更具灵活性,同时仍然能够保证生成的DNN满足特定领域的操作需求。
image.png
DarwinAI的GenSynth平台让设计师可以轻松地探索和生成针对手头数据和任务量身定制的AI模型。

对于COVID-NET,我们的操作参数包括要求新冠肺炎灵敏度和阳性预测值大于80%(即筛查结果为阳性的患者确实患有新冠肺炎的概率)和小于2.5G的乘加操作。这些操作参数的选择是为了在准确性,内存占用量和推理速度之间取得适当的平衡。特别是当我们主要考虑因素之一包括创建一个可以在包含边缘设备在内的不同硬件上运行的DNN-甚至可能是在实际成像设备本身。 越来越多的医疗保健公司开始考虑Arm专为在边缘快速诊断的成像设备设计的解决方案。

根据提供的信息,GenSynth根据不同的特点和权衡提供了许多不同的现成模型来满足我们的设计要求。

这样我们能够分析以及更深入地了解GenSynth所做的设计选择,从而帮助我们探索和完善模型。 GenSynth不仅帮助我们设计了新模型,而且帮助我们确定了关键的性能瓶颈。 这使网络本身的整体组成和性能有了更大的透明度。 这种人机协作使我们能够自由地创建独特的、具有不同权衡的定制的设计。
image.png
 GenSynth平台可在生成的模型中对设计方案进行明智的选择; 此图显示了所生成的不同模型中的不同层,并考虑了边缘硬件的性能瓶颈(红色部分)。

4a. 机器引导的设计审核:通过可解释性进行功能验证

仅管拥有一个高性能的网络很重要,但是仅凭输出还不足以判断模型在什么地方表现良好以及在什么地方遭受损失-或至关重要的是,它是否因正确的原因而表现良好。

审核设计缺乏意愿和能力是导致“black box”模型的主要原因,随着AI变得越来越普遍并在社会和各行各业中发挥更大的作用,“black box”模型正受到越来越严格的审查。

但是,也许与那些觉得审核很恐怖的读者的想法背道而驰,花时间对模型进行审核实际上可以加速开发:知道网络在哪儿做正确的事情以及哪里存在差距可以大大提高开发能力,防止后期做痛苦的“调试”。

当然,设计审核经常被忽略的原因也不足为奇:基于XAI审核的替代方法既麻烦又耗时,通常涉及脚本,说明和大量的人工工作。 另外,它们不是很有效(特别是对于不寻常和不直观的情况,例如我们稍后将讨论的示例)。

幸运的是,通过可解释性调查获得的结论不仅可以用来生成更好的网络,还可以用来说明为什么不同的网络得出不同的结论。

•识别错误情况
•了解模型的可靠性
•获得有关如何改进模型的宝贵见解
这些都有助于建立与用户的信任并确保长期效力。
image.png
                            COVIDx测试数据集中COVID-Net的初始混淆矩阵。

GenSynth对不同的错误情况进行自动分组从而快速获取有关网络运行情况的高级概览。 它可以一目了然地识别确切的偏差,差距和问题,有助于了解模型决策背后的关键因素(如下图所示)。
image.png
    用GenSynth识别来自不同COVID-19病例的CXR图像及其相关的关键因素(红色部分)。

除了用模式审核来实现更负责以及更透明的设计外,解释和了解COVID-Net如何检测COVID-19感染的能力对于以下方面也很重要:
· 增强信任度:通过确定决策过程中的关键因素,COVID-Net所作的预测对临床医生而言更加透明也更值得信赖,从而可以帮助他们更快,更准确地对病情进行评估。
· 揭示新见解:突出关键因素可以帮助临床医生发掘COVID-19病毒感染背后关键可视化指标的新见解,他们可以将其纳入自己的诊断过程从而进一步提高筛查准确性。

验证模型是否出于正确的理由做出正确的决策是设计可在医院运行的有效模型中极其重要的一部分。

XAI技术在这方面提供了空前的见解,使设计人员能够了解导致模型得出特定结论的关键因素,并允许他们识别并消除模型中的错误提示。

在这篇文章中,我们仅检查了COVID-NetX射线分析,但我们也在研究COVID-Net-CT CT扫描进行的检测。 在审核一款较早的COVID-Net-CT模型设计时,我们遇到了一个很容易被忽略的问题,或者至少是很难被人为识别的问题。

下图显示了15次模型通过CT扫描正确判断出COVID-19感染的情况。

但是,通过标注判断的关键因素,GenSynth发现这些判断不基于患者肺部的任何东西,而是基于CT扫描床的外观。

发现这种错误的线索对模型的改进是非常宝贵的。这一发现让我们重新审视了创建和处理数据以及训练模型的方法。

image.png
在这些示例中,GenSynth揭示了CT扫描对COVID-19进行正确诊断的关键决策因素(较浅的灰色区域)是CT扫描床的外观

如果不使用这种可解释驱动的审核策略,则很难跟踪和识别这种“正确决定,错误原因”的情况,从而凸显出可解释性在提高深度神经网络在临床应用中可靠性方面的价值。

4b. 机器指导的设计审核:解释并理解COVID-Net架构

通过将人类的知识与GenSynth的可解释性相结合,我们的团队在7天的目标范围内建立了独特而多样的模型。

COVID-Net展示了一种有效的微架构设计,主要由1x1卷积层和深度卷积层组成。 大量使用投影-展开-投影(PEPX)设计模式可实现非常高的总体性能效率,同时仍保持强大灵敏度和PPV

这个模型还包含可选择的远程连接,因为残留网络通常会呈现短距离连接。 这个结果是考虑到性能和内存占用之间的基本权衡(在使用Arm Cortex-M,Cortex-R或Cortex-A处理器时需要重点考虑)。 COVID-Net仅在必要时才选择使用远程连接,这可以最大限度减少按照人工操作的参数得出的总内存使用量。

 image.png
COVID-Net的设计采用了多种构型性状,从而形成了一个专为基于胸部X射线图像进行精确COVID-19检测而构建的高性能模型。

嵌入式至关重要

在最新更新中,我们发布了使用前面提到的方法设计的三个新模型:COVIDNet-CXR4-A,COVIDNet-CXR4-B和COVIDNet-CXR4-C。 每个模型都是使用GenSynth平台构建的,分别在性能与效率之间有不同的权衡,并且比以前发布的COVID-Net模型更小,分辨率更高,性能更好。 尤其是COVIDNet-CXR4-C代表了最紧凑的模型,能够在嵌入式环境中运行良好。

疫情大流行的情况下,COVID-Net的嵌入式版本(可在计算能力有限的小型设备上运行)是宝贵的资源。
其中一个例子是应用在农村和边缘化社区这些与中央服务器连接不可靠的地方。

在这种情况下,通过完全断开网络连接的设备诊断病毒的能力至关重要。 幸运的是,Arm还为不同的边缘环境提供智能性和连通性的解决方案来:

Cortex-M-为最节能的嵌入式设备供电

Cortex-R-可靠的关键任务性能

Cortex-A-以最优功率获得最佳性能

Ethos-机器学习推理的最高性能

image.png
                                          路易斯安那州农村地区的COVID-19测试
                                                照片:路易斯安那国民警卫队 

作者: Mary Bennion
翻译:Khorina
原文链接:https://community.arm.com/developer/ip-products/processors/b/ml-ip-blog/posts/embedded-ai-for-healthcare-how-we-built-covid-net-for-embedded-devices

推荐阅读
关注数
23381
内容数
889
Arm相关的技术博客,提供最新Arm技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息