上一期,我们为你介绍了MasterGo中的蒙特卡洛算法,这一期,我们将为你介绍什么是强化学习。
请点击此处输入图片描述
什么是强化学习?
强化学习(Reinforcement Learning)是解决决策问题的机器学习方式,它的本质就是让人工智能学会自动进行决策。
打一个形象的比方,你可以把强化学习理解成为找女朋友的过程。如果你喜欢一个女孩儿,你会时刻想着通过什么方式和采取什么行动可以赢得她的芳心。
在强化学习中,有状态、行为、奖励三大要素,可以通俗地理解为分别对应追女孩过程中的在什么时间地点,通过做什么事情,让她开心愉悦或郁闷烦恼。即通过尝试不同状态和行为的排列组合,得到不同的奖励,经过优化之后得到最佳奖励(追到妹子)的过程,就是强化学习。
这是一个通过试错学习的方法来决策的过程,就像你第一次追女孩,缺乏经验,犯了不少禁忌(例如在女孩面前炫耀甩过多少前女友),让女孩恼羞成怒和你分手。到下一次追女孩时你就转变套路,不断试错最终找到最优化的方法,追到心仪的女神。
所以,用强化学习撩妹的例子确实能够说明一个道理:只要套路深,铁杵磨成绣花针。
请点击此处输入图片描述
强化学习和监督学习、无监督学习的区别
我们之前介绍过什么是监督学习和无监督学习,强化学习是介于他们二者之间的交叉产物。
监督学习有一个参照系的,这个参照系会告诉人工智能算法什么样的输入对应着什么样的输出。而强化学习没有参照系告诉它在什么情况下应该做出什么样的行为,只有当人工智能算法做出了一系列行为之后,最终反馈回来“奖励”,才能判断之前选择的行为是好还是坏。
另外,强化学习的结果反馈是延迟的,因为你可能需要做出很多行为之后,才能收集到好或坏的结果反馈(你要做了很多事情之后女孩才会告诉你同意或者不同意),而监督学习只要做了一个动作,立刻就能反馈出相对应的结果。
经典的强化学习实例——Q Learning
在强化学习领域中,有不少知名的算法,比如马尔科夫决策、Q Learning等。下面我们介绍其中一个摘自网络关于Flappy Bird的例子。
请点击此处输入图片描述
Flappy Bird是一款经典的街机游戏,游戏中你需要控制小鸟飞行,不能碰到上方和下方的珠子,碰到即算输,飞行越远得分越高,最后比拼谁是最高分。
Q Learning是强化学习中的一种动作效用函数,如果用它来开发一个自动玩Flappy Bird的人工智能,它的三个要素分别是:
1、状态-上图中小鸟的位置(x和y坐标值)即状态;
2、动作-小鸟的动作分为两种,A.向上飞一下和B.什么都不做;
3、奖励-这个例子中的奖励是当小鸟活着时,每一帧给予1的奖赏;若死亡,则给予-1000的奖赏;若成功经过一个水管,则给予50的奖赏。
Q Learning算法的逻辑,是把上面三个要素当做是一张表,表中的每一行是一个状态,每一列表示一个动作,每个状态所对应的动作都有一个奖励值。智能算法会自动对比同一行中的两个奖励值大小,取奖励值大的作为当前动作。这就是教人工智能怎么样控制小鸟避开障碍物,一直向前飞的过程。如下图。
请点击此处输入图片描述
这就是Q Learning的价值,用于评价在特定状态下采取某个动作的优劣。
小结:
强化学习是解决决策问题的机器学习方式,有状态、行为、奖励三大要素,它的本质是通过试错学习的方法,来让人工智能学会自动进行决策。
预告:
下一次,我们继续为你分享迁移学习才是AI的未来。