Deep Learning and Convolutional Neural Networks
While deep neural networks have overwhelmingly established state-of-the-art results in many artificial intelligence problems, they can still be difficult to develop and debug.
Recent research on deep learning understanding has focused on feature visualization, theoretical guarantees, model interpretability, and generalization.
Computation of Receptive Fields
In this work, we analyze deep neural networks from a complementary perspective, focusing on convolutional models.
We are interested in understanding the extent to which input signals may affect output features, and mapping features at any part of the network to the region in the input that produces them.
The key parameter to associate an output feature to an input region is the receptive field of the convolutional network, which is defined as the size of the region in the input that produces the feature.
As our first contribution, we present a mathematical derivation and an efficient algorithm to compute receptive fields of modern convolutional neural networks.
Previous work discussed receptive field computation for simple convolutional networks where there is a single path from the input to the output, providing recurrence equations that apply to this case.
In this work, we revisit these derivations to obtain a closed-form expression for receptive field computation in the single-path case.
Furthermore, we extend receptive field computation to modern convolutional networks where there may be multiple paths from the input to the output.
To the best of our knowledge, this is the first exposition of receptive field computation for such recent convolutional architectures.
Importance of Receptive Field Computation
Today, receptive field computations are needed in a variety of applications.
For example, for the computer vision task of object detection, it is important to represent objects at multiple scales in order to recognize small and large instances; understanding a convolutional feature’s span is often required for that goal (e.g., if the receptive field of the network is small, it may not be able to recognize large objects).
However, these computations are often done by hand, which is both tedious and error-prone.
This is because there are no libraries to compute these parameters automatically.
As our second contribution, we fill the void by introducing an open-source library which handily performs the computations described here.
The library is integrated into the TensorFlow codebase and can be easily employed to analyze a variety of models, as presented in this article.
Conclusion
We expect these derivations and open-source code to improve the understanding of complex deep learning models, leading to more productive machine learning research.
Frequently Asked Questions
Q1: What is the receptive field of a convolutional neural network?
The receptive field of a convolutional neural network is the size of the region in the input that produces a given feature.
Q2: How do I compute the receptive field of a convolutional neural network?
You can compute the receptive field of a convolutional neural network using our open-source library, which is integrated into the TensorFlow codebase.
Q3: Why is receptive field computation important?
Receptive field computation is important because it allows us to understand how input signals affect output features, and how features are produced at different parts of the network.
Q4: What are the advantages of using your open-source library?
Our open-source library provides an efficient and automated way to compute receptive fields, which can save time and reduce errors compared to manual computation.
Q5: Can I use your library for my specific use case?
Yes, our library is designed to be flexible and can be used with a variety of models and applications.

