我有一只可爱的小狗狗。它叫蛋蛋,很听话但也有些调皮,每当我感到沮丧或失落,它总会有办法让我再度开心,生活就是如此富有弹性。伴随着它一天天长大,我总会教会它新的技能,这种技能可以是一些新的动作,或能听懂你新的指令。回忆起蛋蛋小时候的日子,那时我想教会它蹲下,这个动作花费了很长的时间,主要问题在于它总会把蹲下的指令错误理解为趴下,于是它对于相同的指令,有时会蹲下,有时会趴下。在遇到这样的困难后,我陷入了沉思,思考问题的源头是否并不在于蛋蛋本身,而和我的训练方法有关。
记得我最心急的时候,甚至自己蹲下与趴下做示范,但其实这对蛋蛋理解我的指令并没有什么帮助,而这种直接学习带标签目标属性(也就是我本人)的方式,我们在人工智能机器学习中称为监督学习。
后来我也懒得教了,带着蛋蛋去外面与其他小狗多打交道,因为我期望蛋蛋能看到其他小狗是怎样蹲下的,然后自己默默学会那些动作与指令。但是外面的世界太精彩了,太多类型的主人导致了不统一的指令格式,比如对于蹲下就有中文、英文和“喝”的一声。不过最吸引蛋蛋的并不是那些指令与小狗的动作,而是异性小狗,所以这样的方法似乎不能在短时间内凑效。这样的学习方法在人工智能机器学习中称为非监督学习,即只是把受训对象(也就是蛋蛋)置身于环境中,而不需要告诉它需要学会什么。这样的学习方法并不能让蛋蛋很快学会蹲下这个动作。
最终我还是从朋友那里得到了启示,因为他说奖励对于小动物胜过一切。这句话启发了我,于是我马上开始了奖励训练,每当蛋蛋准确完成了蹲下而不是趴下,我就给予食物的奖励,没过几天就产生了效果。我统计了一周内蛋蛋对蹲下指令完成的准确率,发现竟然达到了 70%。不过我还不满足,因为“蹲下”确实是一项很简单的指令,小狗应该可以每次都很准确地完成。于是我阅读了一些关于学习的书籍,看到了一种长期奖励机制,即更大的奖励应该在长期正确学习后才能给予,这给我下一步的训练提供了很好的思路,此外我还购买了一种更好吃的狗粮,我称为超级狗粮。每当蛋蛋正确完成蹲下指令的动作,仍给予一粒一般狗粮的奖励,如果可以连续5次正确完成蹲下指令的动作,则给予一粒超级狗粮作为奖励。很快蛋蛋就可以如我所愿,正确识别蹲下这个指令了。
重新审视上面蛋蛋的学习过程,它并没有得到与蹲下对应的标签动作的示范,所以它不是按着标签来学习的,即学习过程并不属于监督学习过程。它拥有学会蹲下这个指令适配的环境——生存,一个能够生存的正常小狗,都有机会学会蹲下这样的指令。不过,要想让它很快学会蹲下,不能仅仅依靠环境,还得有人教它,所以这个过程也不属于非监督学习过程。这种既给予环境,让学习者与环境互动,还给予奖励机制,刺激学习者向正确方向前进的学习过程,通常我们在人工智能机器学习中称为强化学习(Reinforcement Learning),这是一种半监督学习过程。
强化学习,是一种源于试错方式,遵循马尔科夫决策过程的机器学习方法。目前强化学习已广泛的出现在人工智能的应用中,国内各互联网公司从 2016 年开始均开始关注强化学习,目前已经公布了许多基于强化学习的研究与应用。当然最出名的还是 DeepMind 当年使用强化学习训练 AI 玩雅利达 2600 游戏的实验,这让 Google 迅速收购了 DeepMind,也把强化学习再度推上人工智能技术顶峰,同时为后来的 AlphaGo, AlphaZero 奠定了技术基础。
如今,强化学习已经出现在自动驾驶、机器人导航与复杂设备操作等应用领域中,越来越多的论文声称使用强化学习技术来代替传统技术,能给 AI 带来更好的学习效果,让 AI 完成更多复杂与灵活的事情,AI 会更接近于人类的思维方式。 这个系列的文章也会逐渐带你深入到强化学习的世界中来,愿你学习开心、收获有价。
关于人工智能更多的学习请关注微信号,