Aprendizaje escaso de diccionario - Sparse dictionary learning

La codificación dispersa es un método de aprendizaje de representación que tiene como objetivo encontrar una representación dispersa de los datos de entrada (también conocida como codificación dispersa ) en forma de una combinación lineal de elementos básicos, así como esos elementos básicos en sí mismos. Estos elementos se denominan átomos y componen un diccionario . No se requiere que los átomos en el diccionario sean ortogonales y pueden ser un conjunto de expansión demasiado completo. Esta configuración problemática también permite que la dimensionalidad de las señales que se representan sea más alta que la de las señales que se observan. Las dos propiedades anteriores conducen a tener átomos aparentemente redundantes que permiten múltiples representaciones de la misma señal, pero también proporcionan una mejora en la escasez y flexibilidad de la representación.

Una de las aplicaciones más importantes del aprendizaje escaso de diccionarios se encuentra en el campo de la detección comprimida o la recuperación de señales . En la detección comprimida, una señal de alta dimensión se puede recuperar con solo unas pocas mediciones lineales siempre que la señal sea escasa o casi escasa. Dado que no todas las señales satisfacen esta condición de escasez, es de gran importancia encontrar una representación escasa de esa señal, como la transformada wavelet o el gradiente direccional de una matriz rasterizada. Una vez que se transfiere una matriz o un vector de alta dimensión a un espacio disperso, se pueden usar diferentes algoritmos de recuperación como la búsqueda de bases , CoSaMP o algoritmos rápidos no iterativos para recuperar la señal.

Uno de los principios clave del aprendizaje de diccionarios es que el diccionario debe inferirse de los datos de entrada. La aparición de métodos de aprendizaje de diccionario dispersos fue estimulada por el hecho de que en el procesamiento de señales uno normalmente quiere representar los datos de entrada utilizando la menor cantidad posible de componentes. Antes de este enfoque, la práctica general era utilizar diccionarios predefinidos (como transformadas de Fourier o wavelet ). Sin embargo, en ciertos casos, un diccionario capacitado para ajustarse a los datos de entrada puede mejorar significativamente la dispersión, que tiene aplicaciones en la descomposición, compresión y análisis de datos y se ha utilizado en los campos de eliminación de ruido y clasificación de imágenes , procesamiento de video y audio . Los diccionarios dispersos y sobrecompletos tienen inmensas aplicaciones en la compresión de imágenes, la fusión de imágenes y la pintura.

Eliminación de ruido de imágenes mediante el aprendizaje del diccionario

Planteamiento del problema

Dado el conjunto de datos de entrada , deseamos encontrar un diccionario y una representación tal que ambos se minimicen y las representaciones sean lo suficientemente escasas. Esto se puede formular como el siguiente problema de optimización :

, donde ,

se requiere restringir para que sus átomos no alcancen valores arbitrariamente altos, lo que permite valores arbitrariamente bajos (pero distintos de cero) de . controla la compensación entre la escasez y el error de minimización.

El problema de minimización anterior no es convexo debido a la "norma" 0 - y resolver este problema es NP-difícil. En algunos casos L 1 -norma es conocida para asegurar escasez y lo que lo anterior se convierte en una optimización convexa problema con respecto a cada una de las variables y cuando el otro es fijo, pero no es convexa en forma conjunta .

Propiedades del diccionario

El diccionario definido anteriormente puede estar "incompleto" si o "demasiado completo" en caso de que este último sea una suposición típica para un problema de aprendizaje de diccionario escaso. El caso de un diccionario completo no aporta ninguna mejora desde el punto de vista de la representación y, por tanto, no se considera.

Los diccionarios incompletos representan la configuración en la que los datos de entrada reales se encuentran en un espacio de menor dimensión. Este caso está fuertemente relacionado con la reducción de dimensionalidad y técnicas como el análisis de componentes principales que requieren que los átomos sean ortogonales. La elección de estos subespacios es crucial para la reducción eficiente de la dimensionalidad, pero no es trivial. Y la reducción de dimensionalidad basada en la representación del diccionario se puede ampliar para abordar tareas específicas como el análisis o la clasificación de datos. Sin embargo, su principal desventaja es limitar la elección de átomos.

Sin embargo, los diccionarios demasiado completos no requieren que los átomos sean ortogonales (de todos modos nunca serán una base ), lo que permite diccionarios más flexibles y representaciones de datos más ricas.

Un diccionario demasiado completo que permite una representación escasa de la señal puede ser una famosa matriz de transformación (transformada de wavelets, transformada de Fourier) o puede formularse de modo que sus elementos se cambien de tal manera que represente escasamente la señal dada de la mejor manera. Los diccionarios aprendidos son capaces de ofrecer soluciones más dispersas en comparación con las matrices de transformación predefinidas.

Algoritmos

Como el problema de optimización descrito anteriormente se puede resolver como un problema convexo con respecto al diccionario o la codificación dispersa mientras que el otro de los dos es fijo, la mayoría de los algoritmos se basan en la idea de actualizar iterativamente uno y luego el otro.

El problema de encontrar una codificación escasa óptima con un diccionario dado se conoce como aproximación escasa (o, a veces, simplemente un problema de codificación escasa). Se han desarrollado varios algoritmos para resolverlo (como la búsqueda de coincidencias y LASSO ) y se incorporan en los algoritmos que se describen a continuación.

Método de direcciones óptimas (MOD)

El método de direcciones óptimas (o MOD) fue uno de los primeros métodos introducidos para abordar el escaso problema de aprendizaje del diccionario. La idea central es resolver el problema de minimización sujeto al número limitado de componentes distintos de cero del vector de representación:

Aquí, denota la norma Frobenius . MOD alterna entre obtener la codificación escasa utilizando un método como búsqueda de coincidencias y actualizar el diccionario calculando la solución analítica del problema dada por dónde está un pseudoinverso de Moore-Penrose . Después de que esta actualización se renormaliza para ajustarse a las restricciones y se obtiene nuevamente la nueva codificación dispersa. El proceso se repite hasta la convergencia (o hasta un residuo suficientemente pequeño).

MOD ha demostrado ser un método muy eficiente para datos de entrada de baja dimensión que requieren solo unas pocas iteraciones para converger. Sin embargo, debido a la alta complejidad de la operación de inversión de matriz, calcular la pseudoinversa en casos de alta dimensión es en muchos casos intratable. Esta deficiencia ha inspirado el desarrollo de otros métodos de aprendizaje de diccionarios.

K-SVD

K-SVD es un algoritmo que realiza SVD en su núcleo para actualizar los átomos del diccionario uno por uno y básicamente es una generalización de K-means . Hace cumplir que cada elemento de los datos de entrada está codificado por una combinación lineal de no más de elementos de una manera idéntica al enfoque MOD:

La esencia de este algoritmo es primero arreglar el diccionario, encontrar lo mejor posible bajo la restricción anterior (usando Ortogonal Matching Pursuit ) y luego actualizar iterativamente los átomos del diccionario de la siguiente manera:

Los siguientes pasos del algoritmo incluyen la aproximación de rango 1 de la matriz residual , la actualización y aplicación de la escasez de después de la actualización. Este algoritmo se considera estándar para el aprendizaje de diccionarios y se utiliza en una variedad de aplicaciones. Sin embargo, comparte debilidades con MOD siendo eficiente solo para señales con dimensionalidad relativamente baja y con la posibilidad de quedarse atascado en mínimos locales.

Descenso de gradiente estocástico

También se puede aplicar un método de descenso de gradiente estocástico generalizado con proyección iterativa para resolver este problema. La idea de este método es actualizar el diccionario usando el gradiente estocástico de primer orden y proyectarlo en el conjunto de restricciones . El paso que ocurre en la i-ésima iteración se describe con esta expresión:

, donde es un subconjunto aleatorio de y es un paso de gradiente.

Método dual de Lagrange

Un algoritmo basado en la resolución de un problema lagrangiano dual proporciona una manera eficiente de resolver que el diccionario no tenga complicaciones inducidas por la función de dispersión. Considere el siguiente lagrangiano:

, donde es una restricción sobre la norma de los átomos y son las llamadas variables duales que forman la matriz diagonal .

Luego podemos proporcionar una expresión analítica para el dual de Lagrange después de la minimización sobre :

.

Después de aplicar uno de los métodos de optimización al valor del dual (como el método de Newton o el gradiente conjugado ) obtenemos el valor de :

Resolver este problema es menos difícil de calcular porque la cantidad de variables duales es muchas veces mucho menor que la cantidad de variables en el problema primario.

LAZO

En este enfoque, el problema de optimización se formula como:

, donde es el error permitido en la reconstrucción LASSO.

Encuentra una estimación de minimizando el error de mínimos cuadrados sujeto a una restricción de norma L 1 en el vector de solución, formulado como:

, donde controla la compensación entre la escasez y el error de reconstrucción. Esto proporciona la solución óptima global. Consulte también Aprendizaje de diccionario en línea para codificación dispersa

Métodos de entrenamiento paramétrico

Los métodos de entrenamiento paramétrico tienen como objetivo incorporar lo mejor de ambos mundos: el ámbito de los diccionarios construidos analíticamente y los aprendidos. Esto permite construir diccionarios generalizados más potentes que se pueden aplicar potencialmente a los casos de señales de tamaño arbitrario. Los enfoques notables incluyen:

  • Diccionarios de traducción invariable. Estos diccionarios están compuestos por las traducciones de los átomos que se originan en el diccionario construido para un parche de señal de tamaño finito. Esto permite que el diccionario resultante proporcione una representación de la señal de tamaño arbitrario.
  • Diccionarios multiescala. Este método se centra en la construcción de un diccionario que se compone de diccionarios de diferentes escalas para mejorar la dispersión.
  • Diccionarios escasos. Este método se centra no solo en proporcionar una representación dispersa, sino también en la construcción de un diccionario disperso que se aplica mediante la expresión donde hay un diccionario analítico predefinido con propiedades deseables, como un cálculo rápido y una matriz dispersa. Dicha formulación permite combinar directamente la rápida implementación de diccionarios analíticos con la flexibilidad de enfoques dispersos.

Aprendizaje de diccionarios en línea ( enfoque LASSO )

Muchos enfoques comunes para el aprendizaje escaso de diccionarios se basan en el hecho de que todos los datos de entrada (o al menos un conjunto de datos de entrenamiento lo suficientemente grande) están disponibles para el algoritmo. Sin embargo, este podría no ser el caso en el escenario del mundo real, ya que el tamaño de los datos de entrada puede ser demasiado grande para caber en la memoria. El otro caso en el que no se puede hacer esta suposición es cuando los datos de entrada vienen en forma de flujo . Tales casos se encuentran en el campo de estudio del aprendizaje en línea, que esencialmente sugiere actualizar iterativamente el modelo a medida que los nuevos puntos de datos estén disponibles.

Un diccionario se puede aprender en línea de la siguiente manera:

  1. Para
  2. Dibujar una nueva muestra
  3. Encuentre una codificación escasa usando LARS :
  4. Actualice el diccionario usando el enfoque de bloques de coordenadas :

Este método nos permite actualizar gradualmente el diccionario a medida que hay nuevos datos disponibles para el aprendizaje de representación escasa y ayuda a reducir drásticamente la cantidad de memoria necesaria para almacenar el conjunto de datos (que a menudo tiene un tamaño enorme).

Aplicaciones

El marco de aprendizaje del diccionario, es decir, la descomposición lineal de una señal de entrada utilizando algunos elementos básicos aprendidos de los datos mismos, ha dado lugar a resultados de vanguardia en diversas tareas de procesamiento de imágenes y vídeo. Esta técnica se puede aplicar a problemas de clasificación de manera que si hemos construido diccionarios específicos para cada clase, la señal de entrada se puede clasificar encontrando el diccionario correspondiente a la representación más escasa.

También tiene propiedades que son útiles para eliminar el ruido de la señal, ya que normalmente se puede aprender un diccionario para representar la parte significativa de la señal de entrada de forma dispersa, pero el ruido en la entrada tendrá una representación mucho menos dispersa.

