今天给大家介绍多伦多大学的研究人员发表在nature machine intelligence上的一篇文章。文章指出McKinney等人利用AI在乳腺癌筛选上的工作,缺乏研究方法和代码实现的细节,阻碍了透明且可重复(transparent and reproducible)的AI研究,文章为扫除这些障碍提供了解决方案。

1.背景

McKinney等人的工作证明了AI在医学成像中的潜力,同时指出了使此类工作具有可重复性所面临的挑战。McKinney等人认为他们的系统提高了乳腺癌筛查的速度和健壮性,可以推广到训练集以外的人群,并且在特定环境中的表现优于放射科医生。经过成功的临床验证并获得监管机构的批准,此新系统具有简化临床工作流程,减少假阳性和改善患者预后的巨大潜力。但是,由于缺乏足够的文献记录方法和计算机代码,系统的科学价值大受影响,也限制了其他人对此工作的验证,无法为临床实施此类技术提供必要依据。通过讨论McKinney等人面临的透明且可重复(transparent and reproducible)AI研究的障碍,作者提供了对更广泛领域具有潜在意义的解决方案。

2.编码障碍

科学进步取决于独立研究人员是否有能力仔细审查研究结果、利用研究材料再现研究的主要结果,以及在未来研究中加以利用。文献记载不足的研究成果不符合科学发现的核心要求。仅仅是深度学习模型的文本描述可能掩盖了其高度的复杂性,计算机代码中的细微差别也可能会对结果的训练和评估产生明显的影响,从而导致意想不到的后果。因此,用于训练模型并得出其最终参数集的实际计算机代码的透明度对于研究可重复性至关重要。

McKinney等人表明,用于训练模型的代码“大量依赖于内部工具,基础架构和硬件”,并声称因此不可能发布代码。计算重现性对于高质量AI的应用是必不可少的,更复杂的方法要求更透明。在没有代码的情况下,可重现性依赖于从文本描述中复制方法。尽管McKinney等人声称在他们文章中的补充方法部分对所有实验和实现的细节进行了足够详细的描述,以“支持使用非专有库的复制”,但仍缺乏有关其分析的关键细节。即使进行了广泛的描述,仅基于文本来复制复杂的计算流程也是一项具有挑战性的任务。

除了纯文本描述方法固有的可重复性挑战外,McKinney等人的关于模型开发以及数据处理和训练策略中缺少关键的细节,缺少模型架构的几个超参数的定义,没有透露训练策略和增强策略的细节,所使用的转换是随机的,这会大大影响模型的性能。没有这些关键信息,就不可能独立复制训练过程。

作者介绍了许多使人工智能研究更加透明的框架和平台,包括Bitbucket,GitHub和GitLab的这类可以共享代码的工具。作者还创建了一些小的人工示例,或者使用了一些小的公共数据集来显示如何处理新数据以训练模型并生成预测。除了隐私问题外,共享模型架构以及学习参数很容易达成,隐私可能会泄露有关用于训练模型的患者的敏感信息,但是存在用于实现差异隐私的技术来减轻这种担忧。许多学习模型,包括TensorFlow Hub,ModelHub.ai,ModelDepot和Model Zoo,并支持多个框架(例如PyTorch和Caffe)以及原作者使用的TensorFlow库。除了改善可访问性和透明度之外,此类资源还可以大大加速模型开发,验证以及向生产和临床实施的过渡。

3.数据障碍

作者认为确保可重复性的另一个关键方面在于模型所使用的数据。McKinney等人在他们的研究中使用了两个获得许可的大型数据集,并在他们的论文中适当地解释了这一限制。由于隐私问题,对患者健康信息的共享受到严格监管。尽管存在这些挑战,但原始数据的共享在生物医学文献中已变得越来越普遍,从2000年代初的不足1%增长到如今的20%。如果无法共享数据,则应发布模型预测和数据标签本身,以便进行进一步的统计分析。最重要的是,对数据隐私的关注不应当作为一种避免发布代码要求的方式。

尽管人们普遍认为共享代码和数据是科学研究的关键部分,但在各个领域,采用情况却有所不同。在基因组学等领域,数十年来共享了复杂的计算策略和敏感数据集,与基因组数据有关的指导方针清晰,详细,并有效地得到执行。通常来说,所有代码和数据都与出版物一起发布。从整体上看,在医学和科学的其他领域中,这种情况要少得多,很少提供数据和代码。作者认为,对于可以预见临床应用并危及人类生命的科学研究,透明度的标准应该更高。如果由于许可或其他不可克服的问题而无法与整个科学界共享数据集,则至少应设置一种机制,以使某些独立研究人员可以访问数据并验证分析。

4.结论

在重要的科学出版物中缺少对代码和数据的访问可能会导致不必要的甚至潜在有害的临床试验。这些不幸的教训并没有在期刊编辑及其读者身上消失。期刊有义务使作者遵守可再现性标准,这不仅使其他研究人员受益,也使作者本身受益。使自己的方法具有可在现性,可能会在出版之前对作者造成一些偏见或不足。但防止对模型进行外部验证则会降低其影响,因为它会阻止其他研究人员在将来的研究中使用和建立模型。

作者指出我们对AI方法在医学上的应用寄予厚望,但是要确保这些方法发挥其潜力,这就要求这些研究在科学上是可重复,是透明的,这样才能扩大已发布的深度学习算法的影响力,并使新的研究方法在临床环境上加速转化。

