Blog

Fari

技术、阅读与日常记录。

程序无法正常启动(0xc0150002)

解决方法: 到这个地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=26368 下载这个 然后双击安装即可 查看出错原因 打开计算机管理,依次打开 系统管理 - 事件查看器 - Windows 日志 - 应用程序,稍等一会就可以在右边的窗口看到级别为“错误”的日志了,如果没有或不确定是哪个 …

qt在线安装

可以在这个地址下找到安装包的下载地址: https://download.qt.io/archive/online_installers/4.6/ 一步一步安装即可 选择组件时可以加上勾选 qt 中的msvc编译器(还需要额外安装visual studio)或MinGW编译器 到下载这一步比较慢,可能显示需要好几天或几十个小时。 一个解决办法是使用镜像下载, …

DDPG中各trick效果对比

本实验仅仅是一个简单的实验,用于比较在 “Pendulum-v1”(gym提供的一个小游戏,用于训练RL模型)环境下,使用: double net:critic和actor都拷贝一个副本,并延迟同步参数,在计算目标q值时使用改副本进行计算 每轮迭代次数:之前都是一局游戏结束就从历史数据中sample一批数据更新一次网络,而这里就是进行多次sample然后更新 …

Ornstein Uhlenbeck 噪声

直观理解 在DDPG(一种强化学习方法)采集数据过程中,会在actor输出的action上加上随机噪声以获得更好的探索性。 action是一个连续值,下图中的origin表示一个输出序列(一段时间内模型输出的action值) 最简单的加噪声方式就是直接在输出上加随机噪声,例如高斯噪声(第二行图像) 假如此时actor控制的是一个一辆汽车的方向盘,方向盘转动的 …

Actor-Critic优缺点

译自:https://www.linkedin.com/advice/0/what-advantages-disadvantages-using-actor-critic 优点: 1. 通过将critic net输出的q value作为baseline,可以降低policy gradient算法带来的误差,使得使用较少数据就能够使模型收敛 解释:PG算法性能 …

SAC、TD3、DDPG

本文不讲理论上的东西,只说实现上的不同。 事实上,如果单从实现来看,SAC和DDPG的差别不大。从 stable-baselines3 看,区别仅仅在于,SAC在训练critic和actor时,多在reward上加了一个熵值,而这也正是SAC的特性来源。 关于什么是熵,可以参见 交叉熵。简单来说,它就是一个值,与事件发生的概率呈负相关关系。因为在reward …

policy gradient处理连续动作空间

policy gradient可以直接输出action的概率来进行离散动作的选择,而对于连续动作空间,则需要直接输出动作的值,需要想办法将其转换为概率,方法就是输出一个action的分布(例如输出正态分布,就让模型输出 均值 和 方差 两个值即可),然后从该分布中采样一个action,进而计算该action在该分布中的概率,使用模型提高这个概率即可。 以下为 …

PPO:on policy OR off policy?

之前看李宏毅关于强化学习视频的时候,他说PPO是 off policy 的方法,但是刚看openai spinningup的时候,里面又明确写明它是一种on policy的方法。 如何区分 我个人觉得,一个非常简单的区分方法为:如果与环境交互的策略与目标策略相关,则是on policy的,否则是off policy的。 注意:我这里说的是“相关”,而严格定义 …

gymnasium pygame windows 无响应

使用gymnasium的第三方游戏环境Flappybird(https://github.com/markub3327/flappy-bird-gymnasium)训练RL模型,游戏刚运行没多久窗口就会无响应 只是窗口渲染出问题,游戏逻辑实际仍然在运行 出现这个原因是因为 event queue 一直没取,满了,新的event进不去就会卡住,在游戏中加入以下 …

两个数组保持顺序合并能产生多少种排列组合

做这道题用到的:https://leetcode.com/problems/number-of-ways-to-reorder-array-to-get-same-bst/description/ 求两个数组归并后可能产生多少种组合,要求归并后两个数组元素仍有保持原数组中的顺序 其实是个很简单的问题,是我开始想复杂了 假设两个数组长度分别为m和n,则归并后长 …