Saltar ao contido

Convolución

Na Galipedia, a Wikipedia en galego.
Comparación visual de convolución, correlación cruzada e autocorrelación. Para as operacións que implican a función , e asumindo que a altura de é 1.0, o valor do resultado en 5 puntos diferentes está indicado pola área sombreada debaixo de cada punto. A simetría de é a razón pola que e son idénticos neste exemplo.

En matemáticas (en particular, na análise funcional), a convolución é unha operación matemática sobre dúas funcións ( e ) que produce unha terceira función (). O termo convolución refírese tanto á función resultante como ao proceso de calculala.

A convolución defínese como a integral do produto das dúas funcións despois de que unha delas se reflicte sobre o eixo e se despraza. A integral evalúase para todos os valores de desprazamento, producindo a función de convolución. Gráficamente, exprésase como a 'forma' dunha función é modificada pola outra.

A convolución discreta de dúas funcións para un índice n enteiro defínese como os produtos das valores das funcións nos índices que suman n (ver abaixo explicación detallada).

Algúns aspectos da convolución son similares á correlación cruzada: para funcións de valor real, dunha variábel continua ou discreta, a convolución () difire da correlación cruzada () só en que ou se reflicte sobre o eixp na convolución; así, é unha correlación cruzada de e , ou de e .[a] Para funcións de valor complexo, o operador de correlación cruzada é o adxunto do operador de convolución.

A convolución ten aplicacións que inclúen a probabilidade, estatística, acústica, espectroscopia, procesamento de sinais e procesamento de imaxes, xeofísica, enxeñaría, física e ecuacións diferenciais.[1]

O cálculo da inversa da operación de convolución coñécese como deconvolución.

Definición

[editar | editar a fonte]

A convolución de e escríbese , denotando o operador co símbolo .[b] Defínese como a integral do produto das dúas funcións despois de que unha delas se reflicte sobre o eixo e se despraza. Como tal, é un tipo particular de transformada integral:

Aínda que se usa o símbolo anteriormente, non ten que representar o dominio do tempo. En cada , a fórmula de convolución pode describirse como a área baixo a función ponderada pola función desprazada pola cantidade . A medida que muda, a función de ponderación destaca diferentes partes da función de entrada .

Se é un valor positivo, entón é igual a que se desliza ou se despraza ao longo do eixo cara á dereita (cara a ) pola cantidade de , mentres que se é un valor negativo, entón é igual a que se desliza ou se despraza cara á esquerda (cara a ) pola cantidade de .

Para funcións , soportadas só en (é dicir, cero para argumentos negativos), os límites de integración poden truncarse, resultando en:

Para a formulación multidimensional da convolución, véxase dominio de definición (a continuación).

Notación

[editar | editar a fonte]

Unha convención notacional común en enxeñaría é:[2]

que debe interpretarse con coidado para evitar confusións. Por exemplo, é equivalente a , mais é de feito equivalente a .[3]

Convolución circular

[editar | editar a fonte]
Artigo principal: Convolución circular.

Cando unha función é periódica, con período , entón para funcións, , tal que existe, a convolución é tamén periódica e idéntica a:

onde é unha escolla arbitraria. A suma chámase suma periódica da función .

Cando é unha suma periódica doutra función, , entón coñécese como unha convolución circular ou cíclica de e .

E se a suma periódica anterior se substitúe por , a operación chámase unha convolución periódica de e .

Convolución discreta

[editar | editar a fonte]
Animación de convolución discreta 2D

Para funcións de valor complexo e definidas no conxunto dos enteiros, a convolución discreta de e vén dada por:[4]


A convolución de dúas secuencias finitas defínese estendendo as secuencias a funcións de soporte finito no conxunto dos enteiros. Cando as secuencias son os coeficientes de dous polinomios, entón os coeficientes do produto ordinario dos dous polinomios son a convolución das dúas secuencias orixinais. Isto coñécese como o produto de Cauchy dos coeficientes das secuencias.

Así, cando g ten soporte finito no conxunto (representando, por exemplo, unha resposta finita ao impulso), pode usarse unha suma finita:[5]

Como exemplo de convolución discreta para o caso dun produto de Cauchy de dúas series infinitas podemos organizar cada sumando do produto en forma de matriz cos coeficientes da combinación de elementos todos por todos:

,

desde o punto de vista desta matriz o produto de Cauchy é unha convolución discreta formada pola suma das antidiagonais:

Convolución circular discreta

