文章目录

  • 前言
  • 一、基本概念
    • 1.1符号表示
    • 1.2马尔科夫过程
  • 二、方法分类
    • 2.1 Policy-Based与Value-Based
      • 2.1.1 Policy-Based
      • 2.1.2 Value-Based
  • 三、A3C
    • 3.1 Policy Gradients
    • 3.2 Actor-Critic
    • 3.3 伪代码

前言

强化学习中的一些非常非常基础的知识的总结,主要是为了防止自己遗忘,如有错误欢迎指正。


一、基本概念

1.1符号表示

1、Reward:记作Rt,一般代表t时刻的奖励值、回报值(强化学习中所有目标都可以用预期累积回报的最大化来描述)
2、Action:记作At,代表agent采取的行动
3、State:记作St,代表用来决定下一步行动的信息集合,包含过去的所有状态、动作、回报值。
4、value function:记作vπ,代表价值函数
简单的来说,在某一个时刻,agent执行动作At、环境传来的此刻的表现Ot和回报值Rt,而环境受到行动At的影响,产生t+1时刻的表现O(t+1)和回报值R(t+1)
5、Trajectory:记作τ\ \tau τ,表示agent在一场游戏中与环境交互产生的整个记录序列。

1.2马尔科夫过程

具有马尔科夫性质的状态满足下面公式:

也就是说在给定当前状态的情况下,将来的状态与t时刻之前的状态已经没有关系。

二、方法分类

2.1 Policy-Based与Value-Based

2.1.1 Policy-Based

译为基于概率或基于策略的学习策略,即通过当前的状态St\ S_{t} St​来,根据函数π(St)=At\ \pi(S_{t})=A_{t} π(St​)=At​来计算出此刻对各个动作的选择概率,并且选出概率最大的那个动作,作为下一步动作。π\ \pi π就是所说的策略。

2.1.2 Value-Based

译为基于值的学习策略,该方法会给每一个动作设置一个奖励值,选择奖励值最高的动作来作为下一个动作。
因此Value-Based能够对应的动作选择空间就比较小,更适用于动作选择少的、离散的任务,比如棋类游戏。

三、A3C

3.1 Policy Gradients

策略梯度,作为Actor-Critic算法基础的一部分,是一种Policy-based的算法。

每一个τ\ \tau τ产生的概率为:
每一个τ\ \tau τ的总回报(reward)为:

并且,通过大量的采样,我们可以获得很多的样本,而对这些样本取均值,来近似于R(τ)\ R(\tau) R(τ)的期望,并以此评价一个网络的好坏:


