1.强化学习的发展及应用现状
1.1.强化学习的由来
目前,大家认为强化学习(Reinforcement Learning, RL)的来源与两个领域密切相关:即心理学的动物试错学习和最优控制的优化理论。
这里都是有相应的共性的,在environment中,agent相应地做出自己的actions,会得到相应的reward,当然这样的情况是会有正向的反馈,也有负向的反馈。
强化学习的现代发展主要体现在以下几个方面:
-
深度强化学习。深度强化学习是强化学习与深度学习的结合,利用深度神经网络来近似状态空间和动作空间,解决传统强化学习中的状态和动作空间过大过稀疏的问题。
-
多智能体强化学习。多智能体强化学习研究如何在一个环境中同时优化多个智能体的策略,解决传统强化学习中多智能体协作和竞争的问题。
-
强化学习与先验知识。强化学习可以与先验知识结合,利用先验知识来指导学习过程,提高学习效率。
-
强化学习与迁移学习。强化学习可以与迁移学习结合,将在一个任务上学到的知识迁移到其他任务上,提高学习效率。
-
强化学习与可持续发展。强化学习可以与可持续发展结合,研究如何利用强化学习来实现可持续发展目标,如能源消耗、环境保护等。
1.2.强化学习的应用
强化学习的应用非常广泛,主要包括以下几个方面:
-
机器人控制。强化学习在机器人控制中有很多应用,例如让机器人从初始状态开始学习如何移动、避障、抓取物体等。
-
游戏。强化学习在游戏中有广泛应用,例如在围棋、象棋、扑克等游戏中使用强化学习算法来提高玩家的技能。
-
推荐系统。强化学习可以用于构建推荐系统,通过学习用户历史行为和反馈来预测用户的兴趣和偏好,从而为用户提供个性化的推荐。
-
自然语言处理。强化学习可以用于自然语言处理任务,例如文本分类、情感分析、机器翻译等。
-
金融贸易。强化学习可以用于金融贸易领域,例如预测股票价格、制定交易策略等。
-
工业自动化。强化学习可以用于工业自动化领域,例如控制机器人手臂的运动、优化生产流程等。
-
医疗保健。强化学习可以用于医疗保健领域,例如辅助医生进行疾病诊断、制定治疗方案等。
-
自动驾驶。强化学习可以用于自动驾驶领域,例如控制车辆的转向、加速和刹车等。
2.强化学习的基本概念
2.1.概要介绍
强化学习的基本概念主要包括以下几个方面:
-
状态(State):智能体在环境中的状态,是智能体所有属性的描述。
-
行动(Action):智能体在环境中可以采取的行动,是智能体与环境交互的唯一途径。
-
奖励(Reward):智能体在环境中采取行动后所获得的反馈,表示智能体的行动是否正确或成功。
-
目标(Goal):智能体的最终目标,是智能体在环境中的期望结果。
-
策略(Policy):智能体在环境中采取行动的方式和规则,是智能体的行为准则。
-
值函数(Value Function):用于评估智能体在某个状态下采取某个行动的价值,即期望的折扣奖赏和。
-
策略迭代(Policy Iteration):通过不断迭代更新策略来寻找最优策略的方法。
-
值函数迭代(Value Iteration):通过不断迭代更新值函数来寻找最优值函数的方法。
-
蒙特卡罗方法(Monte Carlo Methods):通过模拟多条路径来估计最优策略的方法。
-
时序差分方法(Temporal Difference Methods):通过利用未来奖励信息来估计最优策略的方法。
强化学习的核心思想是智能体(AI)将通过与环境交互(通过反复试验)并接受奖励(负面或者正面)作为执行动作的反馈从环境中获取。
强化学习是机器学习的范式和方法论之一,用于描述和解决智能体在与环境的交互过程中通过学习策略以达成累计回报最大化或实现特定目标的问题。
换句话来说,强化学习是一种学习如何从状态映射到行为,以使得获取的累积的奖励最大的学习机制。
2.2.强化学习的构成要素
强化学习系统一般包括的要素有:智能体、环境、状态、行为、奖励、策略、价值以及模型。
-
智能体:可以采取行动的智能个体,具有概率性。
-
环境:指智能体行走于其中的世界,输入是智能体当前的状态和行动,输出是智能体的奖励和智能体下一步的状态。
-
行动:智能体可以采取的行动,其构成的集合常用A来表示。
-
奖励:衡量某个智能体的行动成败的反馈,可能是即时的,也可能是迟滞的。
强化学习通过不断地与环境交互,不断优化智能体的策略,从而实现最大化预期奖励的目标。
状态是在一个时间点下的动作体的整体描述,模型是这个世界的固有规律。
智能体(agent)是作为智能决策的主体,也是RL的学习者。智能体的目标的是最大化其收到的总效益。
-
策略(policy):智能体会用策略来选取下一步的动作
-
基于价值函数(value function)得到最优策略:我们用价值函数来对当前状态进行评估。价值函数用于评估智能体进入某个状态后,可以对后面的奖励带来的多大的影响,价值函数值越大,说明智能体进入这个状态越有利。
智能体交互的所有内容都成为环境。环境就是外部环境,它包括智能体之外的一切。
-
确定的环境与随机环境。
-
离散环境和连续环境。
-
完全可观测环境与部分可观测的环境。
-
单智能体和多智能体环境。是否有多个用户来区分。
2.3.工作过程
强化学习过程:状态、动作、奖励和下一个状态的循环。
马尔科夫性
马尔可夫性(Markov property)是一个数学概念,它描述了一个随机过程的状态,在一段时间内,状态会随着时间的变化而变化,但是状态之间的转移概率是固定的。
它也是指系统的下一个状态St+1仅与当前状态St有关,而与之前的状态无关。
马尔科夫决策过程(Markov decision process,MDP):MDP基于一组交互对象,即智能体和环境进行构建,所具有的要素包括状态、动作、策略和奖励。在MDP的模拟中,智能体会感知当前的系统状态,按策略对环境实施动作,从而改变环境的状态并得到奖励,奖励随时间的积累被称为回报。MDP的理论基础是马尔可夫链,因此也被视为考虑了动作的马尔可夫模型。
2.4.强化学习的主要特点
-
试错学习:强化学习需要训练对象不停地和环境进行交互,通过试错的方法去总结每一步的最佳行为决策。
-
强化学习中的智能体通过与环境的交互来学习,而不是从外部导师那里获得指导。
-
强化学习中的智能体能够延迟反馈,即智能体在即刻无法获得奖励的情况下,仍然可以通过选择合适的动作获得长期的收益。
-
强化学习中的智能体可以在未知环境下进行学习,即智能体在面对全新环境时,可以通过不断试错来积累经验和知识,从而逐步提高自己的表现。
-
强化学习中的智能体具有目标导向性,即智能体的所有行为都是为了实现某个特定的目标,例如最大化奖励信号。
-
强化学习中的智能体需要解决探索-利用的两难问题,即智能体需要在探索新动作和利用已知动作之间进行权衡,以实现最大化奖励信号的目的。
2.5.与其他机器学习方法的区别
监督学习:
它从一组带标签的训练数据集中推得函数,从而将输入映射到合适的输出,例如分类。
在监督学习中,每条样本包含一个输入对象(通常由向量表示)和一个输出值(也叫做标签),例如图像分类任务中,输入对象是图像,输出值是图像所属的类别。
监督学习在工程实践中的应用非常广泛,例如推荐系统、自然语言处理、机器人控制、医疗保健、金融贸易、游戏等领域。
3.估值方法
3.1.估值的方式
基于值函数(Value Based):基于值函数的方法,输入是状态,输出是状态,输出是值函数的大小,然后选择值函数最大对应的动作为下一个动作,因此他直接学到的是值函数,间接学习策略。
基于策略(Policy Based):基于策略的方法,输入的是状态,输出的是方法。
行动者-评论家方法(Actor-Critic,AC):Actor-Critic方法是将Value based和policy based两类方法各自优势结合在一起。通过构造一个全能型的agent。既能直接输出策略,又能通过value function来实时评价。
Actor-Critic的架构包括两个部分,即两个神经网络:
策略网络:
策略网络是强化学习中直接预测在某个环境状态下应该采取的行动的一种网络模型1。
策略网络本质上也是神经网络,主要分为策略网络和估值网络。其中,策略网络根据当前状态选择采取的行动,而估值网络则预测在某个环境状态下所有行动的期望价值,然后通过选择Q值最高的行动执行策略。
在具体实现中,策略网络通常使用简单的带有一个隐藏层的MLP,网络的输入是当前状态,输出则是当前状态下各个动作的概率。
评论网络:
评论网络是一种社交网络。
评论网络是指以用户对实体的评论为基础,通过分析用户评论数据来反映实体质量、性能、售后服务等,从而构建的一种社交网络。
有模型方法:
模型方法是利用模型和模拟进行预测的一种方法,也是最有发展前途的预测方法之一。模型系以简单的图形、实体或符号来代表一个需要的真实系统,以化繁为简,易于控制,方便进行预测。模型法可以根据预测目标要求,用若干参数或因素来体现预测目标的本质方面的描述。建立预测模型,可以帮助认识系统中的构成因素、功能及其相应的地位,有助于了解各因素间的相互关系,对外界环境的交互关系,进一步运用数学方法,求出预测目标的因果关系。
在具体实现上,模型方法通常包括以下几个步骤:
-
确定预测目标:首先需要明确预测的目标是什么,例如预测销售额、预测股票价格等。
-
收集数据:为了建立预测模型,需要收集与预测目标相关的数据。这些数据可以从历史数据、实验结果、文献资料等渠道获取。
-
选择模型:根据预测目标和收集到的数据,选择合适的模型类型进行建模。例如,如果预测目标是销售额,可以选择线性回归模型或时间序列模型。
-
建立模型:根据选择好的模型类型,利用收集到的数据建立预测模型。在建立模型的过程中,可以使用各种数学方法来优化模型的参数和结构。
-
验证模型:建立好模型后,需要对模型进行验证和测试。可以通过使用一部分数据来验证模型的准确性和可靠性。
-
应用模型:将建立好的模型应用到实际场景中进行预测。在使用模型时,需要注意数据的输入和输出格式,以及模型的参数设置。
总的来说,模型方法是通过对系统进行建模和预测来解决问题的一种有效方法。它可以应用于各种领域,例如经济、金融、环境、交通等。
无模型方法:
无模型方法是一种基于数据驱动的预测方法,它不需要对系统进行建模和模拟,而是直接从数据中提取信息和模式来进行预测。无模型方法通常使用机器学习、深度学习等人工智能技术,通过对数据的挖掘和分析来自动地学习和提取特征,从而实现预测目标。
无模型方法具有以下几个优点:
-
简单易用:无模型方法直接从数据中学习预测模型,不需要对系统进行建模和抽象,因此使用起来更加简单易用。
-
适应性强的:无模型方法可以通过不断地学习和调整来适应环境的变化和新的数据样本,因此具有更强的适应性和鲁棒性。
-
数据利用率高:无模型方法可以直接利用所有可用的数据来进行预测,因此可以更充分地利用数据的信息和特征,提高预测的准确性和可靠性。
-
可解释性强:无模型方法可以通过可视化和解释性技术来解释预测结果,从而更易于理解和解释。
无模型方法通常包括以下几个步骤:
-
数据收集和预处理:收集与预测目标相关的数据,对数据进行清洗、处理和特征提取,为后续的预测做好准备。
-
特征选择和提取:根据数据的特征和目标选择合适的特征进行提取,以便更好地反映预测目标的信息和规律。
-
模型训练和优化:选择适合的机器学习或深度学习算法进行模型训练,并通过交叉验证等方法对模型进行优化和调整。
-
预测结果和评估:使用训练好的模型对新的数据进行预测,并通过评估指标如均方误差(MSE)、平均绝对误差(MAE)等来评估模型的预测准确性和可靠性。
-
应用模型:将建立好的模型应用到实际场景中进行预测或决策。
总的来说,无模型方法是基于数据驱动的一种预测方法,它可以直接从数据中学习和预测,无需对系统进行建模和模拟。它可以应用于各种领域,例如金融、医疗、体育等。
不理解环境、理解环境:
在强化学习中,“环境”这个概念通常指的是智能体所处的外部世界,包括物理世界、游戏世界、仿真器等。智能体与环境之间存在着交互作用,智能体通过接收环境的状态信息来做出决策,同时通过执行决策来改变环境的状态。
“不理解环境”指的是智能体在没有任何先验知识的情况下,通过与环境的交互来逐步学习如何完成任务。这种学习方法被称为“探索性强化学习”,通常需要智能体不断地尝试不同的行动,从而发现哪些行动能够带来最大的回报。
相对应地,“理解环境”指的是智能体在了解了环境的特点和规律之后,根据已有的知识来制定策略,从而更高效地完成任务。这种学习方法被称为“分析性强化学习”,通常需要智能体对环境进行建模,然后通过分析模型来制定最优策略。
总的来说,“不理解环境”和“理解环境”是两种不同的强化学习范式,它们的选择取决于具体的问题和应用场景。在一些复杂的问题中,可能需要结合这两种范式,通过探索和分析相结合来获得更好的性能。
3.2.依据更新方式
回合更新:回合更新指的是游戏开始后,我们要等到打完这局我们才能对这局游戏的经历
单步更新:
On-Policy和Off-Policy:
On-Policy策略指的是在当前策略π的作用下,根据策略梯度算法来更新策略π。这种策略通常使用随机梯度下降(SGD)或其他基于梯度的算法来更新策略参数。On-Policy方法比较简单和直观,因为它只有一个策略,并且只从当前执行的策略中学习。
Off-Policy策略指的是使用一个旧的策略π来收集数据,然后使用这个数据集来更新一个新的策略π。这种策略通常使用Q-Learning、Actor-Critic等算法来更新策略参数。Off-Policy方法可以从任何来源的数据中学习,不需要每次都使用最新的策略来收集数据,这样可以提高数据利用率和学习效率。
总之,On-Policy和Off-Policy都是强化学习中的重要训练策略,它们各有优缺点,根据具体任务和需求选择合适的策略是至关重要的。