Многомерно-матричное определение операции свертки - Гончаров, Е.И. (Современные информационные технологии и IT-образование, 2021)
Свертка – незаменимая операция для решения задачи из самых разных предметных областей: задач машинного обучения, анализа данных, обработки сигналов, фильтров обработки изображений. Целесообразно рассмотреть разные подходы и имеющиеся методы реализации операции свертки. Из-за сложности реализующих их алгоритмов на практике даже трехмерные свертки используются значительно реже, чем одно- и двумерные. Основная причина этого кроется в отсутствии единого строгого определения операции и перегруженности в математике термина “свертки”. Алгебра многомерных матриц имеет в себе операции, семантически схожие со свертками и легко распараллеливается с помощью естественных обобщений операций на плоских матрицах на многомерный случай. Она уже доказала свою эффективность в тензорной алгебре. Поэтому целесообразно сконструировать определение свертки через операции на алгебре многомерных матриц. В статье рассмотрен подход к повышению эффективности алгоритмов свертки в программных системах, основанных на ней, в том числе и сверточных нейронных сетях. Автором предлагается многомерно-матричное определение операции свертки. На ее основе строится многомерно-матричная модель вычислений, которая позволят эффективно формализовать задачи, решение которых использует операции многомерной свертки, а также реализовать эффективное решение этих задач благодаря естественному параллелизму, присущему операциям алгебры многомерных матриц. В результате получена математическая модель операций свертки на основе алгебры многомерных матриц с операцией (0, µ)-свернутого произведения. На практике в решении прикладных задач предложенная математическая модель операций свертки служит основой для разработки библиотек программ, эффективно реализующих эти операции за счет распараллеливания операции (0, µ)-свернутого произведения. 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.