当前位置: 首页 > 编程日记 > 正文

刘铁岩:AI打通关键环节,加快物流行业数字化转型

导语:近日,在微软亚洲研究院创新论坛上,微软亚洲研究院副院长刘铁岩分享了关于“AI+物流”行业的实践经验。以下为其发言内容。

随着时代的发展,人工智能成为了决定性的技术,我们所谈的企业数字化转型也正在从“互联网+”向“AI+”递进,“AI+行业”正成为不可忽视的变革力量。基于此,微软亚洲研究院在2017年11月成立了“创新汇”,与各个行业的专家一起探索人工智能和行业融合的新模式。其中,微软亚洲研究院与物流行业中的东方海外航运(OOCL)和顺丰科技的合作意味着“AI+行业”的深度融合之旅已经开启。

很多人认为人工智能是一组现成的工具,可以直接打包提供解决方案,而从事人工智能研究多年的我们则认为,更应该把人工智能视为一种方法论,需要根据具体问题进行定制化设计,才能真正成为可用的技术工具。每个行业所面临的痛点不同,每个应用场景的特点不同,因此人工智能想要真正落地,需要结合行业的领域知识,进行深入的定制。物流行业也不例外。而我有幸深度参与到了“AI+物流”的跨行业研究中,希望借此机会与大家分享一些心得,给更多的行业企业带来一些启发。

用AI抽象物流业务的本质:供给与需求的智能化匹配

物流行业要解决的最根本问题,是供给与需求的匹配。无论是像顺丰这样的快递业务,还是像东方海外航运这样的海上运输,都是在解决供给与需求匹配的问题,即把东西送达到需要的人手里。如果将整个大物流行业的业务场景高度抽象,我们就可以得到以下几个最基本的应用场景:

场景一,供需预测。物流企业并不是在业务订单来了之后才开展业务的,而是会在客户下单之前就要预估站点订单的数量,并事先规划运输工具或是预测每个港口运送的货物数量、空箱数量等。为此,需要利用时序数据,结合历史经验,考虑节假日等因素进行预测;而当有意外情况发生,如道路拥堵、船只遭遇风暴等,还要能够根据具体状况进行动态调整。

场景二,供需评价。绝大部分的物流需求是善意的,但仍然存在遇到恶意需求的风险,比如蓄意骗保等。所以,如何做到异常检测、事先预警,也成为物流企业亟待解决的课题之一。

场景三,路径优化。这是物流行业的核心应用场景。当知道供给和需求分别在哪里后,就要决定在什么地点,派什么车辆、船只,走什么路线,如何运输货品效率最高、成本最低,是否需要设立中转站、集散中心,或是建立自己的仓储等等,这些都是路径规划需要考虑的问题。同时,一旦遇到了突发状况,也要能够及时调整,重新快速优化路线。此外,如果某条路径所对应的供需关系存在恶意风险,还需要在路径上多加入一些审查或校验的机制,以实现必要的风险控制。

其实,上述供需匹配的问题并不是物流行业所独有的,现实世界中很多问题都可以归约成供需匹配问题。这不仅包括泛物流行业(例如电商、仓储、出租车派单业务、共享单车摆放等等),也包含非物流行业(例如推荐系统、搜索引擎、云计算的数据中心管理等等)。前面提到的各个场景在这些问题里也都有特例化的表现。因此,我们对于智能物流的研究,其实并不局限在物流行业本身,而是会对更多行业起到辐射作用。

那么如何才能利用人工智能技术解决物流的问题呢?我们需要人工智能领域的科学家与物流行业专家深度融合,相互分享各自的专业领域知识,将专业洞察整合到人工智能的解决方案之中。这也是微软亚洲研究院在与东方海外航运以及顺丰科技在合作过程中的切身感受。

智能航运:竞合多智能体强化学习毫秒完成实时路径优化

在微软亚洲研究院与东方海外航运的合作中,我们覆盖了供需预测和路径优化这两个物流行业的主要业务场景,通过运用深度学习和强化学习等最新的人工智能技术,来优化现有的航运网络运营。

