姓名:黄睿
学号:22011110004
学院:通信工程学院
【嵌牛导读】本文初步介绍强化学习简介与应用
【嵌牛鼻子】强化学习简介,强化学习结构与设计
【嵌牛提问】什么是强化学习,强化学习的结构与设计?
【嵌牛正文】
强化学习是一类算法, 是让计算机实现从一开始什么都不懂, 脑袋里没有一点想法, 通过不断地尝试, 从错误中学习, 最后找到规律, 学会了达到目的的方法. 这就是一个完整的强化学习过程. 实际中的强化学习例子有很多. 比如近期最有名的 Alpha go, 机器头一次在围棋场上战胜人类高手, 让计算机自己学着玩经典游戏 Atari, 这些都是让计算机在不断的尝试中更新自己的行为准则, 从而一步步学会如何下好围棋, 如何操控游戏得到高分.
对比监督学习:
我们知道监督学习, 是已经有了数据和数据对应的正确标签, 比如这样. 监督学习就能学习出那些脸对应哪种标签. 不过强化学习还要更进一步, 一开始它并没有数据和标签.
他要通过一次次在环境中的尝试, 获取这些数据和标签, 然后再学习通过哪些数据能够对应哪些标签, 通过学习到的这些规律, 竟可能地选择带来高分的行为 (比如这里的开心脸). 这也就证明了在强化学习中, 分数标签就是他的老师, 他和监督学习中的老师也差不多.
RL 算法们:
强化学习是一个大家族, 他包含了很多种算法, 我们也会一一提到之中一些比较有名的算法, 比如有通过行为的价值来选取特定行为的方法, 包括使用表格学习的 q learning, sarsa, 使用神经网络学习的 deep q network, 还有直接输出行为的 policy gradients, 又或者了解所处的环境, 想象出一个虚拟的环境并从虚拟的环境中学习 等等.
强化学习在不同领域有不同的表现形式:神经科学、心理学、计算机科学、工程领域、数学、经济学等有不同的称呼。
强化学习的特点:没有监督数据、只有奖励信号;奖励信号不一定是实时的,而很可能是延后的,有时甚至延后很多。;时间(序列)是一个重要因素;当前的行为影响后续接收到的数据。
强化学习有广泛的应用:像直升机特技飞行、经典游戏、投资管理、发电站控制、让机器人模仿人类行走等。
基本模型和原理
强化学习是从动物学习、参数扰动自适应控制等理论发展而来,其基本原理是:
如果Agent的某个行为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强。Agent的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大。
强化学习把学习看作试探评价过程,Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值。
强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是Agent对所产生动作的好坏作一种评价(通常为标量信号),而不是告诉Agent如何去产生正确的动作。由于外部环境提供了很少的信息,Agent必须靠自身的经历进行学习。通过这种方式,Agent在行动一一评价的环境中获得知识,改进行动方案以适应环境。
强化学习系统学习的目标是动态地调整参数,以达到强化信号最大。若已知r/A梯度信息,则可直接可以使用监督学习算法。因为强化信号r与Agent产生的动作A没有明确的函数形式描述,所以梯度信息r/A无法得到。因此,在强化学习系统中,需要某种随机单元,使用这种随机单元,Agent在可能动作空间中进行搜索并发现正确的动作。
网络模型设计
每一个自主体是由两个神经网络模块组成,即行动网络和评估网络。行动网络是根据当前的状态而决定下一个时刻施加到环境上去的最好动作。
对于行动网络,强化学习算法允许它的输出结点进行随机搜索,有了来自评估网络的内部强化信号后,行动网络的输出结点即可有效地完成随机搜索并且大大地提高选择好的动作的可能性,同时可以在线训练整个行动网络。用一个辅助网络来为环境建模,评估网络根据当前的状态和模拟环境用于预测标量值的外部强化信号,这样它可单步和多步预报当前由行动网络施加到环境上的动作强化信号,可以提前向动作网络提供有关将候选动作的强化信号,以及更多的奖惩信息(内部强化信号),以减少不确定性并提高学习速度。
进化强化学习对评估网络使用时序差分预测方法TD和反向传播BP算法进行学习,而对行动网络进行遗传操作,使用内部强化信号作为行动网络的适应度函数。
网络运算分成两个部分,即前向信号计算和遗传强化计算。在前向信号计算时,对评估网络采用时序差分预测方法,由评估网络对环境建模,可以进行外部强化信号的多步预测,评估网络提供更有效的内部强化信号给行动网络,使它产生更恰当的行动,内部强化信号使行动网络、评估网络在每一步都可以进行学习,而不必等待外部强化信号的到来,从而大大地加速了两个网络的学习。
设计考虑
一,如何表示状态空间和动作空间。二,如何选择建立信号以及如何通过学习来修正不同状态-动作对的值。三,如何根据这些值来选择适合的动作。用强化学习方法研究未知环境下的机器人导航,由于环境的复杂性和不确定性,这些问题变得更复杂。
标准的强化学习,智能体作为学习系统,获取外部环境的当前状态信息s,对环境采取试探行为u,并获取环境反馈的对此动作的评价r和新的环境状态 。如果智能体的某动作u导致环境正的奖赏(立即报酬),那么智能体以后产生这个动作的趋势便会加强;反之,智能体产生这个动作的趋势将减弱。在学习系统的控制行为与环境反馈的状态及评价的反复的交互作用中,以学习的方式不断修改从状态到动作的映射策略,以达到优化系统性能目的。