What is the basic formula of convolution?
Definition. The convolution of f and g is written f∗g, denoting the operator with the symbol ∗. -axis toward the right (toward +∞) by the amount of t, while if t is a negative value, then g(t − τ) is equal to g(−τ) that slides or is shifted toward the left (toward -∞) by the amount of |t|.
Definition and Calculation
The recipe to calculate the convolution is: Mirror the function W in the origin to give function Wm[i,j]=W[−i,−j], then shift the weight function Wm to position (k,l) in the image, pixelwise multiply the function and shifted weight function and.
Theorem 1. (convolution theorem). The Fourier transform of the product of two functions, f(x, y) and g(x, y), is equal to the product of the Fourier transforms F(u, v) and G(u, v). In other words, (3.12) F [ f ( x , y ) * g ( x , y ) ] = F ( u , υ ) G ( u , υ )
The convolution of two vectors, u and v , represents the area of overlap under the points as v slides across u . Algebraically, convolution is the same operation as multiplying polynomials whose coefficients are the elements of u and v . w ( k ) = ∑ j u ( j ) v ( k − j + 1 ) .
y(n)=x(n)*h(n)
Here, y(n) is the output (also known as convolution sum). x(n) is the input signal, and h(n) is the impulse response of the LTI system.
A convolution is an integral that expresses the amount of overlap of one function as it is shifted over another function.
- Take signal x1t and put t = p there so that it will be x1p.
- Take the signal x2t and do the step 1 and make it x2p.
- Make the folding of the signal i.e. x2−p.
- Do the time shifting of the above signal x2[-p−t]
- Then do the multiplication of both the signals. i.e. x1(p). x2[−(p−t)]
In mathematics (in particular, functional analysis), convolution is a mathematical operation on two functions (f and g) that produces a third function ( ) that expresses how the shape of one is modified by the other. The term convolution refers to both the result function and to the process of computing it.
Convolution is a simple multiplication in the frequency domain, and deconvolution is a simple division in the frequency domain. A short while back, the concept of "deblurring by dividing Fourier Transforms" was gibberish to me. While it can be daunting mathematically, it's getting simpler conceptually.
In mathematics, the convolution theorem states that under suitable conditions the Fourier transform of a convolution of two functions (or signals) is the pointwise product of their Fourier transforms.
How do you solve convolution theorem?
To solve a convolution integral, compute the inverse Laplace transforms for the corresponding Fourier transforms, F(t) and G(t). Then compute the product of the inverse transforms.
In equation form: . y[n] x[n] ✳ h[n] ' y[n] Expressed in words, the input signal convolved with the impulse response is equal to the output signal. Just as addition is represented by the plus, +, and multiplication by the cross, ×, convolution is represented by the star, ✳.

