PPO-RND 通过在 Tensorflow 2 和 Pytorch 中使用近端策略优化和随机网络蒸馏来演示深度强化学习的简单代码 版本 2 和其他进展 版本 2 将带来代码质量和性能的改进。 我重构了代码,以便它遵循 OpenAI 基线上 PPO 实现中的算法。 我还使用了称为 Truly PPO 的更新版本的 PPO,它比 OpenAI 的 PPO 具有更高的样本效率和性能。 目前,我专注于如何在更困难的环境(Atari 游戏、MuJoCo 等)中实施这个项目。 使用 Pytorch 和 Tensorflow 2 清理代码 使用真正的 PPO 添加更复杂的环境 添加更多说明 入门 该项目使用 Pytorch 和 Tensorflow 2 作为深度学习框架,使用 Gym 作为强化学习环境。 虽然不是必需的,但我建议在具有 GPU 和 8 GB 内存的 PC 上运行此项目 先决
1
深度SARSA和深度Q学习-LunarLander-v2 环境 在这个项目中,我试图从OpenAI体育馆解决Lunar Lander环境。这是一个二维环境,其目的是教导登月舱模块安全地着陆在固定在点(0,0)的着陆垫上。该代理具有3个推进器:一个在模块的底部,另一个在模块的每一侧。因此,代理人在每个时间步长都有4种可能的动作可供选择:发射每个推进器或什么也不做。给予坐席的奖励取决于许多因素:发射底部推进器会产生-0.3的奖励,而发射侧面推进器会产生-0.03的奖励。如果探员安全地降落在着陆垫上,将获得+100分的奖励,此外,与地面接触的模块的每条腿都将获得+10分的奖励。当代理程序着陆或崩溃时,已达到终端状态。为了检测终端状态,可以提取一个状态向量,该状态向量指示代理的位置,其当前速度和环境着陆标志,以指示腿是否与地面接触。还可以提取代表环境中代理图片的RGB阵列。最后,要解决此问题并确定
1
绝对可以用的二级倒立摆模型。simulink建模,matlab编写s函数,使用lqr最优控制
2021-11-28 22:11:46 580KB simulink建模
1
最佳控制理论,庞特里亚金最大值原理,贝尔曼的动态规划方法
2021-11-28 17:43:17 757KB 最大值原理
1
要运行的文件:mainproc.m 控制向量参数化,也称为直接序列法, 是求解最优控制问题的直接优化方法之一。 直接优化方法的基本思想是将控制问题离散化,然后将非线性规划 (NLP) 技术应用于最终的有限维优化问题。 问题是您希望从时间 $t = 0$ 的 $A=(0,0)$ 转向接近时间 T 的 $B=(4,4)$ 点。运动发生在 $ x_1, x_2$ 平面。 您的控制变量是推力 $u$ 和推力角 $\theta$。 角度 $\theta$ 是从 $x_1$ 轴测量的。 为了让生活变得有趣,在 (3,0) 处有一个大质量,它施加的力与您与质量的距离的平方的倒数成正比。 (详情见发布代码) *问题来自NCSU的“最优控制”课程(由Stephen Campbell博士主持)。
2021-11-28 16:15:24 99KB matlab
1
经过算法改进,实现了比Q学习更快的收敛速度,可以快速的找到最短路径,程序使用了matlab语言,适合初学者,也适合科研硕士研究。
2021-11-28 12:07:36 49KB matlab 路径规划 人工智能 强化学习
最优调节的闭环系统方框图:
2021-11-27 17:00:42 1.24MB 线性二次型 最优控制
1
针对蜂窝网资源分配多目标优化问题,提出了一种基于深度强化学习的蜂窝网资源分配算法。首先构建深度神经网络(DNN),优化蜂窝系统的传输速率,完成算法的前向传输过程;然后将能量效率作为奖惩值,采用Q-learning机制来构建误差函数,利用梯度下降法来训练DNN的权值,完成算法的反向训练过程。仿真结果表明,所提出的算法可以自主设置资源分配方案的偏重程度,收敛速度快,在传输速率和系统能耗的优化方面明显优于其他算法。
1
用MATLAB设计最优控制系统,并用GUI实现可视化界面。 最优控制是在一定的约束条件下,从已给定的初始状态出发, 确 定最优控制作用的函数式,使目标函数为极小或极大。在设计最优控制器的过程中,运用MATLAB最优控制设计工具,会大大减小设计的复杂性。
2021-11-27 10:13:51 2.29MB 最优控制系统 GUI MATLAB
1
PP = PCHIPD(X,Y,D) 提供了分段三次多项式,该多项式在位置 X 处插入值 Y 和导数 D。这是为了增加内置的 Matlab 函数 PCHIP,它不允许用户指定导数。 X 必须是向量。 如果 Y 和 D 是向量,则 Y(i) 和 D(i) 是要在 X(i) 处匹配的值和导数。 如果 Y 和 D 是矩阵,则 size(Y,2) == size(D,2) == length(X)。 另外,size(Y,1) == size(D,1)。 使用它来插入向量值函数。 YY = PCHIPD(X,Y,D,XX) 与 YY = PPVAL(PCHIPD(X,Y,D),XX) 相同,因此在 YY 中提供了 XX 处的插值值。
2021-11-26 14:53:58 3KB matlab
1