[editar | editar a fonte]

Cando unha función é periódica, con período entón para funcións, tales que existe, a convolución é tamén periódica e idéntica a:

A suma sobre chámase suma periódica da función

Se é unha suma periódica doutra función, entón coñécese como unha convolución circular de e

Cando as duracións non nulas de ambas as dúas e están limitadas ao intervalo   redúcese a estas formas comúns:


A notación para a convolución cíclica denota convolución sobre o grupo cíclico de enteiros módulo N.

A convolución circular xorde a miúdo no contexto da convolución rápida cun algoritmo de transformada rápida de Fourier (FFT).

Algoritmos rápidos de convolución

[editar | editar a fonte]

En moitas situacións, as convolucións discretas poden converterse en convolucións circulares para que as transformadas rápidas cunha propiedade de convolución poidan usarse para implementar o cálculo. Por exemplo, a convolución de secuencias de díxitos é a operación central na multiplicación de números de varios díxitos, que pode implementarse eficientemente con técnicas de transformación (Knuth 1997, §4.3.3.C; von zur Gathen & Gerhard 2003, §8.2).

A convolución circular de dúas secuencias de lonxitude finita obtense ao calcular unha FFT de cada secuencia, multiplicar punto a punto e logo realizar unha FFT inversa. As convolucións do tipo definido anteriormente impleméntanse eficientemente empregando esa técnica en conxunto coa extensión por ceros e/ou descartando partes da saída.

Outros algoritmos rápidos de convolución, como o algoritmo de Schönhage-Strassen ou a transformación de Mersenne,[6] empregan transformacións rápidas de Fourier noutros anéis. O método de Winograd emprégase como alternativa á FFT.[7] Acelera significativamente as convolucións en 1D,[8] 2D,[9] e 3D.[10]

Se unha secuencia é moito máis longa que a outra, a extensión por ceros da secuencia máis curta e a convolución circular rápida non é o método computacionalmente máis eficiente dispoñíbel.[11] En vez diso, descompoñer a secuencia máis longa en bloques e convolver cada bloque permite empregar algoritmos máis rápidos como o método superposición-salvar e o método superposición-sumar.[12] Un método híbrido de convolución que combina algoritmos por bloques e FIR permite unha latencia de entrada-saída nula, útil para computacións de convolución en tempo real.[13]

Dominio de definición

[editar | editar a fonte]

A convolución de dúas funcións de valor complexo en Rd é unha función de valor complexo en Rd, definida por:

e está ben definida só se f e g decaen suficientemente rápido no infinito para que a integral exista. As condicións para a existencia da convolución poden ser complicadas, xa que un aumento en g no infinito pode ser facilmente compensado por un decaemento suficientemente rápido en f. Así, a cuestión da existencia pode implicar diferentes condicións sobre f e g:

Funcións de soporte compacto

[editar | editar a fonte]

Se f e g son funcións continuas de soporte compacto, entón a súa convolución existe e tamén é de soporte compacto e continua (Hörmander 1983, Capítulo 1). Máis xeralmente, se unha das funcións (por exemplo, f) é de soporte compacto e a outra é localmente integrábel, entón a convolución fg está ben definida e é continua.

A convolución de f e g tamén está ben definida cando ambas as funcións son localmente cadrado integrábeis en R e están soportadas nun intervalo da forma [a, +∞) (ou en [−∞, a]).

Funcións integrábeis

[editar | editar a fonte]

A convolución de f e g existe se f e g son ambas as dúas funcións integrábeis de Lebesgue en L1(Rd), e neste caso fg tamén é integrábel (Stein & Weiss 1971, Teorema 1.3). Isto é unha consecuencia do teorema de Tonelli. Isto tamén é certo para funcións en L1, baixo a convolución discreta, ou máis xeralmente para a convolución en calquera grupo.

Do mesmo xeito, se fL1(Rd)  e  gLp(Rd)  onde 1 ≤ p ≤ ∞,  entón  f*gLp(Rd),  e

No caso particular p = 1, isto mostra que L1 é unha álxebra de Banach baixo a convolución (e a igualdade dos dous lados cúmprese se f e g son non negativas case en tódalas partes).

Máis xeralmente, a desigualdade de Young implica que a convolución é unha aplicación bilinear continua entre os espazos Lp adecuados. Especificamente, se 1 ≤ p, q, r ≤ ∞ cumpren:

entón

