Lesson1强化学习(RL)初印象 学习笔记

news2025/6/20 15:57:18

一、强化学习引入

​ 人的智能可以遗传获得也可以通过后天学习;学习有两种,模仿前人的经验是一种学习;如果没有前人的经验可以学习,就需要和环境进行交互,得到反馈来学习。

智能
遗传
学习
模仿
与环境的交互

​ 人工智能可以像人一样的模仿,就像监督学习,从给定的训练集中学习出一个函数,当新的数据到来时就可以利用这个函数预测结果。人工智能也可以像人一样自学,就像强化学习。如果环境是已知可以直接进行规划,如果环境是未知,就需要不断地探索与试错。

人工智能
像人一样模仿
像人一样自学
已知的环境
规划
未知的环境
探索和试错

二、强化学习入门路线介绍

路线
基础入门:基本概念,基本原理
理论补充:专业教材,高校课程
经典算法复现:DQN,DDPG,PPO,A3C
前沿论文阅读:顶会论文
快速入门课程,动手实践
  • 课程基础

    • 数学基础
      • 高等数学
      • 线性代数(向量空间的变换思维)
      • 概率与数理统计(期望、方差)
    • 编程基础
      • Python:numpy
      • Paddle
        • https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/index_cn.html
  • 资料推荐

    • 书籍
      • 经典书:《Reinforcement Learning: An Introduction(强化学习导论)》(强化等习教父Aichard Sutton 的经典)
    • 视频
      • 理论课:2015David Silver经典强化学习公开课、 UC Berkeley CS285、斯坦福 CS234
    • 动手实践:Sarsa、Q-learning、DQN、Policy Gradient、DDPG(本次公开课实践内容)
    • 进阶:经典论文
      • DQN.“Playing atari with deep reinforcement learning.” https://anxiv.org/pdf/1312.5602.pdf
      • A3C.“Asynchronous methods for deep reinforcement learning.” http://www.jmir.org/proceedings/papers/v48/mniha16.pdf
      • DDPG.“Continuous control with deep reinforcement learning.” https://anxiv.org/pdt/1509.02971
      • PPO.“Proximal policy optimization algorithms.” http://aniv.org/pdf/1707.06347
    • 前沿研究方向:
      • Model-base RL. Hierarchical RL. Multi Agent RL. Meta Learning

三、什么是强化学习

  • 核心思想:智能体 agent 在环境 environment 中学习,根据环境的状态 state,执行动作action,并根据环境的反馈 reward(奖励)来指导更好的动作。

智能体观察环境,然后对环境做出动作,收到来自环境的反馈。然后通过反馈和改变之后的环境状态做出下一次的动作,循环往复以上情况。

RL
两部分
agent 智能体
environment 环境
三要素
state 状态/observation 观察值
action 动作
reward 奖励
  • 强化学习的特点
    • 序列决策的过程,不断地和环境交互,观察和输出动作
    • 延迟奖励

四、强化学习的应用

RL应用
游戏
马里奥
Atari
Alpha Go
星际争霸
机器人控制
机械臂
机器人
自动驾驶
四轴飞行器控制
用户交互
推荐
广告
NLP
交通
拥堵管理
资源调度
物流
带宽
功率
金融
投资组合
股票买卖
其他
教育
健康
能源

强化学习和其他机器学习的关系

image-20221116082639352
  • 监督学习(分类、回归)
  • 非监督学习(聚类)

强化学习与监督学习的区别

  • 监督学习(认知:是什么)
    • 独立同分布
  • 强化学习(决策:怎么做)
    • 序列决策过程

Agent 学习的两种方案

  • 基于价值 value-based
    • 确定性策略
      • Sarsa
      • Q-learning
      • DQN
  • 基于策略 policy-based
    • 随机性策略
      • Policy gradient

RL 概览分类

强化学习
基于模型model-based
动态规划
无模型model-free
基于价值value-based
基于策略policy-based
on-Policy
off-Policy
Sarsa
Q-learning
Policy Gradient
Actor-Critic
TRPO
DDPG
A3C
神经网络
DQN

RL常用算法库&框架库

在这里插入图片描述

RL 编程实践:GYM

  • Gym:仿真平台、python开源库、RL测试平台

  • 官网:https://gym.openai.com/

  • 离散控制场景:一般使用atari环境评估

  • 连续控制场景:一般使用mujoco环境游戏来评估

RL agent <-> environment 交互接口

gym 的核心接口是 environment。提供以下几个核心方法

( 1 ) reset():重置环境的状态,回到初始环境,方便开始下一次训练。

( 2 ) step(action):推进一个时间步长,返回四个值:

​ ① observation (object):对环境的一次观察;

​ ② reward (float):奖励:

​ ③done (boolean):代表是否需要重置环境;

​ ④ info (dict):用于调试的诊段信息。

( 3 ) render():重绘环境的一帧图像。

import gym

env = gym.make("CliffWalking-v0")
obs = env.reset()
while True:
  	action = np.random.randint(0,4) # 0-4 代表上下左右共四个动作,随机选一个
    obs,reward,done,info = env.setp(action)
    env.render()
    if done:
      	break