参考资料

  1. Haibe-Kains, B., Adam, G.A., Hosny, A. et al. Transparency and reproducibility in artificial intelligence. Nature 586, E14–E16 (2020).

    https://doi.org/10.1038/s41586-020-2766-y

  2. McKinney, S.M., Sieniek, M., Godbole, V. et al. International evaluation of an AI system for breast cancer screening. Nature 577, 89–94 (2020).

    https://doi.org/10.1038/s41586-019-1799-6

Nat. Mach. Intell. | 人工智能的透明度和可重复性相关推荐

  1. Nat. Mach. Intell. | 可解释性人工智能(xAI)遇上药物发现

    今天给大家介绍瑞士苏黎世联邦理工学院化学与应用生物科学系 Gisbert Schneider等人在Nature Machine Intelligence上发表的文章"Drug discove ...

  2. Nat. Mach. Intell.|从局部解释到全局理解的树模型

    今天介绍美国华盛顿大学保罗·艾伦计算机科学与工程学院的Su-In Lee团队在nature mechine intelligence 2020的论文,该论文提出了一种基于博弈论沙普利值的TreeExp ...

  3. Nat. Mach. Intell. | 探索稀疏化学空间的化学语言模型新策略

    今天给大家介绍来自不列颠哥伦比亚大学和阿尔伯塔大学联合发表的一篇文章.该文章系统地评估并优化了基于循环神经网络在低数据环境中的分子生成模型.发现该模型可以从更少的例子中学习到健壮的模型.同时,本文还确 ...

  4. Nat. Mach. Intell. | 深度神经网络中的捷径学习

    今天给大家介绍来自德国蒂宾根大学的Robert Geirhos和加拿大多伦多大学的Claudio Michaelis等人发表在Nature Machine Intelligence的文章"S ...

  5. Nat. Mach. Intell. | 基于神经网络的迁移学习用于单细胞RNA-seq分析中的聚类和细胞类型分类...

    今天给大家介绍由美国宾夕法尼亚大学佩雷尔曼医学院生物统计学,流行病学和信息学系Jian Hu等人在<Nature Machine Intelligence>上发表了一篇名为"It ...

  6. Nat.Mach.Intell.| DEcode:深度学习解读差异基因表达原理

    今天给大家介绍拉什大学的Shinya Tasaki 等人在Nature Machine Intelligence上发表的文章"Deep learning decodes the princi ...

  7. Nat. Mach. Intell. | 集成深度学习在生物信息学中的发展与展望

    本期给大家介绍悉尼大学Jean Yang教授课题组发表在Nature machine intelligence的文章"Ensemble deep learning in bioinforma ...

  8. Nat. Mach. Intell. | 华科同济医学院剑桥联手推出新冠预测模型!

    今天给大家介绍华中科技大学同济医学院及剑桥大学联合发表在Nature Machine Intelligence的一篇文章.文章中作者提出了一个基于XGBoost机器学习的模型,可以提前10天以上预测患 ...

  9. Nat. Mach. Intell. | FFPred-GAN:“以假乱真“—基于GAN创建合成特征样本改进蛋白质功能预测...

    今天给大家介绍伦敦大学学院David T. Jones 教授课题组发表在Nature Machine Intelligence 的一篇文章.文章中指出,现存的蛋白质功能预测方法受限于训练样本量的瓶颈, ...

最新文章

  1. git在公司内部的使用实践(转)
  2. 执行了的程序,才是你的程序.
  3. linux下如何屏蔽代码,linux c 怎么屏蔽信号 使用sigprocmask命令
  4. 里面如何配置库_【专享】SolidWorks管道库国标模型下载SolidWorks Routing管道设计学习必备...
  5. python中的lambda 和java中的lambda有什么不同?lambda相关介绍
  6. 1.Lambda表达式(新手写的!新手写的!新手写的!)(未完成)
  7. c++中的delete和delete[]
  8. Python案例:两种方法实现词频统计
  9. 洛谷 P5089: CodeForces #500 (Div. 1) B / 1012B : Chemical table
  10. SVG.属性(各种)
  11. SOFABolt 源码分析
  12. 配置中心.php,FastD 最佳实践二: 构建配置中心
  13. 多线程之银行排队叫号系统的实现
  14. 绘制电气电路中的电阻——Visio制图总结【电控类】(二)
  15. win10分辨率不能调整_win10常规问题解决方案
  16. 计算机发挥cpu全部,怎样提升CPU性能?怎么让CPU发挥最大的性能
  17. 计算机电缆对绞节距,耐高温双绞计算机电缆DJFFP2√厂家
  18. iOS category内部实现原理
  19. 当实现两个Activity之间的跳转时,发生 XXX has stoped 或者 XXX keeps stopping
  20. 【葡萄城报表】还在为画“类Word文档报表”而发愁吗?

热门文章

  1. 十年老码农吐血经验:跳槽千万不能选高年终低base的公司,超过15薪就要慎重!...
  2. Redis 核心篇:唯快不破的秘密
  3. 面试官问我什么是扩展自适应机制
  4. 京东某女程序员求助:刚入职就意外怀孕,纠结还能不能过试用期?网友:职场女性太难!...
  5. 某程序员吐槽:媳妇要给孩子报少儿编程班,将来继续做程序员!以后要看到穿着纸尿裤的P7!...
  6. 开源性能监控工具APM之Skywalking和Pinpoint的实测对比
  7. 废掉一个程序员最好的方法,让他忙碌着,忙碌到没时间思考
  8. 系列文章|OKR与敏捷(二):实现全栈敏捷
  9. Leangoo背景更新-看板背景任你选!!!
  10. 搞垮服务的20条原则