我想知道随机初始化的 MLP 和 ConvNet 的输出相对于它们的输入是如何表现的。谁能指出对此的一些分析或解释?
我对此感到好奇,因为在OpenAI 的 Random Network Distillation 工作中,他们使用随机初始化网络的输出来生成探索的内在奖励。这似乎假设相似的状态将产生随机网络的相似输出。一般情况是这样吗?
输入的微小变化会产生输出的微小变化,还是更混乱?它们还有其他有趣的特性吗?
我想知道随机初始化的 MLP 和 ConvNet 的输出相对于它们的输入是如何表现的。谁能指出对此的一些分析或解释?
我对此感到好奇,因为在OpenAI 的 Random Network Distillation 工作中,他们使用随机初始化网络的输出来生成探索的内在奖励。这似乎假设相似的状态将产生随机网络的相似输出。一般情况是这样吗?
输入的微小变化会产生输出的微小变化,还是更混乱?它们还有其他有趣的特性吗?
随机初始化的神经网络的输出将是随机的。我不确定我是否正确理解了您的问题,但我想尝试解释 OpenAI 试图通过他们的 RND 蒸馏方法实现的目标。
任何强化或监督“学习”算法,例如具有反向传播的神经网络 (NN)、遗传算法、部分群等都需要适应度函数。适应度函数将算法“引导”到一个解决方案。
基本思想是算法是随机初始化的。运行算法,然后更改部分算法。在这种情况下,NN 的权重。
存在许多算法来更新权重,这是论文中使用的最常见的反向传播/梯度下降。为了更新权重,将 NN 的输出与最佳输出进行比较。有时最佳值是已知的。其他时候不是。在游戏的情况下,最佳输出是未知的。假设获得的点数越多,NN 的效果就越好。在这种情况下,适应度函数或策略是玩游戏时获得的分数的总和。但是梯度下降需要一个误差(即输出和期望输出的差),在玩游戏的时候是不存在的,因为你不知道点应该是什么。然而,NN 可以在一轮游戏中获得一些分数,然后在下一步中再次运行 NN 以确定对未来分数的预测。获得的点与预测之间的差异就是梯度下降可以使用的误差。[希望这是有道理的]
这对于像乒乓球这样的游戏来说很好,神经网络可以随机玩乒乓球并在每次预测时得分,这将引导梯度下降来更新权重以最大化分数。
然而,像蒙特祖玛的复仇这样的游戏,在获得积分之前需要很多复杂的动作。如果点保持为 0,梯度下降如何确定应该减少还是增加权重?
相反,作者初始化了第二个随机神经网络,该网络在训练期间保持不变。如上所述,随机初始化的神经网络的输出是随机的。
实际 NN 的输出和世界状态然后通过随机 NN (RND) 传递,它将返回一个随机值。然后,NN 不仅需要确定游戏动作,还需要确定 RND 的结果。
策略功能从仅点扩展到也可以预测 RND 的结果。预测误差越大,分配给策略函数的奖励积分就越多。这鼓励梯度下降来改变 NN 的权重以探索游戏中看不见的部分,因为这增加了 RND 的预测误差,从而增加了分数。同时梯度下降必须更新 NN 的权重来预测 RND。
我希望这回答了你的问题。
总之,随机初始化的 NN 包括多层感知器或卷积网络将在其输入方面随机运行。RND网络在训练之星随机设置一次,用于基本提醒接受训练的NN之前已经这样做过,不要再这样做了——即奖励NN做了一些新的事情(探索)。
在好奇心驱动学习论文的大规模研究(随机网络蒸馏工作的前传)中,在他们对随机特征的讨论中,他们引用了 3 篇讨论这个问题的论文:
我只是简单地浏览了这些。目前,[2] 中的一个有趣想法是使用随机初始化的网络进行架构搜索。要评估任务的架构,您不必训练它;你可以随机初始化它并测量它的性能。