一文读懂强化学习

从一个小故事说起

你还记得小时候学骑自行车吗?

没有人一上来就会骑。刚开始的时候,你歪歪扭扭地扶着车把,脚踩上踏板,车子晃了两下——砰,摔了。膝盖破了皮,疼得龇牙咧嘴。

但你爬起来,又试了一次。这回你发现,身体稍微往左倾的时候,车把往右打一点,好像能稳住。于是你又骑了几米远,然后——又摔了。

就这样摔了无数次之后,突然有一天,你发现自己居然能骑着车满院子跑了。那种感觉特别神奇,你也说不清楚具体是怎么学会的,但就是会了。

这个过程,其实就藏着强化学习最核心的秘密。

那到底啥是强化学习?

咱们先别急着下定义,继续聊骑自行车这事儿。

你想想,学骑车的时候,有没有人给你一本《自行车骑行标准教程》,上面写着左腿发力系数0.7,右手握把角度32度?肯定没有吧。

你是怎么学会的呢?靠的是两样东西:摔跤带来的惩罚,和稳住车子时那种奖励感

摔了,疼,大脑自动记住:刚才那个动作不太对,下次别这么干了。

稳住了,爽,大脑又记住:这个感觉不错,下次还这么来。

一次又一次,你的大脑就在这种试错—反馈—调整的循环里,慢慢摸索出了骑车的诀窍。

强化学习,说白了,就是让机器用同样的方式学东西。

不是给它一堆标准答案让它死记硬背,而是把它扔到一个环境里,让它自己去试。做对了,给点甜头;做错了,给点苦头。然后它就在这个过程中,慢慢变聪明。

和你熟悉的学习有啥不一样?

说到这儿,你可能会想:机器学习不就是教机器学东西吗?这有啥特别的?

别急,咱们对比一下你就明白了。

想象你要教一个小朋友认猫和狗。传统的方式是怎么做的呢?你拿出一堆照片,指着说:这是猫,这是狗,这是猫,这也是狗……反复给他看,看多了他就记住了。这叫监督学习,特点是你得提前准备好所有的标准答案。

但问题来了:如果你要教的不是认图片,而是下围棋呢?

围棋有多少种可能的局面?据说比宇宙中的原子还多。你不可能把每一步的标准答案都写出来教给机器,因为你自己都不知道答案是什么。

这时候,强化学习就派上用场了。

你不用告诉机器每一步该怎么下,你只需要告诉它一件事:赢了有奖励,输了没奖励。然后让它自己去下棋,下个几百万盘、几千万盘。慢慢地,它就能摸索出怎么下才能赢。

你看出区别了吗?

监督学习像是照着答案抄作业,强化学习像是自己琢磨怎么考高分。前者需要有人告诉你对错,后者只需要知道最终结果好不好。

拆解一下:强化学习里都有些啥?

好,现在咱们来拆解一下强化学习这个事儿,看看里面都有些什么零件。

放心,不会很复杂,我还是拿生活中的例子来说。

第一个零件:智能体(Agent)

这就是那个学习者。可以是一个机器人,可以是一个游戏里的角色,也可以是你家那只学握手的狗。在骑自行车的例子里,这个智能体就是你自己。

第二个零件:环境(Environment)

智能体待的那个世界。对于骑车的你来说,环境就是那条路、那辆车、还有地球引力。对于下棋的AI来说,环境就是棋盘和对手。

第三个零件:状态(State)

智能体在某一刻的处境。比如你骑车骑到一半,车子开始往左歪——这就是一个状态。再比如下围棋下到第50手,棋盘上黑白子分布的样子,也是一个状态。

第四个零件:动作(Action)

智能体能做的选择。车子往左歪了,你可以选择把车把往右打,也可以选择用脚撑地,还可以选择放弃治疗直接跳车——这些都是动作。

第五个零件:奖励(Reward)

这是最关键的东西。智能体做了一个动作之后,环境会给它一个反馈。这个反馈可能是正的(奖励),也可能是负的(惩罚)。

你稳住了车子,心里那种耶,我可以的感觉,就是奖励。你摔了个狗啃泥,膝盖火辣辣的疼,就是惩罚。

整个强化学习的核心逻辑,就是智能体通过不断尝试,慢慢搞清楚:在什么状态下,做什么动作,能拿到最多的奖励

生活中到处都是强化学习

其实你仔细想想,强化学习这种模式,咱们每天都在用。

养孩子不就是这样吗?

小朋友吃饭把碗端稳了,你夸一句真棒,他就知道这样做是对的。他把饭撒了一地,你皱个眉头,他就知道下次得小心点。你不可能把如何吃饭的每个细节都教给他,但通过一次次的正向反馈和负向反馈,他就慢慢学会了。

训练宠物也是这个道理。

你让狗狗坐下,它坐了,你给它一块小饼干。它没坐,你就不给。反复几次之后,它就知道坐下这个口令对应的动作是什么了。你又没法跟狗狗用语言解释坐下是什么意思,但通过奖励机制,它就是能学会。

再想想你自己打游戏的过程。

玩一个新游戏,刚开始你根本不知道怎么玩。但你会瞎按几个键,看看有什么反应。打死一个小怪,掉了金币,哦,这样可以;撞上一个陷阱,掉血了,这个地方要躲着走。没人教你,你就是在这种试错中越玩越溜。

说到底,强化学习不是什么高深莫测的概念,它其实是对经验学习这种人类(甚至动物)最本能的学习方式的一种模拟。

那为什么强化学习这么重要?

聊到这儿,你可能会问:既然这个原理这么简单,为什么最近这些年强化学习突然变得这么火?