事实上,过去的几十年里,航运企业通常采用基于运筹学的组合优化方法来实现路径规划。这种方法一般需要首先对供需进行预测,然后基于预测结果,将有关客户、港口、航线、区域的限制信息人为设置成现有商业软件的约束条件,并用其进行求解。但对于东方海外航运来说,其全球港口数量众多、船只数目也很大,采用这种方法会让商业软件不堪重负。作为一种折中,人们通常需要将几个港口划成一个片区进行处理,而即便如此,实现一次优化仍然费时费力,每天可能需要花费数个小时来计算路径优化的方案。而一旦外部条件发生变动,就不得不重新执行如此费时费力的优化过程,才能做出合理的应激反应,这种延时对于航运公司会造成不小的损失。此外,对货品和空箱的供需预测,很难做到非常高的精准度。这种情况下,先预测再优化的方式或造成误差传导,导致整个优化过程的效果受损。

为了突破方法的局限性,我们在与东方海外航运的合作中探索出了一套全新的解决方法——竞合多智能体强化学习技术(Coopetitive Multi-Agent Reinforcement Learning)。传统的运筹学思路是希望在全局上求解优化问题,而竞合多智能体强化学习技术则把每一个港口和船只建模成智能体,对原来的复杂问题分而治之,以去中心化的方式进行求解。我们在各个智能体之间建立了高效的通信机制,通过协调智能体之间的利益分配与转移,来促进智能体之间的合作,同时协调他们之间的竞争,最终起到全局优化的目的。

通过采用这种竞合多智能体强化学习技术,我们可以在以下方面取得长足的进步:

路径优化的时间减少至毫秒级。每个智能体的局部运算可以并发进行,传统运筹学方法需要好几个小时进行的路径优化,利用竞合多智能体强化学习技术则可以缩短到毫秒级。当某个智能体遇到突发状况时,系统只需调动周围相关的几个智能体自己协调就能解决,无需从头开始重新计算。

自动学习、适应变化,可与环境持续交互。当某个港口停运或者某一航线发生变化时,多智能体模型可以实时获得信息,并动态调整和反馈,快速适应新的环境。无需像传统运筹学方式那样,人为重写规则,再做优化。

实现预测和优化的端到端学习,消除误差传导。在竞合多智能体强化学习中,预测环节与优化环节是一体化进行的,不需要分阶段、按顺序执行,因此,也就不存在误差传导的情况。

智能体的训练可以利用实际运营数据,也可以通过自我博弈的方式来获得提升。我们为此设计了复杂的仿真系统和分布式计算框架,可以使模型训练又快又好,目标每年可为东方海外航运节省1,000万美元的运营成本。今年,东方海外航运将正式在其部分航运业务网络中运行该人工智能解决方案,预计将会对其业务效率带来大幅度提升。

除了可以提高效率,新的解决方案中的每个智能体模型还可以针对港口的调度员进行模仿学习。在过去,航运调度员会根据自己的经验对商业软件给出的调度方案进行调整,方案的实际采用率甚至不足50%。但竞合多智能体的模仿学习能力,可以学习不同调度员的行为习惯,生成更易于被调度员所接纳的方案。人工智能作为助手,结合调度人员的专业经验,将进一步提升东方海外航运的运输调度效率。这种人工智能(AI)与人类智能(HI)的结合,也将是未来人工智能普及的常见模式

智能理赔预警,准确率提升60%

顺丰有大量面对个人用户的快递业务,因此会出现一定几率的需求风险,如恶意骗赔等。在前期与顺丰展开的合作中,我们的切入点正是供需评价这一业务场景。顺丰科技在加入微软亚洲研究院“创新汇”之后,希望与我们一起探索理赔预警模型的建设。

什么样的快递订单有风险?该如何去判断?传统做法是从订单信息中提取人工特征,利用梯度提升树方法学习理赔预警模型。然而,当模型达到一定准确率后,继续提升模型性能会付出极大的人工代价。另外,当线上数据分布发生变化时,原来的人工特征也容易在新的场景下失效,造成线上模型性能的下降。

为了构建合适的优化方案,微软亚洲研究院的研究员对数据进行了深入分析,发现方案构建的核心难点在于,历史数据中理赔订单仅占全部订单的万分之几,极度不平衡的样本比例使得传统机器学习方法无法达到理想效果。目前已知的处理不均衡数据的解决方案,无论在学术界还是工业界,均达不到智能理赔预测问题的要求。

