NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

如何在机器学习实战的路上与时俱进?

  • 2016-10-27
  • 本文字数:3815 字

    阅读完需:约 13 分钟

尚未结束的 2016 年国际却发生了多起有关机器学习的并购,例如 eBay 收购以色列的预测分析企业 SalesPredict,苹果收购了印度机器学习公司 Tuplejump,Twitter 收购了英国机器学习公司 Magic Pony 等等,互联网巨头们为何纷纷选择布局机器学习?机器学习背后搭建和使用了怎样的架构平台和训练算法?为了激活沉淀已久的互联网海量数据,机器学习发挥了怎样的作用?

2016 年 12 月 2 日 -3 日, ArchSummit 全球架构师峰会将在北京举行。本届大会组委会策划了“机器学习实战”专题,并邀请了京东研发总监李鹏涛老师担任该专题出品人,我们借此机会采访了李鹏涛老师,他为我们分享了目前对机器学习中的趋势见解和实践经验,希望可以为大家带来启发,如果读者对机器学习有疑问,也欢迎报名参加ArchSummit 北京站,与现场的机器学习专家一同交流讨论。

受访嘉宾介绍

李鹏涛,拥有清华大学工商管理硕士和软件工程硕士学位,在大型分布式系统、电子商务和物流领域具有丰富的实践经验。2012 年加入京东,担任研发总监,领导京东核心业务系统——物流配送(青龙)系统的研发。在青龙系统设计、研发、推广、升级过程中做出重大贡献,荣获公司最佳舵手等多项奖励,并且勇于创新,带领团队提出60 余项技术专利,本人已经获得4 项专利。他积极参加技术交流,乐于进行分享,先后在ArchSummit 全球架构师峰会,QCon 全球软件开发大会发表重要演讲,并获得QCon 明星讲师称号。个人具有广泛的兴趣爱好,特别喜欢旅游、历史和音乐。

InfoQ:目前京东机器学习的技术团队是如何进行团队划分的?京东机器学习队伍经历了怎样的发展?对于有志于投入机器学习的技术人,您希望他能掌握哪些知识点?

李鹏涛:目前和大型互联网公司一样,京东机器学习的技术团队也划分为平台研发团队和各个应用研发团队。平台研发团队负责机器学习通用平台、算法工具的研发以及通用模型和产品,各个应用研发团队根据平台产品和自己的应用场景进行具体的应用研发,如智能客服机器人研发团队、物流系统研发团队。

京东最开始时各个应用研发团队和大数据团队对机器学习技术都有自己探索和应用,并取得一些成果,发展起来以后大家也形成共识,应该把机器学习通用技术沉淀到平台团队,由各个应用研发团队使用平台开发自己的应用,这样能够做到技术共享,并且各取所长。

对于有志于投入机器学习或人工智能的技术人,至少可以分两类:

  • 一类是普通技术人员,应该对机器学习的理论有所了解,掌握不同机器学习算法特点,会使用机器学习的工具进行项目研发;
  • 另外一类是高级技术人员,应该对机器学习算法深入了解,在必要的情况下能够根据自己的场景进行调优,甚至重新编写算法工具。

目前我主要看中技术人员的学习能力和创新精神,目前技术更迭很快,如果不具有学习精神那么很难掌握最新技术,同样不具有创新精神,也是很难把最新的技术应用到自己的业务中并做出成绩。

InfoQ:您谈到机器学习理论的复杂度让很多人望而却步,能否结合您自身实践通俗地为大家解释物流中如何使用机器学习,并产生了怎样的效果?

李鹏涛:机器学习目前发展很快,主要得益于大数据和云计算相关技术走向成熟,我们能够方便廉价地拿到计算资源和大量的训练数据。机器学习理论相对复杂,普及还需要一定的时间,就如 2010 年我们使用 Spring 相关技术来开发 Web 应用一样,当时也是少数人掌握的核心技术,但是到现在已经成为相关程序员必须具备的技能了。我相信机器学习技术也一样,两三年以后,随着技术、算法、特别是应用场景的成熟,也会从阳春白雪走进寻常人家。

京东物流发展到今天,业务已经非常复杂,数据也基本上是海量数据,对于某些应用场景而言,人为制定规则已经不能满足需求,或者说开始不能适应业务快速变化,这些场景恰恰是机器学习比较擅长的,例如用于应对具有大量的训练数据、规则不明确、规则在不断变化的场景等。我们目前也处于探索阶段,也取得了一些成果。

