我对人工智能和神经网络非常陌生。我已经在PyTorch中实现了一个前馈神经网络,用于对MNIST数据集进行分类。现在,我想要可视化隐藏神经元(子集)的感受野。但我在理解接受域的概念时遇到了一些问题,当我在谷歌上搜索时,所有的结果都是关于CNNs的。那么,有没有人可以帮助我在PyTorch中如何做到这一点,以及如何解释结果?
发布于 2019-12-03 00:08:48
我之前已经描述了CNNs in this answer的接受域的概念,只是为了给你一些在我的实际答案中可能有用的上下文。
似乎你也在为接受域的想法而苦苦挣扎。通常,你可以通过问这样的问题来更好地理解它:“(以前的)层表示的哪一部分正在影响我当前的输入?”
在卷积层中,计算当前层的公式仅将图像的一部分作为输入(或至少仅基于此子区域更改结果)。这正是感受野的含义。
现在,顾名思义,完全连接的层具有从以前的每个隐藏状态到每个新的隐藏状态的连接,请参见下图:

在这种情况下,感受野只是简单地影响“每个先前的状态”(例如,在图像中,第一个绿松石层中的一个细胞受到所有黄色细胞的影响),这不是很有帮助。整个想法是拥有一个更小的子集,而不是所有可用的状态。
因此,不幸的是,我认为你提出的关于PyTorch实现的问题并没有多大意义,但我希望你的回答仍然对这个主题提供了一些清晰度。
作为后续,我还鼓励您考虑这种“连接性”的含义,特别是在涉及到可调参数的数量时。
https://stackoverflow.com/questions/59140195
复制相似问题