随笔分类 - 动手学强化学习
摘要:一、代码 import random import gym import numpy as np import torch import torch.nn.functional as F import matplotlib.pyplot as plt import rl_utils from tqd
阅读全文
摘要:一、代码 import random import gym import numpy as np import torch import torch.nn.functional as F import matplotlib.pyplot as plt import rl_utils from tqd
阅读全文
摘要:tensor.gather()的作用就是按照索引取对应的数据出来。之前看图解PyTorch中的torch.gather函数,那个图示看得我有点懵逼,所以自己画了两张图总结了一下规律来理解一下。 首先新建一个3*3的二维矩阵。 import torch t1 = torch.tensor([[1,
阅读全文
摘要:第 8 章 DQN 改进算法 8.1 简介 DQN 算法敲开了深度强化学习的大门,但是作为先驱性的工作,其本身存在着一些问题以及一些可以改进的地方。于是,在 DQN 之后,学术界涌现出了非常多的改进算法。本章将介绍其中两个非常著名的算法:Double DQN 和 Dueling DQN,这两个算法的
阅读全文
摘要:一、代码如下: import random import gym import numpy as np import collections from tqdm import tqdm import torch import torch.nn.functional as F import matpl
阅读全文
摘要:第 7 章 DQN 算法 7.1 简介 在第 5 章讲解的 Q-learning 算法中,我们以矩阵的方式建立了一张存储每个状态下所有动作\(Q\)值的表格。表格中的每一个动作价值\(Q(s,a)\)表示在状态\(s\)下选择动作\(a\)然后继续遵循某一策略预期能够得到的期望回报。然而,这种用表格
阅读全文
摘要:第 6 章 Dyna-Q 算法 6.1 简介 在强化学习中,“模型”通常指与智能体交互的环境模型,即对环境的状态转移概率和奖励函数进行建模。根据是否具有环境模型,强化学习算法分为两种:基于模型的强化学习(model-based reinforcement learning)和无模型的强化学习(mod
阅读全文
摘要:一、单步sarsa import matplotlib.pyplot as plt import numpy as np from tqdm import tqdm # tqdm是显示循环进度条的库 class CliffWalkingEnv: def __init__(self, ncol, nr
阅读全文
摘要:第 5 章 时序差分算法 5.1 简介 第 4 章介绍的动态规划算法要求马尔可夫决策过程是已知的,即要求与智能体交互的环境是完全已知的(例如迷宫或者给定规则的网格世界)。在此条件下,智能体其实并不需要和环境真正交互来采样数据,直接用动态规划算法就可以解出最优价值或策略。这就好比对于有监督学习任务,如
阅读全文
摘要:一、策略迭代 import copy class CliffWalkingEnv: """ 悬崖漫步环境""" def __init__(self, ncol=12, nrow=4): self.ncol = ncol # 定义网格世界的列 self.nrow = nrow # 定义网格世界的行 #
阅读全文
摘要:第 4 章 动态规划算法 4.1 简介 动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决
阅读全文
摘要:一、greedy import numpy as np import matplotlib.pyplot as plt class BernoulliBandit: """ 伯努利多臂老胡机,输入K表示拉杆个数 """ def __init__(self, K): self.probs = np.r
阅读全文
摘要:转载自:https://hrl.boyuai.com/chapter/1/马尔可夫决策过程 3.1 简介 马尔可夫决策过程(Markov decision process,MDP)是强化学习的重要概念。要学好强化学习,我们首先要掌握马尔可夫决策过程的基础知识。前两章所说的强化学习中的环境一般就是一个
阅读全文
摘要:1.1 简介 亲爱的读者,欢迎来到强化学习的世界。初探强化学习,你是否充满了好奇和期待呢?我们想说,首先感谢你的选择,学习本书不仅能够帮助你理解强化学习的算法原理,提高代码实践能力,更能让你了解自己是否喜欢决策智能这个方向,从而更好地决策未来是否从事人工智能方面的研究和实践工作。人生中充满选择,每次
阅读全文