为了解决这个难题,我们采用了“深度因子分解+基于精度的级联”方案,利用多次选择交叉验证集减少由于分布变化造成的影响。通过对历史数据的测试,目前该模型在固定召回率的前提下,准确度已经比原始方法提升了约60%

未来,微软亚洲研究院的研究员将和顺丰科技的行业专家一起继续探索元学习、对抗学习、分布式机器学习等先进的机器学习技术在理赔预警中的应用,进一步提升预警模型效果。同时双方还将研究其他物流行业的创新应用场景。

企业数字化转型:需要行业专家与AI科学家的化学反应

每次与企业合作伙伴交流时,大家问得最多的问题是“人工智能到底能帮我们做什么?可以怎么做?”如今大家都知道人工智能技术的重要性,但在行业中能做好真的不容易。其中,最根本的原因在于:行业专家对人工智能技术的了解有限,而人工智能科学家很难有机会深入到行业一线。只有双方专家的深度融合,才能实现行业数字化转型的落地与创新

微软亚洲研究院“创新汇”就提供了这样一个让行业专家和人工智能科学家可以无缝协作的平台及创新合作的机制。在与东方海外航运等“创新汇”第一期成员企业的合作过程中,我们与行业专家们充分实现了“开放、平等、信任”的研究合作模式。行业专家放心传授行业洞察、分享真实业务数据,研究员则毫无保留地贡献模型、算法以及调参技巧等。正是基于良好的研究合作模式以及微软亚洲研究院在人工智能领域20多年的积累,我们的研究员才可以在短时间内针对不同的行业问题找到最佳的人工智能解决方案。

同时,微软亚洲研究院也在合作中收获良多。一方面,我们的研究员得到了成长,行业洞察力大幅提升,成为了拥有复合型创新能力的人工智能人才;另一方面,我们形成了人工智能研究的闭环,使得人工智能的科研工作不只是停留在理论和学术论文层面,而是能够真正地解决更多的实际问题,这也是人工智能技术本身的最佳归宿。

逆水行舟,不进则退,当下紧跟人工智能的发展节奏尤为重要。只有真正深入、全面地拥抱人工智能,企业才有可能在未来领先同行10年甚至20年。未来,我们希望与更多行业企业分享人工智能的前沿技术,共同探索“AI+行业”更广阔的发展前景,一起迎接数字化转型新时代。

相关文章:

Unity的三种Interceptor

Unity默认提供了三种拦截器:TransparentProxyInterceptor、InterfaceInterceptor、VirtualMethodInterceptor。 TransparentProxyInterceptor:代理实现基于.NET Remoting技术,它可拦截对象的所有函数。缺点是被拦截类型必须派生于MarshalByRe…

Python编写循环的两个建议 | 鹅厂实战

作者 | piglei(腾讯高级工程师)转载自腾讯技术工程知乎专栏循环是一种常用的程序控制结构。我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人却不行。而“循环”,则是实现让…

作为JavaScript开发人员,这些必备的VS Code插件你都用过吗

本文翻译自:https://www.sitepoint.com/vs-code-extensions-java-developers/转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。如今,Visual Studio Code无疑是最流行的轻量级…

matlab常遇小问题汇总

1、如何注释掉多行: 同时注释掉多行,有2种方法可行: (1)、选中所有要注释的行,按快捷键"Ctrl R" 或者 选择工具菜单"Text --> Comment"; 如果释放所有要注释的行,则按快捷键"Ctrl T&qu…

《几何与代数导引》习题1.35.4

求直线之间的距离$l_1:\frac{x1}{-1}\frac{y-1}{3}\frac{z5}{2}$.$l_2:\frac{x}{3}\frac{y-6}{-9}\frac{z5}{-6}$.解:点$q(-1,1,-5)$在直线$l_1$上,点$p(0,6,-5)$在直线$l_2$上.$\vec{pq}(-1,-5,0)$.直线$l_1$的方向向量为$(-1,3,2)$,直线$l_2$的方向向量…

深度学习难,这本书让你轻松学深度学习

