一文读懂监督学习、无监督学习、半监督学习、强化学习四种方式
青烟王国
图:pixabay
「机器人圈」导览:一般说来,训练深度学习网络的方式主要有四种:监督、无监督、半监督和强化学习。在接下来的文章中,机器人圈将逐个解释这些方法背后所蕴含的理论知识。除此之外,机器人圈将分享文献中经常碰到的术语,并提供与数学相关的更多资源。本文编译自硅谷著名的风险投资机构安德森霍洛维茨基金,作者是Frank Chen。有关数学相关问题,请参阅这个斯坦福大学的教程,其中包含监督和无监督学习,内含代码示例。
监督学习(Supervised Learning)
监督学习是使用已知正确答案的示例来训练网络的。想象一下,我们可以训练一个网络,让其从照片库中(其中包含你父母的照片)识别出你父母的照片。以下就是我们在这个假设场景中所要采取的步骤。
步骤1:数据集的创建和分类
首先,我们要浏览你的照片(数据集),确定所有有你父母的照片,并对其进行标注,从而开始此过程。然后我们将把整堆照片分成两堆。我们将使用第一堆来训练网络(训练数据),而通过第二堆来查看模型在选择我们父母照片操作上的准确程度(验证数据)。
等到数据集准备就绪后,我们就会将照片提供给模型。在数学上,我们的目标就是在深度网络中找到一个函数,这个函数的输入是一张照片,而当你的父母不在照片中时,其输出为0,否则输出为1。
此步骤通常称为分类任务(categorization task)。在这种情况下,我们进行的通常是一个结果为yes or no的训练,但事实是,监督学习也可以用于输出一组值,而不仅仅是0或1。例如,我们可以训练一个网络,用它来输出一个人偿还信用卡贷款的概率,那么在这种情况下,输出值就是0到100之间的任意值。这些任务我们称之为回归。
步骤2:训练
为了继续该过程,模型可通过以下规则(激活函数)对每张照片进行预测,从而决定是否点亮工作中的特定节点。这个模型每次从左到右在一个层上操作——现在我们将更复杂的网络忽略掉。当网络为网络中的每个节点计算好这一点后,我们将到达亮起(或未亮起)的最右边的节点(输出节点)。
既然我们已经知道有你父母的照片是哪些图片,那么我们就可以告诉模型它的预测是对还是错。然后我们会将这些信息反馈(feed back)给网络。
该算法使用的这种反馈,就是一个量化“真实答案与模型预测有多少偏差”的函数的结果。这个函数被称为成本函数(cost function),也称为目标函数(objective function),效用函数(utility function)或适应度函数(fitness function)。然后,该函数的结果用于修改一个称为反向传播(backpropagation)过程中节点之间的连接强度和偏差,因为信息从结果节点“向后”传播。
我们会为每个图片都重复一遍此操作,而在每种情况下,算法都在尽量最小化成本函数。
其实,我们有多种数学技术可以用来验证这个模型是正确还是错误的,但我们常用的是一个非常常见的方法,我们称之为梯度下降(gradient descent)。Algobeans上有一个 “门外汉”理论可以很好地解释它是如何工作的。迈克尔尼尔森(Michael Nielsen)用数学知识完善了这个方法,其中包括微积分和线性代数。
步骤3:验证
一旦我们处理了第一个堆栈中的所有照片,我们就应该准备去测试该模型。我们应充分利用好第二堆照片,并使用它们来验证训练有素的模型是否可以准确地挑选出含有你父母在内的照片。
我们通常会通过调整和模型相关的各种事物(超参数)来重复步骤2和3,诸如里面有多少个节点,有多少层,哪些数学函数用于决定节点是否亮起,如何在反向传播阶段积极有效地训练权值,等等。而你可以通过浏览Quora上的相关介绍来理解这一点,它会给你一个很好的解释。
步骤4:使用
最后,一旦你有了一个准确的模型,你就可以将该模型部署到你的应用程序中。你可以将模型定义为API调用,例如ParentsInPicture(photo),并且你可以从软件中调用该方法,从而导致模型进行推理并给出相应的结果。
稍后我们将详细介绍一下这个确切的过程,编写一个识别名片的iPhone应用程序。
得到一个标注好的数据集可能会很难(也就是很昂贵),所以你需要确保预测的价值能够证明获得标记数据的成本是值得的,并且我们首先要对模型进行训练。例如,获得可能患有癌症的人的标签X射线是非常昂贵的,但是获得产生少量假阳性和少量假阴性的准确模型的值,这种可能性显然是非常高的。
无监督学习(Unsupervised Learning)
无监督学习适用于你具有数据集但无标签的情况。无监督学习采用输入集,并尝试查找数据中的模式。比如,将其组织成群(聚类)或查找异常值(异常检测)。例如:
想像一下,如果你是一个T恤制造商,拥有一堆人的身体测量值。那么你可能就会想要有一个聚类算法,以便将这些测量组合成一组集群,从而决定你生产的XS,S,M,L和XL号衬衫该有多大。
如果你是一家安全初创企业的首席技术官(CTO),你希望找出计算机之间网络连接历史中的异常:网络流量看起来不正常,这可能会帮助你通过下载员工们的所有CRM历史记录来找到那名该为此事负责的员工,因为他们可能即将退出或有人正在将异常大量的钱转移到一个新的银行账户。如果你对这种事情感兴趣的话,那么我相信你会很喜欢这种对无监督异常检测算法的调查。
假设一下,你是Google Brain团队中的一员,你想知道YouTube视频中有什么。 谷歌通过人工智能在视频网站中找到猫的真实故事,唤起了大众对AI的热忱。在诸如这篇论文中,Google Brain团队与斯坦福大学研究人员Quoc Le和吴恩达一起描述了一种将YouTube视频分为多种类别的算法,其中一种包含了猫的类别。当然他们并没有真正开始寻找猫,但算法自动将包含猫的视频(以及ImageNet中定义的22000个对象类别中的数千个其他对象)组合在一起,而不需要任何明确的训练数据。
你将在文献中阅读到的一些无监督的学习技术包括:
自编码(Autoencoding)
主成分分析(Principal components analysis)
随机森林(Random forests)
K均值聚类(K-means clustering)
如果你想要了解有关无监督学习的更多信息,可以观看Udacity的课程。
无监督学习中最有前景的最新发展之一是Ian Goodfellow(当时在Yoshua Bengio的实验室工作时提出)的一个想法,称为“生成对抗网络(generative adversarial networks)”,其中我们将两个神经网络相互联系:一个网络,我们称之为生成器,负责生成旨在尝试欺骗另一个网络的数据,而这个网络,我们称为鉴别器。这种方法实现了一些令人惊奇的结果,例如可以从文本字符串或手绘草图生成如照片版逼真图片的AI技术。
半监督学习(Semi-supervised Learning)
半监督学习在训练阶段结合了大量未标记的数据和少量标签数据。与使用所有标签数据的模型相比,使用训练集的训练模型在训练时可以更为准确,而且训练成本更低。举个例子来说明,我们的朋友Delip Rao在AI咨询公司Joostware工作,他构建了一个使用半监督学习的解决方案,每个类中只需使用30个标签,就可以达到与使用监督学习训练的模型相同的准确度,而在这个监督学习模型中,每个类中需要1360个左右的标签。因此,这个半监督学习方案使得他们的客户能够非常快地将其预测功能从20个类别扩展到110个类别。
为什么使用未标记数据有时可以帮助模型更准确,关于这一点的体会就是:即使你不知道答案,但你也可以通过学习来知晓,有关可能的值是多少以及特定值出现的频率。
数学爱好者的福利:如果你对半监督学习很感兴趣的话,可以来阅读这个朱小津教授的幻灯片教程和2008年回顾的文献随笔文章。
强化学习(Reinforcement Learning)
强化学习是针对你再次没有标注数据集的情况而言的,但你还是有办法来区分是否越来越接近目标(回报函数(reward function))。经典的儿童游戏——“hotter or colder”。(Huckle Buckle Beanstalk的一个变体)是这个概念的一个很好的例证。你的任务是找到一个隐藏的目标物件,然后你的朋友会喊出你是否越来越hotter(更接近)或colder(远离)目标物件。“Hotter/colder”就是回报函数,而算法的目标就是最大化回报函数。你可以把回报函数当做是一种延迟和稀疏的标签数据形式:而不是在每个数据点中获得特定的“right/wrong”答案,你会得到一个延迟的反应,而它只会提示你是否在朝着目标方向前进。
DeepMind在Nature上发表了一篇文章,描述了一个将强化学习与深度学习结合起来的系统,该系统学会该如何去玩一套Atari视频游戏,一些取得了巨大成功(如Breakout),而另一些就没那么幸运了(如Montezuma’s Revenge(蒙特祖玛的复仇))。
Nervana团队(现在在英特尔)发表了一个很好的解惑性博客文章,对这些技术进行了详细介绍,大家有兴趣可以阅读一番。
Russell Kaplan,Christopher Sauer和Alexander Sosa举办的一个非常有创意的斯坦福学生项目说明了强化学习的挑战之一,并提出了一个聪明的解决方案。正如你在DeepMind论文中看到的那样,算法未能学习如何去玩Montezuma’s Revenge。其原因是什么呢?正如斯坦福大学生所描述的那样,“在稀缺回报函数的环境中,强化学习agent仍然在努力学习”。当你没有得到足够的“hotter”或者“colder”的提示时,你是很难找到隐藏的“钥匙”的。斯坦福大学的学生基础性地教导系统去了解和回应自然语言提示,例如“climb down the ladder”或“get the key”,从而使该系统成为OpenAI gym中的最高评分算法。可以点击算法视频观看算法演示。
观看这个关于强化学习的算法,好好学习,然后像一个大boss一样去玩超级马里奥吧。
理查德萨顿和安德鲁巴托写了关于强化学习的书。你也可以点击查看第二版草稿。
Yan Lecun 自监督学习:机器能像人一样学习吗? 110页PPT+视频
104
【导读】10月5日,瑞士洛桑理工授予Facebook首席AI科学家Yan Lecun荣誉博士学位,同时Yan Lecun做了名为《Self-supervisedlearning: could machines learn like humans?》的报告。
LeCun 表示人工智能革命的未来不会是有监督学习,也不会是单纯的强化学习,而是需要学习一个具备常识推理与预测能力的世界模型。LeCun 认为自监督学习是实现这一目标的一个潜在研究方向。他认可现有的有监督学习和强化学习技术可以使人类在自动驾驶、医疗诊断、机器翻译、客服机器人、信息检索等领域中取得不错的进展,但他认为仅仅依靠现有技术,无法实现常识推理、智能个人助理、智能聊天机器人、家庭机器人以及通用人工智能。
在这样的背景下,LeCun 认为自监督学习是有望突破有监督学习与强化学习现状、学习世界模型的一个潜在研究方向。自监督学习将输入和输出当成一个完整的整体,它通过挖掘输入数据本身提供的弱标注信息,基于输入数据的某些部分预测其它部分。在达到预测目标的过程中,模型可以学习到数据本身的语义特征表示,这些特征表示可以进一步被用于其他任务当中。当前自监督学习的发展主要体现在视频、图像处理领域。例如,在空间层面上包括图像补全、图像语义分割、灰度图像着色等,在时间层面上包括视频帧预测、自动驾驶等。
Yan Lecun在报告中指出自监督学习(Self-supervised learning)可以作为强化学习的一种潜在解决方案,因为自监督学习将输入和输出都当成完整系统的一部分,使得它在诸如图像补全,图像迁移,时间序列预测等任务上都非常有效。此外自监督模型的复杂度随着额外反馈信息的加入而增加,可以在很大程度上减少计算过程中人为的干预。
深度学习方法在计算机视觉领域所取得的巨大成功,要归功于大型训练数据集的支持。这些带丰富标注信息的数据集,能够帮助网络学习到可区别性的视觉特征。然而,收集并标注这样的数据集通常需要庞大的人力成本,而所标注的信息也具有一定的局限性。作为替代,使用完全自监督方式学习并设计辅助任务来学习视觉特征的方式,已逐渐成为计算机视觉社区的热点研究方向。
简言之,自监督学习是一种特殊目的的无监督学习。不同于传统的AutoEncoder等方法,仅仅以重构输入为目的,而是希望通过surrogate task学习到和高层语义信息相关联的特征。
请关注专知公众号(扫一扫最下面专知二维码,或者点击上方蓝色专知)
- 后台回复“SSL” 就可以获取全文报告 PPT下载链接~
参考文献:
1. The Presentation given by Yann LeCun in theOpening of IJCAI 2018: We Need a World Model
http://ir.hit.edu.cn/~zyli/papers/lecun_ijcai18.pdf
2. 自监督学习近期进展
https://zhuanlan.zhihu.com/p/30265894
3. 报告链接:
https://memento.epfl.ch/event/self-supervised-learning-could-machines-learn-like/
报告视频
个人主页:
http://yann.lecun.com
报告PPT
原文发布于微信公众号 - 专知(Quan_Zhuanzhi)
原文发表时间:2018-10-09
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享
Yan LeCun推荐:无监督学习新算法之“自监督预测算法”!
全球人工智能:专注为AI开发者提供全球最新的AI技术动态和社群交流用户来源包括:北大,清华,中科院,复旦,麻省理工,卡内基梅隆,斯坦福,哈佛,牛津,剑桥等世界名校的AI技术硕士,博士和教授;以及谷歌,腾讯,百度,脸谱,微软,华为,阿里,海康威视,滴滴,英伟达等全球名企的AI开发者和AI科学家。
文章来源:twitter arxiv 编译:李俊
昨天,Yan LeCun老师在twitter上推荐了一篇UC Berkeley发表的论文:
Curiosity-driven Exploration by Self-supervised Prediction。
无监督学习一直被认为是让人工智能在真实世界中有效工作的研究方向,以前大多数研究都会在训练时为人工智能加入奖励机制以明确目标。最近UC Berkeley发表的论文提出了一种更为先进的方式:被称为「好奇心驱动」的人工智能算法不需要奖励机制就能学会如何进行《超级马里奥兄弟》和《Doom》两种游戏,并能达到超越以前方法的表现。目前该论文已被 ICML 2017 大会接收。
Curiosity-driven Exploration by Self-supervised Prediction
在很多现实世界场景里,对于外部人工智能代理(agent)完成任务的奖励是稀疏的,有时甚至完全不存在。在这种情况下,好奇心可以成为人工智能算法内在的回报信号,代理可以探索环境并学习可能「终身受用」的技能。我们将好奇心构型作为人工智能代理在动态环境中自我监督学习时预测自身行动结果造成的错误。这种方法适用于图像这样的高维连续状态空间,跳过直接预测图像困难的问题,也大量忽略了不能影响代理的环境情况。这种方法在两种环境中进行了评估:VizDoom(基于视频游戏《Doom》的人工智能研究平台)和《超级马里奥兄弟》。评估研究三个方面:1. 稀疏的外部奖励,这样好奇心将在达到目标的过程中占据重要位置;2. 没有外部奖励的探索,在这种情况下好奇心会推动代理进行更有效的探索;3. 全新的环境(如游戏新关卡),在这种情况下此前获得的经验可以帮助机器快速上手。
图 1.UC Berkeley 的研究人员提出了内部好奇心构型
好奇心可以帮助人工智能代理在缺乏奖励的情况下探索环境。研究人员提出的内在模型(ICM)是与代理策略共同学习的,甚至不需要任何环境中的奖励。
图 3. 在 VizDoom 的 3D 环境中获得的输入:(a)常规 3D 导航情形;(b)在输入中加入噪音。
图 4. VizDoom 的 3D 环境地图
图 4 :(a)对于泛化实验,地图中的环境只进行了无环境奖励的好奇心预训练。S 点代表起始点。(b)在 VizDoom 中的测试地图,绿星表示目标位置,蓝点表示代理在「密集」奖励例子中生成的 17 个地点。Room 13 和 17 是代理在「稀疏」和「非常稀疏」例子中起始的位置。注意:测试和训练地图的条件有所不同。
图 5. 以无好奇心机制的 A3C 人工智能代理(蓝线)作为基准,对比有图像空间好奇心 ICM 的代理(绿色)和 A3C+ICM 代理(橙色)。
该项任务难度从左向右逐渐增加,初始点和目标位置越来越远,探索也变得越来越困难:「密集」、「稀疏」到「非常稀疏」奖励。结果表明,对于 A3C 而言,后两个任务探索难度很高,而有好奇心的 A3C 能在所有情况下获得很好的表现;完全基于好奇心的方法在前两个任务中能够完成任务,而在「非常稀疏」条件下却是以失败告终。
图 7. 图中显示了在探索环境中人工智能代理的运行方式。红色箭头表示代理的起始点和方向。每个代理在 2100 步以内探索过的房间都被涂了颜色。前三个结果(绿色)是代理在只有内部好奇心驱动的情况下的完成情况。后两个则是随机探索的结果。结果表明,受好奇心内部奖励驱动的探索可以发现更多房间。
UC Berkeley 的研究提出了一种生成好奇心驱动内部奖励信号的机制,并将其拓展到了高维的图像输入任务中。实验中,这种新方法明显优于此前的 A3C 基准。在没有任何外部奖励的环境中,新的人工智能代理可以学会沿着走廊和房间移动的探索行为。在超级马里奥 Level-1 中,代理在无奖励的情况下完成了超过 30% 的进度。无法超过 38% 的原因之一是遇到一个坑,需要 15-20 个特定顺序按键操作才能通过,如果人工智能代理不按照这个操作进行,它将落入坑中,无法获得更多的环境信息。因此,它不会收到任何有关之后内容的梯度信息。
因此,未来的一个方向是让人工智能将学习到的探索行为/技能作为原始行动/低级策略在更为复杂的分层系统中使用。例如让 VizDoom 中的代理学会沿着走廊移动,而不是不断撞墙,这或许可以为机器人导航任务带来更多启发。
论文链接:https://arxiv.org/abs/1705.05363
展示页:https://pathak22.github.io/noreward-rl/
代码 GitHub:https://github.com/pathak22/noreward-rl