- 博客(141)
- 收藏
- 关注
原创 TorchScript 装饰器
是 PyTorch 中用于将 Python 函数或类转换为 TorchScript 的装饰器。TorchScript 是 PyTorch 的一种中间表示形式,它允许将模型序列化、保存并在没有 Python 解释器的情况下进行运行。这对于部署模型到生产环境、加速推理过程、以及在移动设备或嵌入式系统上运行模型非常有用。
2024-08-29 18:01:04
319
原创 Walk These Ways
学习到的运动策略可以快速适应与训练环境相似的多样化环境,但缺乏在分布外测试环境中失败时进行快速调整的机制。这需要缓慢且迭代的奖励和环境重新设计,以在新任务上获得良好性能。作为替代方案,我们提出了学习一种编码多种步态策略的单一策略,解决训练任务的不同方式,形成了行为多样性(MoB)。不同的策略可以在新任务或环境中实时选择,绕过了耗时的重新训练需求。
2024-08-29 15:22:35
893
原创 Extreme Parkour with Legged Robots
跑酷是一项流行的体育运动,它涉及人类以高度动态的方式穿越障碍,例如在墙壁和斜坡上奔跑、进行长距离的协调跳跃以及越过障碍物的高跳。这项运动需要出色的眼肌协调能力,因为错过一步可能是致命的。此外,由于产生了巨大的扭矩,人类的肌肉往往在其能力的极限下工作,四肢必须以最大化机械优势的方式定位。因此,错误的余地非常小,为了成功完成动作,运动员需要做出所有正确的动作。显然,这比行走或跑步要困难得多,需要多年的训练才能掌握。
2024-08-29 14:07:32
699
原创 31. 下一个排列
整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。给你一个整数数组 nums ,找出 nums 的下一个排列。输入:nums = [1,2,3]输入:nums = [3,2,1]输入:nums = [1,1,5]输出:[1,3,2]输出:[1,2,3]输出:[1,5,1]
2024-08-13 10:53:31
248
原创 287. 寻找重复数
给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。假设 nums 只有 一个重复的整数 ,返回 这个重复的数。输入:nums = [1,3,4,2,2]输入:nums = [3,1,3,4,2]输入:nums = [3,3,3,3,3]
2024-08-13 10:44:41
126
原创 75. 颜色分类
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们用指针 p0 来交换 0,p1 来交换 1,初始值都为 0。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。输入:nums = [2,0,2,1,1,0]输入:nums = [2,0,1]输出:[0,0,1,1,2,2]输出:[0,1,2]
2024-08-13 10:41:08
151
原创 169. 多数元素
我们用一个循环遍历数组 nums 并将数组中的每个元素加入哈希映射中。在这之后,我们遍历哈希映射中的所有键值对,返回值最大的键。我们同样也可以在遍历数组 nums 时候使用打擂台的方法,维护最大的值,这样省去了最后对哈希映射的遍历。对于哈希映射中的每个键值对,键表示一个元素,值表示该元素出现的次数。给定一个大小为 n 的数组 nums ,返回其中的多数元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入:nums = [2,2,1,1,1,2,2]输入:nums = [3,2,3]
2024-08-13 10:17:43
160
原创 强化学习—多智能体
多智能体强化学习是强化学习中的一个重要分支,涉及多个智能体在动态和交互的环境中学习和决策。它面临着挑战,如非稳定性、维度灾难以及智能体之间的协作与竞争。然而,随着算法的不断进步,MARL 在多个复杂应用领域中显示出巨大的潜力和前景。如果有更多的具体问题或需要深入讨论某个方面,欢迎继续提问!在一个包含多个玩家的博弈中,每个玩家都有一个策略集Σi\Sigma_iΣi,以及对应的收益函数uiσ1σ2σnuiσ1σ2σn,其中σi\sigma_iσ。
2024-08-13 09:46:33
1409
原创 强化学习—TPRO
Trust Region Policy Optimization (TRPO) 是一种强化学习策略优化算法,通过限制新旧策略之间的变化范围,确保每次更新都在一个信任区域内,从而提高学习过程的稳定性和效率。虽然 TRPO 在实际应用中表现良好,但它的计算复杂度和实现难度相对较高。如果你有任何进一步的问题或需要更多信息,欢迎继续讨论!
2024-08-12 15:35:02
1185
原创 强化学习—A2C
Advantage Actor-Critic (A2C) 是一种有效的强化学习算法,通过引入 Advantage Function 来改进传统的 Actor-Critic 方法,从而减少方差并提高策略更新的效率。在实际应用中,A2C 被广泛用于解决多种复杂的强化学习问题。
2024-08-12 11:40:56
1277
原创 强化学习—Reinforce with Baseline
需要完整观测一整个过程,每个时刻都会更新一轮参数,n个时刻就是n轮。因为是期望,可以使用蒙特卡洛近似,将At近似使用随机at。Q也是期望,所以也可以用蒙特卡洛近似,用随机ut近似。策略梯度:是状态价值函数对策略网络参数的梯度。是环境给的奖励,都是未知随机的(大写字母)总共使用了两次蒙特卡洛近似,和一个神经网络。公式近似之后,有两部分未知:Q和V。求期望,进一步消掉了动作。用价值网络近似V函数。
2024-08-09 16:56:27
737
原创 强化学习—Policy-Baseline
无论b是否华斯用,策略梯度还是一样的。但是适用b,会缩小方差,加速网络收敛。选取一个baseline->b,b是和动作A完全独立的。
2024-08-09 12:25:25
820
原创 347. 前 K 个高频元素
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。输入: nums = [1,1,1,2,2,3], k = 2。输入: nums = [1], k = 1。
2024-08-09 10:29:19
179
原创 215. 数组中的第K个最大元素
我们也可以使用堆排序来解决这个问题——建立一个大根堆,做 k−1 次删除操作后堆顶元素就是我们要找的答案。在很多语言中,都有优先队列或者堆的的容器可以直接使用,但是在面试中,面试官更倾向于让更面试者自己实现一个堆。所以建议读者掌握这里大根堆的实现方法,在这道题中尤其要搞懂「建堆」、「调整」和「删除」的过程。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。输入: [3,2,3,1,2,4,5,5,6], k = 4。输入: [3,2,1,5,6,4], k = 2。
2024-08-09 09:44:40
138
原创 强化学习—高估计问题
Bootstrapping:用一个估算去更新同类的估算。在强化学习中,Bootstrapping是一种重要的方法,特别是在n-step TD(时序差分)预测和控制问题中。这种方法结合了蒙特卡罗(MC)方法和一步时序差分(TD)方法。n-step TD方法利用了后续多步信息来更新价值函数,介于一步TD方法和MC方法之间。例如,在n-step TD方法中,目标的计算考虑了从当前步骤开始的接下来的n个步骤的奖励和状态价值。这种方法可以更快地更新价值估计,并且可以根据情况调整步长n,从而加速学习过程。n-st
2024-08-08 16:56:15
318
原创 强化学习—经验回放
Experience Replay 是强化学习中一种重要的技术,通过打破经验的时间相关性,提高了样本效率和学习的稳定性。它在深度强化学习算法(如 DQN)中的应用,显著提升了算法在复杂环境中的表现。
2024-08-08 12:11:22
756
原创 强化学习—Multi-Step TD Target
Multi-step TD Target 是一种有效的强化学习方法,通过结合多步回报来改进值函数的更新。它在处理复杂环境、加速收敛和改善估计精度方面提供了灵活的工具,是许多强化学习算法的重要组成部分。
2024-08-08 09:40:53
997
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人