计算机系统应用教程网站

网站首页 > 技术文章 正文

优化|遗传算法和深度强化学习的结合会是新的方向吗?

btikc 2024-10-09 08:50:23 技术文章 14 ℃ 0 评论

『运筹OR帷幄』转载

作者:Xenophon Tony


Xenophon Tony,Uber机器学习工程师


编者按

遗传算法与深度强化学习都是当今非常火热的科技领域,更都是与运筹学紧密相关的内容。那么将它们俩结合会发生什么呢?


首先的首先


人工智能目前无法超越人类的一个原因是由于人本身是有基因库遗传的,而目前的机器学习都是从零开始学习


如果这是你提这个问题的原因,我觉得首先要解释你这个statement。机器学习都是从零开始学习这个观点是非常不准确的,这也是学界几十年如一日想要克服的transfer learninng, few shot learning等问题,甚至拿pretrained过的网络去进行finetune也不能算是从0学起,这句话又从何而生呢?如果这是你的疑问,add keywords transfer learning, domain adaptation, few shot learning to your search.


回到遗传算法和深度强化学习的结合这个问题,我们其实是要回答一下几个问题,一步跳到深度强化学习很不现实。


1.遗传算法对神经网络,有帮助么?

有人提到Evolving neural network这篇paper,不得不说拿遗传算法来训练神经网络是很有年代感的事情了,主要是源于当年神经网络训练成本太高,学界还没有找到一种有效的方法可以一统神经网络的训练。参数的训练本质上是一种search问题,应用遗传算法是一种很natural的想法。后来的事情大家也知道了,网络层数越来越深,网络结构越来越复杂,应用遗传算法来search参数变得不再可能,backpropagation开始一统天下。用遗传算法来训练网络参数,尤其传统上把每个individual都作为一个parameter vector的那种,恐怕是要永远地待在故纸堆里了。


2. 遗传算法对深度学习真的没有优势?遗传是什么?进化又是什么?我们想解决的问题是什么?

那难道遗传算法就完全没有优势了么?想要理解遗传算法在深度学习中可能有的用途,就要试图去理解backpropagation可能的局限性在什么地方。这几年Neural Architecture Search很火,大家争相在参数训练已经被很好解决了的情况下,去搜索更高级的网络结构,以期达到更好的效果。这就涉及到一个问题,我想要搜索的这个问题,是否是可导的?Backpropagation是否仍然有效?毕竟传统意义上的遗传算法是gradient free的一种方法,适用于所有不合适求导的问题。而对于NAS来说,在选择了合适的search space之后,我们还是可以找到一种方式让看似离散的选择变得连续可导,如ENAS(https://arxiv.org/pdf/1802.03268.pdf)。那遗传算法?气氛再次沉默了起来。Neural Architecture Search是不是一种进化,是不是一种evolving?答案当然是yes,因为遗传/进化等看起来高大上的词,并不代表一类算法,而只是理解问题的一种方式,而遗传算法则是借助了生物学概念的一大类算法,它们之间有本质差别。


所以说我们可以借助遗传/进化等概念,但恐怕,出于对目前训练神经网络机器和优化算法的极度信任,目前的研究方向可能会离当年的遗传算法,越来越远。


3. 如果9102年的今天,神经网络的训练和搜索不需要遗传算法,那么在(深度)强化学习领域我们是否需要它?

可能的。比如说我司的这篇文章

Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning arxiv.org

链接:

https://link.zhihu.com/?target=https%3A//arxiv.org/abs/1712.06567


具体看paper吧,在多个Atari game上可以beat policy gradient和Q learning。不是说遗传算法很慢没办法scale么?一般来说,是的。但这篇工作里,作者们把每个parameter vector表示为了initialization seed加上list of random seeds that produce the series of mutations that produced each θ,通过这种压缩,大大加速了算法的evolve。


4. 除了传统的遗传算法,有没有借助遗传概念的算法可以帮助强化学习?

有,比如说这篇文章。这里用到了一种叫Evolution Strategies的算法,

Evolution Strategies as a Scalable Alternative to Reinforcement Learning

链接:

https://link.zhihu.com/?target=https%3A//arxiv.org/abs/1703.03864


只是这并不能算是gradient free的方法,可以把它理解为一种有限元估计gradient的方法(和policy gradient类似,都等价于对decision问题的smoothing,但得到的gradient estimate的variance更小),结果也非常promising。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表