加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

南京大学教授俞扬:走出游戏世界的强化学习

发布时间:2020-12-24 18:55:30 所属栏目:业界 来源:网易科技) 更多精彩内容,请关注《预见未来十年!2020网易
导读:南京大学教授俞扬:走出游戏世界的强化学习 (来源:网易科技) 更多精彩内容,请关注《预见未来十年!2020网易未来大会》专题报道 杭州网讯12月18日-20日,2020网易未来大会在杭州盛大举行。大会以“洞觉未见”为主题,汇聚了全球最强大脑,期盼以远见超越

这里举一个例子,我们可以看到左边和右边是两个长度不一样的手臂,但它并不知道有多长。它怎么适应这个环境呢,可以先试一下,有点像如果我们学驾驶,驾校里学驾驶用的车是非常破的车,但我们回家之后拿到一辆新车,并不需要从头来学,只需要简单摸一下这个车哪个地方对应上的,就可以去开一辆新的车。

刚才它做的几个动作,我重复一遍。刚才它做的几个动作就是做了5个动作,适应一下自己是什么样子的,然后就可以完成任务了。它实际上并不需要做大量的试错,只需要做5个动作。如果我们真的是从头用强化学习来学的话,这个环境看上去很简单,实际上它需要有300万次试错。右边展示的是100万次试错的结果,所以大家可以看到这个结果并不好,左边我们只对环境进行了5次试错就能得到这个结果。所以即使是在虚拟的环境不是很准确的情况下,我们也能够利用这样的环境。但更希望做到的事情,把专家从这中间移除出去,实现完全自主的过程。把专家移除出去以后我们有什么呢,实际上能有的就是在场景下可能有一些历史的数据。历史的数据,我们能不能通过智能体自己去还原它现在是处于什么样的虚拟环境里,这个我们是希望能做到这样一个事情。

我们的数据是什么样子的呢,我们的数据就是去和环境打交道的过程,看到环境是什么,我们这里做了什么事情,环境发生的变化。就像游戏一样,我看到当前的游戏场景是什么样子的,往前走了一步之后场景发生了什么变化。这个变化的过程就是我们想要模拟的虚拟环境,所以我们就想知道看到了当前的状态,做了一个动作之后,做这个动作和做另外的动作,它未来有什么不一样。如果能把这样的事情从数据上还原出来,我们就能够去自动实现虚拟的环境。

这个事情能不能做呢,这个事情看起来就跟我们今天做人脸识别预测技术差不多,因为输入输出数据上全有,历史数据上全有。这样的事情如果是放在机器人身上的话,这里有一个很成功的案例,就是ETH做的ANYmal的机器人,传统做机器人的控制就是靠方程的方式,靠人的方式把机器人描述出来,看怎么控制。但这个工作里很有意思的,它的机器人腿的长度是多少不太清楚,关节怎么动也不太清楚,所以在实验室环境下收集了大量的机器人怎么动的数据,然后从这个数据上用深度学习的预测方法做了虚拟的环境,这就是机器人的模拟器。做了虚拟的环境之后,我们就在虚拟的环境里来训练怎么去控制机器人,所以它表现出来的会和人设计的运动,看起来更加自然,更加像动物运动方式。

这种场景可以简单来使用深度学习,能够完成虚拟环境的构造。在更多的场景下面是不是也能够用这样的技术呢,我们发现会有很大的困难。这个困难在什么地方呢,这个困难就在于我们在实验室环境下去收集机器人运动时,收集到的是覆盖非常全面的数据。用这个数据,用简单的监督学习,大家通常理解的深度学习就可以完成虚拟环境的构造。哪怕是更复杂的环境,我们也可以用更复杂的模型来完成虚拟环境的构造。但真实的环境下,很多业务场景下,我们面临的是数据覆盖不足的情况。数据覆盖不足的情况对应的是很多地方输入面临的响应是什么,完全不知道,这件事情能不能用今天的深度学习方式直接来解决呢,是做不到的。因为不管多么复杂、多么漂亮的技术,它都有一个背后的理论假定,就是你没有见过的数据表现的不好,这个在统计上叫做“独立同分布”的假定。

这种情况下有什么办法呢,我这里会出现一个公式,这个公式不要紧,我们解释一下它背后表示的含义。如果我们今天用深度学习技术来解决这个问题的话,它会产生一个很大的误差。这个误差看起来是什么样子呢,就是屏幕上显示的这样,哪怕有很小的误差,在等式的右边都会被平方级的放大,所以我们没有办法用今天的深度学习技术来构造一个模拟好的虚拟环境。

有没有其他的办法?其实是有的,我们把我们的目标换一下以后,能够得到新的结果,这个结果是我们想去学习虚拟环境这件事情做了几十年以后,今天唯一出现的新结果。所以这个结果告诉我们——和以往不同的是它能把平方级误差变成线性的误差,我们今天用这样的技术解决问题,所以这是我们做的第一个能够用通用框架,能从数据里面还原虚拟的场景。

这样的东西可以在什么地方有用?第一个场景,我们把它用在推荐上。这是和淘宝合作的项目,我们将这样的技术用于做推荐。我们做的决策,就是把商品怎么陈列出来,面临的环境是很多用户在买东西。所以要构建一个虚拟环境,就是很多虚拟用户买东西。我们对着虚拟用户,可以不计成本来做推荐,看什么样的推荐工作更好。这样的工作做完了以后,在虚拟环境下,对着虚拟用户,我们提高了4%的销量。但是对着真实用户呢?我们做了线上实验,可以提高2%的销量。

第二个场景,和滴滴出行合作,对司机要做程序定制。我们的环境就是有司机,所以我们怎么把司机虚拟出来?我们用数据方法虚拟出来,定制了很多不同程序给它,看什么样的规划对司机来说是最好的。我们在数据下的验证,我们在虚拟司机上可以提升13%的完单量,在实际城市验证上提升11%点多的完单量以及8%以上的司机收入。

第三个场景,物流场景。物流场景下,我们通常人工设计物流场景怎么运转,但由于这里面需要有工人捡获,所以工人行为很难被专家规则描述得很清楚。所以我们通过数据,来把工人虚拟出来了。同样的技术,我们用在天猫超市场景下,原有系统发一个订单、我们的系统发了一个订单,我们比了6天,能提升10%以上的效率,也就是说节省了10%以上的时间。

这是闲鱼平台做的demo,闲鱼就是卖二手。如果我们卖二手没有时间砍价,就可以把底价托给机器,这个机器人要做的事情就是有买家来了以后和买家砍价,这里面包括自然语言的处理,当然这不是我们做的,我们只是做砍价决策。砍价决策,要么我不卖,要么就是你降得太低。或者我觉得可以,也可以还一点价,看什么样的成交最好。所以我们在数据验证,能够比人的成交率提升1倍以上。这几个案例,就是我们在真实业务场景下,能够用强化学习显示出来自主做决策的能力。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读