El aprendizaje escaso del diccionario se ha aplicado con éxito a diversas tareas de procesamiento de imágenes, vídeo y audio, así como a la síntesis de texturas y la agrupación en clústeres sin supervisión. En evaluaciones con el modelo Bag-of-Words , se encontró empíricamente que la codificación escasa supera a otros enfoques de codificación en las tareas de reconocimiento de categorías de objetos.

El aprendizaje de diccionario se utiliza para analizar las señales médicas en detalle. Dichas señales médicas incluyen las de electroencefalografía (EEG), electrocardiografía (ECG), resonancia magnética (MRI), resonancia magnética funcional (fMRI), monitores continuos de glucosa y tomografía computarizada por ultrasonido (USCT), donde se utilizan diferentes suposiciones para analizar cada señal.

Ver también

Referencias

  1. ^ Needell, D .; Tropp, JA (2009). "CoSaMP: recuperación de señal iterativa de muestras incompletas e inexactas". Análisis Armónico Computacional y Aplicado . 26 (3): 301–321. arXiv : 0803.2392 . doi : 10.1016 / j.acha.2008.07.002 .
  2. Lotfi, M .; Vidyasagar, M. " Un algoritmo rápido no iterativo para la detección de compresión utilizando matrices de medición binarias "
  3. ^ AM Tillmann, " Sobre la intratabilidad computacional del aprendizaje de diccionario exacto y aproximado ", IEEE Signal Processing Letters 22 (1), 2015: 45-49.
  4. Donoho, David L. (1 de junio de 2006). "Para la mayoría de los grandes sistemas indeterminados de ecuaciones lineales, la solución mínima de la norma 𝓁1 es también la solución más escasa". Comunicaciones sobre Matemática Pura y Aplicada . 59 (6): 797–829. doi : 10.1002 / cpa.20132 . ISSN  1097-0312 .
  5. ^ Engan, K .; Aase, SO; Hakon Husoy, J. (1 de enero de 1999). Método de direcciones óptimas para el diseño de marcos . 1999 IEEE International Conference on Acustics, Speech, and Signal Processing, 1999. Actas . 5 . págs. 2443–2446 vol.5. doi : 10.1109 / ICASSP.1999.760624 . ISBN 978-0-7803-5041-0. S2CID  33097614 .
  6. ^ Aharon, Michal; Elad, Michael (2008). "Modelado disperso y redundante de contenido de imagen utilizando un diccionario de firma de imagen". Revista SIAM de Ciencias de la Imagen . 1 (3): 228–247. CiteSeerX  10.1.1.298.6982 . doi : 10.1137 / 07070156x .
  7. Pintér, János D. (1 de enero de 2000). Yair Censor y Stavros A. Zenios, Optimización paralela: teoría, algoritmos y aplicaciones. Oxford University Press, Nueva York / Oxford, 1997, xxviii + 539 páginas. (US $ 85,00) . Revista de optimización global . 16 . págs. 107–108. doi : 10.1023 / A: 1008311628080 . ISBN 978-0-19-510062-4. ISSN  0925-5001 . S2CID  22475558 .
  8. ^ Lee, Honglak y col. "Algoritmos de codificación dispersos eficientes". Avances en sistemas de procesamiento de información neuronal . 2006.
  9. ^ Kumar, Abhay; Kataria, Saurabh. "Aplicaciones basadas en el aprendizaje de diccionarios en el procesamiento de imágenes mediante optimización convexa" (PDF) .
  10. ^ Rubinstein, R .; Bruckstein, AM; Elad, M. (1 de junio de 2010). "Diccionarios para modelado de representaciones dispersas". Actas del IEEE . 98 (6): 1045-1057. CiteSeerX  10.1.1.160.527 . doi : 10.1109 / JPROC.2010.2040551 . ISSN  0018-9219 . S2CID  2176046 .
  11. ^ Engan, Kjersti ; Skretting, Karl; Husøy, John H \ a akon (1 de enero de 2007). "Familia de algoritmos de aprendizaje de diccionario basados ​​en LS iterativos, ILS-DLA, para representación de señales dispersas". Dígito. Proceso de señal . 17 (1): 32–49. doi : 10.1016 / j.dsp.2006.02.002 . ISSN  1051-2004 .
  12. Mairal, J .; Sapiro, G .; Elad, M. (1 de enero de 2008). "Aprendizaje de representaciones dispersas multiescala para la restauración de imágenes y videos". Modelado y simulación multiescala . 7 (1): 214–241. CiteSeerX  10.1.1.95.6239 . doi : 10.1137 / 070697653 . ISSN  1540-3459 .
  13. ^ Rubinstein, R .; Zibulevsky, M .; Elad, M. (1 de marzo de 2010). "Doble escasez: aprendizaje de diccionarios dispersos para la aproximación de señales dispersas". Transacciones IEEE sobre procesamiento de señales . 58 (3): 1553-1564. Código Bibliográfico : 2010ITSP ... 58.1553R . CiteSeerX  10.1.1.183.992 . doi : 10.1109 / TSP.2009.2036477 . ISSN  1053-587X . S2CID  7193037 .
  14. ^ Mairal, Julien; Bach, Francis; Ponce, Jean; Sapiro, Guillermo (1 de marzo de 2010). "Aprendizaje en línea para la factorización de matrices y codificación dispersa" . J. Mach. Aprender. Res . 11 : 19–60. arXiv : 0908.0050 . Código bibliográfico : 2009arXiv0908.0050M . ISSN  1532-4435 .
  15. ^ Aharon, M, M Elad y A Bruckstein. 2006. "K-SVD: Un algoritmo para diseñar diccionarios sobrecompletos para representación dispersa". Procesamiento de señales, transacciones IEEE en 54 (11): 4311-4322
  16. Peyré, Gabriel (6 de noviembre de 2008). "Modelado escaso de texturas" (PDF) . Revista de Visión y Imágenes Matemáticas . 34 (1): 17–31. doi : 10.1007 / s10851-008-0120-3 . ISSN  0924-9907 . S2CID  15994546 .
  17. ^ Ramírez, Ignacio; Sprechmann, Pablo; Sapiro, Guillermo (1 de enero de 2010). Clasificación y agrupamiento a través del aprendizaje de diccionario con incoherencia estructurada y características compartidas . 2014 IEEE Conference on Computer Vision and Pattern Recognition . Los Alamitos, CA, EE.UU .: IEEE Computer Society. págs. 3501–3508. doi : 10.1109 / CVPR.2010.5539964 . ISBN 978-1-4244-6984-0. S2CID  206591234 .
  18. ^ Koniusz, Piotr; Yan, Fei; Mikolajczyk, Krystian (1 de mayo de 2013). "Comparación de enfoques de codificación de características de nivel medio y estrategias de agrupación en la detección de conceptos visuales". Visión por computadora y comprensión de imágenes . 117 (5): 479–492. CiteSeerX  10.1.1.377.3979 . doi : 10.1016 / j.cviu.2012.10.010 . ISSN  1077-3142 .
  19. ^ Koniusz, Piotr; Yan, Fei; Gosselin, Philippe Henri; Mikolajczyk, Krystian (24 de febrero de 2017). "Agrupación de ocurrencias de orden superior para bolsas de palabras: detección visual de conceptos" (PDF) . Transacciones IEEE sobre análisis de patrones e inteligencia de máquinas . 39 (2): 313–326. doi : 10.1109 / TPAMI.2016.2545667 . hdl : 10044/1/39814 . ISSN  0162-8828 . PMID  27019477 .
  20. ^ AlMatouq, Ali; LalegKirati, TaousMeriem; Novara, Carlo; Ivana, Rabbone; Vincent, Tyrone (15 de marzo de 2019). "Reconstrucción escasa de flujos de glucosa mediante monitores de glucosa continuos" . Transacciones IEEE / ACM sobre biología computacional y bioinformática . 17 (5): 1797–1809. doi : 10.1109 / TCBB.2019.2905198 . hdl : 10754/655914 . ISSN  1545-5963 . PMID  30892232 . S2CID  84185121 .