机器之心整理发布
编辑:虞喵喵、蒋思源
第四范式联合创始人、首席研究科学家陈雨强是世界级深度学习、迁移学习专家,曾在 NIPS、AAAI、ACL、SIGKDD 等顶会上发表论文,并获 APWeb2010 Best Paper Award,KDD Cup 2011 名列前三,其学术工作在 2010 年作被全球著名科技杂志 MIT Technology Review 报道。
陈雨强也是机器学习工业应用全球领军人物,在百度凤巢任职期间主持了世界首个商用深度学习系统、在今日头条期间主持了全新的信息流推荐与广告系统的设计实现。陈雨强目前担任第四范式首席研究科学家,第四范式在人工智能领域科研技术领先,刚刚揭晓的「第六届吴文俊人工智能科学技术奖」,第四范式荣获一等奖,该奖项代表国内最高科研实力。
此前,陈雨强在机器之心精品线下活动中,给业内人士分享了其对于机器学习在工业应用中的新思考。以下为活动现场的速记整理。
工业界具体怎么做的?第一象限是简单模型加上宏观特征,在现在的工业界比较难以走通,很难得到极致化的优化效果。这个象限内,有七八十年代专家系统,还有一些统计模型。大家比较熟悉的 UCI Data 就是支持这个时代研究的典型数据,每个数据集有 1000 个左右的训练数据,分的类数也不多,特征也不多。对于这样的数据统计模型比较盛行,要解决的问题是怎样找出特征之间的关系与各自的统计特性。
第二象限是简单模型、复杂特征,最成功的典型案例是 Google AdWords。Google 在很多技术上都是开山鼻祖,包括整个计算广告学。Google AdWords 有上千亿的特征,每个人、每个广告、每个 Query 的组合都在其中。这种模型非常成功,给 Google 带来了非常大的收益。Google AdWords 占 Google 70% 以上的收入,Google 的展示广告也是用的这样的技术,占了 Google 大概剩下的 20% 左右的收入。
第三象限是复杂模型、宏观特征典型的应用,比如 Bing ads,2013 年他们提出 BPR(Bayesian Probit Regression)来 Model 每个特征的置信度。雅虎也是第三象限忠实的传道士之一,大家所熟知的 COEC(Click Over Expected Click)这个算法就是雅虎提出的,在上面做了很多模型。其次他们还设计了很多模型解决增强学习问题,比如多臂老虎机等等算法。很多雅虎出去创业的同事最常使用的机器学习技术就是统计特征加 GBDT(Gradient Boosting Decision Tree),通常能获得非常好的效果。
第四象限,复杂模型和微观特征,现在还是热门研究的领域,它最难的一点是模型的规模实在太大。比如广告有上千亿的特征,如果做深度学习模型一个隐层有 1000 个特征,可能会有万万亿级别的参数。虽然数据很多,但万万亿的数据还是难以获得的。所以怎么解决这个角度的模型复杂问题、正则化问题,目前研究还是一个热点的研究方向。
如何沿着模型优化?
以时序动态的协同过滤为例,我们这里引用的是 Koren, Yehuda 在 2009 年在 KDD 上发表的论文 Collaborative filtering with temporal dynamics,这是时序动态协同过滤被应用最多的一篇经典论文。在这篇论文里,首先协同过滤的问题有一个低秩假设,作者认为由 User,Item 组成的稀疏矩阵是由两个低秩矩阵相乘得到预估评分。第二,通过观察数据,作者观察到 IMDB 对某些电影的打分是随着时间的加长,分数不断上升(对那些经典的电影)。根据这样线性的关系,设计「现在的时间」减去「首次被打分时间」作为偏置,拟合斜率就是一个好的模型。考虑到更复杂的情况下,打分随时间的变化并不是单纯的线性,作者进一步提出将线分成很多小段,每个小段做分段线性。
总结一下,通过机器学习优化的套路是什么?首先,观察数据;第二,找到规律;第三,根据规律做模型的假设;第四,对模型假设中的参数用数据进行拟合;第五,把拟合的结果用到线上,看看效果怎么样。这是模型这条路在工业界上优化的方法。
如何沿特征优化?
比方说新闻推荐就是一个多目标复杂的问题,想要优化的指标极多——我们想优化留存、想优化时长、想优化点击率、想优化转发、想减少低俗、想优化时效性、想加速新用户冷启动等等,只优化某一个目标并不能让我们一劳永逸。那这里回想到以前有一个做推荐的朋友就因此特别的苦恼,因为每天面对这么多的要考虑的因素,每天都在自己跟自己左右互搏,非常的分裂。他在优化点击率时就很担心,是不是变低俗了?优化低俗的时候是不是降低了用户的参与?优化参与时又想阅读时长是不是会受到影响?但是,如果一心想一次优化所有的目标,那么没有一个目标最终能被优化。机器学习解决问题的套路是通过把目标分解,逐个进行优化。
举搜索广告的例子,搜索广告的收入可以拆解成:流量 * 有广告展示的流量比例 (asr) * 平均页面广告展示条数 (asn) * 点击率 (ctr) * 广告平均计费价格 (acp)。拆解成这么多目标后,优化点击率时就不用考虑其他的因素,点击率用模型优化,价格、条数用竞价机制优化,流量通过产品与渠道优化。把目标拆开后可以非常舒服的优化每一项,每一项都优化得非常极致,整个系统就能做到极致了。再举一个停留时长的例子。如果我们想优化阅读的整体停留时长,并不是去按照直观优化每个页面的停留时常,而是将停留时长分解成点击率 * 点击后页面停留时长,然后分开进行优化。
如果进行了合理的拆解,我们实际上可以有更多基础模型,利用这些基础模型,我们可以定义出针对业务目标的机制,比如说指数加权乘法或者逐级阈值门限机制等。利用设计好的机制,我们可以调整各个目标之间的关系,做出取舍,还可以定量的观察与获得指标间的兑换比例,比方说在模型不进行变化的前提下,多少点击率的降低能兑换出多少总时长的增加。应为每个指标都是独立的,我们只需要用 ABTest 就可以根据公司目标调整这些机制参数了。这样的方法相对于根据目标调整数据更能解释清楚,调整数据是我把目标的拆解直接加到数据中,认为什么目标重要就把那个目标对应的数据加倍、权重加倍。但困难在于加倍数据后模型需要重新训练,也很难说清楚处于连续变化状态中的目标,各个分指标是怎么互换的。
关注人
最后分享一下我们在工业界应用中,关注人的一些经验。关注人其实是一件我之前很少想的事情。如果你专注做机器学习,你可能认为与你交流的人、用你的技术的人或多或少懂得机器学习。但如果我们的目标是让所有人都能用上人工智能、让工业界更多的产业用上人工智能,你面对的人关于机器学习的水平参差不齐,就是一个非常现实的问题。在这样的情况下,关注人在其中就是至关重要的事。
开头提到的机器学习成功必要条件的五点中,专家数量是机器学习成功的必要因素。困难之一是在更广阔的工业界,专家教授并没有那么多,企业内部需要优化的业务数量也远远大于专家数量。第二是非专业 AI 人员在无法理解(至少宏观上、直观上理解)模型原理之前,他们是不相信模型能够更好的优化他的业务的。比如你要把司机替换成自动驾驶,会发现人有非常非常多的顾虑,因为人不知道为什么机器会做出左右、前后、刹车的判断,也不知道背后的机器学习会在什么时候失效、什么时候能应用。这些问题在当前的技术前提下都是很难被直接定义、描述清楚的,那么这就会导致人工智能很难被推广到更大的领域中。
如果要让更多的人能使用上这样的技术,首先是要解决模型的可解释性。对应研究中的下一代技术叫 XAI(Explainable Artificial Intelligence),是一个更易理解的、更可解释的 AI 系统。XAI 是 DARPA 今年的 6 月份提出的项目,被**认为是攸关国家安全高度的人工智能的技术。
模型的可解释非常有用,更好的可解释性、可理解性可以把人工智能算法或技术推广到更多公司、以及推广到公司其他部门,否则会碰到很多不同层面的问题。模型的可解释有很多研究方向,做图片分类时通过深度学习给出一个 Output,说图片是猫的概率是 0.93。这会令人疑惑,图片中的确是一只猫,但并不知道为什么机器认为它是一只猫。将来的学习过程可能是,图片放进来不仅会给出一个结果说它是猫,还会给出它是一只猫的原因——两个毛茸茸的耳朵、还有爪子、脚上还有很多毛、还有小肉垫,因此认为它是猫。这样能更好的理解模型能做什么、不能做什么,这是应用人工智能至关重要的点。
要解决可解释性的问题,我们可以有多个思路,第一个思路是对于重要的模型,我们针对性的设计解释机制。比方说考虑如何去解释一个大规模特征 LR 模型的问题,虽然 LR 模型天生是个解释性很好的模型,但是特征特别多的情况下,由于它是微观模型,并不容易看到模型整体。就像观察全国 14 亿人每个人的行为,我们可以了解很多事情的发生,但是这还是不够的的,我们需要从微观特征中得到宏观的统计和宏观的分析。这条思路其他重要的工作包括如何可视化以及解释深度学习的内部机制。第二个思路是我们也可以设计出一些全新的模型,这些模型最重要的设计目标就是在高可解释性的同时不丢失预测效果。最后一个思路是做模型的黑箱推理,不管是深度模型、宽度模型或者其他模型,通过黑盒的输入输出来窥探模型内部的运行机制。
除了模型可解释,在实际应用中,模型可控也是非常重要的一点。越重要的领域对模型可控的要求越强,因为不能出错。推荐和广告出错一次没什么问题,如果贷款判断失误或是无人驾驶判断失误,后果可能会关系到国计民生。为什么模型可控是一个难的问题呢?因为刚才说到模型要好 VC 维就一定要高、一定要有足够的自由度,但可控是要限制解空间的自由度,让模型满足很多规则与约束。这就相当于想要造一个超音速的飞行器,但同时要求能用绳子牵着像风筝一样被控制方向。这方面,我们也在进行探索,针对具体的问题,比方说定价,我们可以设计出一些既满足规则、VC 维又足够高的模型。
最后一点,模型的互动性、可干预性、可参与性。机器学习更多的是通过观历史预测未来,如果是历史上没有发生过的事情,还是需要通过专家更好的预测。一方面我们不能把人全部替掉,另一方面人在人工智能时代可以产生更重要的作用。怎样设计一个模型把专家的知识加进来,在数据不够充分的时候更相信专家,有了足够的积累就更相信数据和事实,是非常重要研究的话题。
Take-Home Message
最后,总结一下这次分享,有这么几个关键信息:
第一点,我们要设计一个开放的可扩展的机器学习系统。它一定需要是高 VC 维的系统,才能保证随着业务增长,效率与效果也不断提升。
第二点,没有免费的午餐,也没有万能的模型。
第三点,宽度模型和深度模型各有利弊,根据场景、根据团队选择最合适你的。
第四点,模型从线下走到线上其实是强化学习的过程,你(和你的老板)最好做好半年抗战的准备。这个时间不是指写算法、做工程的时间,而是做强化学习、不断的迭代积累数据,让模型越来越好的时间。这点非常重要,否则新的模型很难用到实际的工作中。无数死于襁褓的模型都是惨遭缺乏强化学习之痛。
第五点,关注业务,设定更专注的目标解决更宽泛的问题。不要妄想一个机器学习模型能解决所有问题,要解决所有的问题就设计更多的模型,用机制让这些模型共同工作。
第六点,关注产品和业务人员,因为他们会最终决定 AI 能使用的深度和宽度。
今天我的分享就到这里。谢谢大家!
问答环节
听众:第四范式的 Deep Sparse Networks 适合解决什么问题?
陈雨强:解决既要求数据有很强的离散性或很强的个性化,同时又要求有很强的推理的问题。Deep Sparse Networks 能从更细的角度能把特征进行组合,挖掘出特征之间不同的关系,个性化的推荐、广告、排序,包括要做预估的场景都是 Deep Sparse Networks 适合的。
听众:第四范式的商业模式是什么,是给这些中小型企业提供人工智能服务,还是给大公司提供服务?大企业可能都有自己的团队,那第四范式是做一个平台性的工具,还是将来也做产品?要一直做送水人,还是跟 BAT 这种传统互联网去结合?
陈雨强:我觉得最关键一点是,BAT 解决的问题和各行各业要解决的 AI 问题并不一样。各行各业都有使用 AI 的需求,我们的商业模式是提供一个 AI 的平台,让客户有 AI 的能力、让客户自己使用人工智能。
我们最近开放的公有云上,面对的目标客户是有很高的人工智能质量诉求,但是现在并没有能力建立这样的团队的公司,诸如一些互联网公司,他们的发展目标也是关注在业务上的。另外一方面,我们会服务金融、保险、电信等领域的一些巨头,他们其实有非常强烈的使用 AI 的场景和诉求,但在技术上没有完全接轨最新的技术。通过平台的方式,我们让他们的人员用上最新的技术产生更好的价值。
能做的事情太多,并且 BAT 和其他科技公司没有一家完全覆盖这部分业务。大数据公司很多,真正让大数据产生价值的公司很少,目前看还是相对不饱和的市场。
听众:我好奇的一点是,广点通是一个机器系统吗?投放的时候通过选择年龄、性别这样的标签可以代替监督学习的部分吗?以及,为了提升投放效果,是应该把它当成黑盒子去反复测试吗?
陈雨强:首先,广点通是一个非常好的机器学习系统。第二,选择年龄、性别能不能代替监督学习,这是两个不同的概念。年龄、性别、地域是用户画像,选择的标签是可被验证的、与产品最息息相关的。比如针对女性用户的产品虽然男性用户点击率会非常高,可你根本不希望任何男性点进来。所以这部分是点击率模型不能解决的问题,一定要经过 Targeting 解决。
还有一类是用户画像是并不必需的。比如来定义他喜欢车还是喜欢金融,这是一个很宽泛的概念,每家公司定义都不同。比方说高端客户、低端客户这样的标签,游戏公司的高端客户是每天玩 20 个小时游戏的人,但金融公司的高端客户很可能不是每天玩 20 小时游戏的人,所以通用、含糊的标签一般没有特别大的意义。
第三,如何优化。我觉得 ABtest 是最好的方式,如果平台支持,可以通过出价、通过组合观察如何获得最佳的 ROI,是现有比较有效的方法。如果说怎么结合机器学习,可以把 ROI 与数据做一个结合,这样更清楚哪些标签或者哪些投放的关键词更有可能获得更高的 ROI。
听众:去年吴恩达写了一篇文章叫「每个企业都需要一个首席智能官」,第四范式不在任何一个企业里,但可能也起到一个智能官的作用。对于怎么把机器学习变成可解释的东西,能和我们分享讲一个具体的故事,或者跟企业打交道面临需要解释的困难吗?
陈雨强:首席智能官需要做的事情有很多,涉及到如何在公司发挥人工智能的价值、推进人工智能、让人工智能更好的被接受、对趋势的判断、对技术的理解以及平台的搭建,还包括技术的推广。
我们在某个比较大的国有股份制银行做好了一个模型,仅用一个月的时间就让某一个具体的业务提升了 60% 的收入,换算成钱一年是十几亿的收入。银行就非常急想上线,但是需要让我们解释我们的模型为什么能工作,为什么比他们之前的算法和模型好。我们模型其实是一个宽模型,有上亿的特征,特征是可以一个一个拿出来看的,但是并不能了解模型为什么起作用。我们设计了一个可解释模型,用树模型这个相对容易解释的方式,你和我们的宽模型,让客户了解我们模型的背后在做什么事情。同时业务人员看了我们的模型,也获得一些启发,帮他们找到了一些新的业务规律。这个模型最终一是被用来做可解释模型,第二是用来做他们审计的模型,应对银行的监管诉求。
听众:深度模型和宽度模型的选择是应该发生在项目开始之前,还是以结果为导向,这两个模型都会去做,最终实际效果哪个更好我选择哪个模型?
陈雨强:这个问题在于选择建设适合你的机器学习系统。比如说这个系统面对的是不断变化的业务,宽度模型是非常好的能结合业务知识和专家意见的机制。如果是一个技术为主、模型为主的团队,走深度这条路也是可以获得非常大的提升的。说到底不只是技术选型的问题,还是管理、架构的问题。选择什么样的路决定将来怎么搭建团队、怎么获得持续的提升,因为机器学习一定不是一次就能完成的,是不断提升的。
听众:在模型角度出发,什么情况下即使数据是非常充足的,我们也认为专家的意见更可靠?
陈雨强:如果数据比较充分,专家的意见又比较靠谱,它们两个是高度一致的。专家更大的作用还是在于宏观上,可以非常容易的加入宏观的外部信息。这些信息如果计入模型相对会有滞后性,这是没有办法克服的,专家的及时性会更加好。
听众:假设数据的情况非常理想,在模型方面您会做哪些努力保证这个模型的可控性是最强的?
陈雨强:模型可控性不是所有的方方面面都被控制住,可控是模型达到的业务目标。举用机器学习解决智能定价的问题为例,对信用卡分期产品进行定价,3 期、6 期、9 期、12 期有不同的手续费,一个合理的假设或者一个正常的要求可控的规则是,期数越高单期手续费应该越低。如果机器学习解决这个问题,不能保证期数越高手续费就一定越低。
所以具体方法是什么?先设计一个部分强可控的模型,控制它的单调性、一致性和参数范围;另一部分不需要可控的参数,让它自由的学习,通过这种方式来达到可控。
听众:过去人工智能研究专家系统,现在深度学习和专家系统是不是能够结合?
陈雨强:这方面研究还是挺活跃的,近期的马尔科夫逻辑网把逻辑和神经网络在一起,还有在贝叶斯方法最近也相对更热了一点。大家也意识到深度学习很难解释,所以通过逻辑、推理、概率这种方式能得到更可解释的模型。我们自己也在思考,怎样能更好的把专家的知识结合进来。过去其实分两块,一块就是说 KR(Knowledge Representation),一种就是做推理,现在有了深度学习、有了各种学习方向,可能会有更多的发展。
如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。