Google 顶级论文:机器学习系统,隐藏多少技术债?

来源: 全球人工智能

概要:随着机器学习(ML)社群持续积累了几年对于活跃系统(live systems)的经验,一种让人不舒服的趋势广泛地浮出水面:研发和部署机器学习系统相对来说是既快速又便宜的,但维护它们却很困难,并且成本昂贵。


一、介绍:随着机器学习(ML)社群持续积累了几年对于活跃系统(live systems)的经验,一种让人不舒服的趋势广泛地浮出水面:研发和部署机器学习系统相对来说是既快速又便宜的,但维护它们却很困难,并且成本昂贵。



这种对立可以用“技术债”的框架来理解。1992年WardCunningham引入了这个比喻,用来帮助解释在软件工程领域里因为进展快速而带来的长期成本。就像欠下财政债务一样,欠下技术债务也总是有充分的战略性原因。并不是所有的债务都是不好的,但是,所有的债务都需要付出利息。技术债可能通过:


  1. 重构代码(refactoringcode)

  2. 改进单元测试(improvingunit tests)

  3. 删除无用代码(deletingdead code)

  4. 降低依赖(reducing dependencies)

  5. 精简应用程序接口(tightening APIs)

  6. 以及改进说明(improving documentation)的方式来逐渐偿还。


这些行动的目标并不是为了增加全新的功能,而是为了使未来能够继续改进,减少报错,以及提高维护性。推迟偿还只会带来越来越高昂的成本。因为技术债会高速增长,所以它是非常危险的。

在这篇论文中,我们提出,机器学习系统有其特有的、带来技术债的能力,因为它们不仅有传统代码所有的维护问题,还要额外加上机器学习的一些特有问题。这种债务可能很难被察觉到,因为它存在于系统层面而不是代码层面。鉴于数据会影响机器学习系统的行为表现,传统的抽象化和边界可能悄悄崩溃(corrupted)或是失效(invalidated)。偿还代码层面技术债务的典型方法在系统层面的机器学习特有的技术债面前是不够的。

这篇论文并不提供全新的机器学习算法,而是寻求提高机器学习社群对于机器学习系统技术债的意识;从长远来看,实际操作中这些艰难的权衡必须得到考虑。我们关注于系统层面的交互和接口,因为这是一个可能会快速积累机器学习技术债的领域。在系统层面上,一个机器学习模型可能会严重侵蚀抽象化边界(abstractionboundaries)。多次利用输入信号(re-use)或连锁输入信号(chain)非常吸引人,但可能会无意中将几个系统组合起来(combine),也可能会令组合系统脱节(disjoint)。机器学习可能会被当作是黑匣,导致大量的“胶水代码”(glue code)或是大量校准层(calibration layers)。外部世界的变化可能会在无意中影响系统行为。在设计不够仔细的时候,即使是监控机器学习系统的行为都可能会使一件困难的事情。我们探索了一些机器学习特有的需要在设计系统时考虑到的风险因素。这些包括了:


(1)边界侵蚀(boundary erosion)
(2)纠缠(entanglement)
(3)隐藏反馈循环(hiddenfeedback loops)
(4)未申明的访问者(undeclared consumers)
(5)数据依赖(data dependencies)
(6)配置问题(configuration issues)
(7)外部世界变化(changesin the external world)
(8)系统层面的反面模式(anti-patterns)

二、复杂模型侵蚀边界

传统的软件设计实践表明,使用封装和模块设计的强抽象化边界有助于创造便于维护的代码,因为这让独立更改和改进变得很简单。给定元素中信息输入输出中,严格的抽象化边界有助于表达不变条件(invariants)以及逻辑一致性。

不幸的是,通过预先设置特殊的行为来迫使机器学习系统拥有严格的抽象化边界是非常困难的。事实上,机器学习恰恰是被应用在相反的情况中:当不依赖于外部数据、期望的行为便无法在软件逻辑里被有效表达时。真实世界并不能被干净整齐地封装起来。在这里,我们检验了一些会导致边界侵蚀、进而使机器学习系统中的技术债显著提高的情况。


1.纠缠


机器学习系统将信号混在一起,使它们互相纠缠,让独立更新变成一件不可能的事。比如,想象一下一个在模型中使用了特征x1,…xn的系统。如果我们改变了x1中输入值的分布,那么剩下n-1个特征的重要性、权重、或是用法(use)可能都会随之发生变化。增加一个新特征xn+1会导致相似的改变,就像移除其中任何一个特征一样。不存在真正意义上独立的输入。我们在这里称它为CACE法则:改变任何东西都意味着改变一切(ChangingAnything Changes Everything)。CACE不仅适用于输入信号,也适用于超参数(hyper-parameters)、学习情景(learningsettings)、抽样方法(samplingmethods)、收敛阈值(convergencethresholds)、数据选择(dataselection)、以及其他在本质上是微小改动的部分。

