一. 深度学习及其适用范围css
大数据造就了深度学习,经过大量的数据训练,咱们可以轻易的发现数据的规律,从而实现基于监督学习的数据预测。html
没错,这里要强调的是基于监督学习的,也是迄今为止我在讲完深度学习基础所给出的知识范围。算法
基于卷积神经网络的深度学习(包括CNN、RNN),主要解决的领域是 图像、文本、语音,问题聚焦在 分类、回归。然而这里并无提到推理,显然咱们用以前的这些知识没法造一个 AlphaGo 出来,经过一张图来了解深度学习的问题域:网络
2016年的 NIPS 会议上,吴恩达 给出了一个将来 AI方向的技术发展图,仍是很客观的:学习
毋庸置疑,监督学习是目前成熟度最高的,能够说已经成功商用,而下一个商用的技术 将会是 迁移学习(Transfer Learning),这也是 Andrew 预测将来五年最有可能走向商用的 AI技术。大数据
二. 迁移学习(触类旁通的智能)spa
迁移学习解决的问题是 如何将学习到知识 从一个场景迁移到另外一个场景? htm
拿图像识别来讲,从白天到晚上,从 Bottom View 到 Top View,从冬天到夏天,从识别中国人到 识别外国人……对象
这是一个广泛存在的问题,问题源自于你所关注的场景缺乏足够的数据来完成训练,在这种状况下你须要 经过迁移学习来实现 模型自己的泛化能力。游戏
借用一张示意图(From:A Survey on Transfer Learning)来进行说明:
实际上,你可能在不知不觉中使用到了 迁移学习,好比所用到的预训练模型,在此基础所作的 Fine-Turning,再好比你作 Tracking 所用的 online learning。
迁移学习的必要性和价值体如今:
1. 复用现有知识域数据,已有的大量工做不至于彻底丢弃;
2. 不须要再去花费巨大代价去从新采集和标定庞大的新数据集,也有可能数据根本没法获取;
3. 对于快速出现的新领域,可以快速迁移和应用,体现时效性优点;
关于迁移学习算法 有许多不一样的思路,咱们总结为:
1. 经过 原有数据 和 少许新领域数据混淆训练;
2. 将原训练模型进行分割,保留基础模型(数据)部分做为新领域的迁移基础;
3. 经过三维仿真来获得新的场景图像(OpenAI的Universe平台借助赛车游戏来训练);
4. 借助对抗网络 GAN 进行迁移学习 的方法;
三. 强化学习(反馈,修正)
强化学习全称是 Deep Reinforcement Learning(DRL),其所带来的推理能力 是智能的一个关键特征衡量,真正的让机器有了自我学习、自我思考的能力,毫无疑问Google DeepMind 是该领域的执牛耳者,其发表的 DQN 堪称是该领域的破冰之做(有时间咱们会在后续章节讨论)。
目前强化学习主要用在游戏 AI 领域(有咱们老生常谈的 AlphaGo)和 机器人领域,除此以外,Google宣称经过 强化学习 将数据中心的冷却费用下降了 40%,虽没法考证真伪,但我愿意相信他的价值。
强化学习 是个复杂的命题,Deepmind 大神 David Silver 将其理解为这样一种交叉学科:
实际上,强化学习是一种探索式的学习方法,经过不断 “试错” 来获得改进,不一样于监督学习的地方是 强化学习自己没有 Label,每一步的 Action 以后它没法获得明确的反馈(在这一点上,监督学习每一步都能进行 Label 比对,获得 True or False)。
强化学习是经过如下几个元素来进行组合描述的:
对象(Agent)
也就是咱们的智能主题,好比 AlphaGo。
环境(Environment)
Agent 所处的场景-好比下围棋的棋盘,以及其所对应的状态(State)-好比当前所对应的棋局。
Agent 须要从 Environment 感知来获取反馈(当前局势对我是否更有利)。
动做 (Actions)
在每一个State下,能够采起什么行动,针对每个 Action 分析其影响。
奖励 (Rewards)
执行 Action 以后,获得的奖励或惩罚,Reward 是经过对 环境的观察获得。
经过强化学习,咱们获得的输出就是:Next Action?下一步该怎么走,这就是 AlphaGo 的棋局,你可以想到,对应围棋的 Action 数量吗?
关于强化学习的具体算法,大多从 马尔可夫链 讲起,本节只作普及性说明,后续会考虑对具体算法进行展开。