InnerEye深度学习工具包开源:让医学影像AI普及化

十多年来,微软剑桥研究院的 InnerEye 项目团队一直在开发最先进的机器学习方法,用于三维医学影像的自动定量分析。该项目的一个重要应用是在癌症放射疗法上,协助临床医生进行图像准备和手术计划。通常,癌症放射疗法需要放射肿瘤学专家或专业技术人员手动检查、标记数十个 3D CT 扫描图像,根据癌症的种类,这项任务可能需要一个小时到多个小时不等。项目团队的研究表明,机器学习可以将这个时间缩短到几分钟,帮助临床医生减轻负担。

InnerEye 项目一直与剑桥大学以及剑桥大学医院 NHS 基金会密切合作,通过深入研究,最终在这一问题上取得了突破。剑桥大学机器学习和放射学组负责人 Raj Jena 博士表示:“这项技术成功的最有力证明就是忙碌的临床医生与 InnerEye 的互动程度。在超过15年的时间里,用于放射治疗的图像自动分割技术一直没有完全实现。通过使用 InnerEye 机器学习模型,我们已经对数据进行了训练,现在观察到一致的分割效果在精确度上,达到了符合严格的临床要求的标准。”

InnerEye 项目的目标是希望人工智能在医学影像分析方面被普及化使用,并让研究机构、医院、生命科学组织和医疗服务提供者通过使用微软 Azure 云平台可以构建自己的医学影像人工智能模型。因此,为了使 InnerEye 项目的研究成果更容易获得,微软发布并开源了 InnerEye 深度学习工具包(https://github.com/microsoft/InnerEye-DeepLearning)。该工具包让使用集合训练高性能模型,以及使用 Azure 机器学习服务或 Azure Stack Hub 部署模型,变得容易。微软非常高兴看到人们或组织将如何在此基础上提升患者护理的水平。

开源InnerEye深度学习工具包

随着深度神经网络等新技术的不断发展,用于医学影像的机器学习模型也在迅速进步。由于需要复杂的软件工程和计算基础设施来定义、训练、测试和跟踪,所以关注核心机器学习的进展十分困难。InnerEye 项目团队已参与了多个机器学习项目(包括放疗、外科手术计划和定量放射学),并利用 Azure 为团队开发了一个通用框架,以简化工作流。同时,项目团队希望以开源的形式将这个工具包分享给更多有以下需要的人:

  • 大规模构建最先进的 3D/2D 医学影像分类、分割或顺序模型

  • 避免管理和维护一个有弹性的前沿 GPU 集群

  • 按照最佳实例来构建 AI 模型——DevOps for ML (MLOps)

InnerEye 项目团队已建立了一种基于配置的方法,用于构建图像分类、分割或顺序模型。不同的模型有不同的模板,包括常见的场景,如放射治疗分割、放射学分割和眼科分类等。其中,分类、回归和序列模型可以只使用图像作为输入,也可以使用图像和非图像数据的组合作为输入。该方法支持典型的医学数据使用场景,在这些用例中,除了图像之外,它还可以使用测量值、生物标记或患者特征。使用者可以使用预配置的神经网络,比如 UNet3D,也可以使用自己的网络。

使用 UNet3D 网络分析肺 CT 图像的放疗分割模型配置模板建立先进模型的一大挑战,是大规模地训练现代计算体系结构。这就涉及到构建和维护 GPU 的弹性集群,但这不是机器学习研究人员和开发人员需要花费时间去做的事情。由于云计算可以使管理大量 GPU 的分布式训练变得更加容易,所以 InnerEye 深度学习工具包充分利用了 Azure 机器学习服务的优势:
  • 将集群从0扩展到 N 个计算节点,以在多个 GPU 上训练模型

  • 仅按实验次数付费

  • 利用低优先级节点节省成本

  • 使用最新的 GPU、IPU 和 FPGA

  • 使用 Azure 机密计算等高级功能

Azure 机器学习服务使在云上扩大机器学习模型训练和管理规模成为可能为了在机器学习模型中建立信任关系,遵循行业和社区的最佳实例来保证可靠性、可说明性和透明性是很重要的。InnerEye 深度学习工具包使用 Azure 机器学习服务来管理 DevOps for ML (MLOps),包括:
  • 实验可追溯性:Azure 机器学习服务可完整记录所有已执行的实验,包括代码快照。标签会自动添加到实验中,以帮助筛选和查找旧实验。

  • 实验透明度:所有的团队成员都可以看到彼此的实验和结果。

  • 模型再现性:例如,使用相同代码和数据的两个模型训练将产生相同的度量。所有的随机源,比如多线程,都是受控的。

  • 模型管理:包括具有丰富元数据的版本控制模型。

  • 模型部署:使用 Azure 机器学习服务或 Azure Stack Hub,作为智能边缘解决方案的一部分进行模型部署。

  • 与 Git 集成和持续集成(CI,Continuous Integration)。

此外,该工具包还支持更高级的机器学习开发功能,包括:

  • 使用 Azure 机器学习服务的内置支持进行交叉验证,其中用于单个折叠的模型是并行训练的。这对于医学影像的长时间训练作业尤其重要。

  • 使用 Azure 机器学习服务中的 HyperDrive 进行超参数调优。

  • 通过组合多个不同的模型来构建集成模型,以提高预测性能。

  • 通过使用统计检验,比较新模型和现有模型。

  • 基于已经配置好的方法轻松创建新模型,并从现有体系架构中“继承”。

InnerEye 深度学习工具包的设计以可用性和灵活性为核心,建立在 PyTorch 上,并深度整合了微软 Azure 云计算平台。

医学影像技术堆栈使用了 InnerEye 深度学习工具包和 PyTorch,以及 Azure 机器学习服务和 Azure Stack Hub在临床上使用
最先进的机器学习技术

NHS 的 Topol Review 强调,技术应该帮助临床医生节省更多的时间。InnerEye 技术就旨在提供构建模块,让用户可以做到这一点。

为了让更多的个人和组织使用机器学习库和技术组件,现在,InnerEye 深度学习工具包已作为开源软件在 GitHub 上发布。该工具包可以被研究人员用来构建和完善他们自己的模型,并将其应用于很多方面,包括我们尚未想到的应用场景。医疗健康提供商、公司和合作伙伴还可以使用此工具包开发自己的机器学习产品和服务,包括使用 Azure Stack Hub (需要经过适当的测试和监管批准,如 FDA 许可、CE 标记或内部豁免控制)。Azure Stack Hub 可以将 Azure 的服务和能力扩展到用户选择的从数据中心到其边缘的整个环境。用户可以在 IT 生态系统中一致地构建、部署和运行混合及边缘应用程序,并充分利用诸如AI和机器学习等云原生服务的优势。Azure 的这一扩展还可以使用户符合监管要求,并实现对延迟敏感的工作负载。

Jena 博士补充道,“通过 Azure Stack Hub 这样的技术,我们有可能自己完善并拥有模型。我们看到了一种方法,可以将机器学习技术整合到治疗路径中,从而形成长期、实用的解决方案,并随着时间的推移不断演进。”

InnerEye 深度学习工具包的潜在应用包括用于监测肿瘤的定量放射学、手术计划和放射治疗计划

微软期待在 InnerEye 深度学习工具包开源的基础上,建立研究和医疗技术社区,最终造福于世界各地的患者。

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

工程医学影像InnerEye深度学习
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

云计算技术

云计算(英语:cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备。

交叉验证技术

交叉验证,有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证的目标是定义一个数据集到“测试”的模型在训练阶段,以便减少像过拟合的问题,得到该模型将如何衍生到一个独立的数据集的提示。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~