亚马逊专家揭秘:如何建立自动检测乳腺癌的深度学习模型

简介:
本文来自AI新媒体量子位(QbitAI)

本文作者Sheng Weng,现亚马逊Alexa项目组数据专家,莱斯大学应用物理专业已毕业博士生,主要研究用超快激光转化生物光子学成像及显微镜检查。

前不久,他参加了Insight Data Science的青年计划——这是一个为期7周的博士后团体的交流计划,是学术界与企业界的医学数据研究交流桥梁。参加本项目期间,Sheng Weng为为医疗检测公司iSono创建了用深度学习自动检测乳腺癌的新模型,并将研究原理发布在公司的官方博客上。量子位全文编译整理如下:

 Sheng Weng照片

背景资料

乳腺癌是导致全球女性死亡的第二大癌症类型,其中,浸润性乳腺癌是主要的乳腺癌类型。据报道,美国八分之一的女性都会被确诊为浸润性乳腺癌。在2017年,粗略预计有255180例患者被确诊为浸润性乳腺癌,有40610位患者死于乳腺癌。

一般来说,医生都会建议健康女性一年做一次乳腺癌检查,尤其是年过50的中年妇女,她们的患病率较高。传统的检查流程一般包括乳房X射线和超声图像检测,但这是一种比较主观的诊断,非常依赖医生的水平。

iSono Health是一个初创公司,致力于开发低成本的自动超声图像检测平台,促进女性每月进行乳腺癌自我检测。我创建的模型需要借助iSono的app分析检测结果,它能够用超声图像区分乳腺肿块是良性还是恶性的,并且可以实时记录并查看。

数据概览

iSono Health提供了一份原始数据集,包含2684个JPEG格式的2D乳腺超声检测图像。我们将这些原始数据进行了归类:

良性案例:1007例

恶性病例:1499例

非典型病例:178例

良性致病类型:12例

恶性致病类型:13例

非典型致病类型:3例

大多数的超声检测图像大小为300*225像素,每个像素的值在0到225之间。这些图像来自不同的渠道,所以对病情的判定和解决方案都不尽相同。总共有12例良性致病类型和13例恶性致病类型,下图就展示了集中不同致病类型的乳腺病变。

为了使病变检测成为一个二进制的分类问题(良性或恶性),我忽略了所有的致病类型和非典型病例信息,并随机挑选了1920张图像用于建立和评估模型——这些图像中一半是良性的,而另一半是恶性的,是一个相对平衡的数据集。

数据准备

我用3*3的中值滤波器来移除超声图像中的斑点噪音,将每个图像上的像素值标准化,这样就会出现零均值。

先说明一点,对于乳腺癌这种复杂的图像分类问题,1920张图像是一个相对较小的数据集。扩充数据能够减少过度拟合,增强模型的泛化能力,是极具吸引力的解决方案。我们将这个数据集分成三部分,75%用于训练,12.5%用于验证,剩下的12.5%作为测试数据集。基于乳腺病变对旋转并不敏感的假设,我将每张图片进行旋转。具体来说,就是将每张图片在-10°到10°之间随机进行旋转,并重复了12次,最终得到1920*12=23040张图像。因为我想让整个病变区位于图像的核心,所以并没有使用裁剪或移动等其他的增强技术。

根据观察,几乎所有图片中的病变区(包含病变处和四周)都在图像中央,因此我可以把图片裁剪成200*200像素大小,这样也能移除图像旋转引起的填充。为了保持网络可控,每张图像降低采样到原图像的五分之一,也就是40*40像素大小。下面这张图就是数据准备的流程图。

数据增强步骤结束之后,现在手边有17280张训练图像,2880张验证图像,和2880张用于测试的图像。每个数据集都包含着50%的良性病例和恶性病例。在数据增强之前,验证和测试集和训练集要分开,所以各分组间没有重叠的原始图像。

算法

为了得到合适的分类器,常规方法通常是三个步骤:特征提取、特征选择和分类。这三个步骤需要单独被处理好,之后再整合在一起。提取判别特征可能会减轻后续特征选择和分类难度。然而,有效特征是基于问题的,并且高度依赖图像处理中每个中间结果 ,所以通常需要很多试错设计和针对不同用户的干预措施。

