浅谈机器学习系列四:强化学习
客户体验 2019年 04月 26日在探讨了监督式学习和非监督式学习这两大常见类型的机器学习后,我们接下来讨论最后一类,也是最复杂且最实用的一类机器学习:强化学习。
你应该还记得,在监督式学习中,数据科学家提供算法,并配上正确的策略案例(例如物品与类别配对),之后机器学习模型就会学着将其获得的观察数据与数据专家给出的标签关联起来。因此,在监督式学习中,必须提前设定一组标签类数据。
而在强化学习中,算法要自行作出决策,它并不需要依靠历史数据,只需要理解当前场景就足够。通过与当前场景互动,算法所做出的决策的相关性会逐渐增强,就像一个人一步步经历其各个学习阶段不断成长一样。
强化学习中的入门词汇
首先我们来了解一些必备词汇,以便更好地理解强化学习。在本篇文章中,我们将谈及主体、动作、状态、奖励、转换、策略、环境和遗憾值。我们将利用众人熟知的游戏“超级马里奥”来解释以上词汇(见下方示意图)。
- 主体就是做出决策并采取行动的一方。拿游戏中的马里奥举例。
- 他的各个决策可被称为动作。这些动作都是预先设定的,例如:向右、向左、跳跃、俯身等等。
- 状态就是主体在某个时刻进化成长的情境,例如:主体前方有一个坑,或头顶有一块障碍物,或者有一只怪兽挡道。
- 在实施每个动作时,主体会通过改变环境来影响下一个状态。例如,如果主体向右或向左,下一个状态就会发生改变。然而,下一个状态也并非总是可预测的:可能会发生各种意想不到的状况,如一只怪兽可能会突然出现在马里奥前进的道路上,这完全取决于状态转移的概率。
- 策略就是主体为了选择恰当的动作针对所处环境而采纳的策略。从数学角度来讲,策略就是一个与动作相关联的函数,所关联的动作就是为了应对特定状态下需实施的动作。
- 主体在特定的状态下选择一个动作,就会得到一份奖励。奖励是一个量化目标,随着时间的推移主体力求优化这一目标。在“超级马里奥”的实例中,奖励关乎的就是马里奥在游戏中保持活命、死亡或赢得一枚硬币(注意“奖励”的隐含意思,它代表的结果可以是正向也可以是负面的!)
- 以上元素一起界定主体运行的环境。在实验的开始阶段,主体仅知道当前状态和在环境内可以实施的动作。主体并不知道奖励或转移,因此也不知道该如何达成目标。所以,主体必须在每一个状态下探索或者说尝试不同的动作,因为所获得的奖励每次可能都大不相同。我们称其为概率环境。需要注意的是,不要让机器随机探索,否则可能延长机器理解环境所耗费的时间。
- 最后,为了评估强化学习算法的表现,我们可以测量遗憾值:遗憾值就是主体获得的奖励平均值和主体至始至终以最优的方式行动可获得的奖励值之间的差值。如果差值较小,则意味着主体花费在学习上的时间较少,那么算法的效率也就较高。
现在,轮到你施展拳脚了!
强化学习是机器学习的一种,广泛运用于游戏人工智能的开发。你可能比较熟悉以下这个案例:由 Google DeepMind 开发的 AlphaGo Zero 围棋软件解决方案能打败全球排名第一的围棋选手。其第一版算法尝试分析业余选手和职业选手对决的真实棋局,期望复制人类行为,这其实是监督式学习。而在其最终版算法中,DeepMind 采用了单一强化学习模式,训练模型和自己对决!
从实例中可见,强化学习也已经用于研究如何通关“超级马里奥”。为实现通关这一目标,首先要完成的人力操作,从而定义各个状态。因此,为了能够总结某个状态,再将这一状态反馈到电脑中,我们有必要深入了解游戏。
例如,我们可以将马里奥周围的可视环境划分为像素块(比如每十个像素划分为一块),并关注每个方块中的内容(怪兽、房间、坑洞等)。我们还需要定义动作,简单来讲,就是划分上下左右不同动作。最后,我们需要给奖励赋值,例如:某个动作杀死了马里奥,减1000分;什么也没发生,不加分也不减分;马里奥杀死一只怪兽,加10分;马里奥成功捡起一块积木,加100分;顺利通关,加10000分。接下来就是让马里奥进入游戏并学习。开动起来吧!
强化学习在市场营销中能发挥什么作用?
强化学习在市场营销中的运用是无穷无尽的,但是由于具体实施起来还有相当的复杂性,所以相关模型尚未得到广泛使用。
例如,我们可以在某一电商网站上使用强化学习,搜索每件产品的最优价格,从而提高销售业绩。在这一案例中,模型的状态就是一年中的具体某一天以及的过往销售记录和可出货的产品库存量;动作则是可上调或下调价格;销售成交的数量则是奖励。调整价格,即可改变销售成交数量(奖励),库存量也会随之改变,也就是第二天的状态会随之改变。因此,在第二天选择价格的时候,新的状态是不确定的,因为我们并不知道确切的成交量是多少(我们称其为概率状态)。
在电商领域,也同样可以通过优化网页上的产品订购而改善销售。的确,在产品目录中,某一个产品的表现并不一定能反应其受欢迎的程度,因为其在网页上被投放的位置易受人为倾向的影响。现实中,置于网页顶端的产品更容易被顾客看到,因此也更容易被购买。在此情境下,可以利用算法将产品的实际表现及其置放位置所产生的影响甄别出来。通过测试多个置放点(状态)所产生的效果,强化学习就可以计算出最优序列。当然,这一最优序列也是随着产品(及其可出货的数量)每天的改变而不断变化的!
强化学习和推荐方案:我们的算法在 NeurIPS 大会上得以展示
55 数据公司、Criteo 以及 Facebook 都开发了强化学习算法,并且都在最近举行的 NeurIPS(神经信息处理系统)大会上发布了自己的算法。这一算法使我们可以根据用户过往在某一激活方案(例如,某一推荐算法)中展示的次数了解这一营销激活方案的业绩变化。以下列举两个实例具体阐释。
实例一:假使一家视频点播(VoD)平台想知道在某一给定时刻应该为用户推荐哪一类型的影片(动作片、爱情片、喜剧片、惊悚片等等)。如果用户在过去的一个月看过十部或者仅一部动作片,即使他们对动作片的喜爱程度保持不变,其观看动作片的期望也并非是一成不变的。因此,该平台拟定的强化学习算法必须有能力预测用户的疲劳程度,以便根据用户过往的浏览记录为其推荐其他类型的影片。如此一来,就可以将推荐给用户的影片更加多样化。
实例二:在一家电商网站上,您选择将“促销”板块置于网页的右边,经常访问该网站的用户会逐渐习惯这一置放策略,慢慢地就不再关注促销了。为了解决这一问题,强化学习算法可以在一段时间后将促销板块移到网页左边,以期持续获得用户的关注,借此即可预测用户疲劳程度。而我们开发的算法则可以测量这一变化过程,目的就是为了丰富用户的认知,并在各种可能性之间轮番调换,进而充分提高用户的长期参与度。
想要了解更多?
点击此处链接阅读 Romain Warlop, Alessandro Lazaric(Facebook人工智能研究专家)和 Jérémie Mary(Criteo 研究专家)联合发表的相关文章。
总而言之,我们应当谨记,任何一个动作都可能会影响未来的环境,并导致不客观的分析结果。有了强化学习,就可以让算法“自学”,与环境互动,并观察在特定环境中发生的一切。这一类型的机器学习也最为接近人类学习:儿童其实就是这样学习的,比如儿童会尝试将各种几何形状的物体放入形状相符的坑洞里。最后,监督式学习只是寻求最佳动作,以便在某一特定时刻实施这一动作,相较而言,强化学习则力求优化长期表现,所以有时候,强化学习也会迫使算法“以退为进”,以期达成更好的结果。
感谢各位阅读本系列文章,现在的你对机器学习可是说是了如指掌啦! 🙂