0
本文作者: 大壮旅 | 2017-03-15 14:41 |
一直以来,计算机程序都是个“左耳进,右耳出”的“傻小子”,它们很快就会忘掉所做过的任务。DeepMind 决定改变传统的学习法则,让程序在学习新任务时也不忘掉旧任务。在追逐更智能程序的道路上,这是很重要的一步,能渐进学习的程序才能适应更多任务。
眼下,在解决文本翻译、图像分类和图像生成等任务时,深度神经网络是机器学习中最成功最有效的方式。不过,只有将数据一股脑地塞给它,深度神经网络才能变得“多才多艺”。
神经网络输入时,它会在数字神经元与输出方案之间建立联系,而当它学习新事物时,神经网络不得不重新建立新的联系,同时有效覆盖旧的联系。这样的情况被称之为“灾难性忘却”(catastrophic forgetting),业内普遍认为这是阻碍神经网络技术不断进步的最大绊脚石。
与深度神经网络相比,人类大脑的工作方式就大不相同。我们可以渐进式的学习,一次掌握一些技巧,在学习新技巧时,此前的经验还能提高我们的学习效率。
雷锋网了解到,DeepMind 在美国国家科学院院刊(PNAS)上发表的论文就提出了一个解决“灾难性忘却”的有效方式,这一方法的灵感来自神经科学的研究成果,即人类和哺乳动物拥有巩固先前获得的技能和记忆的能力。
神经科学家已经能区分大脑中两种类型的巩固方式:系统巩固(systems consolidation )与突触巩固(synaptic consolidation)。系统巩固的过程中,人类大脑将快速学习部分获得的记忆转印进了缓慢学习的部分。这一转印过程有有意识的回忆参与,也有无意识回忆的参与,人类做梦时就能完成这一转印过程。而在突触巩固中,如果一种技能在此前的学习中非常重要,神经元之间连接就不会被覆盖。DeepMind 的算法就是沾了突触巩固的光,成功解决了“灾难性忘却”的问题。
神经网络中神经元的连接与大脑非常相似,在学习完一个技巧后,DeepMind 会计算出在神经网络中的哪个连接对已学到的任务最为重要。随后在学习新技巧时,这些重要的连接就会被保护起来不被覆盖。这样一来,在计算成本没有显著升高的情况下,“左耳进,右耳出”的问题就解决了。
如果用数学术语来解释,可理解为在一个新任务中把每个连接所附加的保护比作弹簧,弹簧的强度与其连接的重要性成比例。因此,DeepMind 将这种算法称之为“弹性权重巩固”(Elastic Weight Consolidation,EWC)。
为了测试该算法,DeepMind 让程序不断尝试玩 Atari 游戏。据雷锋网了解,单单从得分来学习一个游戏是一项具有挑战性的任务,但是依次学习多个游戏则更加困难,因为每个游戏需要单独的战略。如下图所示,如果没有 EWC 算法,程序会在游戏停止后快速将之前的事忘得一干二净(蓝色),这就意味着其实程序什么游戏都没学会。不过,如果用上 EWC 算法(棕色和红色),程序就不那么容易遗忘,且可以逐个学会多个游戏。
眼下计算机程序还不能适应即时学习的节奏,不过 DeepMind 的新算法已经攻克了“灾难性忘却”这座大山。未来,这项研究结果可能是计算机程序通往灵活高效学习的敲门砖。
同时,这项研究也深化了 DeepMind 对“巩固”在人类大脑中产生过程的理解。事实上,该算法所基于的神经科学理论都是在非常简单的例子中得到证实的。通过将该理论应用在更现实和复杂的机器学习环境中,DeepMind 希望进一步加强对突触巩固在记忆保存中的作用及其机制的研究。
Via. DeepMind.com,雷锋网编译
雷峰网版权文章,未经授权禁止转载。详情见转载须知。