【问题标题】:Receptive fields for feed forward network前馈网络的感受野
【发布时间】:2020-03-27 03:23:22
【问题描述】:
我对人工智能和神经网络还很陌生。我在 PyTorch 中实现了一个前馈神经网络,用于对 MNIST 数据集进行分类。现在我想可视化隐藏神经元(一个子集)的感受野。但是我在理解感受野的概念时遇到了一些问题,当我用谷歌搜索时,所有结果都是关于 CNN 的。那么任何人都可以帮助我如何在 PyTorch 中做到这一点以及如何解释结果?
【问题讨论】:
标签:
neural-network
pytorch
receptive-field
【解决方案1】:
我之前已经描述了 CNN in this answer 的感受野的概念,只是为了给你一些可能对我的实际答案有用的上下文。
您似乎也在为感受野的概念而苦苦挣扎。通常,您可以通过询问“(前一个)层表示的哪一部分正在影响我当前的输入?”这个问题来最好地理解它。
在卷积层中,计算当前层的公式仅将图像的一部分作为输入(或至少仅根据此子区域更改结果)。这正是感受野。
现在,一个全连接层,顾名思义,有一个从每一个之前隐藏状态到每一个新隐藏状态的连接,见图下面:
在这种情况下,感受野只是“每个先前的状态”(例如,在图像中,第一个绿松石层中的一个单元格受到所有黄色单元格的影响),这不是很有帮助。整个想法是拥有一个更小的子集,而不是所有可用的状态。
因此,不幸的是,我认为您关于 PyTorch 实现的问题实际上并没有多大意义,但我希望答案仍能提供一些关于该主题的清晰度。
作为后续,我还鼓励您考虑这种“连通性”的含义,尤其是在涉及可调参数的数量时。