号称准确率 97% 的开源肺炎检测模型:照搬 PyTorch 教程、50 张图片就训练完了

简介: 此前,一位澳大利亚的人工智能博士候选人宣布构建了一套深度学习模型,能够从肺部 X 光片中以 97.5% 的准确率 检测出患者是否感染了 COVID-19 病毒。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

最近,一位澳大利亚的人工智能博士候选人在 LinkedIn 上发布了一篇关于 SARS-CoV-2 病毒的研究文章。由于极具话题性且号称准确率可以达到 97.5%,这篇文章很快得到上万条评论、点赞与转发。然而,这样一个模型却被扒出背后只用了 50 张图片训练。

CE033D64_AF68_46a7_92ED_422531F237EB

一周搭起准确率达 97% 的模型,事实是?

此前,一位澳大利亚的人工智能博士候选人宣布构建了一套深度学习模型,能够从肺部 X 光片中以 97.5% 的准确率 检测出患者是否感染了 COVID-19 病毒。因为国外疫情蔓延且医疗设施不足,因此人们对这个成果非常关注,短短时间就收获到了上万条评论、点赞和转发,其还创建了 Slack 工作组,得到了大量赞美。

从目前公布的消息来看,整个项目具有以下特点:

  • 一套经过训练的 PyTorch 模型
  • 容器化应用代码
  • 一套 GitHub 库,并被翻译为多种语言
  • 正在开发中的 Web 应用程序
  • 正在开发中的移动应用程序
  • 规划蓝图,有意在 AWS 中利用无服务器架构托管这套模型
  • 在营销与赞助方面还有大量后续计划

而以上的一切,都在一周之内快速完成。随后,Reddit 网友扒出这套解决方案存在几个严重问题,并对此进行了整理与反驳。

21F6AC4F_29F1_4719_A39C_D58FA7938105

只用了 50 张图像训练?

首先,这些网络的潜在神经表示非常复杂,因此必然需要使用大量训练样本才能完成模型训练。但截至提交时,这款 COVID-19 检测工具只见过 50 张肺部影像。

对于这样一套包含 150 多层、超过 2000 万个参数的网络来说,如此有限的训练样本集显然极为荒谬。

63AE4A63_A0E5_435d_9ECA_021295BABEB6

数据样本有问题

此外,样本中可能存在巨大的数据偏差,这 50 张图片并不包含相关人员是否感染病毒,而仅根据 COVID-19 急性病例造成的肺部操作做出标记。除非肺部已经被病毒破坏,否则该模型根本无法检测到感染迹象。此外,即使已经出现肺炎症状,如果尚不属于急性症状,仍然无法证明这套模型的准确度。

图像重复、代码混乱、模型有问题

最后,这套 COVID 模型基于高人气基准网络 ResNet-50。虽然后者确实属于图像识别与分类领域的常用方案,但 ResNet 的预训练一般只涵盖日常环境下的物体。换言之,ResNet 网络中的隐藏层更擅长识别几何形状与彩色图像,在 X 射线影像中,我们明显找不到这样的模式。也正因为如此,大多数医学神经网络才只能选择从零开始构建的开发方式。

进一步观察这套代码库,我们还发现了不少其他问题。训练、验证与测试数据集中包含重复的图像,大部分训练过程直接照搬 PyTorch 教程,混有大量不必要的代码;Github issues 也令人完全无法理解……
GitHub 地址: https://github.com/elcronos/COVID-19

项目负责人回应:我说了项目不可用

最初,个别开发者与项目负责人沟通并提出质疑时,对方回应称:

xxx,你好,我们的成果已经得到加拿大 xxx 研究机构放射科医生的支持与认可

然而,随着质疑声越来越多,项目负责人更新了 GitHub 中的介绍,并表示:

尽管该项目的结果“看起来很有希望”,但我明确指出该模型远没有可用,因此不应将其用于诊断或任何医疗决定。这是在进行中的工作,我们需要具有相关技能的人员的帮助。我还在 GitHub 存储库中指出,我正在寻找能够改善和收集更好数据集的开发者的帮助。

不幸的是,这个项目引起了相关专家的注意,他们没有注意模型尚未准备就绪,且需要更好的数据集并帮助创建更好的模型,也没有阅读我们的所有免责声明。就指责该项目具有误导性,甚至有人暗示我对此有商业意图。这对我的个人生活造成了一些负面影响,因此,我决定暂时退一步,暂时退出社交媒体。至少在接下来的几天,我将不活跃于此组中。