深度学习在短短几年之内便让世界大吃一惊。它非常有力地推动了计算机视觉、自然语言处理、自动语音识别、强化学习和统计建模等多个领域的快速发展。随着这些领域的不断进步,人们现在可以制造自动驾驶的汽车,基于短信、邮件甚至电话的自动回复系统&#…

matlab中用于小数取整的函数的用法

matlab中小数取整的函数大约有四个:floor、ceil、round、fix 若 A [-2.0, -1.9, -1.55, -1.45, -1.1, 1.0, 1.1, 1.45, 1.55, 1.9, 2.0]; floor:朝负无穷方向靠近最近的整数; floor(A) ans -2 -2 -2 -2 -2 1 1 1 1 …

SQLServer之删除约束

使用SSMS数据库管理工具删除约束 1、连接数据库,选择数据表-》展开键或者约束-》选择要删除的约束-》右键点击-》选择删除。 2、在删除对象弹出框中-》点击确定。 3、刷新表-》展开键或者约束-》查看结果。 使用T-SQL脚本删除约束 语法: --声明数据库使用…

新建silverlight项目提示未将对象设置到实例解决方案

1.打开 visual studio 命令提示 输入一下命令 2.devenv /resetskippkgs 这条命令会启动visual stuio 关闭visual studio然后输入下面的命令3.devenv /setup

毕业十年后,我忍不住出了一份程序员的高考试卷

作者 | 程序员小吴转载自公众号五分钟学算法(ID: CXYxiaowu)一、选择题(共计 50 分)1、在下列四种排序算法,只有( )是一种不稳定排序A、冒泡排序B、选择排序C、插入排序D、归并排序2、一个数组&…

查看matlab中函数源代码的方法

有几种方法可以实现查看matlab里自带函数的源代码: 在命令窗口中输入: (1)、type 函数名(如 type rgb2gray 或者 type rgb2gray.m):即可在命令窗口中显示此函数的源代码; (2)、open 函数名(如 open rgb2gray 或者 open rgb2gray.m):即可打开…

Watir-webdriver处理table

最近大脸猫同学给了我一个popup的demo,让我试着定位弹出窗口中的按钮元素。在研究过程中,发现webdriver与watir代码有区别,一度让我很郁闷,在网上也找不到相应的解决方案,刚才code运行成功,在这记一笔&…

PyTorch Hub发布获Yann LeCun强推!一行代码调用经典模型

作者 | Team PyTorch译者 | Monanfei责编 | 夕颜出品 | AI科技大本营(ID: rgznai100)导读:6月11日,Facebook PyTorch 团队推出了全新 API PyTorch Hub,提供模型的基本构建模块,用于提高机器学习研究的模型复…

【会议纪要】非洲新经济-线下沙龙分享

沙龙 主题: 《解开非洲新经济神秘面纱》 时间: 2018年09月08日 14:00 ~ 15:00 地点: 杭州丰潭路 UXCoffee 背景: 随着中非合作峰会召开,非洲发展潜力越来越受到关注。。。许多人眼中的非洲是贫穷…

图像处理和图像识别中常用的matlab函数

下面仅给出函数的大概意思,详细用法见: help 函数名 或 matlab help 1、imread:read image from graphics file; 2、imshow:display image in Handle Graphics figure; 3、imwrite:write image…

Powershell管理Active Directory 复制和拓扑

Powershell管理Active Directory 复制和拓扑 Active Directory 的 Windows PowerShell (AD) 支持复制和拓扑管理。它包含了管理复制、站点、域和林、域控制器和分区的功能。过去的管理工具(如 AD 站点和服务管理单元与 repadmin.exe)的用户将发现如今也可…

实战 | 如何用最快的速度学会Dlib人脸识别开发?

作者 | 小宋是呢来源 | 转载自小宋是呢项目GitHub地址:https://github.com/xiaosongshine/dlib_face_recognition1.背景介绍Dlib是一个深度学习开源工具,基于C开发,也支持Python开发接口,功能类似于TensorFlow与PyTorch。但是由于…

matlab内存管理

转自:http://my.donews.com/deng/2006/09/24/vijgqxehmkxiruywdauvxyiafogtskeymhyw/ 用 Matlab 进行大规模科学计算或仿真时,内存是一个需要时常注意的问题。当你写的 Matlab 程序跳出“Out of Memory” 时,以下几点措施是需要优先考虑的解决…