拿京东物流(青龙)系统来说,这是一个非常复杂的专家系统,包括了分拣中心系统、TMS、最后一公里配送系统、物流开放平台、BMS 等子系统,这天然存在很多需要人工进行识别分类的场景,不仅工作量大,而且存在准确率低的问题,这些场景我们都逐步采用机器学习算法进行解决。

我们不仅组织研发人员对机器学习进行了研究,也进行了一些测试和应用,包括物流系统中用户地址的识别、动态路由的优化、资金应收风险预警等。我们的目的并不是取代目前的物流专家系统,而是作为补充,希望在某些场景下让专家系统更加聪明地工作,或者让人工操作能够更加简单。

InfoQ:有人认为不能因为机器学习火就投入机器学习,您认为使用机器学习的出发点是什么?在怎样的场景或遇到什么问题时研究机器学习才有意义?

李鹏涛:追求最先进的技术是技术人员的天性,这本身没有错,并且恰恰是应该鼓励的。我个人不太建议的是,工作本身缺乏机器学习的场景,为了学习机器学习而影响目前自身的工作,这就有些得不偿失了。如果本身对机器学习感兴趣,工作中有对应的场景,那么和实践结合起来应该是最好的。

拿两类适用于机器学习的场景进行说明:

  1. 需要大量人工介入进行识别分类等非常繁杂的工作,例如之前提到的在物流系统中对用户地址的识别分类;
  2. 规则不容易确定的场景,例如专家凭空想象的规则,该规则可能需要被验证后才能使用,如经典的信用卡评分问题。

InfoQ:据了解:数据科学家 80% 的时间用来准备数据。能否谈谈你们是如何进行数据搜集和清洗的,如何提高数据的质量?

李鹏涛:关于数据的收集,本身就有很多方法,例如从业务系统抽取数据、数据交换和购买、从互联网抓取数据等;而数据清洗是很复杂的工作,但也有很多的研究成果可以使用。好在机器学习有很多算法,本身就容忍一定的噪音,一定程度上防止了垃圾数据的干扰。

目前有很多成熟的机器学习算法,有些算法可能是穷极有天赋的研究人员一生精力的发明。我们中大部分人不大会重新发明某个分类算法,我们需要做的是搞清楚算法的应用场景,针对我们的问题选择合适算法并且对算法的参数进行优化,或者把几个算法集成起来达到我们需要的效果。

InfoQ:训练模型中,你们参考和采用了哪些业界流行的算法,各自的作用是什么?如何寻找最优算法?未来是否会存在大一统的机器学习方案?

李鹏涛:我们主要在监督学习的分类算法方面进行了研究和探索,主流的算法包括KNN、SVM、Boosting、Bayes、决策树、神经网络等。目前在网上都可以查到各个算法比较详细的理论说明,甚至可实现的源代码。

机器学习也在发展过程中,并且机器学习解决的问题都相对比较复杂,用户的场景和数据都有一定的特殊性,考虑到算法本身的复杂度和效率,这样很难确定哪个算法是最优算法。并且现在的最优算法可能会根据场景的变化和数据的变化而变化,因此一般要对多个适合的算法进行测试和调优,再进行算法集成,从而达到更好的效果。

当前阶段我们针对不同的应用场景有不同的机器学习算法,我们需要选择、甚至尝试和比较才能找到符合要求的结果方案,未来有可能出现统一的机器学习方案,或者没有,但可以预见的是会有越来越多的优秀机器学习工具出现,让机器学习技术能够更好的被技术人员掌握并落地实施。

InfoQ:机器学习有分在线、离线学习,能否谈谈这两者的区别和使用的场景?

李鹏涛:目前主流的机器学习算法都是以统计学作为基础,而统计学都是以独立同分布作为前提,因此大部分的算法都是以离线学习为主,特别是数据需要清洗的情况下。

那在线学习呢?机器学习中模型的建立都需要一个过程,一般还需要进行验证,验证通过的情况下才会使用,因为在线学习算法能够对模型进行动态修正,这样对于结果就存在不确定性,对于很多需要准确分类的监督学习场景就不合适。但是在线学习这种特点是有一定的应用场景,也就是能够接受模型修正风险,并且需要及时更新的场景下,就可以使用。

在线学习能够克服离线学习的一些问题,但是目前技术和实施上也存在一些问题,特别是对于对模型数据要求相对严谨的领域,随着机器学习技术的发展,预计在线学习也会得到更多的应用场景。

InfoQ:业界在机器学习平台上有兼顾规模化和灵活性的挑战,在您看来如何平衡这两个需求?

