元方法+对抗进化论文

来所里半年,来的每一天都有工作,但是有些东西记录下来以后更方便查阅一点,顺便锻炼一下自己的梳理和表达。但是记录的内容很多是从现有资料中学习到的,不想赘述,仅对我理解的部分进行表述。

1.元方法

元方法不仅适用于强化学习,也适用于其他的机器学习方法,比如监督学习。元学习是一种学习方式,不是为了解决某一任务,而是为了学习到学习能力,以便适用于其他不同的任务。

我今天了解了MAML,是通过训练模型的原始参数来达到目的的。例如我们现在有一个初始的模型参数以及多个任务,将初始参数各自放进不同的任务中使用训练集进行梯度下降得到新的不同的参数,根据这个新参数去测试集计算不同任务中的loss值,将不同任务中的loss值合并为meta loss,使用meta loss去计算梯度更新初始模型参数得到我们需要的新的模型参数。

还了解了meta SGD,流程和MAML几乎是一样的,一个大的区别是mate SGD中学习率不是一个标量而是一个可以进行学习和优化的向量,和theta差不多,只是在进行梯度计算时还是在计算theta的。

2.对抗进化论文

这篇论文研究的主题是形态和策略协同优化,通过让两个小动物(美化了一点,其实是蚂蚁,虫子,蜘蛛)进行跑向目标和相扑来实现的。论文探讨的主要问题是如何实现持续的优化和如何联合优化形态和策略。

第一个问题:如何实现持续的优化

采用的是均匀对手采样,也就是说需要不断地与先前版本的策略进行对抗。值得笨蛋注意的是,提到的智能体不仅仅是自己更是有对手,自身与对手的策略是在不断变化的,那么我们在进行策略选择时可以限定一个数值,使得必须有一定的概率选择先前的策略。

第二个问题:如何联合优化形态和策略

在算法中,我们用a和b区分自身和对手,用theta和fi来区分形态和战术上的策略参数。形态是使用形态编码来完成的,但并不是使用真实的数值而是使用的缩放因子。在共同进化中分为两个阶段,第一个是形态生成,是形态参数由形态策略生成形态M,战斗开始时就是智能体将本体感知(s)、对手观察和形态编码(形态参数生成的那个)通过战术策略生成动作。

具体的算法流程为:初始化初始策略和原始形态。(为智能体选择对手,以及双方采样策略。通过形态子策略生成形态,初始化奖励和记录形态数据,基于战术子策略生成双方的动作,根据双方动作和状态进行状态转移并计算奖励,记录对抗数据,迭代以上,直到这个回合结束。回合结束后依据存储的数据执行PPO算法更新策略池)(括号里是两位分别执行的部分)

除了这些解决的问题之外,还值得记录一下的是奖励函数设置,分为密集奖励和稀疏奖励,用密集奖励去鼓励学习基本的走路等技能以及与对手产生交集(防止骚操作,比如朝目标前进并不是为了让你们竞走),用稀疏奖励鼓励产生对抗。那么由密集奖励转为稀疏奖励可以由奖励退火来控制。

今天就码到这里,其实昨天docker在vs中的配置也值得记录一下。anyway,下班!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值