Pytorch的强化学习
文章平均质量分 96
强化学习 (RL) 是机器学习的一个分支,近年来越来越受欢迎。它允许您训练 AI 模型,从它们自己的行为中学习并优化它们的行为。PyTorch 也因其高效和易用性而成为训练 RL 模型的首选工具。
Sonhhxg_柒
Save your heart for someone who cares. #愿岁月清净 抬头遇见皆是柔情#
展开
-
【Pytorch】第 9 章 :Capstone 项目——用 DQN 玩 Flappy Bird
我们更新鸟的位置、它的图像索引以及管道的位置。在训练的每一步中,我们都遵循 epsilon-greedy 策略采取行动:在一定的概率(epsilon)下,我们将采取随机行动,在我们的例子中是扑动还是不扑动;中,我们定义管道的速度(随着时间的推移向左移动 4 个单位)、鸟的最小和最大垂直速度( 和 )、它的向上和-8向下10加速度(-9和1)、它的默认垂直速度( 0)、鸟图像的起始索引( 0)、初始分数、鸟的初始水平和垂直位置、底座的位置以及使用gen_random_pipe方法随机生成的管道的坐标。原创 2022-12-12 10:13:06 · 1939 阅读 · 9 评论 -
【Pytorch】第 8 章 :实施政策梯度和政策优化
在本章中,我们将重点介绍作为近年来最流行的强化学习技术之一的策略梯度方法。我们将从实施基本的 REINFORCE 算法开始,然后继续改进算法基线。我们还将实现更强大的算法、actor-critic 及其变体,并将其应用于解决 CartPole 和 Cliff Walking 问题。我们还将体验一个具有连续动作空间的环境,并求助于高斯分布来解决它。通过最后一个有趣的部分,我们将基于交叉熵方法训练一个代理来玩 CartPole 游戏。实施 REINFORCE 算法。原创 2022-12-11 09:30:47 · 408 阅读 · 9 评论 -
【Pytorch】第 6 章 :用函数逼近扩展学习
如您所见,在使用 FA 的 Q 学习中,它尝试学习近似模型的最佳权重,以便最好地估计 Q 值。请注意,环境有一个四维观察空间,是 Mountain Car 的两倍,因此我们直观地加倍了我们使用的特征数量,并相应地增加了隐藏层的大小。具体来说,经验(也称为缓冲区,或记忆)包括过去的状态、采取的行动、收到的奖励,以及情节中各个步骤的下一个状态。这需要一个参数 ε,其值从 0 到 1,|A|,可能的动作数量,以及用于预测状态动作值的估计器。此外,使用 TD 方法学习连续状态的值似乎是不可行的。原创 2022-12-10 08:57:03 · 1060 阅读 · 7 评论 -
【Pytorch】第 5 章 :解决多臂老虎机问题
多臂强盗算法可能是强化学习中最流行的算法之一。本章将从创建多臂老虎机和试验随机策略开始。我们将重点介绍如何使用四种策略解决多臂老虎机问题,包括 epsilon-greedy、softmax exploration、置信上限和 Thompson 采样。我们将看到他们如何以自己独特的方式处理探索-开发困境。我们还将研究一个价值数十亿美元的问题,即在线广告,并演示如何使用多臂老虎机算法解决它。最后,我们将使用上下文强盗来解决上下文广告问题,以便在广告优化中做出更明智的决策。本章将介绍以下食谱:让我们从一个简单的项原创 2022-12-10 08:55:22 · 1939 阅读 · 14 评论 -
【Pytorch】第 7 章 :深度 Q 网络实战
通过经验回放,我们将代理的经验(经验由旧状态、新状态、动作和奖励组成)存储在内存队列中的训练会话中。每当我们获得足够的经验时,就会从内存中随机抽取成批的经验,用于训练神经网络。在这种双网络设置中,目标值是暂时固定的,而不是不断修改,因此预测网络有更稳定的目标可以学习。在之前的秘籍中,我们将 Pong 环境中观察到的每个图像都视为一个灰度数组,并将其提供给一个全连接的神经网络。在这个秘籍中,我们会将。在深度 Q 学习中,经验回放意味着我们存储代理的每一步经验,并随机抽取一些过去经验的样本来训练 DQN。原创 2022-12-11 09:30:24 · 944 阅读 · 8 评论 -
【Pytorch】第 4 章 :时间差异和 Q 学习
在 Q -l earning (或任何其他 TD 方法)的每一步中,我们都会获得有关环境的更多信息,并使用此信息立即更新值。左下角的图块是代理的起点,右下角的图块是获胜点,如果到达该点,情节将结束。还有一点需要注意的是,观察空间比25(5*5)大很多,因为我们还要考虑乘客的位置和目的地,以及出租车是空的还是满的。我们得到CliffWalking-v0并且还知道观察空间由一个从 0(左上图块)到 47(右下目标图块)的整数表示,并且有四种可能的动作(上 = 0,右 = 1,下= 2,左 = 3)。原创 2022-12-09 10:56:30 · 431 阅读 · 9 评论 -
【Pytorch】第 3 章 :进行数值估计的蒙特卡洛方法
在上一章中,我们使用动态规划( DP ) 评估并求解了马尔可夫决策过程( MDP )。DP 等基于模型的方法有一些缺点。它们要求环境是完全已知的,包括转换矩阵和奖励矩阵。它们的可扩展性也有限,尤其是对于具有大量状态的环境。在本章中,我们将使用无模型方法继续我们的学习之旅,即蒙特卡洛( MC ) 方法,它不需要先验环境知识,并且比 DP 更具可扩展性。我们将从使用蒙特卡洛方法估计 Pi 的值开始。接下来,我们将讨论如何使用 MC 方法以 first-visit 和 every-visit 的方式预测状态值和状原创 2022-12-08 16:26:12 · 1553 阅读 · 7 评论 -
【Pytorch】第 2 章 :马尔可夫决策过程和动态规划
在本章中,我们将通过查看马尔可夫决策过程( MDP ) 和动态规划,继续我们使用 PyTorch 的实际强化学习之旅。本章将从创建马尔可夫链和 MDP 开始,这是大多数强化学习算法的核心。通过实践政策评估,您还将更加熟悉贝尔曼方程。然后,我们将继续并应用两种方法来解决 MDP:价值迭代和策略迭代。我们将使用 FrozenLake 环境作为示例。在本章的最后,我们将逐步演示如何用动态规划解决有趣的抛硬币赌博问题。本章将介绍以下食谱:您需要在系统上安装以下程序才能成功执行本章中的食谱:让我们从创建马尔可夫链开始原创 2022-12-07 10:44:13 · 2831 阅读 · 9 评论 -
【Pytorch】第 1 章 :强化学习和 PyTorch 入门
我们以基本但重要的强化学习算法(包括随机搜索、爬山和策略梯度)开始我们的实用强化学习和 PyTorch 之旅。我们将从设置工作环境和 OpenAI Gym 开始,您将通过 Atari 和 CartPole 游乐场熟悉强化学习环境。我们还将演示如何逐步开发算法来解决 CartPole 问题。此外,我们将回顾 PyTorch 的基本知识,并为即将到来的学习示例和项目做准备。本章包含以下配方:让我们开始设置工作环境,包括正确版本的 Python 和 Anaconda,以及作为贯穿本书的主要框架的 PyTorch。原创 2022-12-06 08:47:19 · 1515 阅读 · 9 评论