李鹏涛:机器学习技术的发展一直存在这个问题,也就是通用性和专用性的选择,并且解决思路也是一致的。平台方和普通的使用者要选择通用的解决方案。

对于平台提供方,如果能够提供一定的定制化功能就更好了。对于有实力的企业,对于效率和效果有高要求的,可以选择定制化的解决方案,这都是考虑投入产出比的自然结果。

InfoQ:目前有论点谈到机器学习受众已经出现两极化,您认为小型企业如何解决获取数据难的问题?能否为该类企业总结一套系统的经验指导?

李鹏涛:机器学习的发展和大数据技术一样,市场会出现提供机器学习技术、咨询和实施的公司,甚至还有直接提供大数据的公司,他们各自都有自己的发展空间。随着数据的开放,数据获取成本的下降,提供机器学习技术服务的小公司会有自己的舞台并且继续发展,他们还有机会转成提供领域内 SAAS 服务的公司,这样生命会更加长久而不会因为机器学习技术的普及而消失。当然,拥有大数据和机器学习技术的公司会更加强大,正如大数据技术发展的一样。

InfoQ:感谢李鹏涛老师接受我们的采访,期待 ArchSummit 全球架构师峰会上您策划的机器学习实战专题。


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2016-10-27 19:002357
用户头像

发布了 26 篇内容, 共 85859 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

算法有救了!GitHub上神仙项目手把手带你刷算法,Star数已破110k

Java架构师迁哥

Java的函数式接口

中原银行

Java 函数式接口 中原银行

网络抓包实战03——TCP/IP协议栈:数据包如何穿越各层协议

青春不可负,生活不可欺

产业互联网时代的数字化转型与创新

CECBC

接口全面重构TypeScript ,让uni-app 具备出色的基础音视频能力

ZEGO即构

typescript uni-app 音视频

从零开始学习3D可视化之物体选择

ThingJS数字孪生引擎

大前端 可视化 程序媛 3D可视化 数字孪生

架构实战营 - 模块 6- 作业

carl

区块链如何赋能智慧城市

CECBC

卧薪尝胆30天!啃透京东大牛的高并发设计进阶手册,终获P7意向书

Java 程序员 架构 面试 高并发

新华三商用终端新品全系入市,重塑办公极致体验

科技热闻

鉴释×CSDN丨国内外操作系统生态差异在哪?

鉴释

操作系统

联邦学习—金融数据壁垒和隐私保护的解决之道

索信达控股

大数据 金融科技 联邦学习 金融 数据隐私

从渗透测试小白到网络安全大佬的成长之路

学神来啦

Linux 运维 网络安全 渗透测试

面试官问我:如何减少客户对交付成果的质疑

华为云开发者联盟

Scrum 敏捷开发 项目 用户故事 研发

浅谈B端产品的表单元素设计

LigaAI

产品经理 UI 产品设计与思考

ES6 迭代器简述

编程三昧

JavaScript 大前端 ES6 迭代器

英特尔宋继强:异构计算的关键一环,先进封装已经走向前台

E科讯

在windows上用Nginx做正向代理

Python研究所

网络 Proxy 正向代理

奇亚节点分币系统搭建,Bzz节点分币APP搭建

冷门科普类自媒体如何才能脱颖而出

石头IT视角

🌏【架构师指南】分布式技术知识点总结(中)

洛神灬殇

分布式架构 架构师技能 分布式技术 6月日更

中国政府大数据市场,我们又是第一

浪潮云

云计算

强化学习 | COMA

行者AI

人工智能

虚拟货币监管再加码:央行约谈部分金融机构 要求切断支付链路

CECBC

网络抓包实战04——深入浅出连接建立

青春不可负,生活不可欺

“半监督”、“自监督”怎么用?| 算法深度剖析与实战分享

网易易盾技术团队

AI 算法 算法实践 实践案例 深度半监督

dubbogo 社区负责人于雨说

apache/dubbo-go

dubbo dubbo-go dubbogo

年中面试经历:美团2面+字节3面+阿里4面+腾讯Java面经,终入字节

Java 程序员 架构 面试

双非渣硕,开发两年,苦刷算法47天,四面字节斩获offer

Java 程序员 架构 面试 算法

搭建企业私有GIT服务

IT视界

git

微服务到底是什么?spring cloud在国内中小型公司能用起来吗?

Java架构师迁哥

如何在机器学习实战的路上与时俱进?_架构_李东辉_InfoQ精选文章