代码体验

代码路径

  1. 下载python 3.6(官网)
  2. 下载pip(命令行)
  3. 下载paddlepaddle(利用pip)
  4. [下载gym](pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gym)
  5. 将上面代码路径的文件克隆下来

使用

  1. 命令行进入lesson1
  2. 命令行使用python命令
>>>import gym
>>>from gridworld import CliffWalkingWapper

>>>env = gym.make("CliffWalking-v0")
>>>env = CliffWalkingWapper(env) #创建悬崖环境
>>>env.reset()
36
>>>env.render()
>>>env.step(0) #向上走
(24, -1, False, {'prob': 1.0}) #第一个值为状态值,第二个值为reward,第三个值为一轮游戏有没有玩完,第四个字段是info,额外信息
>>>env.step(1) #向右走
>>>env.render()
>>>env.step(2) #向下走
>>>env.render() ##直到终点
  1. 自动寻找路径代码
import gym
import numpy as np

env = gym.make("CliffWalking-v0")
obs = env.reset()
while True:
  	action = np.random.randint(0,4)
    obs,reward,done,info = env.step(action)
    env.render()
    if done:
      	break

广告:PARL 对 agent 的框架抽象

  • 本次课程的代码主要参考的强化学习算法框架库:PARL
  • 官网:https://github.com/PaddlePaddle/PARL
  • 特点:
    • 代码可读性好、函数功能清晰
    • 支持算法数量多种类全,可复现性好
    • 模块之间糯合度低,内聚性强
    • 【入门】快速学习和对比不同常用算法
    • 【科研】科研人员快速复现论文结果,迁移算法到不同环境调研
    • 【工业】大规模分布式能力,只需加两行代码:单机一多机训练,快速迭代上线
Model
Algorithm
Agent
image-20221116223156307 image-20221116223203420

作业

pip install paddlepaddle==1.6.3 # -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install parl==1.3.1
pip install gym
git clone -depth=1 https://github.com/PaddlePaddle/PARL.git
cd PARL/examples/QuickStart
python train.py

Tips1: Pip库安装常见问题:网络超时
解决办法1:使用清华源 -i https://pypi.tuna.tsinghua.edu.cn/simple
解决办法2:https//pypi.org/ 下载whl包或者源码包安装
Tipsz: Pip安装中断:某个依赖包安装失败,重新安装即可
Tips3:独立的Python环境:Conda //能够将不同的python环境隔离开来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

the account is locked

感谢阅读问题描述解决方案1.WinR打开命令行输入&#xff1a;sqlplus &#xff0c;或者使用sqlplus / as sysdba;无需输入密码。2.假设我们要解锁的账户是scott3.修改密码&#xff0c;从而避免再次被锁4.重启服务或者客户端&#xff08;看你是桌面版还是服务器版&#xff09;&am…

警惕,3D建模为什么选3dsMAX不选MAYA

如今现在的游戏建模都是次世代建模&#xff0c;3DMAX确实是主流软件之一&#xff0c;但是为什么说MAYA更好呢❓ 首先&#xff0c;两款软件都很适合用现代的建模&#xff0c;但是难度上有一定的差异❌ • 软件区别 &#x1f340;3DSMAX&#xff1a; 它是目前使用最广泛的3d软…

十、Mysql的DQL语句

Mysql的DQL语句十、Mysql的DQL语句select的查询一、查看系统参数二、select常用函数三、select的单表查询1、from子句2、where子句2.1 where配合等值查询2.2where配合比较操作符(> < > < <>)2.3where配合逻辑运算符(and or )2.4where配合模糊查询2.5where配合…

流量控制可靠传输机制停止-等待协议

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录链路层流量控制和传输层的流量控制区别停止-等待协议为什么要有停止等待协议无差错情况滑动窗口协议后退N帧协议GBN选择重传协议SR可靠传输流量控制&#x1f343;博主昵称&#xff1a;一拳必胜客 &#x1f3…

供应链全流程计划与排产解决方案核心功能概要

通过数字智能化运营实现将本增效至为重要。 许多企业的业务现状是销售、生产计划与市场不匹配&#xff0c;企业的运营效率低且成本高&#xff1a; 销售计划计划需要大量的人员进行沟通&#xff0c;销售预测的分析维度少、粒度粗&#xff0c;不仅效率低&#xff0c;且预测只是一…

【mycat】常用分片规则

一、 常用分片规则 1、取模 ​ 此规则为对分片字段求摸运算。也是水平分表最常用规则 2、分片枚举 ​ 通过在配置文件中配置可能的枚举 id&#xff0c;自己配置分片&#xff0c;本规则适用于特定的场景&#xff0c;比如有些业务需要按照省份或区县来做保存&#xff0c;而全…

Delphi Enterprise具有强大视觉设计功能

Delphi Enterprise具有强大视觉设计功能 Delphi可帮助您使用Object Pascal为Windows、Mac、Mobile、IoT和Linux构建和更新数据丰富、超连接、可视化的应用程序。Delphi Enterprise适用于构建客户端/服务器或多层应用程序、REST服务等的开发团队。 Delphi功能 单一代码库-用更少…