近年来深度学习技术的进步可能会改变图片分类的设计。《自然》杂志最近报道了一项用深度卷积神经网络对皮肤癌进行分类的进展,其效果与皮肤病专家的判断相当。没有定义“深度”的具体含义,但简单来讲它是每个神经元之间可能存在的联系数量,确实真正影响了深度学习结构的“深度”。

深度学习可以直接从训练数据数据中提取特征,而不需要对特征的提取和选择进行详细描述。神经网络将输入信息通过层层的神经元传递,之后将输入信息转换成输出信息。有了反向传播的帮助,神经网络的内部权重会根据每次迭代获得的错误信息自动更新。

在这个项目中,我研究并比较了两种不同深度学习架构的表现——即全连接神经网络(FCNN)和卷积神经网络(CNN)。这两种模型都是使用python和TensorFlow在Nvidia Tesla K80 GPU上实现的,用的是亚马逊云服务(AWS)EC2 p2.xlarge。

全连接神经网络

在一个全连接神经网络中,每个神经元与前一层所有神经元连接,每个连接都有自己的权重。然而,权重间的信息却不被神经元共享。在用全连接神经网络之前,需要增加一个额外步骤——将所有的2D图像转化为长度为1600的1D序列。

我构建的全连接神经网络有一个输入层,三个隐藏层(各自分别有512、256和128个节点),和一个有两个输出的输出层。

卷积神经网络

在一个卷积神经网络中,每个神经元只与前一层的几个局部神经元联系在一起,并且在该层中每个神经元的权重相同。因为卷积运算产生的信息与图像的空间特性相关,因此卷积神经网络很适合解决图像分类问题。例如,卷积可能导致图像边缘更加突出。

我构建的卷积神经网络有三个卷积层,每一层都是上一层的图像通过5*5的滤波器/内核(kernel)卷积形成。将一个卷积层的输出输入给另一个卷积层,可以提取出更高阶的特征。卷积后,这些特征可更容易被全连接网络学习。卷积层可以被看做是为数据做准备的,让全连接层能够利用输入图像的空间结构。我的直觉是,在图像经过多个卷积层后,神经元将被编码成完全相关的空间特征。卷积层后有两个全连接层,分别有512和256个节点。这个卷积神经网络架构的灵感来自AlexNet的前几层,下图显示了详细的信息。

模型评价

卷积神经网络比全连接神经网络在下面的评价指标中表现得要好。卷积神经网络的预测精度是73%,而全连接神经网络的精度只有66%。在下面这张复杂的矩阵图中,分类良性和恶性肿瘤病例的阈值是0.5,也是我们之前的默认值。降低阈值可以提高灵敏度,减少假阳性病例。即这种情况下有一个微妙的平衡,假阳性病例具有重要的暗示——尤其是在预防性乳房切除术上。

卷积神经网络的优点也可以在下面两个图表中观察到。在第3000次训练迭代后,卷积神经网络的精确度快速且平稳地增加到0.9,而全连接神经网络在经过10000次迭代后还达不到这一水平。另一方面,卷积神经网络的损失值比全连接神经网络要低,这表明卷积神经网络中的梯度下降函数在收敛到局部最小值处表现最好。损失值是由成本函数计算的,基本定义了模型与期望输出值之间的差距。梯度下降试图通过缓慢改变权重将价值函数最小化。

这两个模型中都应用了随机梯度下降(SGD)和线性整流函数(ReLU),此外还采用了学习率衰减的方式提升性能表现。Dropout能够防止其过拟合。

结语

这些代码将给iSono Health作为下一步算法开发的基准模型。卷积神经网络具有许多可以进一步调整的超参数,包括但不限于:卷积层数、完全连接层数、滤波器数量、滤波器尺寸、隐藏节点数、批量大小、学习速率、最大值合并大小,丢弃率等。此外,更好的图像增强以及来源一致的图像可能表现地更好。

从零开始构建CNN耗时且计算成本昂贵,学习是另一种可行的解决方案。它指利用预先训练的深度学习模型(例如,GoogleNet Inception v3)学习特征过程,然后应用于不同的数据集。如果有更多的数据可用,转移学习可能有助于培训程序。

最后,对所有帮助过我的人表示感谢。

参考资料

[1]http://www.breastcancer.org/about_us/press_room/press_kit/facts_figures

[2] Cheng, Jie-Zhi, et al. “Computer-Aided diagnosis with deep learning architecture: applications to breast lesions in us images and pulmonary nodules in CT scans.” Scientific reports 6 (2016).