完整版声明参照: https://github.com/elcronos/COVID-19
然而,这位负责人此前还在大肆宣扬此项目,并发起筹款。该项目负责人创建了一个包含多个子频道的 Slack 讨论组,其中有 一个 #marketing 频道,专门用于沟通以及筹措资金。另外,#sponsors 频道则负责与潜在投资者交流,向其报告未来的投资回报前景。

Slack 讨论组: https://app.slack.com/client/T010AJ5H31N/learning-slack
此外,名为 #datascientists 的频道中没多少有用的内容,里面充斥着热情满满但没什么经验的新手。同样的,#doctors 频道情况也差不多,唯一有价值的内容就是来自专业医疗人员的反对意见,例如并不推荐利用肺部 X 射线诊断 COVID-19 感染。最后一个子频道 #researchers 则几乎没人。

另一方面,UI/UX 频道产出的内容倒是颇为丰富。此项计划目前已经拥有 5 款不同的徽标,外加一套专门用于移动与 Web 应用程序的界面。
因此,对于这份声明,大部分开发者并不买账,不少人认为 在当前的特殊情况下,这类存在严重问题的项目不应发布并大肆宣传(甚至有开发者调侃道宣传的工作量大概是开发工作的 20 倍)。

医学诊断中的深度学习

深度卷积网络在疾病的诊断与治疗方面确实具有一系列潜在优势。近年来发表的众多科学出版物中都在高度关注这一全新发展方向:
2016 年,来自伦敦的一组研究人员发表一种新方法,以包含 8 万张眼底照片的数据集为基础,能够以 86% 的准确率诊断出患者因糖尿病引发的视网膜病变。

同一年,来自乌干达的研究人员利用包含 10000 个对象的数据集,评估了卷积神经网络(CNN)对微观血液涂片的分析能力。
两位日本研究人员通过包含 55 万例 CT 扫描影像的数据集,对肺结节进行一轮规模浩大的分类操作。

但前文提到的新冠病毒检测完全不同,稍微浏览其公布的代码库,就能看出该作者对深度学习及 AI 技术的认知严重不足。更糟糕的是,众多开发者都在质疑其明显是想利用此次疫情爆发对自己进行推广。

说好的代码改变世界呢?

深度学习绝不是百试百灵的解决方案。近年来,无数没有做好准备的企业匆匆在内部建立起数据团队,最终却发现成本迅速提升的同时得不到任何有意义的产出。

此前,李飞飞在接受访谈时曾提到:
泡沫确实存在,过度夸张、炒作可以说铺天盖地。作为科学家,我希望这些泡沫都尽快消散。只有关注坚实内核的人们才能推动 AI 进步并带来真正的收益,这一点在医疗保健与医药等领域尤其重要。

另外,我们绝不应该利用技术制造不公、偏见或者扩大原已存在的不平等现象。对于 AI 技术,我希望尽可能降低它的接触门槛、增加公平性并缓解种种相关矛盾。只要处理得当,我们完全有机会利用 AI 技术创造出更美好的未来。当然,前提是我们得认真梳理现有 AI 成果,弄清哪些是捏造的、哪些是真实的。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-04-03
本文作者:赵钰莹,核子可乐
本文来自:“InfoQ”,了解相关信息可以关注“InfoQ