The spatial dimensions(x,y) of a convolutional layer can be calculated as: (W_in−F+2P)/S+1 . The depth of the convolutional layer will always equal the number of filters K .
Convolution of sequences. Convolution is an operation that in most applications of sequences replaces multiplication. It is taken with the same priority as multiplication in algebraic calculations; in particular, it has higher priority than addition of sequences. It is usually denoted by a star.
- folding the impulse response function: h(tau) folds to h(-tau)
- shifting the impulse response function: h(-tau) shifts to h(t-tau)
- multiplying the folded/shifted impulse response function with the excitation: h(t-tau) f(tau)
To calculate result of the convolution at [r, c] for a specific color channel (i.e., Red, Green, or Blue), one would multiply the kernel with the color brightness of the pixel at the corresponding location and sum up the resulting products.
- Output height = (Input height + padding height top + padding height bottom - kernel height) / (stride height) + 1.
- Output width = (Output width + padding width right + padding width left - kernel width) / (stride width) + 1.
Convolution has applications that include probability, statistics, acoustics, spectroscopy, signal processing and image processing, geophysics, engineering, physics, computer vision and differential equations.
In the simple case, the size of the output CNN layer is calculated as “input_size-(filter_size-1)”. For example, if the input image_size is (50,50) and filter is (3,3) then (50-(3–1)) = 48. But the size of the input image of a Convolutional network should not be less than the input, so padding is done.
References
- https://www.sanfoundry.com/signals-systems-questions-answers-online-test/
- https://accountlearning.com/advantages-and-disadvantages-of-pool-organizations/
- https://sciendo.com/pdf/10.2478/fcds-2019-0016
- https://www.baeldung.com/cs/ml-relu-dropout-layers
- https://www.sanfoundry.com/signals-systems-questions-answers-discrete-time-convolution-1/
- https://www.linkedin.com/advice/0/what-best-methods-deconvolving-images-unknown
- https://www.sfu.ca/~truax/conv.html
- https://www.websupergoo.com/helpie/source/2-effects/convolution.htm
- https://www.quora.com/What-is-the-difference-between-convolution-and-multiplication-of-two-signals
- https://www.mathworks.com/help/fixedpoint/ref/conv.html
- https://www.mathworks.com/matlabcentral/answers/460828-multiplication-in-frequency-domain-equals-convolution-in-time-domain-mismatch
- https://stats.stackexchange.com/questions/413275/why-do-we-use-the-average-pooling-layers-instead-of-max-pooling-layers-in-the-de
- https://towardsdatascience.com/why-convolve-understanding-convolution-and-feature-extraction-in-deep-networks-ee45d1fdd17c
- https://saturncloud.io/blog/understanding-the-difference-between-flatten-and-globalaveragepooling2d-in-keras/
- https://medium.com/@bdhuma/which-pooling-method-is-better-maxpooling-vs-minpooling-vs-average-pooling-95fb03f45a9
- https://stackoverflow.com/questions/3323063/what-is-an-inverse-mapping-function-in-image-processing
- http://www.microscopist.co.uk/essential-techniques/deconvolution/
- https://www.knowledgehut.com/blog/data-science/pooling-layer
- https://www.upgrad.com/blog/basic-cnn-architecture/
- https://www.cyberlink.com/blog/photo-editing-best-software/1105/how-to-invert-colors-in-an-image
- https://towardsdatascience.com/convolution-vs-correlation-af868b6b4fb5
- https://paperswithcode.com/method/convolution
- https://www.linkedin.com/advice/1/how-do-you-balance-trade-off-between-regularization
- https://datascience.stackexchange.com/questions/44518/can-pooling-ever-increase-accuracy-in-convolutional-neural-networks
- https://mathworld.wolfram.com/Convolution.html
- https://www.techtarget.com/searchenterpriseai/definition/deconvolutional-networks-deconvolutional-neural-networks
- https://www.devron.ai/kbase/how-to-choose-the-optimal-kernel-size
- https://ai.meta.com/blog/octconv-a-flexible-efficient-alternative-to-standard-convolution/
- https://iq.opengenus.org/output-size-of-convolution/
- https://towardsdatascience.com/understanding-convolutions-and-pooling-in-neural-networks-a-simple-explanation-885a2d78f211
- https://arxiv.org/abs/1708.07038
- https://datagen.tech/guides/computer-vision/cnn-convolutional-neural-network/
- https://elec3004.uqcloud.net/2013/lectures/Convolution%20(Sec%201.4%20from%20Hayes%20DSP).pdf
- https://www.codingninjas.com/studio/library/convolution-layer-padding-stride-and-pooling-in-cnn
- https://encyclopediaofmath.org/wiki/Convolution_of_functions
- https://link.springer.com/article/10.1007/s00500-021-05783-5
- https://www.calbanktrust.com/personal/community/blog/backyard-pool-pros-cons/
- https://towardsdatascience.com/understanding-and-calculating-the-number-of-parameters-in-convolution-neural-networks-cnns-fc88790d530d
- https://towardsdatascience.com/convolution-a-journey-through-a-familiar-operators-deeper-roots-2e3311f23379
- https://www.thesaurus.com/browse/convolution
- https://www.statlect.com/glossary/convolutions
- https://stackoverflow.com/questions/59717290/does-maxpooling-reduce-overfitting
- https://heil.math.gatech.edu/6338/summer08/section4c_convolve.pdf
- https://math.stackexchange.com/questions/3286150/understanding-the-difference-between-pre-image-and-inverse
- https://byjus.com/question-answer/the-graph-of-an-inverse-function-can-be-obtained-from-the-corresponding-graph-of-original/
- https://www.researchgate.net/post/Difference_between_convolution_and_correlation
- https://math.fel.cvut.cz/en/mt/txta/1/txe3aa1d.htm
- https://iq.opengenus.org/cnn-questions/
- https://waterprogramming.wordpress.com/2018/09/04/implementation-of-the-moving-average-filter-using-convolution/
- https://www.geeksforgeeks.org/css-invert-function/
- https://datascience.stackexchange.com/questions/46858/how-does-max-pooling-of-size-2x2-change-the-size-of-receptive-field-in-cnn
- https://ai.stackexchange.com/questions/7294/optimizing-max-pooling-algorithm
- https://deeplizard.com/learn/video/ZjM_XQa5s6s
- https://www.researchgate.net/post/What-are-the-real-life-applications-of-correlation-and-convolution
- https://www.geeksforgeeks.org/cnn-introduction-to-pooling-layer/
- https://www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_Ch6.pdf
- https://www.simplilearn.com/tutorials/deep-learning-tutorial/convolutional-neural-network
- https://medium.com/@marsxiang/convolutions-transposed-and-deconvolution-6430c358a5b6
- https://www.sciencedirect.com/topics/computer-science/convolution-operation
- https://en.wikipedia.org/wiki/Convolution
- https://saturncloud.io/blog/where-to-add-dropout-in-neural-network/
- https://staff.fnwi.uva.nl/r.vandenboomgaard/IPCV20162017/LectureNotes/IP/LocalOperators/convolutionExamples.html
- https://stackoverflow.com/questions/43485361/whats-the-difference-between-conv-layer-and-pooling-layer-in-cnn
- https://en.wiktionary.org/wiki/inverse_image
- https://study.com/academy/lesson/convolution-theorem-application-examples.html
- https://www.olympus-lifescience.com/en/discovery/the-race-to-super-resolution-microscopy-is-deconvolution-enough/
- https://towardsdatascience.com/how-to-reduce-training-parameters-in-cnns-while-keeping-accuracy-99-a213034a9777
- https://serokell.io/blog/introduction-to-convolutional-neural-networks
- https://en.wikipedia.org/wiki/Erect_image
- https://terrytao.wordpress.com/tag/twisted-convolution/
- https://machinelearningmastery.com/convolutional-layers-for-deep-learning-neural-networks/
- https://medium.com/geekculture/deconvolution-and-how-it-works-and-its-importance-80ce8f137e1b
- https://www.geeksforgeeks.org/convolutional-block-for-image-recognition/
- https://www.vedantu.com/question-answer/tell-if-an-image-is-upright-or-inverted-class-12-physics-jee-main-637366c25c4463725f7d33f6
- https://towardsdatascience.com/transposed-convolution-demystified-84ca81b4baba
- https://towardsdatascience.com/covolutional-neural-network-cb0883dd6529
- https://www.sciencedirect.com/topics/mathematics/convolution-theorem
- https://betterexplained.com/articles/intuitive-convolution/
- https://medium.com/analytics-vidhya/the-perfect-fit-for-a-dnn-596954c9ea39
- https://dsp.stackexchange.com/questions/6298/breaking-a-convolution-into-smaller-pieces
- https://dsp.stackexchange.com/questions/59221/is-convolution-distributive-over-multiplication
- https://www.quora.com/Why-is-convolution-in-time-domain-equivalent-to-frequency-multiplication
- https://machinelearningmastery.com/pooling-layers-for-convolutional-neural-networks/
- https://stats.stackexchange.com/questions/486376/why-do-we-even-need-max-pooling-layers
- https://svi.nl/Deconvolution-Algorithms
- https://www.projectpro.io/recipes/what-is-role-of-max-pooling-operation-neural-network
- https://www.purdue.edu/freeform/ervibrations/chapter-iv-animations/convolution-integral-interpretation/
- https://en.wikipedia.org/wiki/Convolution_theorem
- https://www.physicsclassroom.com/reviews/Reflection-and-Mirrors/Reflection-and-Mirrors-Review-Answers-2
- https://iq.opengenus.org/alternatives-to-cnn/
- https://math.stackexchange.com/questions/2232020/why-do-we-need-to-reverse-a-function-in-the-convolution-operaton
- https://www.canva.com/features/mirror-image/
- https://www.sciencedirect.com/topics/neuroscience/deconvolution
- https://www.tutorialspoint.com/digital_signal_processing/dsp_operations_on_signals_convolution.htm
- https://brainly.in/question/6788383
- https://www.sciencedirect.com/topics/mathematics/pooling-layer
- https://class.ece.uw.edu/235dl/EE235/Project/lesson17/lesson17.html
- https://medium.com/analytics-vidhya/understanding-convolution-operations-in-cnn-1914045816d4
- https://dsp.stackexchange.com/questions/4723/what-is-the-physical-meaning-of-the-convolution-of-two-signals
- https://www.analyticsvidhya.com/blog/2021/04/invert-the-characteristics-of-convolution-with-involution/
- https://ai.stackexchange.com/questions/13738/what-is-the-difference-between-asymmetric-and-depthwise-separable-convolution
- https://towardsdatascience.com/a-comprehensive-introduction-to-different-types-of-convolutions-in-deep-learning-669281e58215
- https://www.mathworks.com/help/signal/ug/deconvolution.html
- https://homework.study.com/explanation/what-happens-when-you-convolve-a-function-by-itself.html
- https://www.tutorialspoint.com/what-is-convolution-in-signals-and-systems
- https://stats.stackexchange.com/questions/288261/why-is-max-pooling-necessary-in-convolutional-neural-networks
- https://towardsdatascience.com/convolutional-layers-vs-fully-connected-layers-364f05ab460b
- https://www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_ch6.pdf
- https://blog.francium.tech/machine-learning-convolution-for-image-processing-42623c8dbec0
- https://aaweg-i.medium.com/computer-vision-2-maxpooling-and-dropouts-f89cfc5fa412
- https://www.baeldung.com/cs/neural-networks-conv-fc-layers
- https://towardsai.net/p/l/introduction-to-pooling-layers-in-cnn
- https://www.nandantechnicals.com/2021/06/what-is-linear-convolution-and.html
- https://towardsdatascience.com/a-primer-on-atrous-convolutions-and-depth-wise-separable-convolutions-443b106919f5
- https://mathoverflow.net/questions/3455/do-convolution-and-multiplication-satisfy-any-nontrivial-algebraic-identities
- https://studies.helsinki.fi/courses/cu/hy-CU-117630717-2021-08-01
- https://scholarship.rice.edu/handle/1911/18675
- https://www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_Ch7.pdf
- https://pixelied.com/features/photo-filters/invert-photo
- https://stackoverflow.com/questions/54359135/should-i-use-conv-3x3-in-last-convolutional-layer-for-semantic-segmentation
- https://medium.com/geekculture/max-pooling-why-use-it-and-its-advantages-5807a0190459
- https://www.mathworks.com/help/matlab/ref/conv.html
- https://solr.apache.org/guide/7_6/dsp.html
- https://www.sciencedirect.com/topics/engineering/convolutional-layer
- https://dsp.stackexchange.com/questions/35155/why-is-circular-convolution-used-in-dsp-why-not-linear-convolution
- https://www.linkedin.com/pulse/why-activation-function-used-neural-network-mayur-ingole
- https://medium.com/@iamvarman/how-to-calculate-the-number-of-parameters-in-the-cnn-5bd55364d7ca
- https://www.mathworks.com/discovery/convolutional-neural-network-matlab.html
- https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Signal_Processing_and_Modeling/Signals_and_Systems_(Baraniuk_et_al.)/03%3A_Time_Domain_Analysis_of_Continuous_Time_Systems/3.04%3A_Properties_of_Continuous_Time_Convolution
- https://www.mathworks.com/matlabcentral/answers/709118-create-a-7x7-convolution-kernel-which-has-an-equivalent-effect-to-three-passes-with-a-3x3-mean-filte
- https://www.merriam-webster.com/dictionary/convolution
- https://www.researchgate.net/figure/Toy-example-illustrating-the-drawbacks-of-max-pooling-and-average-pooling_fig2_300020038
- https://towardsdatascience.com/discuss-the-dog-image-classification-project-with-cnn-bc5c90ee4fec
- https://leesael.github.io/talk/BIML2017/part2-2.pdf
- https://towardsdatascience.com/beginners-guide-to-understanding-convolutional-neural-networks-ae9ed58bb17d
- https://weinman.cs.grinnell.edu/courses/CSC161/2021F/homework/convolution.shtml
- https://www.laserfocusworld.com/optics/article/16556298/microscopyimage-processing-a-deconvolution-revolution-for-confocal-image-enhancement
- https://math.stackexchange.com/questions/373455/is-the-convolution-an-invertible-operation
- https://prvnk10.medium.com/the-convolution-operation-48d72a382f5a
- https://www.cs.toronto.edu/~lczhang/360/lec/w04/convnet.html
- https://www.linkedin.com/advice/0/what-advantages-disadvantages-using-convolutional
- https://www.geeksforgeeks.org/cnn-introduction-to-padding/