一文看懂什么是强化学习?(基本概念应用场景主流算法案例)

黄世宇博士前第四范式强化学习科学家

编辑整理|王振甲

内容校对|李瑶

出品社区|DataFun

01

强化学习算法

1.强化学习的目标:通用人工智能

强化学习的目标是打造通用人工智能。这意味着通过智能体与环境的持续交互,利用动作、奖励和观测结果来逐步更新和优化智能体的训练过程。其核心思想是通过最大化环境奖励来实现通用人工智能的目标。这一过程中,智能体不断地从与环境的交互中学习并调整其行为策略,以期望达到更高的智能水平。

2.基础数学模型:马尔可夫决策过程(MDP)

从数学角度看,强化学习被建模为一个马尔可夫决策过程。在这个过程中,智能体(agent)与环境在每个步骤(step)进行交互。智能体执行一个动作(action),环境则返回当前的立即奖励(reward)和下一个状态(state)。这个过程持续进行,形成一个状态-动作-奖励的序列。

在强化学习中,状态是状态集合中的一个元素,动作是动作集合中的一个元素。状态转移假设符合马尔可夫性,即下一个状态的概率仅依赖于当前状态和当前动作。奖励则由当前状态、当前动作以及下一个状态联合决定。

此外,还有一个重要的概念是γ值,它用于平衡即时奖励与未来潜在奖励的重要性。通过调整γ值,可以控制智能体在决策时是更侧重于即时奖励还是未来的长期奖励。

这种建模方式使得强化学习能够在不确定环境中通过试错学习最优策略,逐步提升性能并逼近最优解。

强化学习作为机器学习的一个子类,与监督学习和无监督学习并列。监督学习侧重于分类或拟合回归,而无监督学习则处理无标签的样本。强化学习独具特色,既包含有监督的部分,又着重于优化长期价值。其数据样本的获取遵循在线学习的范式,从而呈现出与众不同的特点。强化学习领域与经济学、心理学、神经科学等多个领域紧密相连,甚至在哲学层面上存在一定的交叉。此外,强化学习与控制论、奖励系统以及运筹学等领域也存在一定的重叠。

强化算法的优化目标可以聚焦于长期奖励或当前步骤的奖励,这涉及到马尔可夫决策过程和多智能体问题。在处理赌博机问题时,可以采用动作-价值方法或基于梯度的赌博机方法。

马尔可夫决策过程可以根据是否使用环境模型分为基于模型和无模型两类。基于模型的算法可以通过学习环境的认知建模,利用状态转移函数和奖励函数来做出最优决策,如使用MuZero和蒙特卡洛搜索等算法。无模型算法可以分为基于价值和基于策略两类强化学习算法。基于价值的强化学习算法仅学习一个价值函数,即估计当前状态下采取动作后的Q值,代表性的算法有DQN。DQN进一步演化出了C51等算法,适用于离散空间,并扩展到连续空间的DDPG算法。DDPG算法采用近似最大化,并衍生出了解决连续空间决策问题的TD3、SAC等算法。

在基于策略的强化学习算法中,可以分为无梯度和有梯度两类。无梯度算法采用进化策略等演化计算类似的算法。有梯度算法则包括TRPO算法、PPO算法等,其中PPO算法在MOBA游戏AI和大语言模型的RLHF训练中得到了广泛应用。

3.强化学习的应用

强化学习的线上应用涵盖了多个领域。在游戏AI方面,强化学习被广泛应用于围棋和星际争霸等游戏中。此外,在工艺控制、金融量化、机器人控制、运筹优化和交通灯调度等方面,强化学习也发挥着重要作用。同时,强化学习还在大模型对齐等任务中展现出其独特的价值。这些应用展示了强化学习在解决实际问题中的广泛适用性和重要性。

02

强化学习经典算法—DQN算法

在强化学习领域,DQN算法是一种广受欢迎的经典方法,它基于价值函数进行学习。

1.强化学习:基于样本的Q值迭代