我们的目标就是最大化R‾(τ)\ \overline R(\tau) R(τ),使得策略达到最优,即先使用一个策略θ\ \theta θ进行大量采样,用得到的数据来计算梯度,之后再用梯度上升来求得新的θ\ \theta θ,如此循环往复,其中对R‾(τ)\ \overline R(\tau) R(τ)的更新公式为:
![在这里插入图片描述](https://img-blog.csdnimg.cn/c70f18c29a4c4aba98857c0cb3a76a81.png

3.2 Actor-Critic

Actor的基础是Policy Gradients,能够通过神经网络,连续的选择下一步动作
Critic的基础是Q-learning,可以进行每步更新,并对Actor的动作进行评判

3.3 伪代码

下面是每个Worker的运作流程伪代码

//设定全局变量θ\ \theta θ(Actor的参数向量)和θv\ \theta_{v} θv​(Critic的参数向量),全局共享迭代轮次T\ T T
//每个线程中的参数为θ′\ \theta' θ′和θv′\ \theta_{v}' θv′​
初始化线程时间序列 t=1\ t=1 t=1
开始循环训练():
 初始化梯度,将dθ\ d\theta dθ和dθv′\ d\theta_{v}' dθv′​都置为0
 初始化网络参数,将θ′=θ\ \theta'=\theta θ′=θ,θv′=θv\ \theta'_{v}=\theta_{v} θv′​=θv​(即总网络的参数同步给Worker)
 tstart=t\ t_{start}=t tstart​=t,获取初始化状态 st\ s_{t} st​
 开始循环训练(这个循环代表了一次游戏):
   基于策略π(at|st;θ)选择出动作at(用到了Actor)
   执行动作at得到奖励rt和新状态st+1
   时间序列t+1,总迭代轮次T+1
 当智能体达到最终状态或时间步长达到最长,终止该循环
 计算最终一步St奖励函数R
 计算s1到st-1的奖励函数,此时的奖励函数是累积计算的,即对于第i步,奖励函数将等于此刻的reward+衰减因子*第i+1步的奖励函数(奖励函数计算用到了Critic)
 更新梯度dθ\ d\theta dθ和dθv′\ d\theta_{v}' dθv′​
 更新全局神经网络的模型参数
如果T>Tmax,则算法结束

【强化学习】基本知识梳理相关推荐

  1. 强化学习基础知识梳理(4)

    顺序以周博磊老师强化学习纲要课程为主,增加王树森老师强化学习基础的知识补充,和蘑菇书的知识补充,作为学习记录 第四章:价值函数近似 主要内容包括: 价值函数近似基本原理介绍(Value Functio ...

  2. 强化学习基础知识梳理(5)

    顺序以周博磊老师强化学习纲要课程为主,增加王树森老师强化学习基础的知识补充,和蘑菇书的知识补充,作为学习记录 第五章:策略优化基础 主要内容: 基于策略优化的强化学习 常见策略优化算法:Policy ...

  3. 论文浅尝-综述 | 基于强化学习的知识图谱综述

    转载公众号 | 人工智能前沿讲习 论文来源:https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20211264 摘要:知识图谱是一种用图结构建模事物及事物 ...

  4. 1120_野火RT-Thread教程学习4_RTT学习基础知识梳理

    野火RT-Thread教程学习笔记4_RTT学习基础知识梳理 Grey 全部学习汇总:GitHub - GreyZhang/g_RT-Thread: learning and hacking RT-T ...

  5. 深度强化学习基础知识 思维导图

    学习了王树森老师的深度强化学习入门课件,将各个算法整理在如下思维导图中. 深度强化学习基础知识 思维导图

  6. 综述向:强化学习经典方法梳理

    最近组内需要做强化学习相关研究,因为面对的是新项目,同事们对强化学习的原理都不太了解,我们就计划轮流在组内做一些不定期分享,补充相关的基础知识.于是我对强化学习的一些经典算法进行了梳理,并在此进行记录 ...

  7. 通过图注意力神经网络进行多智能体游戏抽象_[读论文] AttnPath: 将图注意力机制融入基于深度强化学习的知识图谱推理中...

    论文原文:Incorporating Graph Attention Mechanism into Knowledge Graph Reasoning Based on Deep Reinforcem ...

  8. 你该知道的深度强化学习相关知识

    如今,机器学习(Machine Learning,ML)和人工智能(Artificial Intelligence,AI)的相关算法越来越深度地融合到了我们的社会与生活中,并且在金融科技.医疗保健.以 ...

  9. 【论文阅读】强化学习与知识图谱关系路径发现

    论文标题:DeepPath: A Reinforcement Learning Method for Knowledge Graph Reasoning 中文标题:深度路径:知识图谱推理的强化学习方法 ...

  10. 基于SKF基础学习相关知识梳理(一)

    基于SKF基础学习知识梳理 (一)对称密码算法 1.PKCS填充方式 2.PKCS填充分类 (一)对称密码算法 // 分组密码参数 typedef struct Struct_BLOCKCIPHERP ...

最新文章

  1. 开发过程真相...太真实了!一毛一样有没有!
  2. android 模仿大众点评团购卷列表多余3条时折叠,点击时显示剩余全部的功能
  3. 计算机体系结构:嵌入式方法_计算机考研——计算机二级学科详解
  4. Java 8流:Micro Katas
  5. python处理teradata数据库_Python脚本连接Teradata数据库
  6. java 俄文,俄文字体在word里面是什么
  7. NYOJ-71-独木舟上的旅行
  8. 配置vmcore通过ssh转储到其他主机的方法
  9. CentOS安装Nvidia驱动和CUDA
  10. Python算法教程:找出图的连通分量
  11. 为什么快捷指令无法将媒体转换为文本_快捷指令自动化可以做什么,不能做什么?...
  12. 搜狐20年,张朝阳的失败与伟大
  13. 技术考官如何面试应聘者的非技术素质
  14. 15个网盘资源搜索引擎
  15. docker attach退出容器,容器会停止运行的解决方法
  16. 激光雷达相关技术方案介绍
  17. 猿创征文|Hexo+Github搭建完全免费个人博客详细教程
  18. linux mmc驱动
  19. Flink SQL:Queries(Joins)
  20. 对抗训练-smart 论文阅读笔记

热门文章

  1. WiFi 桥接功能 — 基于Linux路由器
  2. Flutter 不是真正的跨平台框架
  3. thinkphp mysql order_ThinkPHP中order()使用方法详解
  4. 如何在搜狗高速浏览器设置代理IP
  5. 四元式的翻译以及寄存器分配
  6. 管理,教育,励志系列合集600本电子书
  7. 商品规格参数数据库设计
  8. python和jieba库进行简单文本处理之天龙八部小说
  9. python简单实现爬取小说《天龙八部》,并在页面本地访问
  10. 保险中的几个“时间”及生日单