Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What does 'high bandwidth' mean in the paper? #8

Open
Linwei-Chen opened this issue Oct 30, 2023 · 2 comments
Open

What does 'high bandwidth' mean in the paper? #8

Linwei-Chen opened this issue Oct 30, 2023 · 2 comments

Comments

@Linwei-Chen
Copy link

Thanks for your great work! I am confused about the definition of 'bandwidth' in the paper; it seems not to be the same as the traditional bandwidth described in here. Can you provide me with a clear definition? Additionally, what factors can impact the 'bandwidth' of a convolutional kernel? How can we quantitatively measure the 'bandwidth'?

@dwromero
Copy link
Collaborator

dwromero commented Nov 5, 2023

Hi Linwei,

Thank you for your interest in our work :)

The concept of bandwidth is actually analogous to the concept of bandwidth in signal processing. In particular, we refer to the bandwidth of a certain kernel parameterization as the region of the spectrum the resulting kernel is able to cover in practice.

For example, dilated kernels are in fact low-frequent right? This means that their bandwidth is lower than the resolution on which they are acting. Conversely, for FlexConv, the kernels that are generated live in the same resolution --in fact can have even larger frequencies that this resolution, which is why we use anti-aliasing regularization--. As a result, we say that this parameterization has a larger bandwidth than dilated convolutions. This behavior is shown in Fig. 2. In other words, the way in which the kernels are parameterized have a direct influence on the bandwidth of the resulting kernels.

Measuring the bandwidth of a convolutional kernel is simple. It is sufficient to compute the FFT and verify the frequency for which the kernel has the highest value. At a given resolution, e.g., that of the examples in Fig 2, we have that for Dilated Convs, the bandwidth of the kernel at 3x is given by the bandwidth of the kernel at 1x. For FlexConvs, on the other hand, the bandwidth of the kernel at 3x will be higher (because it has high-frequencies).

Please let us know if this clarified this issue. If not, we are happy to add more details :)

Best,

David.

@Linwei-Chen
Copy link
Author

Thanks for your reply! So, does it mean that I can quantitatively measure the bandwidth by the high frequency in the convolution kernel? For instance, is the bandwidth 0 to the highest frequency? By the way, which frequency unit should we use for bandwidth—cycles/image or normalized -∏ to +∏?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants