《从机器学习到深度学习》笔记(3)强化学习

简介: 强化学习是对英文Reinforced Learning的中文翻译,它的另一个中文名称是“增强学习”。相对于有监督学习和无监督学习,强化学习是一个相对独特的分支;前两者偏向于对数据的静态分析,后者倾向于在动态环境中寻找合理的行为决策。

强化学习是对英文Reinforced Learning的中文翻译,它的另一个中文名称是“增强学习”。相对于有监督学习和无监督学习,强化学习是一个相对独特的分支;前两者偏向于对数据的静态分析,后者倾向于在动态环境中寻找合理的行为决策。

强化学习的行为主体是一个在某种环境中独立运行的Agent(可以理解为“机器人”), 其可以通过训练获得在该环境中的最佳行为模式。强化学习被看成是最接近人工智能的一个机器学习领域。

思考:为什么说强化学习是最接近人工智能的一个机器学习领域?

1. 五个要素

强化学习的场景由两个对象构成,它们是:

  • 智能代理(Agent):是可以采取一系列行动以达到某种目标的控制器,可以形象的将其理解为机器人大脑。比如自动驾驶的控制器、打败李世石的AlphaGo。
  • 环境(Environment):是Agent所能感知和控制的世界模型。对自动驾驶来说,Environment就是Agent所能感知到的路况和车本身的形式- 能力,对AlphaGo来说,Environment包括棋盘上的每种状态和行棋规则。

这两个对象其实定义了机器人和其所能感知到的世界。而就像人类能在自己的世界中行走、享受阳光,机器人也可以通过三种方式与其所在的环境交互:

  • 状态(State):是任意一个静态时刻Agent能感知到的Environment情况,相当于某一时刻人类五官能感知到的一切。
  • 行为(Action):是Agent能在Environment中执行的行为,对应于人类四肢所能做的所有事。
  • 反馈(Reward):是Agent执行某个/某些Action后获得的结果。Reward可以是正向的或者是负向的,相当于人类感受到的酸甜苦辣。
    以上五种强化学习要素的关系如图1-12所示,它们在一起构建起了强化学习的应用场景。

1_12

图1-12  强化学习场景

另外,在强化学习中Reward有时是延时获得的。即Agent在做出某个Action后不会马上获得Reward,而需要在一系列Action之后才能获得。每个任务最终获的Reward被称为value。比如在围棋环境中,只有结果是胜是败才对之前的所有Action给出最终的value。

延迟获得value的本质分析的是一系列相关行为共同发生的作用,也是强化学习与有监督学习最主要的一个不同点。试想如果每一个Action都可以获得一个相应的Reward,那么Reward就退化成了有监督学习中的label(标签)。

2. 两种场景与算法

具备上述五个要素的强化学习可以用来解决两类问题:

  1. 状态预测问题:用马尔可夫过程估计在任一时刻各种状态发生的可能性,其中蒙特卡洛模拟(Monte Carlo Method)是一类重要方法。
  2. 控制问题:如何控制Agent以获得最大Reward。其算法可以分成两类:
  • 基于策略的学习(Policy-based):基于概率分布学习行为的可能性,根据可能性选择执行的动作,可学习连续值或离散值类型行为。典型算法是Policy Gradients。
  • 基于价值学习(Value-based):直接基于Reward学习行为结果,只能学习离散类型行为,包括算法Q-learning、Sarsa。
    另外,还有个别算法兼具Policy-Based和Value-Based特点,比如Actor-Critic。

不得不承认的是,虽然强化学习是更智能的机器学习分支,但目前产品级应用还比较少,多集中在游戏娱乐和简单工业控制。本书将在第6章介绍隐马尔可夫模型,第7章介绍以马尔可夫收敛定理为基础的蒙特卡洛推理,在第10章详细学习各类强化学习控制问题。

从机器学习,到深度学习

从深度学习,到强化学习

从强化学习,到深度强化学习

从优化模型,到模型的迁移学习

一本书搞定!
d01b2e3c1893d577

相关文章
|
4天前
|
机器学习/深度学习 人工智能 算法
【AI 初识】讨论深度学习和机器学习之间的区别
【5月更文挑战第3天】【AI 初识】讨论深度学习和机器学习之间的区别
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习在图像识别中的应用与挑战探索机器学习中的自然语言处理技术
【4月更文挑战第30天】 随着人工智能技术的飞速发展,深度学习已经成为计算机视觉领域的核心动力。本文将探讨深度学习在图像识别任务中的关键技术、应用实例以及面临的主要挑战。我们将重点讨论卷积神经网络(CNN)的架构优化、数据增强技术以及迁移学习的策略,并通过具体案例分析其在医疗影像、自动驾驶和面部识别等领域的应用成效。同时,我们也将指出当前模型泛化能力不足、对抗性攻击以及算力资源需求等挑战,并提出潜在的解决方向。 【4月更文挑战第30天】 在人工智能领域,自然语言处理(NLP)是赋予机器理解和响应人类语言能力的关键技术。本文将深入探讨NLP的发展历程、核心技术及其在不同领域的应用案例。我们将从
|
7天前
|
机器学习/深度学习 人工智能 算法
【Python 机器学习专栏】强化学习在游戏 AI 中的实践
【4月更文挑战第30天】强化学习在游戏AI中展现巨大潜力,通过与环境交互和奖励信号学习最优策略。适应性强,能自主探索,挖掘出惊人策略。应用包括策略、动作和竞速游戏,如AlphaGo。Python是实现强化学习的常用工具。尽管面临训练时间长和环境复杂性等挑战,但未来强化学习将与其他技术融合,推动游戏AI发展,创造更智能的游戏体验。
|
7天前
|
机器学习/深度学习 传感器 自动驾驶
【Python机器学习专栏】深度学习在自动驾驶中的应用
【4月更文挑战第30天】本文探讨了深度学习在自动驾驶汽车中的应用及其对技术发展的推动。深度学习通过模拟神经网络处理数据,用于环境感知、决策规划和控制执行。在环境感知中,深度学习识别图像和雷达数据;在决策规划上,学习人类驾驶行为;在控制执行上,实现精确的车辆控制。尽管面临数据需求、可解释性和实时性挑战,但通过数据增强、规则集成和硬件加速等方法,深度学习将持续优化自动驾驶性能,并在安全性和可解释性上取得进步。
|
7天前
|
机器学习/深度学习 自然语言处理 PyTorch
【Python 机器学习专栏】自然语言处理中的深度学习应用
【4月更文挑战第30天】本文探讨了深度学习在自然语言处理(NLP)中的应用,包括文本分类、情感分析和机器翻译等任务。深度学习的优势在于自动特征学习、强大的表达能力和处理大规模数据的能力。常见模型如RNN、LSTM、GRU、CNN和注意力机制在NLP中发挥作用。Python的TensorFlow、PyTorch、NLTK和SpaCy等工具支持NLP研究。然而,数据稀缺、模型解释性和计算资源需求高等挑战仍待解决。随着技术进步,未来深度学习将进一步推动NLP发展,实现更智能的语言交互。
|
7天前
|
机器学习/深度学习 算法 算法框架/工具
【Python机器学习专栏】深度学习中的正则化与优化技术
【4月更文挑战第30天】本文探讨了深度学习中的正则化和优化技术,以提升模型的泛化能力和训练效率。正则化包括L1和L2正则化以及Dropout,防止过拟合。优化技术涵盖梯度下降法、动量法和Adam优化器,加速模型收敛。Python示例展示了如何在Keras中应用这些技术,如L2正则化、Dropout及Adam优化器。
|
7天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【Python机器学习专栏】PyTorch在深度学习中的应用
【4月更文挑战第30天】PyTorch是流行的开源深度学习框架,基于动态计算图,易于使用且灵活。它支持张量操作、自动求导、优化器和神经网络模块,适合快速实验和模型训练。PyTorch的优势在于易用性、灵活性、社区支持和高性能(利用GPU加速)。通过Python示例展示了如何构建和训练神经网络。作为一个强大且不断发展的工具,PyTorch适用于各种深度学习任务。
|
7天前
|
机器学习/深度学习 数据可视化 TensorFlow
【Python 机器学习专栏】使用 TensorFlow 构建深度学习模型
【4月更文挑战第30天】本文介绍了如何使用 TensorFlow 构建深度学习模型。TensorFlow 是谷歌的开源深度学习框架,具备强大计算能力和灵活编程接口。构建模型涉及数据准备、模型定义、选择损失函数和优化器、训练、评估及模型保存部署。文中以全连接神经网络为例,展示了从数据预处理到模型训练和评估的完整流程。此外,还提到了 TensorFlow 的自动微分、模型可视化和分布式训练等高级特性。通过本文,读者可掌握 TensorFlow 基本用法,为构建高效深度学习模型打下基础。
|
7天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
7天前
|
机器学习/深度学习 算法 TensorFlow
【Python机器学习专栏】强化学习在Python中的实现
【4月更文挑战第30天】本文介绍了如何在Python中实现强化学习算法,涉及安装gym和tensorflow库,创建CartPole环境。文中定义了一个Agent类,包含策略网络和值函数网络,并提供了训练和测试智能体的函数。通过与环境交互,智能体不断学习优化策略,以达到稳定控制小车的目标。这为理解及应用强化学习奠定了基础。