菊花梨
健康最重要,好好休息,好好努力,好好享受
·今天 00:00
Day 11 ✅ 今天做了: 1、力扣刷题:118杨辉三角,198打家劫舍,322零钱兑换(完全背包问题),474一和零(二维01背包问题) 2、6007小组代码跑通 ⏰ 明天计划: 1、6007复习 2、5487上课认真学习 📚 今日感悟: 1、动态规划中的背包问题,一般目标函数都是dp[容量]的形式,转移函数为dp[容量] = Min/Max (dp[容量-元素分量]+增量)的形式,其中列表里的元素分量要逐个遍历。总体上背包问题都要2层for循环解决,01背包问题内层必须逆序遍历,完全背包问题内层必须正序遍历: 1) for i in range(容量);for j in 列表。意味着挨个求不同容量的最优解。 2) for i in 列表;for j in range(容量)。意味着每次都从列表拿出一个元素,挨个放进背包里,直至列表里的元素全都取完。 DP问题太烧脑了,暂且这么记。 2、今天强化学习训练的时候闹了个乌龙:对于一个PVP游戏,训练一个模型AI去打游戏自带的脚本人机,训练的时候没有一次打赢,但是测试的时候居然每一次都赢了。原因大致如下: 1)PPO算法在训练时,往往是根据行为action的概率分布进行采样,不一定会选到概率最大的action,这种训练方式是为了让模型能探索更多的可能。但是训练完测试的时候,模型会直接选择概率最大的action。于是在测试时,模型AI只会边往右走边平A,这种看起来很傻的打法却钻了脚本人机的漏洞,一直把脚本人机卡在墙角里打,人机每次倒下重新起身的时候,不会快速脱离墙角的位置,所以毫无反抗之力地被模型AI堵在墙角打。 2)在训练时,由于不同action的概率差别不是很大,模型采样时倾向于随机出招,可能是训练的不够久吧,导致前期的概率分布都很均匀。这就有个尴尬的地方,可能训练久了,模型AI变聪明之后,反而会打不过脚本人机,毕竟现在能打过其实是相当于逃课了。
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP