我对人工智能和神经网络非常陌生。我已经在PyTorch中实现了前馈神经网络,以便对MNIST数据集进行分类。现在,我想可视化隐藏神经元(子集)的感受野。但是我在理解接受域的概念时遇到了一些问题,当我用Google搜索时,所有结果都与CNN有关。那么,有人可以在PyTorch中如何做到这一点以及如何解释结果吗?
答案 0 :(得分:2)
我之前已经描述了CNN in this answer的接受域的概念,只是为了向您提供一些可能对我的实际答案有用的上下文。
似乎您还在努力接受领域的想法。通常,您可以通过提出以下问题来最好地理解它:“(上一个)图层表示的哪一部分会影响我当前的输入?”
在卷积层中,用于计算当前层的公式仅将图像的一部分作为输入(或至少仅基于此子区域更改结果)。这正是接受领域。
现在,顾名思义,完全连接层具有从以前的隐藏状态到每个新的隐藏状态的连接,请参见图像下方:
在那种情况下,感受野只是“以前的每个状态” (例如,在图像中,第一层绿松石中的一个单元受所有黄色单元的影响),有帮助的。整个想法是拥有一个较小的子集,而不是所有可用状态。
因此,不幸的是,我认为您对PyTorch中的实现问题并没有多大意义,但我希望答案仍能使该主题更清晰。
作为后续,我也鼓励您考虑这种“连接”的含义,尤其是在可调参数的数量方面。