https://arxiv.org/pdf/1703.03864.pdf
https://openai.com/blog/evolution-strategies/
OpenAi发的论文,用于替代强化学习,与传统Qlearning方式不同的是,不用计算梯度,直接改成了一个优化方法。(回归了上大学的时候数学建模的一些方法)。直接上算法,很简单。
实际使用中,初始化提前在每个worker中生成好一些disturbs,然后每次随机一个数,作为下标,去选取disturb。在更大的数据集上,也可以每个worker只disturb一部分参数。
Tricks:
1. mirro sampling 对称disturb
2. Fitness shaping https://arxiv.org/pdf/1106.4487.pdf
将fitness排序后,重新用u_i替代(u_i需要满足绝对值加和等于1),然后计算更新方向。文章中用的一个u_i如下图所示。
3. weight decay
4. Virtual batch normalization 利用开始一部分小batch计算mean,然后固定。