当前位置: 首页 > 科技观察

关于深度强化学习你应该知道的

时间:2023-03-16 20:07:00 科技观察

【.com快译】如今,机器学习(MachineLearning,ML)和人工智能(ArtificialIntelligence,AI)相关算法越来越深入地融入我们的社会和生活,并在金融科技、医疗健康、交通运输等各个方面发挥了关键的带动和推动作用。如果说20世纪下半叶,人类受益于基于互联网的计算能力和互联互通的全面进步,那么21世纪,人类正逐步走向智能计算和智能机器的迭代。其中,这种以深度学习(DeepLearning,DL)为首的新计算范式通常属于“监督学习”的范畴。其对应的应用深度神经网络(DNN)在疾病分类、图像分割、语音识别等高科技系统和应用领域取得了令人振奋的进展和惊人的成功。然而,深度神经网络系统通常需要大量的训练数据以及带有已知答案的标记样本才能正常工作。此外,它们还不能完全模仿人类学习和使用智能的方式。几乎所有人工智能专家都认为,仅仅增加基于深度神经网络的系统的规模和速度永远不会产生真正“类人”的人工智能系统。因此,人们开始转向那些“监督学习”之外的ML和AI计算范式和算法,试图跟随人类的学习过程曲线。这个领域研究最广泛的无疑是——强化学习(ReinforcementLearning,RL)。在本文中,我们通过相关知识和算法的介绍,与大家简要讨论了如何将深度学习和强化学习结合起来,产生一个强大的人工智能系统,称为深度强化学习(DRL)。什么是深度强化学习?众所周知,人类擅长解决各种具有挑战性的问题,从低级运动控制(例如:步行、跑步、打网球)到高级认知任务(例如:做数学、写诗、说话)。强化学习旨在通过明确的定义、合理的设计和其他相关算法,使用软件和硬件等代理(具体含义见下文)来模仿此类人类行为。也就是说,这种学习范式的目标不是以简单的输入/输出方式映射标记示例(例如,独立的深度学习系统),而是建立一种策略来帮助智能代理,以特定的方式执行操作顺序(具体含义见下文),从而达到一定的最终目标。图片来源:《机器学习有哪些类型》(见--https://towardsdatascience.com/what-are-the-types-of-machine-learning-e2b9e5d1756f)其实强化学习是一些面向目标的算法,他们可以学习如何通过多个步骤实现复杂的目标,或最大化特定维度的目标。以下是强化学习的三个实际应用示例:最大化棋盘游戏的获胜率。让Finance模拟某笔交易的最大收益。在复杂的环境中,保证机器人在运动过程中的错误动作最小化。如下图所示,其基本思想是智能体通过传感器接收来自其环境的输入数据,使用强化学习算法对其进行处理,然后采取相应的行动以达到预定目标。可见,这与日常生活中的人类行为非常相似。资料来源:《强化学习的简介》(参见--http://incompleteideas.net/book/bookdraft2017nov5.pdf)深度强化学习中的基本定义这个关键术语非常有用。其中包括:代理(Agent):一种软件和硬件机制。它通过与周围环境的相互作用采取相应的措施。例如:无人机送货,或视频游戏中引导超级马里奥的程序。当然,算法本身也属于代理。行动:代理可以采取的各种可能的行动。虽然这些动作本身有些不言自明,但我们仍然需要让代理能够从一组离散且可能的动作中进行选择。环境:外部环境与主体之间存在交互和响应关系。环境以agent的当前状态和动作作为输入,输出agent的reward(具体含义见下文)和下一状态作为输出。状态(State):状态是智能体自己发现的具体的、即时的情况,包括:特定的地点、时刻、以及将智能体与其他重要事物相关联的瞬时配置。例如:特定时刻棋盘上棋子的布局。奖励:奖励是一种反馈,我们可以通过它来衡量代理在给定状态下的各种动作的成功或失败。例如:在一局象棋中,吃掉对方的象这个重要动作得到某种奖励,赢下整盘棋获得更大的奖励。负奖励具有相反的含义,例如输掉一局棋。折扣因子:折扣因子是一个乘数。代理人发现的未来奖励乘以该因子以减弱此类奖励对代理人当前行动选择的累积影响。这就是强化学习的核心,就是通过逐渐降低未来奖励的价值,来给最近的动作更多的权重。这对于基于“延迟行动”原则的范例至关重要。策略(Policy):是智能体根据当前状态决定下一步动作的策略。它能够将不同的状态映射到各种动作以承诺最高的奖励。价值:定义为在特定策略下对当前状态有折扣的长期预期奖励(非短期奖励)。Q-valueoraction-value:与“value”的区别在于Q-value需要一个额外的参数,也就是当前的action。它是指在特定策略下,动作的当前状态所产生的长期奖励。常见的数学(算法)框架在解决与强化学习相关的问题时,我们经常使用以下数学框架:马尔可夫决策过程(MarkovDecisionProcess,MDP):几乎所有的强化学习问题都可以构造为MDP。MDP中的所有状态都具有“马尔可夫”属性,即:未来仅取决于当前状态,而不取决于状态的历史。BellmanEquations:它是一组将价值函数分解为即时奖励加上贴现未来价值的方程式。动态规划(DP):如果系统模型(智能体+环境)完全已知,根据贝尔曼方程,我们可以使用动态规划迭代评估价值函数并改进相应的策略。值迭代:这是一种迭代改进值的估计以计算具有最佳状态值的函数的算法。该算法首先将价值函数初始化为任意随机值,然后反复更新Q值和价值函数的各个值,直到收敛。策略迭代:由于智能体只专注于寻找最优策略,因此最优策略有时会先于价值函数收敛。因此,策略迭代不应反复改进价值函数的估计,而是需要在每一步重新定义策略,并根据新策略计算价值,直到策略收敛。Q-learning:作为无模型学习算法的一个例子,它不假设代理对状态转换和奖励模型有很好的了解,而是“认为”代理会通过反复试验,找到正确的行动。因此,Q-learning的基本思想是通过观察智能体与环境交互过程中Q值函数的样本来逼近“状态-动作对”的Q函数。这种方法也称为时差学习。上图是通过Q-learning解决的强化学习问题的示例(即:试错观察)(参见--https://gym.openai.com/envs/MountainCar-v0)。在示例的上下文中,动力学和模型以及运动的整体物理学是未知的。Q-learning的问题Q-learning是解决强化学习相关问题的一种简单而强大的方法。从理论上讲,我们可以将其扩展到各种大型复杂问题,而无需引入额外的数学复杂性。事实上,Q-learning可以借助递归方程来完成,其中:Q(s,a):Q值函数s:状态s',s'':未来状态a:动作γ:折扣率Forsmall问题,我们可以从对所有Q-values进行任意假设开始,通过反复试验,不断更新Q-table,策略逐渐收敛。由于更新和选择动作是随机执行的,最优策略可能不代表全局最优,但它可以用于所有实际目的。但是,随着问题规模的增大,为一个大问题构建并存储一组Q表将很快成为一个计算问题。例如:在象棋或围棋这样的游戏中,可能状态的数量(即走法顺序)随着玩家需要提前计算的走法数量呈指数增长。因此:保存和更新表所需的内存量会随着状态数的增加而增加。探索每个状态并因此创建Q表所需的时间变得不可预测。针对以上问题,我们需要借助深度Q学习(Deep-Qlearning)等技术,利用机器学习来尝试解决。DeepQ-learning,顾名思义,深度Q-learning不再维护一个庞大的Q值表,而是使用神经网络从给定的动作和状态输入中逼近Q值函数。在一些公式中,状态作为输入,所有可能的动作Q值作为输出产生。这里的神经网络称为Deep-Q–Network(DQN),其基本思想如下图所示:图片来源:使用Python中的OpenAIGym进行深度Q学习的介绍(参见--https://www.analyticsvidhya.com/blog/2019/04/introduction-deep-q-learning-python/)但是,DQN很难使用。在传统的深度学习算法中,由于我们对输入样本进行了随机化处理,因此输入类别在各个训练批次之间非常均衡和稳定。在强化学习中,搜索在探索阶段不断细化,不断改变输入和动作的空间。另外,随着系统对环境的理解逐渐加深,Q的目标值也会自动更新。简而言之,对于一个简单的DQN系统,输入和输出都是不断变化的。为了解决这个问题,DQN引入了experiencereplay和targetnetwork的概念来减缓变化,然后以可控和稳定的方式逐步学习Q表。其中,experiencereplay在特定的buffer中存储了一定数量的state-actionreward值(比如最后有100万)。而对于Q函数的训练,它是使用来自缓冲区的随机样本的小批量完成的。因此,训练样本不仅是随机的,而且可以表现得更接近传统深度学习中监督学习的典型情况。这有点像我们在探索未知环境时使用的具有高效短期记忆的系统。另外,DQN通常使用两个网络来存储Q值。一个网络不断更新,而另一个网络(即目标网络)定期与第一个网络同步。我们使用目标网络来检索Q值,这保证了目标值的波动较小。深度强化学习在Atari游戏中的实际应用DeepMind(参见--https://deepmind.com/)成立于2010年,是一家总部位于伦敦的初创公司。该公司于2014年被谷歌母公司Alphabet收购,并成功地将卷积神经网络(CNN)和Q-learning结合起来进行训练。为深度强化学习领域做出了开创性的贡献。例如:代理可以使用原始像素输入(例如一些感官信号)来玩Atari游戏。有关详细信息,请参阅--https://deepmind.com/research/publications/playing-atari-deep-reinforcement-learning)图片来源:DeepMind在arXiV上关于Atari的文章(2013年)(请参阅--https://arxiv.org/pdf/1312.5602v1.pdf)。AlphaGo和AlphaGoZero起源于3000多年前的中国。围棋以其复杂性被誉为最具挑战性的人工智能经典游戏。标准的AI方法是使用搜索树来测试所有可能的移动和位置。然而,AI无法处理大量可能的棋子移动,或评估每个可能的棋盘位置的强度。借助深度强化学习技术和新颖的搜索算法,DeepMind开发了AlphaGo,这是第一个击败人类职业围棋选手的计算机程序,第一个击败围棋世界冠军的程序,也可以说是历史上最先进的程序。强大的围棋选手。图片来源:https://medium.com/point-nine-news/what-does-alphago-vs-8dadec65aaf升级版的AlphaGo被称为AlphaGoZero。该系统源于一个对围棋规则一无所知的神经网络。神经网络通过将其与强大的搜索算法相结合,不断与自己和自己对弈。在反复下棋的过程中,神经网络会不断调整更新,预测棋局的步法,最终成为棋局的赢家。通过不断迭代,将升级后的神经网络和搜索算法重新组合,提升系统性能,不断提升对战自己的水平。图片来源:石油和天然气行业的AlphaGoZerofromScratch(参见--https://deepmind.com/blog/article/alphago-zero-starting-scratch)荷兰皇家壳牌公司一直致力于强化学习的部署在勘探和钻井中,以降低天然气开采的高成本并改善整个供应链的多个环节。这些基于历史钻井数据训练的深度学习算法和先进的基于物理的模拟技术允许天然气钻头在穿过地表时智能移动。深度强化学习技术还能够实时使用来自钻头的机械数据(例如钻头的压力和温度),以及来自地下的地震勘探数据。有关更多信息,请参阅——https://www.forbes.com/sites/bernardmarr/2019/01/18/the-incredible-ways-shell-uses-artificial-intelligence-to-help-transform-the-oil-和气体巨人/#187951c42701。虽然自动驾驶不是主流应用,但深度强化学习在自动驾驶汽车的各种具有挑战性的问题上也有很大的潜力。其中包括:车辆控制坡道合并个人驾驶风格的感知安全超车的多目标强化学习参见--https://arxiv.org/pdf/1901.01536.pdf。结论深度强化学习是真正可扩展的通用人工智能(AGI),是人工智能系统的最终发展方向。在实际应用中,它催生了AlphaGo等智能体,无需显式训练和基于规则的学习,就可以从零开始学习游戏规则(也就是人们常说的:外部世界的规律)。编程。我们看好深度强化学习的未来和前景是光明的。原标题:WhatYouNeedtoKnowAboutDeepReinforcementLearning,作者:KevinVu