Koa2和Redux中间件源码研究

一、Koa2中间件源码分析 在Koa2中,中间件被存放在一个数组中。 使用koa中,最常见的就是app.use(fn),use函数部分源码如下所示。首先中间件必须是个函数。若是generator函数,则需要进行转化。最后把该中间件推入middelaware数组中。…

matlab内存管理(二)

转自:http://hi.baidu.com/bi%CB%AB%C9%FA%BB%A8/blog/item/5ab86c38ac2f45e715cecbab.html 1,确保内存的连续性Matlab 中数组必须占用连续分配的内存段当无法为新建的数组分配连续的内存段的时候Out of Memory 就会出现由于反复分配和释放数组会使可用的…

校招经验分享—高考结束!校招还会远么~~

作者 | 石晓文来源 | 转载自小小挖掘机(ID: wAIsjwj)今天是6.11,高考已经结束了,那大考-校招还会远么?我们先来看一下去年的校招时间表:互联网大厂校招一般7月就开始了,也就是说!如果…

数据科学究竟是什么?

数据科学是一门将数据变得有用的学科。它包含三个重要概念: 统计机器学习数据挖掘/分析数据科学的定义 如果你回顾一下数据科学这个术语的[早期历史](),会发现有两个主题密切相连: 大数据意味着计算机的使用频率增加。统计学家很难将纸张上所…

SQL with NUll处理,Join系列,between,in对比exists以及少量题目

2019独角兽企业重金招聘Python工程师标准>>> 1.一些题目: 选择在每一组B值相同的数据中对应的a最大的记录的所有信息,(用于论坛每月排行榜) Selecta,b,c from tableta wherea(select max(a) from tabletb where tableb.b tableta.b ) 随机抽取出10条数据 Select to…

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画

作者 | 刘永进教授来源 | 转载自数据派THU(ID:DatapiTHU)清华大学提出APDrawingGAN,该项工作被CVPR 2019录取为oral paper。CVPR是计算机视觉和人工智能领域内的国际顶级会议,2019共收到投稿5160篇,录取1300篇&#xf…

图像处理和图像识别中常用的OpenCV函数

1. cvLoadImage:将图像文件加载至内存; 2. cvNamedWindow:在屏幕上创建一个窗口; 3. cvDestroyWindow:销毁显示图像文件的窗口; 4. cvDestroyAllWindows:销毁显示图像文件的所有窗口…

SQLServer之DEFAULT约束

原文:SQLServer之DEFAULT约束DEFAULT约束添加规则 1、若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为NULL。 2、如果“默认值”字…

tmux/screen里面如何用鼠标滚轮来卷动窗口内容

tmux里面用鼠标滚轮来卷动窗口内容在 tmux里面,因为每个窗口(tmux window)的历史内容已经被tmux接管了,所以原来console/terminal提供的ShiftPgUp/PgDn所显示的内容并不是当前窗口的历史内容,所以要用C-b [ 进入copy-mode,然后才能…

图像空间变换--imtransform

转自:http://juyishaanxi.blog.163.com/blog/static/602733002010522105439617/(非原处)空间几何变换将(w,z)坐标系上的图像变换为(x,y)坐标系上的图像,可以表示为: (x,y) T{(w,z) 比如: (x,y) T{(w,z)} (w/2, z/2) 仿射变…

谷歌用1.2万个模型“推翻”现有无监督研究成果!斩获ICML 2019最佳论文

作者 | 夕颜、Just出品 | AI科技大本营(ID:rgznai100)6 月 11 日,在美国加州长滩举行的 ICML 公布了 2019 年最佳论文奖,来自苏黎世联邦理工大学、谷歌大脑等的团队和英国剑桥大学团队摘得最佳论文奖项,此外,大会还公布了 7 篇获最…

实战:掌握PyTorch图片分类的简明教程 | 附完整代码

作者 | 小宋是呢转载自CSDN博客1.引文深度学习的比赛中,图片分类是很常见的比赛,同时也是很难取得特别高名次的比赛,因为图片分类已经被大家研究的很透彻,一些开源的网络很容易取得高分。如果大家还掌握不了使用开源的网络进行训练…