[3] Esteva, Andre, et al. “Dermatologist-level classification of skin cancer with deep neural networks.” Nature (2017).

[4] MLA Krizhevsky, Alex, et al. “Imagenet classification with deep convolutional neural networks.” Advances in neural information processing systems (2012).

【完】

本文作者:安妮 
原文发布时间:2017-06-19
相关文章
|
8月前
|
机器学习/深度学习 算法 定位技术
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现裂缝的检测识别(C#代码UI界面版)
本项目基于YOLOv8模型与C#界面,结合Baumer工业相机,实现裂缝的高效检测识别。支持图像、视频及摄像头输入,具备高精度与实时性,适用于桥梁、路面、隧道等多种工业场景。
999 27
|
7月前
|
机器学习/深度学习 数据可视化 算法
深度学习模型结构复杂、参数众多,如何更直观地深入理解你的模型?
深度学习模型虽应用广泛,但其“黑箱”特性导致可解释性不足,尤其在金融、医疗等敏感领域,模型决策逻辑的透明性至关重要。本文聚焦深度学习可解释性中的可视化分析,介绍模型结构、特征、参数及输入激活的可视化方法,帮助理解模型行为、提升透明度,并推动其在关键领域的安全应用。
625 0
|
5月前
|
机器学习/深度学习 人工智能 文字识别
中药材图像识别数据集(100类,9200张)|适用于YOLO系列深度学习分类检测任务
本数据集包含9200张中药材图像,覆盖100种常见品类,已标注并划分为训练集与验证集,支持YOLO等深度学习模型。适用于中药分类、目标检测、AI辅助识别及教学应用,助力中医药智能化发展。
|
6月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
477 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
5月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
7月前
|
机器学习/深度学习 人工智能 监控
河道塑料瓶识别标准数据集 | 科研与项目必备(图片已划分、已标注)| 适用于YOLO系列深度学习分类检测任务【数据集分享】
随着城市化进程加快和塑料制品使用量增加,河道中的塑料垃圾问题日益严重。塑料瓶作为河道漂浮垃圾的主要类型,不仅破坏水体景观,还威胁水生生态系统的健康。传统的人工巡查方式效率低、成本高,难以满足实时监控与治理的需求。
|
7月前
|
机器学习/深度学习 传感器 人工智能
火灾火焰识别数据集(2200张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
在人工智能和计算机视觉的快速发展中,火灾检测与火焰识别逐渐成为智慧城市、公共安全和智能监控的重要研究方向。一个高质量的数据集往往是推动相关研究的核心基础。本文将详细介绍一个火灾火焰识别数据集,该数据集共包含 2200 张图片,并已按照 训练集(train)、验证集(val)、测试集(test) 划分,同时配有对应的标注文件,方便研究者快速上手模型训练与评估。
2056 10
火灾火焰识别数据集(2200张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
7月前
|
机器学习/深度学习 人工智能 监控
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
坐姿标准好坏姿态数据集的发布,填补了计算机视觉领域在“细分健康行为识别”上的空白。它不仅具有研究价值,更在实际应用层面具备广阔前景。从青少年的健康教育,到办公室的智能提醒,再到驾驶员的安全监控和康复训练,本数据集都能发挥巨大的作用。
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
7月前
|
机器学习/深度学习 数据采集 算法
PCB电路板缺陷检测数据集(近千张图片已划分、已标注)| 适用于YOLO系列深度学习检测任务【数据集分享】
在现代电子制造中,印刷电路板(PCB)是几乎所有电子设备的核心组成部分。随着PCB设计复杂度不断增加,人工检测PCB缺陷不仅效率低,而且容易漏检或误判。因此,利用计算机视觉和深度学习技术对PCB缺陷进行自动检测成为行业发展的必然趋势。
PCB电路板缺陷检测数据集(近千张图片已划分、已标注)| 适用于YOLO系列深度学习检测任务【数据集分享】
|
7月前
|
机器学习/深度学习 编解码 人工智能
102类农业害虫数据集(20000张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
在现代农业发展中,病虫害监测与防治 始终是保障粮食安全和提高农作物产量的关键环节。传统的害虫识别主要依赖人工观察与统计,不仅效率低下,而且容易受到主观经验、环境条件等因素的影响,导致识别准确率不足。