随机初始化的神经网络如何表现?

人工智能 神经网络 深度学习 卷积神经网络
2021-11-14 10:27:09

我想知道随机初始化的 MLP 和 ConvNet 的输出相对于它们的输入是如何表现的。谁能指出对此的一些分析或解释?

我对此感到好奇,因为在OpenAI 的 Random Network Distillation 工作中,他们使用随机初始化网络的输出来生成探索的内在奖励。这似乎假设相似的状态将产生随机网络的相似输出。一般情况是这样吗?

输入的微小变化会产生输出的微小变化,还是更混乱它们还有其他有趣的特性吗?

2个回答

随机初始化的神经网络的输出将是随机的。我不确定我是否正确理解了您的问题,但我想尝试解释 OpenAI 试图通过他们的 RND 蒸馏方法实现的目标。

任何强化或监督“学习”算法,例如具有反向传播的神经网络 (NN)、遗传算法、部分群等都需要适应度函数。适应度函数将算法“引导”到一个解决方案。

基本思想是算法是随机初始化的。运行算法,然后更改部分算法。在这种情况下,NN 的权重。

存在许多算法来更新权重,这是论文中使用的最常见的反向传播/梯度下降。为了更新权重,将 NN 的输出与最佳输出进行比较。有时最佳值是已知的。其他时候不是。在游戏的情况下,最佳输出是未知的。假设获得的点数越多,NN 的效果就越好。在这种情况下,适应度函数或策略是玩游戏时获得的分数的总和。但是梯度下降需要一个误差(即输出和期望输出的差),在玩游戏的时候是不存在的,因为你不知道点应该是什么。然而,NN 可以在一轮游戏中获得一些分数,然后在下一步中再次运行 NN 以确定对未来分数的预测。获得的点与预测之间的差异就是梯度下降可以使用的误差。[希望这是有道理的]

这对于像乒乓球这样的游戏来说很好,神经网络可以随机玩乒乓球并在每次预测时得分,这将引导梯度下降来更新权重以最大化分数。

然而,像蒙特祖玛的复仇这样的游戏,在获得积分之前需要很多复杂的动作。如果点保持为 0,梯度下降如何确定应该减少还是增加权重?

相反,作者初始化了第二个随机神经网络,该网络在训练期间保持不变。如上所述,随机初始化的神经网络的输出是随机的。

实际 NN 的输出和世界状态然后通过随机 NN (RND) 传递,它将返回一个随机值。然后,NN 不仅需要确定游戏动作,还需要确定 RND 的结果。

策略功能从仅点扩展到也可以预测 RND 的结果。预测误差越大,分配给策略函数的奖励积分就越多。这鼓励梯度下降来改变 NN 的权重以探索游戏中看不见的部分,因为这增加了 RND 的预测误差,从而增加了分数。同时梯度下降必须更新 NN 的权重来预测 RND。

我希望这回答了你的问题。

总之,随机初始化的 NN 包括多层感知器或卷积网络将在其输入方面随机运行。RND网络在训练之星随机设置一次,用于基本提醒接受训练的NN之前已经这样做过,不要再这样做了——即奖励NN做了一些新的事情(探索)。

好奇心驱动学习论文的大规模研究(随机网络蒸馏工作的前传)中,在他们对随机特征的讨论中,他们引用了 3 篇讨论这个问题的论文:

  1. K. Jarrett、K. Kavukcuoglu、Y. LeCun 等人。什么是对象识别的最佳多阶段架构?
  2. AM Saxe、PW Koh、Z. Chen、M. Bhand、B. Suresh 和 AY Ng。关于随机权重和无监督特征学习
  3. Z. Yang、M. Moczulski、M. Denil、N. de Freitas、A. Smola、L. Song 和 Z. Wang。油炸卷积网络

我只是简单地浏览了这些。目前,[2] 中的一个有趣想法是使用随机初始化的网络进行架构搜索。要评估任务的架构,您不必训练它;你可以随机初始化它并测量它的性能。