号称准确率 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

相关文章
|
7天前
|
并行计算 PyTorch 算法框架/工具
基于CUDA12.1+CUDNN8.9+PYTORCH2.3.1,实现自定义数据集训练
文章介绍了如何在CUDA 12.1、CUDNN 8.9和PyTorch 2.3.1环境下实现自定义数据集的训练,包括环境配置、预览结果和核心步骤,以及遇到问题的解决方法和参考链接。
基于CUDA12.1+CUDNN8.9+PYTORCH2.3.1,实现自定义数据集训练
|
7天前
|
机器学习/深度学习 PyTorch 调度
在Pytorch中为不同层设置不同学习率来提升性能,优化深度学习模型
在深度学习中,学习率作为关键超参数对模型收敛速度和性能至关重要。传统方法采用统一学习率,但研究表明为不同层设置差异化学习率能显著提升性能。本文探讨了这一策略的理论基础及PyTorch实现方法,包括模型定义、参数分组、优化器配置及训练流程。通过示例展示了如何为ResNet18设置不同层的学习率,并介绍了渐进式解冻和层适应学习率等高级技巧,帮助研究者更好地优化模型训练。
15 4
在Pytorch中为不同层设置不同学习率来提升性能,优化深度学习模型
|
13天前
|
机器学习/深度学习 监控 PyTorch
PyTorch 模型调试与故障排除指南
在深度学习领域,PyTorch 成为开发和训练神经网络的主要框架之一。本文为 PyTorch 开发者提供全面的调试指南,涵盖从基础概念到高级技术的内容。目标读者包括初学者、中级开发者和高级工程师。本文探讨常见问题及解决方案,帮助读者理解 PyTorch 的核心概念、掌握调试策略、识别性能瓶颈,并通过实际案例获得实践经验。无论是在构建简单神经网络还是复杂模型,本文都将提供宝贵的洞察和实用技巧,帮助开发者更高效地开发和优化 PyTorch 模型。
19 3
PyTorch 模型调试与故障排除指南
|
2月前
|
并行计算 Ubuntu PyTorch
Ubuntu下CUDA、Conda、Pytorch联合教程
本文是一份Ubuntu系统下安装和配置CUDA、Conda和Pytorch的教程,涵盖了查看显卡驱动、下载安装CUDA、添加环境变量、卸载CUDA、Anaconda的下载安装、环境管理以及Pytorch的安装和验证等步骤。
170 1
Ubuntu下CUDA、Conda、Pytorch联合教程
|
2月前
|
机器学习/深度学习 PyTorch 编译器
PyTorch 与 TorchScript:模型的序列化与加速
【8月更文第27天】PyTorch 是一个非常流行的深度学习框架,它以其灵活性和易用性而著称。然而,当涉及到模型的部署和性能优化时,PyTorch 的动态计算图可能会带来一些挑战。为了解决这些问题,PyTorch 引入了 TorchScript,这是一个用于序列化和优化 PyTorch 模型的工具。本文将详细介绍如何使用 TorchScript 来序列化 PyTorch 模型以及如何加速模型的执行。
49 4
|
2月前
|
机器学习/深度学习 边缘计算 PyTorch
PyTorch 与边缘计算:将深度学习模型部署到嵌入式设备
【8月更文第29天】随着物联网技术的发展,越来越多的数据处理任务开始在边缘设备上执行,以减少网络延迟、降低带宽成本并提高隐私保护水平。PyTorch 是一个广泛使用的深度学习框架,它不仅支持高效的模型训练,还提供了多种工具帮助开发者将模型部署到边缘设备。本文将探讨如何将PyTorch模型高效地部署到嵌入式设备上,并通过一个具体的示例来展示整个流程。
169 1
|
2月前
|
机器学习/深度学习 并行计算 PyTorch
GPU 加速与 PyTorch:最大化硬件性能提升训练速度
【8月更文第29天】GPU(图形处理单元)因其并行计算能力而成为深度学习领域的重要组成部分。本文将介绍如何利用PyTorch来高效地利用GPU进行深度学习模型的训练,从而最大化训练速度。我们将讨论如何配置环境、选择合适的硬件、编写高效的代码以及利用高级特性来提高性能。
223 1
|
2月前
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch与Hugging Face Transformers:快速构建先进的NLP模型
【8月更文第27天】随着自然语言处理(NLP)技术的快速发展,深度学习模型已经成为了构建高质量NLP应用程序的关键。PyTorch 作为一种强大的深度学习框架,提供了灵活的 API 和高效的性能,非常适合于构建复杂的 NLP 模型。Hugging Face Transformers 库则是目前最流行的预训练模型库之一,它为 PyTorch 提供了大量的预训练模型和工具,极大地简化了模型训练和部署的过程。
78 2
|
2月前
|
机器学习/深度学习 边缘计算 PyTorch
PyTorch 与 ONNX:模型的跨平台部署策略
【8月更文第27天】深度学习模型的训练通常是在具有强大计算能力的平台上完成的,比如配备有高性能 GPU 的服务器。然而,为了将这些模型应用到实际产品中,往往需要将其部署到各种不同的设备上,包括移动设备、边缘计算设备甚至是嵌入式系统。这就需要一种能够在多种平台上运行的模型格式。ONNX(Open Neural Network Exchange)作为一种开放的标准,旨在解决模型的可移植性问题,使得开发者可以在不同的框架之间无缝迁移模型。本文将介绍如何使用 PyTorch 将训练好的模型导出为 ONNX 格式,并进一步探讨如何在不同平台上部署这些模型。
108 2
|
2月前
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与DistributedDataParallel:分布式训练入门指南
【8月更文第27天】随着深度学习模型变得越来越复杂,单一GPU已经无法满足训练大规模模型的需求。分布式训练成为了加速模型训练的关键技术之一。PyTorch 提供了多种工具来支持分布式训练,其中 DistributedDataParallel (DDP) 是一个非常受欢迎且易用的选择。本文将详细介绍如何使用 PyTorch 的 DDP 模块来进行分布式训练,并通过一个简单的示例来演示其使用方法。
37 2

热门文章

最新文章

下一篇
无影云桌面