相关文章
|
1月前
|
存储 物联网 PyTorch
基于PyTorch的大语言模型微调指南:Torchtune完整教程与代码示例
**Torchtune**是由PyTorch团队开发的一个专门用于LLM微调的库。它旨在简化LLM的微调流程,提供了一系列高级API和预置的最佳实践
159 59
基于PyTorch的大语言模型微调指南:Torchtune完整教程与代码示例
|
2月前
|
算法 PyTorch 算法框架/工具
Pytorch学习笔记(九):Pytorch模型的FLOPs、模型参数量等信息输出(torchstat、thop、ptflops、torchsummary)
本文介绍了如何使用torchstat、thop、ptflops和torchsummary等工具来计算Pytorch模型的FLOPs、模型参数量等信息。
336 2
|
6天前
|
人工智能 安全 PyTorch
SPDL:Meta AI 推出的开源高性能AI模型数据加载解决方案,兼容主流 AI 框架 PyTorch
SPDL是Meta AI推出的开源高性能AI模型数据加载解决方案,基于多线程技术和异步事件循环,提供高吞吐量、低资源占用的数据加载功能,支持分布式系统和主流AI框架PyTorch。
35 10
SPDL:Meta AI 推出的开源高性能AI模型数据加载解决方案,兼容主流 AI 框架 PyTorch
|
15天前
|
机器学习/深度学习 人工智能 PyTorch
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
本文探讨了Transformer模型中变长输入序列的优化策略,旨在解决深度学习中常见的计算效率问题。文章首先介绍了批处理变长输入的技术挑战,特别是填充方法导致的资源浪费。随后,提出了多种优化技术,包括动态填充、PyTorch NestedTensors、FlashAttention2和XFormers的memory_efficient_attention。这些技术通过减少冗余计算、优化内存管理和改进计算模式,显著提升了模型的性能。实验结果显示,使用FlashAttention2和无填充策略的组合可以将步骤时间减少至323毫秒,相比未优化版本提升了约2.5倍。
33 3
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
|
1月前
|
并行计算 监控 搜索推荐
使用 PyTorch-BigGraph 构建和部署大规模图嵌入的完整教程
当处理大规模图数据时,复杂性难以避免。PyTorch-BigGraph (PBG) 是一款专为此设计的工具,能够高效处理数十亿节点和边的图数据。PBG通过多GPU或节点无缝扩展,利用高效的分区技术,生成准确的嵌入表示,适用于社交网络、推荐系统和知识图谱等领域。本文详细介绍PBG的设置、训练和优化方法,涵盖环境配置、数据准备、模型训练、性能优化和实际应用案例,帮助读者高效处理大规模图数据。
49 5
|
2月前
|
机器学习/深度学习 自然语言处理 监控
利用 PyTorch Lightning 搭建一个文本分类模型
利用 PyTorch Lightning 搭建一个文本分类模型
65 8
利用 PyTorch Lightning 搭建一个文本分类模型
|
2月前
|
机器学习/深度学习 自然语言处理 数据建模
三种Transformer模型中的注意力机制介绍及Pytorch实现:从自注意力到因果自注意力
本文深入探讨了Transformer模型中的三种关键注意力机制:自注意力、交叉注意力和因果自注意力,这些机制是GPT-4、Llama等大型语言模型的核心。文章不仅讲解了理论概念,还通过Python和PyTorch从零开始实现这些机制,帮助读者深入理解其内部工作原理。自注意力机制通过整合上下文信息增强了输入嵌入,多头注意力则通过多个并行的注意力头捕捉不同类型的依赖关系。交叉注意力则允许模型在两个不同输入序列间传递信息,适用于机器翻译和图像描述等任务。因果自注意力确保模型在生成文本时仅考虑先前的上下文,适用于解码器风格的模型。通过本文的详细解析和代码实现,读者可以全面掌握这些机制的应用潜力。
113 3
三种Transformer模型中的注意力机制介绍及Pytorch实现:从自注意力到因果自注意力
|
3月前
|
并行计算 PyTorch 算法框架/工具
基于CUDA12.1+CUDNN8.9+PYTORCH2.3.1,实现自定义数据集训练
文章介绍了如何在CUDA 12.1、CUDNN 8.9和PyTorch 2.3.1环境下实现自定义数据集的训练,包括环境配置、预览结果和核心步骤,以及遇到问题的解决方法和参考链接。
160 4
基于CUDA12.1+CUDNN8.9+PYTORCH2.3.1,实现自定义数据集训练
|
3月前
|
机器学习/深度学习 PyTorch 调度
在Pytorch中为不同层设置不同学习率来提升性能,优化深度学习模型
在深度学习中,学习率作为关键超参数对模型收敛速度和性能至关重要。传统方法采用统一学习率,但研究表明为不同层设置差异化学习率能显著提升性能。本文探讨了这一策略的理论基础及PyTorch实现方法,包括模型定义、参数分组、优化器配置及训练流程。通过示例展示了如何为ResNet18设置不同层的学习率,并介绍了渐进式解冻和层适应学习率等高级技巧,帮助研究者更好地优化模型训练。
194 4
在Pytorch中为不同层设置不同学习率来提升性能,优化深度学习模型
|
3月前
|
机器学习/深度学习 监控 PyTorch
PyTorch 模型调试与故障排除指南
在深度学习领域,PyTorch 成为开发和训练神经网络的主要框架之一。本文为 PyTorch 开发者提供全面的调试指南,涵盖从基础概念到高级技术的内容。目标读者包括初学者、中级开发者和高级工程师。本文探讨常见问题及解决方案,帮助读者理解 PyTorch 的核心概念、掌握调试策略、识别性能瓶颈,并通过实际案例获得实践经验。无论是在构建简单神经网络还是复杂模型,本文都将提供宝贵的洞察和实用技巧,帮助开发者更高效地开发和优化 PyTorch 模型。
52 3
PyTorch 模型调试与故障排除指南