与Q-learning类似,DQN致力于估计在给定状态下执行某个动作的长期回报。为实现这一目标,DQN利用贝尔曼方程来构建一个目标值,该目标值由当前状态的即时奖励和从下一个状态到序列结束的最大可能价值组成。在此过程中,DQN采用max算子来选择下一个状态中具有最大Q值的动作。一旦确定了目标值,DQN会采用软更新的方式来逐步调整其Q值估计。其中,学习率α扮演着至关重要的角色,它控制着更新的步长。值得一提的是,DQN算法在理论上具有一定的收敛性保证。具体来说,当所有的状态-动作对都被无限次地访问,并且学习率满足一定条件时,DQN可以逐渐收敛到最优的价值函数。

为了将评估方法扩展到连续的状态空间,需要结合深度神经网络来实现。具体而言,首先通过卷积神经网络对状态进行表征,随后利用全连接层输出每个动作的信用值。最终,我们选择具有最高置信度的动作进行执行。这种方法使我们能够在连续状态空间中有效地进行决策和评估。

2.DeepQ-Networks–目标网络

尽管神经网络在函数近似方面表现出色,但其应用仍存在一些问题。特别是,当使用神经网络来表征动作价值时,随着价值网络参数的变化,模型预估的目标值也会动态地变化。这种现象构成了一个“movingtarget”问题,增加了算法的复杂性。为了缓解这个问题,可以引入一个targetnetwork,这是一个独立的、学习速度较慢的网络。作为原始神经网络的慢拷贝,targetnetwork的学习速度更慢,从而防止目标变更过快。这种方法可以一定程度上提高算法的稳定性。

03

强化学习推荐算法提升短视频留存

在短视频推荐系统中,强化学习的应用显得尤为重要。这是因为短视频推荐的核心目标是提升用户满意度,而用户满意度的关键指标则是留存率。

1.短视频推荐中的用户留存

2.基于无限域请求的马尔可夫决策过程

3.用户留存算法的强化学习

然而,当涉及到即时响应时,情况变得更为复杂。为了超越仅仅学习立即互动、转发时长等信号,我们引入了一个RND网络。这一网络源自强化学习中的探索方法,用于计算每个样本的探索价值,并将其作为内在奖励来增强样本。

在实际应用中,行动者(actor)会根据每个请求的输入状态输出一个K维的动作向量。这一向量与监督学习模型的打分进行内积运算,最终得到一个排名分数(rankingscore)。基于这一排名分数,我们会选出前6名的视频呈现给用户。

通过这一综合方法,能够更精准地满足用户需求,提升用户体验,并在推荐系统中实现更高效和个性化的内容推荐。

4.离线和在线实验

04

强化学习未来挑战

此外,强化学习模型的泛化性能也是一个重要议题。可以借鉴多任务学习和终身学习的算法,尝试提升模型在不同环境和任务间的适应能力。同时,多智能体环境下的合作问题以及非完全信息博弈中的多智能强化学习问题,也是未来研究的重要方向。

THE END
1.DRL:强化学习——实例对于无限长的问题,为了保证求和是有意义的,需要使用折扣累积回报或者平均回报。深度学习算是函数:多个独立同分布样本预测值和标签值的误差,需要最小化。强化学习 的损失函数是轨迹上的累积和,需要最大化。强化学习 RL解决什么问题 就是需要连续不断地做出决策,才能实现最终目标的问题。RL如何解决问题 强化学习算http://baijiahao.baidu.com/s?id=1680688267788709583&wfr=spider&for=pc
2.一文看懂什么是强化学习?(基本概念+应用嘲+主流算法)强化学习是机器学习的一种学习方式,它跟监督学习、无监督学习是对应的。本文将详细介绍强化学习的基本概念、应用场景和主流的强化学习算法及分类。 什么是强化学习? 强化学习并不是某一种特定的算法,而是一类算法的统称。 如果用来做对比的话,他跟监督学习,无监督学习 是类似的,是一种统称的学习方式。 https://easyai.tech/ai-definition/reinforcement-learning/
3.强化学习算法学习汇总笔记(一)—Q一.强化学习的分类 1.Model-free 和 Model-based Model-free 即机器人不知道外界环境信息,只能在机器人执行每一步动作后从环境中得到反馈然后去学习,只能按部就班,一步一步等待真实世界的反馈,再根据反馈采取下一步行动。诸如Q Learning, Sarsa,Policy Gradients等算法。 https://blog.csdn.net/Hansry/article/details/80808097
4.百度算法岗武功秘籍(中)● OCR识别有哪些算法模型? 3.1.4 图像分类 ● 如果图像分类有百万个class,你会怎么设计模型? 3.2 深度学习-RNN递归神经网络方面 3.2.1 自然语言处理NLP ① Bert ● 文本分类,bert了解吗?输入有什么改进? ● 讲一下Bert原理? ● Bert模型结构,分类和句子翻译如何微调? https://www.flyai.com/article/948
5.科学网—[转载]基于强化学习的数据驱动多智能体系统最优一致性这种控制算法采用策略迭代(policy iteration, PI)技术,仅要求对系统动力学有部分了解。2009年, Doya K提出了将强化学习技术应用到求解连续时间系统的控制器中。参考文献提出了利用积分强化学习(integral reinforcement learning,IRL)的在线学习算法,用于解决系统模型部分未知的线性或非线性系统的最优跟踪控制问题。强化学习https://wap.sciencenet.cn/blog-951291-1276281.html
6.目前运行效果比较好的深度强化学习算法有哪些呀?由于其学习了一个分布函数,部分特殊任务之下,相对学习期望值的强化学习算法(如SAC)而言有一些不太https://www.zhihu.com/question/635784730/answer/3333101028
7.2021届计算机科学方向毕业设计(论文)阶段性汇报在本阶段,我们主要的工作进展有以下几点:1.为了提高实验效率,我们搭建了可用于多机器并行的训练框架,并基于此复现了传统的强化学习算法,为之后的实验提供对比。 2.基于之前的工作调研结果,提出了基于深度强化学习的多能体拟人化方法。 朱茂生 基于多模态机器学习的生存风险预测方法 研究内容及进度摘要:我在第一次https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3943
8.强化学习强化学习概述(整理)51CTO博客例如,围棋问题就可以看作是一个完全可观测的环境,因为我们可以看到棋盘的所有内容,并且假设对手总是用最优方法执行;扑克则不是完全可观测的,因为我们不知道对手手里有哪些牌。 1.5.2按算法分类 从算法角度,可以对强化学习算法作以下分类 同策学习(on policy)和异策学习(off policy):同策学习是边决策边学习,学习https://blog.51cto.com/u_15278213/2931491
9.AI深度强化学习落地方法七步曲2——状态空间篇回报函数篇鉴于强化学习算法对优秀reward函数设计的依赖,学术界提出了很多方法改善这一状况。比如逆向强化学习,利用expert demonstration(专家示范)学习到reward函数,再用这个reward函数训练RL策略。此外,还有一大堆模仿学习的方法,干脆抛开reward直接拟合专家策略。以上方法的前提是要有专家数据,不具备普适性,这里就不多说了。 https://www.shangyexinzhi.com/article/4228946.html
10.机器学习(八)强化学习的基本概念e贪心算法Softmax算法强化学习(reinforcement learning,RL)是机器学习的一个领域,主要通过在环境(environment)中采取动作(action),来最大化某些指标,例如累计奖赏(cumulative reward)的一种学习方法。强化学习、有监督学习(supervised learning)与无监督学习(unsupervised learning)三者共同构成了机器学习的三个重要方面 https://www.jianshu.com/p/cecbcd6e6405
11.学习笔记:神经网络学习算法腾讯云开发者社区主流的神经网络学习算法(或者说学习方式)可分为三大类:有监督学习(SupervisedLearning)、无监督学习(Unsupervised Learning)和强化学习(Reinforcement Learning),如下图所示。 注:有监督学习、无监督学习和强化学习并不是某一种特定的算法,而是一类算法的统称。 https://cloud.tencent.com/developer/article/1610502