干货 | 深度学习的实践应用之路
本篇文章5974字,读完约15分钟
据雷锋说。这篇文章是由图普科技从应用深度学习到现实世界的问题,和雷锋编辑的。(公开号码:雷锋。com)以独占方式启动。
近年来,人工智能的兴起可以说得益于深度学习的成功。推动深层神经网络突破的三个主要因素是海量的训练数据、强大的计算架构和学术领域的相关进展。因此,深度学习不仅超越了传统方法,而且在图像分类和人脸识别等任务的执行上也超越了人类水平。所有这些都为利用深度学习解决实际问题的新业务创造了巨大的发展潜力。
在柏林的merantix总部,我们致力于研究这一新业务在不同行业的应用。(目前,我们的研究对象是汽车行业、医疗保险行业、金融业和广告业。(
学术理论通常与现实生活大不相同
现在训练神经网络比以往任何时候都容易。但是,这并不意味着您可以将教程中的代码直接应用到应用程序中。有趣的是,学术理论很少讨论这些关键的培训技能,而这些技能是产品的关键。
对实际问题进行深入学习可能会很麻烦
因此,我认为理解和掌握这些技能将对那些计划在商业中应用深度学习的人大有裨益。
在这篇文章中,我想分享三个关键的经验。当我们在merantix使用深度学习来处理实际问题时,这些经历给了我们很大的帮助和启发:
经验一:训练前的重要性
经验二:实际标签分发的注意事项
经验三:理解黑盒模型
声明:
本文介绍的内容并不代表一个完整的方法,还有许多其他的方法和技术没有在本文中涉及。
本文分享的大部分经验不仅适用于深度学习,也适用于其他机器学习算法。
所有的经验都不是针对某个行业的。
本文的大部分内容都适用于监督学习。
这篇文章是基于我5月10日在“柏林人工智能会议”上的演讲。
经验一:“训练前”的重要性
在机器学习的学术领域,很少有人关注数据集的获取。相反,为了将深度学习方法与其他方法进行比较并最终确定最佳方法,标准做法是在标准数据集上用相同的评估程序评估不同方法的性能。然而,在实际情况下,新算法的性能比其他算法高1%并不重要。重要的是要建立一个强大和健壮的系统,能够准确地解决目标任务。对于所有的机器学习系统,这需要一些算法可以学习的标签训练。
对于许多实际问题,获得标记的训练数据的成本相当昂贵。为了详细解释这个问题,让我们看两个例子:
1.医学成像
如果我们想建立一个在ct图像中检测人类淋巴结的系统,我们需要在ct图像中标记淋巴结。这是一项非常耗时的任务,因为这些图像都是3d的,我们需要在3d图像中识别非常小的结构。假设一个放射科医师一小时可以标记四张图像,他的小时工资是100美元;这意味着标记一张ct图像将花费25美元,而标记一万张ct图像将花费25万美元。因此,我们需要几个医生对同一张图像进行标记,从而保证诊断的准确率接近100%。因此,医疗任务数据集的成本很容易超过250,000美元。
2.信用评分
如果我们想建立一个可以评估客户信用等级的系统,我们需要知道哪些客户有潜在的违约风险,这样我们就可以让机器学习系统提前识别他们。不幸的是,我们只能在违约实际发生时识别违约客户。因此,一个天真的策略是给每个人一笔贷款(比如每人10,000美元)。但这意味着,如果每个人都违约,我们将损失10,000美元,这实际上使得每个标记数据点的价格非常昂贵。
显然,我们可以通过一些方法来降低这些成本,但是总的来说,获取标签数据以解决实际问题的成本非常高。
那么,我们应该如何解决这个问题呢?
“培训前”
预培训可以有效降低成本(来源:massivejoes)
“预训练”的基本操作是——首先,我们需要在相关领域的廉价大数据集或同一领域的“不纯训练数据”上训练神经网络(或另一种机器学习算法)。虽然这不能直接解决问题,但它可以让神经网络对需要解决的问题有一个初步的了解。接下来,在第二步中,我们需要在更精细和更昂贵的小数据集上进一步优化神经网络的参数。下图是“预培训”的操作图:
当训练数据集难以获得时,首先在相对廉价的大数据集上对神经网络进行“预训练”;然后,在相对高成本和精细的数据集上调整神经网络。当神经网络被微调时,类的数量可能会改变。
人们通常在含有1000个类别的imagenet数据集上“预训练”神经网络,然后根据实际需要解决的问题微调神经网络。然而,微调过程中的类别数量可能与“预培训”中的不同。这意味着神经网络的最后一层需要重新初始化。通常,最后一层神经网络的学习效率相对较高,因为最后一层需要从头学习,而前一层的学习率会较低。对于像imagenet这样的数据集,这种特征学习是通用的,因此它可以直接用于解决其他计算机视觉问题。
我们应该如何获得训练前的数据?
“培训前”数据的来源1。预训练模型:网络上有很多训练好的模型,最重要的一个应该指出的是模型动物园。模型动物园包含一系列不同的培训数据,这些数据已经由专家学者、公司和深度学习爱好者进行了培训。
2.公共数据集:互联网上有很多数据集,所以不要浪费时间收集数据集,花时间看看互联网上是否有可以解决你的问题的数据集。
3.数据采集:如果既没有公共的“预训练”模型,也没有你在互联网上需要的数据集,你可以通过一个小方法生成数据集。你可以设置一个所谓的“爬虫”,让它自动从特定的网站收集数据集。所以你可以建立一个新的数据集。
培训前的数据源
弱标记数据因为我们将在更精确的数据集上调整神经网络,所以我们可以在调整前在所谓的“弱标记”数据集上“预训练”它。它被称为“弱标记”数据集,因为它的数据标签不完全正确(90%的数据可能是正确的,10%是错误的)。“弱标记”数据的优点是无需人工参与标记就可以轻松获得。这比手工标记的数据集要便宜得多。
例如,在我攻读博士学位期间,我从维基百科和imdb获得了一个数据集,其中包含50万张人脸图像。将照片中每个人的出生日期与照片底部显示的拍摄日期结合起来,这样我们就可以大致判断每张照片的年龄。应当注意,在某些情况下,照片底部显示的拍摄日期可能是错误的,或者照片中可能有很多人,并且面部检测器在识别面部时出错。因此,我们不能完全保证对图像年龄的判断是正确的。然而,为了提高神经网络的性能,我们应该对这个“弱标记”的数据集进行“预训练”,但是仅仅对精确标记的数据集进行训练是不够的。
在上面提到的医学影像上,我们也可以用这个逻辑来理解它。为了使标记的准确性尽可能接近100%,我们需要几个医生单独标记同一个ct图像。这相当于我们用来进一步调整神经网络的数据库。另外,我们可以收集大量的“弱标记”数据集,这些数据集只能由一个人进行标记,这样不仅可以降低标记的成本,还可以保证神经网络已经被不同的图像数据训练过。
总之,为了提高神经网络的性能,昂贵的人工标记或注释是不必要的。免费或低成本的标签数据集也可以提高性能。
经验二:实际标签分发的注意事项
现实中的标签分配(来源:r4risk.au)
现在我们已经获得了“预训练”和调整的数据,我们可以开始神经网络的正式训练。在正式培训中,学术界和现实世界还有另一个巨大的区别。
在学术界,数据集大多是平衡的。也就是说,在监督分类中,每个类别通常具有相同数量的样本。下图中有两个学术数据集的例子:mnist是一个非常著名的手写数字数据集,它包含的样本数量大约等于数字的数量。食物101是另一个典型的学术数据集的例子,其中每种食物都有一个完整的1000个图像。
mnist和food101都是“平衡数据集”
不平衡的标签分布我想用两个真实的例子再次说明这个问题:
1.医学影像:医学影像的训练数据非常不平衡。大多数病人实际上是健康的,只有少数人患有某种疾病。
2.信用评分:事实上,大多数客户已经偿还了贷款,只有大约1-2%的客户违约。
现实生活中不平衡的标签分布
如上所述,在这两种情况下,标签分布非常不平衡。这在现实生活中非常普遍。事实上,每个班级拥有相同数量的样本是很少见的。
不平衡的错误分类成本不幸的是,这种情况越来越糟。在学术界,每类数据集的分类误差成本通常是相同的。但在现实生活中,这是完全不同的。
1.医学影像:把一个健康的人误诊为病人并不是最糟糕的,只要医生经过反复检查发现这个人实际上是健康的,就没有问题。然而,说一个病人被错误地判断为健康人是非常危险的,这样病人就不能得到及时的治疗。
2.信用评分:拒绝向那些愿意偿还贷款的人提供贷款并不是最糟糕的,这最多会让你损失一些贷款利率。但是向违约者提供贷款的成本非常高,你需要承担你借出的所有贷款。
以下是这两种情况的示意图:
实际应用中的不平衡误分类成本
如何解决这个问题?
由于分类和误分类的成本是不平衡的,我们必须找到一种方法来处理这个不平衡的问题。关于这个问题的文献非常有限,我们已经发现了一些相关的博客文章和堆栈溢出问题。
值得注意的是,不平衡的类别和不平衡的错误分类成本是高度相关的,因为这意味着我们几乎没有一些样本的训练数据;犯错误的代价相当高。
我已经大致将有助于模型分类的方法分为四种类型:
1.更多培训数据
最突出的方法是从少数类别中收集尽可能多的数据。以医学影像为例,这意味着我们应该尽力收集某些疾病患者的影像。如果收集这些图像的成本太高,可以使用上面讨论的其他方法来获得训练数据。请注意,在调整训练标签的分布时需要非常小心,因为它对模型的预测和判断有很大的影响:如果增加训练数据集中患病患者的数量,模型更倾向于将对象预测为患病患者。
收集更多稀缺类别的数据。当训练过程中的标签分布与预测结果不匹配时,你应该非常注意。
2.改变标记
如果你不能收集更多稀缺类别的数据,考虑一种不同的分类方法。在实际应用中,你可能不需要区分a病和b病,只要你能识别其中一种。在这种情况下,您可以将这两个类别结合起来。这样,培训过程中的培训过程将得到简化;此外,在模型推理阶段,即使甲病和乙病混淆也没有多大关系。
在培训或模型评估期间将两个或多个类别结合起来可以简化问题
3.抽样
如果你不能得到更多的数据或改变标签,这意味着你需要研究原始数据。那么,我们如何确保我们的模型擅长处理稀缺品类呢?您只需要在培训期间更改算法处理案例的方式。通常,样本是均匀采样的,这意味着算法在训练期间以相同的方式处理每个情况。
我们可以采用一些不同的抽样方法,这些方法有助于提高稀缺类别标记的性能。
忽略样本:忽略一些高频类别的样本是最简单的方法。当每个类别中的样本数量大致相同时,我们可以使用这种方法。
过采样/欠采样:“过采样”是指以更高的频率向算法显示稀缺类别的样本;而“欠采样”的意思正好相反。从算法的角度来看,这两种方法的结果是相同的。与以往的方法相比,这两种方法具有不忽略样本的优点。
负样本挖掘:第三种采样方法稍微复杂一些,但却是最有效的方法。与之前的“过采样”和“欠采样”不同,我们在这一步的采样是有意识的。虽然我们有许多高频样本,但我们最关心的是最复杂和最困难的样本,例如那些最有可能出现错误分类的样本。因此,我们可以在训练过程中定期对模型进行评估,同时对样本进行调查,从而识别出可能被误分类的部分。这样,我们可以很容易地选择算法学习最频繁的样本。
4.权衡损失
采用以上三种方法后,我们已经做了足够的工作来改善类别分布。因此,我们现在可以将注意力转向算法本身。幸运的是,有一些方法可以用来使算法更加关注稀缺类别。直接方法之一是增加稀有样品的失重率。
稀缺品类的减肥量增加了
经验三:理解黑盒模型
黑匣子(来源:辛普森一家)
正如我们提到的“预培训”,学术界最重要的目标是达到或超过最先进的表现,无论采用什么模式。当考虑实际应用时,仅仅建立一个性能良好的模型是不够的。
我们还需要:
理解为什么以及如何模型是错误的,
给出直观的事实来解释为什么我们的模型性能优于任何以前的方法,
确保模型没有被欺骗。
在深层神经网络出现之前,大多数模型相对容易理解。请注意以下几点:
线性模型:线性分类器或返回模型提供了每个特征和预测结果之间的直接关系。这使我们能够直接而容易地理解模型预测的决策机制。
决策树:“决策树”的优点是我们可以理解决策是如何沿着树形成的。一般来说,最顶端的分支涵盖了最重要的特征。当涉及到任意决策森林时,情况变得有点复杂,但是树的结构可以使我们很好地理解这个原理。
不幸的是,理解深层神经网络的决策机制要困难得多。因为深层神经网络是高度非线性的,其中的变量数量几乎是数亿。因此,很难解释它的决定方式。
传统机器学习方法与深度学习
如今,如何解释决策过程已经成为现实生活应用中的一个巨大挑战,因为深层神经网络正在迅速融入我们生活的各个领域——自动驾驶、医疗诊断、财务决策等等。大多数实际应用将对我们的生活、财产和一些敏感信息产生巨大影响。因此,算法做出的错误决定很可能会扼杀金钱。
“特斯拉车祸”(左)和一篇关于人工智能转化为种族主义的报道文章(右)
不幸的是,这些错误并不都是偶然的,攻击者的故意行为也会导致这些错误。为了强调本课题的相关性,研究专家发现,深度神经网络的分类结果只能通过在普通图像中加入简单任意的噪声来改变,人眼很难检测到图像的变化。同样,它可以在适应纯人工图像的同时获得非常自信的预测结果。
向图像或人工图像中添加少量任意噪声(左)很容易欺骗神经网络
在现实生活中,你通常想知道为什么你的系统不能发挥自己的作用。
在merantix,我们非常重视这些问题,我们相信这些问题在未来会变得更加重要,因为深度学习系统在现实生活中会有更多的实际应用。
最近,我们开发了一个用于深度学习的可视化工具箱,名为picasso。因为我们需要研究各种神经网络架构,所以我们开发了毕加索来帮助我们观察不同领域的标准模型。例如,了解汽车行驶中的道路分叉或道路物体识别错误;广告业理解为什么某个想法可以获得更高的点击率;分析医学成像领域中的ct图像或x光图像中的未知对象。下图是我们的开源毕加索视觉观察器演示:
总之,在这篇文章中,我分享了merantix使用深度学习解决实际问题的三个非常重要的经验,希望这些经验对那些计划在商业中使用深度学习的人有所帮助。正如我在文章开头所说,当把深度学习应用到现实生活中时,我们有很多非常有用的技巧,也有很多需要注意的事情。
拉斯穆斯·罗斯(Rasmus rothe)是欧洲最重要的深度学习专家之一,也是merantix的联合创始人之一。他在苏黎世大学、牛津大学和普林斯顿大学学习计算机科学,专门从事深度学习。他发展了howhot.io,作为他博士研究的一部分;他创建了欧洲最大的黑客帝国——哈克顿·哈克苏里,并为谷歌和波士顿咨询公司工作。
雷锋的特别贡献。严禁擅自转载。详情请参考转载说明。
标题:干货 | 深度学习的实践应用之路
地址:http://www.6st8.com/zbxw/5131.html
免责声明:联合早报中文网从世界各个维度报道世界经济新闻,时政新闻,突发新闻等,本篇的部分内容来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2018@163.com,联合早报中文网的小编将予以删除。