这就得说到几个让人印象深刻的名场面了。

2016年,谷歌的AlphaGo对战围棋世界冠军李世石,4比1取胜。这场比赛当时轰动全球,因为围棋一直被认为是人类智慧的巅峰游戏,规则看似简单,变化却无穷无尽。很多人觉得机器要下好围棋,至少还得等个几十年。结果,AlphaGo就这么横空出世了。

而AlphaGo背后的核心技术之一,就是强化学习。

它是怎么变强的呢?简单说,就是自己和自己下棋,下了几千万盘,在赢了加分、输了扣分的反馈中,不断优化自己的下棋策略。没有人类老师手把手教它每一步怎么走,它就是在试错—反馈—调整的循环里,从一个菜鸟变成了超越人类的棋手。

这事儿为什么意义重大?

因为它证明了一件事:对于那些连人类自己都说不清楚怎么做才是最优解的复杂问题,机器可以通过强化学习自己找到答案。

这个能力太厉害了。

你想想看,生活中有多少问题是这种类型的:

  • 开车的时候,在复杂的交通环境下怎么做决策?
  • 在股票市场里,什么时候买入什么时候卖出?
  • 机器人在工厂里,怎么规划路线才能效率最高?
  • 给用户推荐视频,推什么才能让他看得最开心?

这些问题的共同特点是:没有标准答案,只有好和不好的结果。而强化学习,恰恰就是解决这类问题的利器。

强化学习的难处:不是那么容易的

当然了,强化学习听起来很美,但实际操作起来,有不少坑。

第一个难题:奖励怎么设计?

你可能觉得这不是很简单吗?赢了给奖励,输了给惩罚呗。

但实际上,奖励设计是一门艺术。

举个例子,你想训练一个机器人去房间里找东西。你设计的奖励是找到东西给10分。结果你发现,机器人在房间里转了半天,什么也不干。为啥?因为它还没摸清楚怎么才能找到东西,而且乱动可能会撞墙扣分,干脆不动最安全。

你得想办法给它一些中间奖励,比如靠近目标加1分,这样它才有动力往前探索。但这个中间奖励设计不好,又可能把机器人带偏。

所以说,怎么设计奖励让机器人真的往你想要的方向学习,是个技术活。

第二个难题:探索和利用的矛盾。

这个说起来有点绕,我举个接地气的例子。

假设你来到一个新城市,想找好吃的。你发现一家店味道还不错,那你接下来该怎么办?

如果你每天都去这家店吃,确实能保证不踩雷,但你可能错过更好吃的店。这叫利用——用你已有的经验。

如果你每天换一家新店尝试,可能会发现宝藏,但也可能踩雷踩到怀疑人生。这叫探索——去尝试你不了解的东西。

强化学习也面临同样的问题。智能体是应该坚持用已经知道的还不错的策略,还是冒险尝试新的动作,看看有没有更好的可能?

这个平衡很难把握。太保守了,可能学不到最优解;太激进了,可能一直在瞎试,浪费时间。

第三个难题:有些奖励来得太慢了。

还是拿下围棋来说。你下一步棋,要到很多步之后才知道这步棋是好是坏。甚至要到整盘棋结束,才知道最终是赢是输。

这种延迟奖励对强化学习来说是个大麻烦。因为智能体很难搞清楚,最后的输赢到底是因为哪一步走得好或者走得臭。这叫信用分配问题,是强化学习里一个很头疼的事情。

强化学习现在能干啥?

虽然有这些难题,但强化学习这些年已经在很多领域大显身手了。

游戏领域就不用说了,除了围棋,星际争霸、Dota2这些复杂的即时战略游戏,AI也已经能打赢职业选手了。

自动驾驶领域,强化学习帮助汽车学会在复杂的路况下做决策:什么时候加速、什么时候刹车、什么时候变道。

机器人控制方面,强化学习让机器人学会了走路、跳跃、翻跟头这些复杂动作,而不需要工程师去设计每一个关节该怎么转。

推荐系统里,强化学习帮助平台学会怎么给你推视频、推商品,让你看得更爽、买得更多。

甚至在科学研究中,强化学习也开始发挥作用。比如控制核聚变反应堆里的等离子体,这是人类专家都很难搞定的问题,但强化学习算法居然学会了怎么做。

说到最后

好了,说了这么多,咱们来简单总结一下。

强化学习,本质上就是让机器像小孩子一样,通过试错—反馈—调整的过程来学习。它不需要有人告诉每一步该怎么做,只需要有一个做得好给糖吃、做得不好打屁股的反馈机制,机器就能自己慢慢变聪明。

这种学习方式特别适合那些人类自己都说不清楚怎么做才是最好的复杂问题。

当然,强化学习也有它的难处,比如奖励怎么设计、探索和利用怎么平衡、延迟奖励怎么处理。但随着技术的发展,这些问题正在被一步步攻克。

下次你看到新闻里说什么AI又在某个游戏里碾压人类了,或者机器人又学会了什么高难度动作,你就可以会心一笑:这背后说不定又是强化学习在发威呢。

而如果你再往深处想想,其实我们每个人,每天都在用强化学习的方式生活着——在一次次的选择和反馈中,慢慢学会怎么应对这个世界。

只不过,机器学得更快、更不怕摔而已。

#AI新知#
愿天下没有难改的BUG 文章被收录于专栏

从业十载,一路走来经历坎坷、不顺与阻碍。幸运的是,仍在行业之中。恰逢寒冬,希望能成为一名有温度的技术人,分享所见所闻,讲述职场故事。若这些点滴能如星火照亮你前行的路,便是我与你的难得缘分。

全部评论

相关推荐

评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务