强化学习系列文章(二十八):进化强化学习EvoRL的预实验
最近在研究强化学习解决离散空间的组合优化问题时,接触到了很多进化算法,实际体验也是与RL算法不相上下。进化算法也常用于优化神经网络的参数,CMA-ES算法是进化算法中的佼佼者,被World Model等工作采用,对于数百到数千参数规模的优化问题比较擅长。
首先安装cma
pip install cma
cma对象的初始化
x0
是初始解,又称起始点。
sigma0
是初始标准差,控制了初始种群与初始解的偏差程度,标准差越大,偏差越大。
'popsize'
是可选参数,作为字典传入,手动设置种群规模。
es = cma.CMAEvolutionStrategy(x0=[0.]*100,
sigma0=0.1,
inopts={
'popsize': 100
})
cma的交互
cma采用所谓ask-and-tell interface
,