de xeito que a convolución é unha aplicación bilinear continua de Lp×Lq a Lr. A desigualdade de Young para a convolución tamén é certa noutros contextos (grupo circular, convolución en Z). A desigualdade anterior non é estrita na recta real: cando 1 < p, q, r < ∞, existe unha constante Bp,q < 1 tal que:

O valor óptimo de Bp,q descubriuse en 1975[14] e independentemente en 1976,[15] véxase desigualdade de Brascamp-Lieb.

Unha estimación máis forte é certa sempre que 1 < p, q, r < ∞:

onde é a norma débil Lq. A convolución tamén define unha aplicación bilinear continua para , debido á desigualdade de Young débil:[16]

Funcións de decaemento rápido

[editar | editar a fonte]

Alén das funcións de soporte compacto e das funcións integrábeis, as funcións que teñen un decaemento suficientemente rápido no infinito tamén poden ser convolucionadas. Unha característica importante da convolución é que se f e g decaen rapidamente, entón fg tamén decae rapidamente. En particular, se f e g son funcións de decaemento rápido, entón a convolución fg tamén o é. Combinado co feito de que a convolución conmuta coa diferenciación (véxase #Propiedades), dedúcese que a clase de funcións de Schwartz é pechada baixo a convolución (Stein & Weiss 1971, Teorema 3.3).

Distribucións

[editar | editar a fonte]
Artigo principal: Distribución (matemáticas).

Se f é unha función suave de soporte compacto e g é unha distribución, entón fg é unha función suave definida por

Máis xeralmente, é posible estender a definición da convolución dun xeito único con igual que coa f anteriormente, de xeito que a lei asociativa

siga a ser válida no caso en que f sexa unha distribución e g unha distribución de soporte compacto (Hörmander 1983, §4.2).

A convolución de dúas medidas de Borel μ e ν de variación limitada é a medida definida por (Rudin 1962)

En particular,

onde é un conxunto medíbel e é a función indicadora de .

Isto coincide coa convolución definida anteriormente cando μ e ν se consideran distribucións, así como coa convolución de funcións L1 cando μ e ν son absolutamente continuas en relación á medida de Lebesgue.

A convolución de medidas tamén cumpre a seguinte versión da desigualdade de Young:

onde a norma é a variación total dunha medida. Como o espazo das medidas de variación limitada é un espazo de Banach, a convolución de medidas pode tratarse con métodos estándar da análise funcional que poden non aplicarse á convolución de distribucións.

Propiedades

[editar | editar a fonte]

Propiedades alxébricas

[editar | editar a fonte]

A convolución define un produto no espazo linear das funcións integrábeis. Este produto satisfai as seguintes propiedades alxébricas, que formalmente significan que o espazo das funcións integrábeis co produto dado pola convolución é unha álxebra asociativa conmutativa sen identidade (Strichartz 1994, §3.3). Outros espazos lineares de funcións, como o espazo das funcións continuas de soporte compacto, son pechados baixo a convolución, e tamén forman álxebras asociativas conmutativas.

Conmutatividade

Demostración: Por definición:

Mudando a variábel de integración a dedúcese o resultado.

Asociatividade

Demostración: Isto dedúcese de usar o teorema de Fubini (é dicir, as integrais dobres poden ser avaliadas como integrais iteradas en calquera orde).

Distributividade

Demostración: Isto dedúcese da linearidade da integral.

Asociatividade coa multiplicación escalar

para calquera número real (ou complexo) .

Identidade multiplicativa

Ningunha álxebra de funcións posúe unha identidade para a convolución. A falta de identidade normalmente non é un gran inconveniente, xa que a maioría das coleccións de funcións nas que se realiza a convolución poden ser convolucionadas cunha distribución delta (un impulso unitario, centrado en cero) ou, polo menos (como é o caso de L1), admiten aproximacións á identidade. No entanto, o espazo linear das distribucións de soporte compacto admite unha identidade baixo a convolución. Especificamente,

onde δ é a distribución delta.

Elemento inverso
Algunhas distribucións S teñen un elemento inverso S−1 para a convolución que entón debe satisfacer

a partir do cal se pode obter unha fórmula explícita para S−1. O conxunto das distribucións invertíbeis forma un grupo abeliano baixo a convolución.

Conxugación complexa
Inversión temporal
Se    entón  

Demostración (usando o teorema da convolución):

Relación coa diferenciación

Demostración:

Relación coa integración
Se e entón
  1. Bahri, Mawardi; Ashino, Ryuichi; Vaillancourt, Rémi (2013). "Convolution Theorems for Quaternion Fourier Transform: Properties and Applications" (PDF). Abstract and Applied Analysis 2013: 1–10. Arquivado dende o orixinal (PDF) o 2020-10-21. Consultado o 2022-11-11. 
  2. Smith, Stephen W (1997). "13.Convolution". The Scientist and Engineer's Guide to Digital Signal Processing (1 ed.). California Technical Publishing. ISBN 0-9660176-3-3. Consultado o 22 de abril de 2016. 
  3. Irwin, J. David (1997). "4.3". The Industrial Electronics Handbook (1 ed.). Boca Raton, FL: CRC Press. p. 75. ISBN 0-8493-8343-9. 
  4. Damelin & Miller 2011, p. 219
  5. Press, William H.; Flannery, Brian P.; Teukolsky, Saul A.; Vetterling, William T. (1989). Numerical Recipes in Pascal. Cambridge University Press. p. 450. ISBN 0-521-37516-9. 
  6. Rader, C.M. (Decembro 1972). "Discrete Convolutions via Mersenne Transforms". IEEE Transactions on Computers 21 (12): 1269–1273. doi:10.1109/T-C.1972.223497. 
  7. Winograd, Shmuel (Xaneiro 1980). Arithmetic Complexity of Computations (en inglés). Society for Industrial and Applied Mathematics. ISBN 978-0-89871-163-9. doi:10.1137/1.9781611970364. 
  8. Lyakhov, P. A.; Nagornov, N. N.; Semyonova, N. F.; Abdulsalyamova, A. S. (Xuño 2023). "Reducing the Computational Complexity of Image Processing Using Wavelet Transform Based on the Winograd Method". Pattern Recognition and Image Analysis (en inglés) 33 (2): 184–191. ISSN 1054-6618. doi:10.1134/S1054661823020074. 
  9. Wu, Di; Fan, Xitian; Cao, Wei; Wang, Lingli (Maio 2021). "SWM: A High-Performance Sparse-Winograd Matrix Multiplication CNN Accelerator". IEEE Transactions on Very Large Scale Integration (VLSI) Systems 29 (5): 936–949. ISSN 1063-8210. doi:10.1109/TVLSI.2021.3060041. 
  10. Mittal, Sparsh; Vibhu (Maio 2021). "A survey of accelerator architectures for 3D convolution neural networks". Journal of Systems Architecture (en inglés) 115: 102041. doi:10.1016/j.sysarc.2021.102041. 
  11. Selesnick, Ivan W.; Burrus, C. Sidney (1999). "Fast Convolution and Filtering". En Madisetti, Vijay K. Digital Signal Processing Handbook. CRC Press. p. Sección 8. ISBN 978-1-4200-4563-5. 
  12. Juang, B.H. "Lecture 21: Block Convolution" (PDF). EECS at the Georgia Institute of Technology. Arquivado dende o orixinal (PDF) o 2004-07-29. Consultado o 17 Maio 2013. 
  13. Gardner, William G. (Novembro 1994). "Efficient Convolution without Input/Output Delay" (PDF). Audio Engineering Society Convention 97. Paper 3897. Arquivado dende o orixinal (PDF) o 2015-04-08. Consultado o 17 Maio 2013. 
  14. Beckner, William (1975). "Inequalities in Fourier analysis". Annals of Mathematics. Second Series 102 (1): 159–182. JSTOR 1970980. doi:10.2307/1970980. 
  15. Brascamp, Herm Jan; Lieb, Elliott H. (1976). "Best constants in Young's inequality, its converse, and its generalization to more than three functions". Advances in Mathematics 20 (2): 151–173. doi:10.1016/0001-8708(76)90184-5. 
  16. Reed & Simon 1975, IX.4
  1. As razóns para a reflexión inclúen:
    • É necesario implementar o equivalente do produto punto a punto das transformadas de Fourier de e .
    • Cando a convolución se ve como unha media ponderada móbil, a función de ponderación, , especifícase a miúdo en termos doutra función, , chamada a resposta ao impulso dun sistema lineal invariante no tempo.
  2. O símbolo U+2217 ASTERISK OPERATOR é diferente de U+002A * ASTERISK, que se usa a miúdo para denotar a conxugación complexa.

Véxase tamén

[editar | editar a fonte]

Bibliografía

[editar | editar a fonte]

Outros artigos

[editar | editar a fonte]

Ligazóns externas

[editar | editar a fonte]