【问题标题】:Mutate weights and biases in a neural network through genetic algorithm通过遗传算法改变神经网络中的权重和偏差
【发布时间】:2019-04-02 22:23:57
【问题描述】:

我有一个进化神经网络群体的遗传算法

到目前为止,我使用 random.randn (Python) 对权重或偏差进行突变,它是来自均值 = 0 的正态分布的随机值

它工作得“很好”,我设法使用它来实现我的项目,在给定的时间间隔内使用均匀分布不是更好吗?

我的直觉是这会导致我的网络更加多样化

【问题讨论】:

  • SO 通常被认为是一个专注于特定编程/实现问题的网站。像您这样的概念性问题可能过于宽泛,您可能在 ai.SE、datascience.SE 或 stats.SE 上运气更好。

标签: neural-network genetic-algorithm normal-distribution mutation uniform-distribution


【解决方案1】:

我认为,这个问题没有简单的解决方案。在正态分布的情况下,平均值周围的数字有更多机会被您的数字生成器“选择”,均匀分布为所有数字提供几乎相等的机会。这很清楚,但对问题的回答,机会均等意味着更好的结果,据我说,仅在经验实验中。所以我建议你进行正态分布和均匀分布的实验,尝试根据结果来判断。

关于多样性。我假设您创建了一些代表权重的随机向量。在突变阶段,您执行随机数的加法。这个数字更有可能来自均值附近的紧密区间,因此在高概率的 0 突变的情况下,某些元素的变化很小。因此,对矢量的改进只会很小,有时会出现一些大问题。在均匀分布的情况下,变化会更加随机,从而导致个体不同。问题是,这些人会更好吗?我不知道,但我提供另一种观点。我把遗传算法看作是进化论的类比。而从这个角度来看,个人的累积小改进,发生大变化的可能性很小,更为合适。考虑一下情况,使用的是均匀分布,但是由于变化大,孩子的适应度低,所以在创建新一代的阶段不会被选中。而且您会等待很长时间才能让您的网络运行并取得良好效果的微小改进。

也许还有一件事。您的实验可能表明均匀/正态分布更好。但是这样的结果可能仅适用于您当前的问题,一般情况下不会。

【讨论】:

  • 根据我的经验,对此类主题的直觉往往会产生误导,但您说得对,对于我的项目,除了尝试自己之外,我可能别无选择
猜你喜欢
  • 2019-04-15
  • 1970-01-01
  • 2018-03-01
  • 2018-05-11
  • 2020-04-01
  • 2015-12-14
  • 2020-08-19
  • 2021-07-28
  • 1970-01-01
相关资源
最近更新 更多