||
编译 李升伟
[题记]我们提出一些建议,关于如何报告机器学习方面的研究,以改善其透明度和可复制性。
各个领域数据不断增加的可获得性已经使得数据驱动的研究成为计算科学的一种重要资产。然而,从数据中提取有价值的见解可能是一项艰巨的任务:数据集变得越来越大,随着数据收集工具和操作变得越来越复杂,数据分析也变得越来越复杂。机器学习算法已经吸引了大量的关注从研究社区处理这些挑战;也许最值得注意的是,深度学习已经成为分析大型、复杂数据集的标准工具,有时能达到令人印象深刻的精度水平,在很大程度上推进科学,比如我们在电池研究、结构生物学和化学中看到的。
但能力越大,责任越大。由于建立数据驱动模型的步骤缺乏透明度和报告,机器学习领域面临着“可复制性危机”。从数据收集和管理到模型选择和培训,所有这些步骤都是至关重要的,以更好地理解所报告的模型是如何精确、稳健、通用和实用,而不只是通常在论文中报告的准确性数字。随着机器学习变得越来越流行,并广泛应用于许多不同的领域,确保研究人员报告所有这些细节,以允许结果的适当可复制性变得至关重要。
幸运的是,学术界已经关注了这个问题,不同的团体已经就如何最好地报告机器学习研究提出了几个建议,以提高透明度和可复制性。基于这些建议和我们自己的经验,我们希望利用本文讨论一些指导方针和建议,这些指导方针和建议在报告基于机器学习的结果时可能对整个计算科学研究界有用。
构建一种模型时一个重要的步骤是数据集的收集和选择,因为模型的质量很大程度上取决于数据的质量和特征。数据收集过程需要得到适当地讨论和报告,因为对于选定的数据源可能存在偏差(有意或无意的)。也应该适当地讨论任何已确定的偏差和减轻它们的尝试,以便其他研究人员在使用报告的模型时能够意识到其局限性。如果使用合成数据,则需要详细描述数据生成过程,包括所考虑的任何假设。
事实上,原始数据集很少被使用,因为它们可能有一些不一致、错误和异常值,最终会影响模型的质量。另外,数据可能需要转换成为一种特定的格式和表现形式,以便被用于特定的模型。因此,数据清洗和数据管理步骤对于研究来说是极其重要的,这些步骤也必须得到详细的报告。
最后,有三种特定数据集对于模型构建是至关重要的:训练数据集、验证数据集和测试数据集。训练数据集,顾名思义,被用来训练和生成模型;模型从这个数据集进行“学习”。验证数据集被用于评价模型对不同超参数值的性能,并检测过度拟合。最后,测试数据集被用来评估模型的性能。正确解释这些不同集合的选择是非常重要的,因为这些集合会对模型的性能和稳健性产生重大影响。
有大量的机器学习模型可供研究人员选择。更高的模型复杂性可能伴随着降低透明度和可解释性的代价,并且可能并不总是最佳选择;此外,根据模型的不同,训练时间也会有很大的不同。因此,模型的选择及其复杂性水平需要适当地合理化。对于使用深度学习的研究,运行和报告消融研究是一个好主意,以更好地了解神经网络的架构,以及是否可以在不损失性能的情况下删除某些组件。
虽然机器学习社区已经有效地利用了新的计算架构的力量,比如超级计算机和图形处理器,但训练一个模型仍然非常耗时,尤其是取决于它的复杂性水平。此外,并不是每个研究人员都可以访问更复杂的硬件资源。因此,报告培训所花费的时间是至关重要的,它可以告诉读者,在他们自己可用资源的背景下,这一步骤是多么实用。
另一个重要的考虑是机器学习模型可以有不同的随机性来源,例如随机初始化、退出和数据迁移,等等。 如果可能,接种模型中使用的伪随机数生成器,并报告这些选择,是确保一致结果的好主意。
数据、代码和模型的可用性
毫无疑问,将代码和数据公开给社区是至关重要的;不仅训练、验证和测试模型的代码应该可以获得,数据收集、清洗和管理步骤也应该可用。硬件架构和软件库版本的差异也可能导致许多不一致,因此,正确地报告这些细节是至关重要的。还应提供训练过的模式,因为如前所述,训练步骤可能需要大量资源:有了训练好的模型,可以降低其他研究人员在自己的研究中重用这些模型的障碍,也可以更容易地检查这些模型是否可以推广到其他数据。
值得注意的是,本文并不是为基于机器学习的研究提供一份全面的指导方针,当然还有其他一些问题没有在这里讨论,比如与隐私相关的挑战和伦理考虑,这些问题也非常重要、需要予以考虑。相反,我们的目标是与更广泛的计算科学家社区就这个主题展开对话,并有望改善研究结果的总体报告。我们已经有许多不同的小组提出了很好的计划,我们期待看到更多的研究社区的参与,以使机器学习更加透明和可复制。
[资料来源:Nature Computational Science]
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 08:48
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社