当前位置: 首页 > 科技观察

排雷避坑,机器学习必须避开的三大陷阱

时间:2023-03-16 21:58:06 科技观察

几十年来,机器学习领域一直被“坦克问题”所困扰。故事发生在1960年代(这项研究最早的已知文档,感谢软件工程师JeffKaufman),事件的细节已经在时间的迷雾中消失了,但故事大致是这样的:研究人员写了一个从军方提供的照片中识别坦克的算法。该模型成功地在测试图像中找到了坦克,但在使用真实照片时却失败了。是什么原因?口耳相传的确切细节各不相同,但算法正在测试的包含其他信息的图像,例如晨光中的坦克或从云层下出现的图像,是机器判断受到影响的一个重要原因。所以,决定算法的不是坦克的存在,其他因素也很重要。今天,类似的情况值得反省。许多机器学习论文没有做足够的实验,审查标准不一致,行业的激烈竞争鼓励一些研究人员在得到他们想要的答案后偷工减料和跳过检查。因此,尽管无数领域的科学家都在争先恐后地用机器学习解决问题,谷歌的帕特里克·赖利(PatrickRiley)却呼吁制定更明确的研究标准。不可否认,机器学习正在推动整个科学界的发展,尤其是它发现和预测的模式正在协助各个领域的研究人员,从寻找分子制造的新方法和发现实验中的小信号,到改进医疗。基本粒子的诊断和揭示都涉及到。但是,机器学习工具也会变得“弱智”,比如误报、死胡同、各种错误。而且由于许多算法过于复杂,无法检查所有参数或确切知道它们是如何输入的,因此随着这些算法的应用越来越广泛,得出错误结论和科学结果的风险将呈螺旋式上升。这些问题不是一夜之间发生的,因此不可能预测每次分析中会出现的所有问题或困境,但至少那些在其领域使用机器学习的研究人员应该熟悉一些常见的陷阱,以及如何检测或避免那些陷阱。为了说明这一点,以下是三个GoogleAccelerateScience团队面临和克服的三个主要机器学习问题。机器学习的三大陷阱01数据拆分不当在建模时,机器学习从业者通常将数据分为训练集和测试集,使用训练集来训练模型,使用测试集来评估模型的性能。研究人员经常随机拆分数据,但现实生活中真正随机的数据很少见。它们可能包括时间趋势,例如收集数据方法的变化,或收集信息的各种选择。例如,这种历史模式隐藏在分子数据集中,这些数据集正在通过机器学习算法对候选药物进行虚拟筛选。这里的挑战是预测分子将如何有效地被身体吸收或减少炎症。筛选从具有或不具有预期效果的分子的数据开始,但收集数据的背景可能与机器学习模型的使用方式不同。一个模型可以用一个公开可用的分子数据集进行训练,然后用于测试另一个专有分子数据集。当有希望的候选物被发现并被丢弃时,化学家的注意力通常会从一些分子群转移到其他分子群。因此,研究人员经常高估模型在实践中的表现。这会导致期望过高,并在选择不合适的分子时浪费时间和金钱。许多模型制作者掉入了这个陷阱。换句话说,您要解决的问题应该会影响您对数据进行分区的方式。为了预测将两个原子添加到一个分子中的效果,测试集中的每个分子应该与训练集中至少有两个原子不同。如果你想对不同的化学分子有更好的预测,测试集中的每个分子都应该不同于训练集中的任何分子。拆分数据的“正确”方法可能并不明显,但仔细考虑并尝试一些方法会有所收获。02HiddenVariables在理想的实验中,研究者只改变他们感兴趣的变量,而其他变量保持不变,但这种控制在现实中几乎是不可能的。仪器的精度会随着时间的推移而改变,试剂的批次会发生变化,一种实验条件可能先于另一种实验条件出现,甚至天气也会影响结果。在机器学习模型中,这些不受控制的变量将是有害的而不是有益的。例如,谷歌的一个团队一直在加利福尼亚州山麓牧场的核聚变初创公司TAETechnologies工作,进行实验以优化高能等离子体的生产。他们在这里建立了模型,试图了解等离子机的最佳设置。有数百个控制参数,从“何时打开电极”到“给磁铁施加什么电压”,然后记录包括温度和光谱在内的一系列测量值。他们从数月来数千次运行的等离子机中提取数据,随着我们调整设备、零件磨损和多次尝试,设置发生了变化。当我们得到一个模型可以很好地预测给定设置下等离子能量是否会更高时,每个人都很高兴,但它很快就被打脸了。当他们将实验时间作为唯一输入而不是机器的所有设置来训练模型时,获得了类似的预测。为什么?因为模型锁定的是时间趋势,而不是物理现象。也就是说,机器正常工作的时间段和不工作的时间段是分开发生的,所以实验完成的时间可以判断等离子体是否为高能。此外,控制参数的设置可以大致预测实验何时进行——这些参数的变化也存在时间趋势。也就是说,模型不关心除了时间定律之外的任何物理定律。隐藏变量也来自实验布局。我们与许多机构合作解读显微镜图像,包括位于纽约市的纽约干细胞基金会研究所。这些图像包括在培养皿上进行的生物实验,培养皿通常是一个包含细胞和液体的孔网格。目标是发现具有某些特征的毛孔,例如化学处理后细胞外观的变化。但生物变异意味着每道菜本身看起来总是略有不同,个别菜肴也会有所不同。如果更多液体从周边孔中蒸发,或者培养皿倾斜,则边缘通常看起来与中心不同。机器学习算法可以很容易地注意到这些变化。例如,模型可能刚刚识别出哪些孔位于培养皿的边缘。检查模型的一种简单方法是让模型预测其他方面,例如培养皿的位置、哪个培养皿或图像来源的批次。如果算法可以做到这一点,你最好对结果持怀疑态度。最重要的一点是使用多个模型来检测那些意外变量和隐藏变量。你可以用一个模型专注于你关心的问题,比如离子是高能还是低能,细胞是否健康,其他模型用于排除干扰因素。如果后者的结果很强,那么将数据归一化,做一些进一步的实验,或者调整结论。03Misinterpretingthetargetmachinelearningalgorithm需要研究人员指定一个“损失函数”来衡量各种错误的严重程度,比如是有两个1%的错误比较好,还是有一个2%的错误更合理。从业者倾向于应用一小部分功能,这使他们无法获得真正需要的东西。再比如,大家一直在用机器学习来辅助求解微分方程。这些公式在流体力学、电磁学、材料科学、天体物理学和金融建模等领域很常见,并且通常必须先对它们进行数值求解,然后才能训练模型在有限条件下提供更高的性能。精确。例如,让我们从一个描述水波如何在一维空间传播的方程式开始。该算法的任务是从当前时间步开始迭代预测下一步,在这方面可以准备两种略有不同的方法和训练模型。根据损失函数,这两个模型同样好,但实际上其中一个做了很多无用的工作,而另一个产生了更接近预期的结果。原因是控制学习的损失函数只考虑了下一步的误差,而不是研究人员真正想要的多步解的有效性。我们在基于机器的糖尿病视网膜病变筛查方面也有不同的目标。它是糖尿病的并发症,也是世界上可预防性失明的主要原因。如果能从眼后影像及时发现病情,就能有效治疗。当我们收集数据并让眼科医生诊断图像,并让机器学习工具预测医生会说什么时,会发生两件事。在印度马杜赖的Aravind医院,工作人员和谷歌研究人员进行眼科检查,试图自动诊断糖尿病导致的失明。图片来源:AtulLoke/NewYorkTimes/Red/eyevine情况一是眼科医生经常不同意诊断,因此研究人员意识到他们无法通过单一预测对其进行建模。不可能来表决说少数服从多数,因为有时候少数人的意见在医疗上是正确的。案例二是单一疾病的诊断实际上并不是真正的目标。因为往往需要问的是:“这个病人需要看医生吗?”并且通过这种方式,目标从单一疾病的诊断扩展到多种疾病。机器学习从业者很容易沉迷于数据被清楚标记的“明显”目标,但他们可能会设置自己的算法来解决错误的问题。因此,一定要牢记大方向和总体目标,否则只会为错误的问题买单。04可以做什么?首先,机器学习专家需要以更高的标准要求自己和同事。当新的实验设备到来时,大家都希望实验室小伙伴了解它的功能,如何校准,如何发现问题,了解其功能的局限性。因此,在机器学习方面也应该如此。机器学习不是魔法,工具的使用者必须了解如何掌握它们。其次,在使用机器学习时,不同的学科需要为其制定明确的标准。适当的控制、合理性检查和错误测量因领域而异,因此需要对这些进行解释,以便研究人员、审稿人和从业人员能够遵守规则。第三,机器学习科学家的教育需要包括更广泛的内容。即使存在像这样的一些开源资源,仍然需要做很多工作。授人以鱼不如授人以渔。可能更多的人只学习算法和工具,但是学习如何应用算法和恰当地提出问题也很重要。所有从事机器学习的人都处在一个神奇的点上——算力、数据和算法交织在一起,在机器学习的辅助下碰撞出新奇的火花。世界义不容辞的责任。