Современные информационные технологии и IT-образование (Sep 2021)

Multi-Dimensional Definition of Convolution

  • Evgeniy Goncharov

DOI
https://doi.org/10.25559/SITITO.17.202103.541-549
Journal volume & issue
Vol. 17, no. 3
pp. 541 – 549

Abstract

Read online

Convolution is an indispensable operation for solving problems from a variety of subject areas: machine learning problems, data analysis, signal processing, image processing filters. However, due to the complexity of the algorithms that implement them, in practice, even three-dimensional convolutions are used much less often than one-and two-dimensional ones. The main reason for this lies in the absence of a single strict definition of the operation and the overload of the term “convolution” in mathematics. The multidimensional matrix algebra includes operations that are semantically similar to convolutions, and it is easily parallelized using natural generalizations of operations on flat matrices to the multidimensional case and has already proved its effectiveness in tensor algebra. Therefore, it is advisable to construct the definition of convolution through operations on the algebra of multidimensional matrices. The article considers an approach to improving the efficiency of convolution algorithms in software systems based on it, including convolutional neural networks. The author proposes a multidimensional matrix definition of the convolution operation. On its basis, a multidimensional matrix model of calculations is built, which will allow us to effectively formalize problems whose solution uses multidimensional convolution operations, as well as to implement an effective solution to these problems due to the natural parallelism inherent in the operations of the algebra of multidimensional matrices. As a result, a mathematical model of convolution operations based on the algebra of multidimensional matrices with the operation the (0, µ)-convolution product is obtained. In practice, in solving applied problems, the proposed mathematical model of convolution operations serves as the basis for developing libraries of programs that effectively implement these operations by parallelizing the operation the (0, µ)-convolution product.

Keywords