1
$\begingroup$

Is there a set of rules or guidelines for designing filters for convolutional neural networks? For example, a 3 x 3 layer with ones in the first column, zeroes in the second, and negative ones in the third may be used as a vertical edge detector for images. How do you find such filters without trying out randomly arranged filters? Many of the answers I found use domain knowledge or are application-specific. In general, how do I design a filter to get a certain pattern in the output value arrangement? Of course, the filters might be learned by a convolutional neural network, but how would I hand-design one? This question on Research Gate has conflicting answers that seem to be domain-specific, e.g. CNN vs. signal processing.

Research Gate Question: How to design filters for Convolutional Neural Networks?

This research paper gives some answers, but based on the abstract, it collates general principles used in machine learning or AI. Would the methods described here be better for designing filters than studying matrix operations or mathematics?

On filter design in [sic] deep convolutional neural network

$\endgroup$

1 Answer 1

1
$\begingroup$

In general, the filters of a convolutional network are NEVER designed, they are trained. Of course, there can be research lines that study the inclusion of hand-designed filters in CNNs, but in the real-world that is not a thing. The article you mention has zero citations, implying that its methods are not something other people in the field use.

In signal processing, you might want to apply a hand-designed convolution to a signal to apply a specific effect (e.g. smoothing). These can be derived by:

  • logic, intuition and trial-error.
  • heuristics (e.g. make the sum of the elements zero, so that no response is gained from a uniform background). Here you can find some examples.
  • approximations of mathematical expressions, like probability functions. Here you can find examples.

In neural networks, the focus is on a specific task, so you optimize the filters to improve the performance at the task.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.