一种可能的缓解策略是,将模型分离开、转而提供集成模型。这个方法在分离式多层环境之类的情景下(例如在[14]中)是有用的,因为这样的环境下,这个方法能够让纠缠导致的各种问题都自然而然地消解。然而,在许多例子里,集成模型的效果非常好是因为它的组成模型各自的误差是不相关的。依赖于这样的组合会导致严重的纠缠问题:改进一个组成模型可能实际上让整个系统的准确度变得糟糕了——如果余下的误差与其它组成模型的误差相关性变得更强烈。

第二种可能的策略是,关注预测行为发生的变化。[12]中提出,用一个高维度可视化工具来让研究者们可以快速看到许多维度和切片上的效果。以切片为基础进行操作的矩阵可能也会非常有用。

2.嵌套修正


经常会出现一种情况:针对问题A的模型ma已经有了,但现在需要一个针对稍有不同的问题A’的模型。在这样的情况下,将ma作为输入信息、并学习一个小改变的模型是非常诱人的,它可以很快地解决问题。

然而,这种修正模型带来了新的对于ma的系统依赖,让未来分析改进这个模型的代价变得更为昂贵。当修正模型多层嵌套——针对问题A’’的模型是基于m’a习得的之类——来适应几个有些许不同的测试分布时,成本会变得更为高昂。一旦存在,嵌套修正模型会让改进陷入僵局,因为改进任何一个单独的组成部分的准确性事实上都会带来系统层面的损害。缓解策略是扩充ma,通过增加辨别特征让ma直接在它所在的模型里习得修正;或者接受为A’单独创造一个模型的成本。

3.未声明的访问者


许多时候,来自一个机器学习模型ma的预测能被许多程序访问的,或者是在运行时、或者是通过写入文件或是日志来让其他系统可以在之后访问。不对访问进行控制的话,一些访问者可能是未声明的(undeclared),悄无声息地将一个模型的输出结果输入给另一个系统。在更经典的软件工程领域,这个问题被称为可见性债务(visibilitydebt)。

未声明的访问者往好了说会带来昂贵的成本,往坏了说更是危险的,因为它们在模型ma与堆栈其他部分之间创建了一个隐藏的紧耦合。对ma的改变将很有可能也影响到这些其它的部分,也许通过无意的、尚未被理解的、会造成损伤的方式。实际操作中,这种紧耦合会逐渐增加对ma做任何改变的成本和难度,即使这些改变是为了提升性能。不仅如此,未声明的访问者可能会创建隐藏的反馈循环,在第4部分我们会更详细地讨论这个问题。

未声明的访问者可能很难被发现,除非系统在设计时就特意针对这个问题作了防护,比如限制访问或是有严格的服务级别协议(strictservice-level agreements, SLAs)。在缺乏限制的情况下,工程师们自然会使用手头最方便的信号,特别是当需要面对截止时间的压力时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5 测研制,360发布国内首个HTML5实验室 4大特性抢先测

当前,主流浏览器厂商都在发力HTML5技术,各自比拼最新HTML5性能。但是,相比于各种跑分成绩,普通用户更关心浏览器实际支持了哪些HTML5特性,给我们带来多少方便。为此,360极速浏览器日前推出国内首个HTML5实验室&#xf…

东方数智发布新品AIDOL™,打造人工智能偶像全息平台

概要:随着机 10月10日,广州东方数智科技有限公司(简称“东方数智”)在北京798艺术区举行了“AI玩,AI乐,AI未来,开启AI全明星智慧原力”的新品发布会,发布旗下新品——AIDOL™&#x…

计算机对教育的影响雅思听力,雅思听力机考带来的两大影响

雅思已经迎来了机考时代,很多同学有点不适应甚至有点迷茫,对于考试的形式非常不安,关于机考问题,今天环球教育给大家带来了关于雅思听力机考带来的两大影响,希望对雅思考试有所帮助。雅思虽然实行机考,但是…

斯坦福:「目标检测」深度学习全面指南

来源:雷克世界 概要:Faster R-CNN,R-FCN和SSD是目前市面上最好和最广泛使用的三个目标检测模型。而其他受欢迎的模型往往与这三个模型非常相似,所有这些都依赖于深度CNN的知识来完成最初的繁重工作,并且大部分遵循相同…

A.CIMS 计算机集成管理系统,cims系统(smis系统是什么)

CIMS是英文Computer Integrated Manufacturing Systems或contemprorary的缩写,直译就是计算机/现代集成制造系统。计算机集成制造----CIM的概念最早是由美国学者哈.现代集成制造系统(cims contemporary integrated manufacturing systems)作为一种对我国企业竞争力有…

两个黑箱问题 ——深度神经网络和脑神经网络

来源:科技导报 概要:谷歌DeepMind 团队的研究将认知心理学和深度神经网络结合在一起,并发现两者在小样本词汇学习过程中具有相似之处——DNN 和脑神经网络都具有形状偏好,相关研究论文《Cognitive psychology for deep neural ne…

计算机科学与技术指导情况记录表,计算机科学与技术系 教学情况检查表(期初)...

计算机科学与技术系 教学情况检查表(期初) (5页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.9 积分计算机科学与技术系 教学情况检查表(期初)授课时间 年 月— 年 月授课对象课程名称教师姓名一…

主角重生建造量子计算机,重生之机械大道-第十二章 失去的记忆,升级量子计算机(求推荐,求推荐)739527-峡谷小说网...

不过,现在,我有了超强计算力和无限的精力,以及卓越创新思维的支持,我应该能研究出来。”说完,林玄凡注意力转到,从曾经“新云南号”拆卸重新改造出来,安放在基地内的科学实验室。控制着里面的无…

近两年的生物医学突破研究,颠覆你前20年基础所学

来源:测序中国 概要:生命的瑰丽,人类只窥探了毫厘。下面的内容盘点了2016-2017年改写教科书系列的研究,带你更新知识库。 生命的瑰丽,人类只窥探了毫厘。下面的内容盘点了2016-2017年改写教科书系列的研究,…

软件测试和ui哪个适合女生学习,女生适不适合学习UI设计?

原标题:女生适不适合学习UI设计?女生适不适合学习UI设计?随着网络的发展和人们审美度的提升,UI设计师近些年逐渐成为了炙手可热的职业。越来越多的人选择UI行业,那么对于UI行业,你知道的有多少呢&#xff1…

马云出 1000 亿做阿里达摩院:产品卖到全球了,他说科学研究也要跟上

来源:拓扑社、IT桔子 拓扑社概要:阿里巴巴成立全球研究院——阿里巴巴达摩院。该院由全球实验室,高校联合研究所,全球前沿创新研究计划三大部分组成,研究包括:量子计算、机器学习、基础算法、网络安全、…

怎么批量改计算机名字,怎么给照片批量重命名

怎么批量修改照片的重命名,由于Windows 本身提供的批量重命名功能太弱,往往达不到要求,于是我们便到处寻找各式各样的批量重命名工具……其实,你电脑里很可能已经有了可以批量重命名的强大工具。看完这篇教程,马上学会…

2017年中国自动驾驶最全产业研究报告 99页

来源:亿欧智库 概要:中国自动驾驶最全产业研究报告,pdf 下载:https://pan.baidu.com/s/1gfeoenL

计算机机柜结构,​机柜知识大全!

原标题:​机柜知识大全!机柜一般采用冷轧钢板或合金制成,存放计算机及相关控制设备,可提供存储设备的保护,屏蔽电磁干扰,井然有序地布置设备,方便今后设备的维护。机柜一般分为服务器机柜、网络…

计算机读不到u盘如何修复u盘,u盘读不出来,教您u盘读不出来如何修复

U盘是大家在日常生活工作中经常运用的储存工具,同时,U盘经常出现问题也是困扰大家的一个问题。那就是u盘读不出来,这让用户很疑惑,怎么进行修复U盘呢?下面,小编就来跟大家介绍修复u盘读不出来的操作流程了。…

神经元轴突发育的探索简史

来源:中科院神经科学研究所 概要:神经元之间形成复杂而精确的网络连接,是神经系统各种重要功能得以展现的生理基础。 从维持正常生命活动所需的心跳、呼吸,到实现基本活动的运动协调、感觉传递,再到高等思维方式如学习…

功能对等四个原则_强直患者功能锻炼十分重要

点击蓝字关注我们功能锻炼对于强直性脊柱炎患者的关节功能恢复及防止强直有重要作用。这一点是药物治疗所不能代替的。许多强直性脊柱炎患者虽经过正规的药物治疗后,疼痛明显缓解甚至消失,但因为不注意功能锻炼,致使脊柱强直、肌肉僵硬&#…

清华计算机本科待遇,2021年清华大学报考信息出炉 计算机专业最吃香

2021年清华大学的报考信息出炉了,据了解,计算机专的报考人数最多,其次就是社会科学专业、软件工程专业、自动化专业等。清华大学报考信息出炉清华大学报考信息公布,计算机报考人数最多在清华大学诸多专业当中,考生报考…

一张通往计算机世界的地图

来源:原理(公众号ID:principia1687) 概要:计算机科学如今已经扩展出了很多相互关联的分支,但我仍然把整个学科分成三个部分:计算机理论,计算机工程,以及计算机应用。 我们通过计算机…

esxi root 密码规则_陌陌风控系统静态规则引擎aswan

陌陌风控系统静态规则引擎,零基础简易便捷的配置多种复杂规则,实时高效管控用户异常行为。【名词解释】策略原子:基于用户行为数据进行异常判断的基础元素,如设备黑名单、手机号黑名单等管控原子:用户命中策略原子后对…