《深入浅出强化学习:原理入门》学习笔记(1)

1. 绪论

1.1 强化学习可以解决什么问题

可以用一句话来说明强化学习所能解决的问题:智能决策问题。更确切地说是序贯决策问题
什么是序贯决策问题呢?就是需要连续不断地做出决策,才能实现最终目标的问题。

1.2 强化学习如何解决问题

  • 强化学习和监督学习的异同点:强化学习和监督学习的共同点是两者都需要大量的数据进行训练,但是两者所需要的数据类型不同
  • 监督学习需要的是多样化的标签数据,强化学习需要的是带有回报的交互数据
  • 强化学习要解决的是序贯决策问题,它不关心输入长什么样,只关心当前输入下应该采用什么动作才能实现最终的目标。当前采用什么动作与最终的目标有关。
  • 监督学习→认知:是什么; 强化学习→决策:怎么做
    强化学习基本框架
图1. 强化学习基本框架
**图1解释了强化学习的基本原理。智能体在完成某项任务时,首先通过动作A与周围环境进行交互,在动作A和环境的作用下,智能体会产生新的状态,同时环境会给出一个立即回报。如此循环下去,智能体与环境不断地交互从而产生很多数据。** ### 1.3 强化学习算法的分类 已有的强化学习算法种类繁多,一般可按下列几个标准来分类。 - 根据强化学习算法**是否依赖模型**可以分为**基于模型的强化学习算法**和**无模型的强化学习算法**。 - 根据**策略的更新和学习方法**,强化学习算法可分为**基于值函数的强化学习算法**、**基于直接策略搜索的强化学习算法**以及**AC的方法**。 - 根据**环境返回的回报函数是否已知**,强化学习算法可以分为**正向强化学习**和**逆向强化学习**。 ### 1.4 强化学习仿真环境构建 (1)为了便于管理,需要先装Anaconda,下载和安装步骤如下。 - ① 下载Anaconda安装包(推荐利用清华镜像来下载),下载地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive. - ② 安装Anaconda。下载完成Anaconda后,安装包会在Downloads文件夹下(在终端用 Ctrl+Alt+T 组合键打开终端),键入 cd downloads,然后键入 bash anaconda3_4.3.0-linux-x86_64.sh(小技巧:键入bash an然后按Tab键,Linux系统会自动补全后面的名字) - ③ 安装过程会询问是否将路径安装到环境变量中,键入yes,至此Anaconda安装完成。你会在目录/home/你的用户名文件夹下看到Anaconda 3。关掉终端,再开一个,这样环境变量才起作用。

(2)利用Anaconda建一个虚拟环境。
Anaconda创建虚拟环境的格式为:conda create–name 你要创建的名字 Python=版本号。比如我创建的虚拟环境名字为gymlab,用的Python版本号为3.8,可这样写:
conda create --name gymlab python=3.8
操作完此步之后,会在anaconda3/envs文件夹下多一个gymlab。Python3.8就在gymlab下的lib文件夹中。
(3)安装gym。
上一步已经装了一个虚拟环境gymlab,在这一步要开始应用。先开一个新的终端,然后用命令source activate gymlab激活虚拟环境,再装gym。具体步骤如下。

  • ① 键入git clone https://github.com/openai/gym.git,将gym克隆到计算机中。如果你的计算机中没有安装git,那么可以键入:sudo apt install git,先安装git。
  • ② cd gym 进入gym文件夹。
  • ③ pip install-e ‘.[all]’进行完全安装。等待,这个过程会装一系列的库,装完后可以将 gym 安装文件的目录写到环境变量中;一种方法是打开.bashrc 文件,在末尾加入语句:
    export PYTHONPATH=你的gym目录:$PYTHONPATH。
    不出意外的话,你就可以开始享用gym了。
  • 对于③,如果报错可以先安装依赖项,键入命令 sudo apt-get install-y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig

下面给出一个最简单的例子。
① 开一个终端(ctr+alt+t),然后激活用Anaconda建立的虚拟环境;source activate gymlab;
② 运行Python:python;
③ 导入Gym模块:import gym;
④ 创建一个小车倒立摆模型:env=gym.make(‘CartPole-v0’);
⑤ 初始化环境:env.reset;
⑥ 刷新当前环境,并显示:env.render()。

通过这6步,我们可以看到一个小车倒立摆系统,如图2所示。
gym中的CartPole系统

图2. gym中的CartPole系统

————————————————————————————————
centos和Ubuntu可能配置方法不同,但大同小异,如果有环境搭建问题,欢迎留言讨论。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟08哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值