小程序在线客服完整实现

1、先注册公众号》小程序(需实名认证) 2、开发》测试》上传》审核发布》发布》使用 3、公众号(订阅号或服务号)与小程序(此为在线客服)通过同一主体绑定可以打通调用 建议 内测完成后再上传。如果多次上传demo会处罚的。 添加客服人员列表(授权)可以电脑、手机端均…

(免费分享)springboot论坛bbs系统

源码获取&#xff1a;关注文末gongzhonghao&#xff0c;输入010领取下载链接 开发工具&#xff1a;IDEA 数据库mysql5.7 技术&#xff1a;springbootjpashiroredislayui 前台截图&#xff1a; 后台截图&#xff1a; package com.qxczh.admin.service.impl;impor…

云南美食介绍 简单静态HTML网页作品 美食餐饮网站设计与实现 学生美食网站模板

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

A puma at large

New words and expressions puma n. 美洲狮 spot v. 看出,发现 evidence n. 证据 accumulate v. 积累,积聚 oblige v. 使……感到必须 hunt n. 追猎;寻找 blackberry n. 黑莓 Pumas are large, cat-like animals which are found in America. When reports came i…

点击化学PEG试剂巯基吡啶-PEG-叠氮,OPSS-PEG-azide,OPSS-PEG-N3

点击化学PEG试剂OPSS-PEG-azide&#xff08;OPSS-PEG-N3 &#xff09;化学试剂其中文名为巯基吡啶-聚乙二醇-叠氮&#xff0c;它所属分类为Azide PEG Orthopyridyl disulfide (OPSS) PEG。 其分子量均可定制&#xff0c;有&#xff1a;2K 巯基吡啶-PEG-叠氮、5k OPSS-PEG-N3、…

TCP/IP协议、UDP协议及网络基础概念

网络程序设计编写的是与其他计算机进行通信的程序。Java已经将网络程序所需要的东西封装成不同的类&#xff0c;用户只要创建这些类的对象&#xff0c;使用相应的方法&#xff0c;即使不具备有关的网络知识&#xff0c;也可以编写出高质量的网络通信程序。 1.局域网与因特网 …

如何快速实现根因分析/业务大盘

Ideas Worth Spreading 写在前面的话 特别感谢 感谢在最早开发鱼骨图带领我前进的技术负责人-佳哥&#xff08;总监&#xff09;。他一丝不苟的技术态度、严密的逻辑和高要求&#xff08;这里大家都懂的&#xff09;&#xff0c;让我成长。这里是他在语雀的博客&#xff0c;其…

(new online judge)1322蓝桥杯2017初赛 包子凑数

P1322 - [蓝桥杯2017初赛]包子凑数 - New Online Judge 题目分两步&#xff1a;&#xff08;1&#xff09;判断结果是否为INF&#xff1b;&#xff08;2&#xff09;如果不是INF&#xff0c;统计数量。考点是“数论gcd简单DP”。 1. 什么时候答案不是INF 什么时候答案不是INF…

ADSP21489之CCES开发笔记(六)

一、仿真调试CCES代码 1、导入21489的Demo代码 2、修改设计SS4SH存储代码&#xff0c;如红框部分 3、搭配USBi调试&#xff0c;修改如下代码部分 oSSnConfig.bSkipInitialDownload 0; //usbi调试时&#xff0c;设置为0&#xff0c;默认为1 oCommConfig.nSelectSPI SELECT_SP…

英文Essay写作中存在哪些门道?

刚进入英国学校学习的小伙伴&#xff0c;每次放假都要赶Essay。那么什么是Essay呢&#xff1f;Essay怎么写呢&#xff1f;今天我们就来讲讲Essay中的门道。 A little partner who has just entered a British school must catch up with Essay every holiday.So what is Essay?…

入门:树莓派装系统、亮机,无需外接显示器键盘鼠标(保姆级教程)

借鉴了&#xff1a;https://blog.csdn.net/qq_24211837/article/details/120255311 1.官网下载树莓派系统 https://www.raspberrypi.org/software/operating-systems/ 安装后页面还是比较柔和的 2.格式化SD卡 首次入门&#xff0c;还是先学习前辈的方法进行操作 下载格式…

如何自定义代码生成器(下)

4.2 编码 4.2.1 常量类 package freemarker.constant;public class TemplateConstant {//实体类模板public static final String entityTemplate "templates/Entity.ftl";//Mapper模板public static final String mapperTemplate "templates/Mapper.ftl&quo…

k8s教程(12)-pod 全自动调度

文章目录01 引言02 Deployment & RC2.1 功能2.2 举例03 文末01 引言 声明&#xff1a;本文为《Kubernetes权威指南&#xff1a;从Docker到Kubernetes实践全接触&#xff08;第5版&#xff09;》的读书笔记 在前面的博客《k8s教程&#xff08;11&#xff09;-pod调度概述》&…