Aprendizagem de dicionário esparsa - Sparse dictionary learning

A codificação esparsa é um método de aprendizagem de representação que visa encontrar uma representação esparsa dos dados de entrada (também conhecida como codificação esparsa ) na forma de uma combinação linear de elementos básicos, bem como os próprios elementos básicos. Esses elementos são chamados de átomos e compõem um dicionário . Os átomos no dicionário não precisam ser ortogonais e podem ser um conjunto de abrangência supercompleto. Esta configuração do problema também permite que a dimensionalidade dos sinais sendo representados seja maior do que a dos sinais sendo observados. As duas propriedades acima levam a ter átomos aparentemente redundantes que permitem várias representações do mesmo sinal, mas também fornecem uma melhoria na dispersão e flexibilidade da representação.

Uma das aplicações mais importantes do aprendizado de dicionário esparso é no campo de detecção compactada ou recuperação de sinal . No sensoriamento comprimido, um sinal de alta dimensão pode ser recuperado com apenas algumas medições lineares, desde que o sinal seja esparso ou quase esparso. Como nem todos os sinais satisfazem essa condição de esparsidade, é de grande importância encontrar uma representação esparsa desse sinal, como a transformada wavelet ou o gradiente direcional de uma matriz rasterizada. Uma vez que uma matriz ou um vetor de alta dimensão é transferido para um espaço esparso, diferentes algoritmos de recuperação como busca de base , CoSaMP ou algoritmos não iterativos rápidos podem ser usados ​​para recuperar o sinal.

Um dos princípios-chave do aprendizado de dicionário é que o dicionário deve ser inferido a partir dos dados de entrada. O surgimento de métodos de aprendizado de dicionário esparso foi estimulado pelo fato de que, no processamento de sinais, normalmente se deseja representar os dados de entrada usando o mínimo de componentes possível. Antes dessa abordagem, a prática geral era usar dicionários predefinidos (como Fourier ou transformações wavelet ). No entanto, em certos casos, um dicionário treinado para ajustar os dados de entrada pode melhorar significativamente a dispersão, que tem aplicações na decomposição, compressão e análise de dados e tem sido usado nas áreas de eliminação de ruído e classificação de imagens , processamento de vídeo e áudio . Dicionários esparsos e supercompletos têm imensas aplicações em compressão de imagens, fusão de imagens e pintura interna.

Denoising de imagem por Dicionário de Aprendizagem

Declaração do problema

Dado o conjunto de dados de entrada , desejamos encontrar um dicionário e uma representação de forma que ambos sejam minimizados e as representações sejam esparsas o suficiente. Isso pode ser formulado como o seguinte problema de otimização :

, onde ,

é necessário restringir de modo que seus átomos não alcancem valores arbitrariamente altos, permitindo valores arbitrariamente baixos (mas diferentes de zero) de . controla a compensação entre a dispersão e o erro de minimização.

O problema de minimização acima não é convexo por causa da 0 - "norma" e resolver este problema é NP-difícil. Em alguns casos, a norma L 1 é conhecida por garantir a esparsidade e, portanto, o acima se torna um problema de otimização convexo em relação a cada uma das variáveis e quando a outra é fixa, mas não é convexa em conjunto .

Propriedades do dicionário

O dicionário definido acima pode ser "incompleto" se ou "incompleto" no caso de o último ser uma suposição típica para um problema de aprendizado de dicionário esparso. O caso de um dicionário completo não oferece nenhuma melhoria do ponto de vista representacional e, portanto, não é considerado.

Dicionários incompletos representam a configuração na qual os dados de entrada reais estão em um espaço de dimensão inferior. Este caso está fortemente relacionado à redução de dimensionalidade e técnicas como a análise de componentes principais, que requerem que os átomos sejam ortogonais. A escolha desses subespaços é crucial para uma redução eficiente da dimensionalidade, mas não é trivial. E a redução da dimensionalidade com base na representação do dicionário pode ser estendida para tratar de tarefas específicas, como análise ou classificação de dados. No entanto, sua principal desvantagem é limitar a escolha dos átomos.

Dicionários supercompletos, no entanto, não exigem que os átomos sejam ortogonais (eles nunca serão uma base de qualquer maneira), permitindo, assim, dicionários mais flexíveis e representações de dados mais ricas.

Um dicionário supercompleto que permite a representação esparsa do sinal pode ser uma famosa matriz de transformação (transformada de wavelets, transformada de Fourier) ou pode ser formulada de modo que seus elementos sejam alterados de forma a representar esparsamente o sinal dado da melhor maneira. Dicionários aprendidos são capazes de fornecer soluções mais esparsas em comparação com matrizes de transformação predefinidas.

Algoritmos

Como o problema de otimização descrito acima pode ser resolvido como um problema convexo com relação ao dicionário ou à codificação esparsa enquanto o outro dos dois é fixo, a maioria dos algoritmos é baseada na ideia de atualizar iterativamente um e depois o outro.

O problema de encontrar uma codificação esparsa ideal com um determinado dicionário é conhecido como aproximação esparsa (ou, às vezes, apenas problema de codificação esparsa). Vários algoritmos foram desenvolvidos para resolvê-lo (como a busca de correspondência e LASSO ) e são incorporados aos algoritmos descritos abaixo.

Método das direções ideais (MOD)

O método das direções ótimas (ou MOD) foi um dos primeiros métodos introduzidos para lidar com o problema de aprendizado de dicionário esparso. A ideia central disso é resolver o problema de minimização sujeito ao número limitado de componentes diferentes de zero do vetor de representação:

Aqui, denota a norma Frobenius . MOD alterna entre obter a codificação esparsa usando um método como a busca de correspondência e atualizar o dicionário computando a solução analítica do problema dado por onde está um pseudoinverso de Moore-Penrose . Depois que essa atualização é renormalizada para se ajustar às restrições, a nova codificação esparsa é obtida novamente. O processo é repetido até a convergência (ou até um resíduo suficientemente pequeno).

O MOD provou ser um método muito eficiente para dados de entrada de baixa dimensão que requerem apenas algumas iterações para convergir. No entanto, devido à alta complexidade da operação de inversão de matriz, calcular o pseudoinverso em casos de alta dimensão é, em muitos casos, intratável. Essa deficiência inspirou o desenvolvimento de outros métodos de aprendizagem de dicionário.

K-SVD

K-SVD é um algoritmo que executa SVD em seu núcleo para atualizar os átomos do dicionário um por um e basicamente é uma generalização de K-means . Ele impõe que cada elemento dos dados de entrada seja codificado por uma combinação linear de não mais do que elementos de uma forma idêntica à abordagem MOD:

A essência deste algoritmo é primeiro fixar o dicionário, encontrar o melhor possível sob a restrição acima (usando Orthogonal Matching Pursuit ) e então atualizar iterativamente os átomos do dicionário da seguinte maneira:

As próximas etapas do algoritmo incluem a aproximação de classificação 1 da matriz residual , atualizando e reforçando a dispersão de após a atualização. Este algoritmo é considerado padrão para aprendizagem de dicionário e é usado em uma variedade de aplicações. No entanto, ele compartilha pontos fracos com o MOD, sendo eficiente apenas para sinais com dimensionalidade relativamente baixa e tendo a possibilidade de ficar preso em mínimos locais.

Descida do gradiente estocástico

Pode-se também aplicar um método difundido de descida gradiente estocástico com projeção iterativa para resolver esse problema. A ideia deste método é atualizar o dicionário usando o gradiente estocástico de primeira ordem e projetá-lo no conjunto de restrições . A etapa que ocorre na i-ésima iteração é descrita por esta expressão:

, onde é um subconjunto aleatório de e é uma etapa de gradiente.

Método dual de Lagrange

Um algoritmo baseado na solução de um problema Lagrangeano dual fornece uma maneira eficiente de resolver o dicionário, sem complicações induzidas pela função de esparsidade. Considere o seguinte Lagrangiano:

, onde há uma restrição na norma dos átomos e são as chamadas variáveis ​​duais que formam a matriz diagonal .

Podemos, então, fornecer uma expressão analítica para o dual de Lagrange após a minimização sobre :

.

Depois de aplicar um dos métodos de otimização ao valor do dual (como o método de Newton ou gradiente conjugado ), obtemos o valor de :

Resolver este problema é menos difícil computacionalmente porque a quantidade de variáveis ​​duais é muitas vezes muito menor do que a quantidade de variáveis ​​no problema primordial.

LAÇO

Nesta abordagem, o problema de otimização é formulado como:

, onde está o erro permitido na reconstrução LASSO.

Ele encontra uma estimativa de minimizando o erro mínimo quadrado sujeito a uma restrição da norma L 1 no vetor de solução, formulado como:

, onde controla a compensação entre a dispersão e o erro de reconstrução. Isso dá a solução ótima global. Veja também Aprendizagem de dicionário online para codificação esparsa

Métodos de treinamento paramétrico

Os métodos de treinamento paramétrico visam incorporar o melhor dos dois mundos - o reino dos dicionários construídos analiticamente e os aprendidos. Isso permite construir dicionários generalizados mais poderosos que podem ser potencialmente aplicados aos casos de sinais de tamanho arbitrário. Abordagens notáveis ​​incluem:

  • Dicionários invariantes de tradução. Esses dicionários são compostos pelas traduções dos átomos originados do dicionário construído para um patch de sinal de tamanho finito. Isso permite que o dicionário resultante forneça uma representação para o sinal de tamanho arbitrário.
  • Dicionários multiescala. Este método se concentra na construção de um dicionário que é composto de dicionários com escalas diferentes para melhorar a dispersão.
  • Dicionários esparsos. Este método se concentra não apenas em fornecer uma representação esparsa, mas também em construir um dicionário esparso que é reforçado pela expressão onde está algum dicionário analítico predefinido com propriedades desejáveis, como computação rápida e é uma matriz esparsa. Tal formulação permite combinar diretamente a implementação rápida de dicionários analíticos com a flexibilidade de abordagens esparsas.

Aprendizagem de dicionário online ( abordagem LASSO )

Muitas abordagens comuns para o aprendizado de dicionário esparso dependem do fato de que todos os dados de entrada (ou pelo menos um conjunto de dados de treinamento grande o suficiente) estão disponíveis para o algoritmo. No entanto, pode não ser o caso no cenário do mundo real, pois o tamanho dos dados de entrada pode ser muito grande para caber na memória. O outro caso em que essa suposição não pode ser feita é quando os dados de entrada vêm na forma de um fluxo . Esses casos situam-se no campo de estudo da aprendizagem online, o que sugere essencialmente a atualização iterativa do modelo após a disponibilização de novos pontos de dados .

Um dicionário pode ser aprendido online da seguinte maneira:

  1. Para
  2. Desenhe uma nova amostra
  3. Encontre uma codificação esparsa usando LARS :
  4. Atualize o dicionário usando a abordagem de coordenada de bloco :

Este método nos permite atualizar gradualmente o dicionário à medida que novos dados se tornam disponíveis para o aprendizado de representação esparsa e ajuda a reduzir drasticamente a quantidade de memória necessária para armazenar o conjunto de dados (que geralmente tem um tamanho enorme).

Formulários

A estrutura de aprendizagem de dicionário, ou seja, a decomposição linear de um sinal de entrada usando alguns elementos básicos aprendidos a partir dos próprios dados, levou a resultados de última geração em várias tarefas de processamento de imagem e vídeo. Essa técnica pode ser aplicada a problemas de classificação de forma que, se tivermos construído dicionários específicos para cada classe, o sinal de entrada pode ser classificado encontrando o dicionário correspondente à representação mais esparsa.

Ele também tem propriedades que são úteis para a redução de ruído do sinal, uma vez que normalmente se pode aprender um dicionário para representar a parte significativa do sinal de entrada de uma forma esparsa, mas o ruído na entrada terá uma representação muito menos esparsa.

O aprendizado de dicionário esparso foi aplicado com sucesso a várias tarefas de processamento de imagem, vídeo e áudio, bem como à síntese de textura e agrupamento não supervisionado. Em avaliações com o modelo Bag-of-Words , a codificação esparsa foi encontrada empiricamente para superar outras abordagens de codificação nas tarefas de reconhecimento de categoria de objeto.

O aprendizado do dicionário é usado para analisar os sinais médicos em detalhes. Esses sinais médicos incluem aqueles de eletroencefalografia (EEG), eletrocardiografia (ECG), ressonância magnética (MRI), MRI funcional (fMRI), monitores de glicose contínuos e tomografia computadorizada de ultrassom (USCT), onde diferentes suposições são usadas para analisar cada sinal.

Veja também

Referências

  1. ^ Needell, D .; Tropp, JA (2009). "CoSaMP: recuperação de sinal iterativo de amostras incompletas e imprecisas". Análise de Harmônicas Aplicadas e Computacionais . 26 (3): 301–321. arXiv : 0803.2392 . doi : 10.1016 / j.acha.2008.07.002 .
  2. ^ Lotfi, M .; Vidyasagar, M. " A Fast Non-iterative Algorithm for Compressive Sensing Using Binary Measurement Matrices "
  3. ^ AM Tillmann, " On the Computational Intratability of Exact and Approximate Dictionary Learning ", IEEE Signal Processing Letters 22 (1), 2015: 45–49.
  4. ^ Donoho, David L. (01/06/2006). "Para a maioria dos grandes sistemas subdeterminados de equações lineares, a solução mínima de norma 𝓁1 também é a solução mais esparsa". Comunicações em Matemática Pura e Aplicada . 59 (6): 797–829. doi : 10.1002 / cpa.20132 . ISSN  1097-0312 .
  5. ^ Engan, K .; Aase, SO; Hakon Husoy, J. (01/01/1999). Método das direções ideais para o design da estrutura . 1999 IEEE International Conference on Acoustics, Speech, and Signal Processing, 1999. Proceedings . 5 . pp. 2443–2446 vol.5. doi : 10.1109 / ICASSP.1999.760624 . ISBN 978-0-7803-5041-0. S2CID  33097614 .
  6. ^ Aharon, Michal; Elad, Michael (2008). "Modelagem escassa e redundante de conteúdo de imagem usando um dicionário de assinatura de imagem". SIAM Journal on Imaging Sciences . 1 (3): 228–247. CiteSeerX  10.1.1.298.6982 . doi : 10.1137 / 07070156x .
  7. ^ Pintér, János D. (01/01/2000). Yair Censor e Stavros A. Zenios, Otimização Paralela - Teoria, Algoritmos e Aplicações. Oxford University Press, New York / Oxford, 1997, xxviii + 539 páginas. (US $ 85,00) . Journal of Global Optimization . 16 . pp. 107–108. doi : 10.1023 / A: 1008311628080 . ISBN 978-0-19-510062-4. ISSN  0925-5001 . S2CID  22475558 .
  8. ^ Lee, Honglak e outros. "Algoritmos de codificação esparsos eficientes." Avanços nos sistemas de processamento de informações neurais . 2006.
  9. ^ Kumar, Abhay; Kataria, Saurabh. "Dicionário de aplicativos baseados em aprendizagem em processamento de imagem usando otimização convexa" (PDF) .
  10. ^ Rubinstein, R .; Bruckstein, AM; Elad, M. (01-06-2010). "Dicionários para modelagem de representação esparsa". Atas do 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 (01-01-2007). "Família de algoritmos de aprendizagem de dicionário baseados em LS Iterativo, ILS-DLA, para representação de sinal esparsa". Dígito. Processo de Sinal . 17 (1): 32–49. doi : 10.1016 / j.dsp.2006.02.002 . ISSN  1051-2004 .
  12. ^ Mairal, J .; Sapiro, G .; Elad, M. (01-01-2008). "Aprendizagem de representações esparsas multiescala para restauração de imagem e vídeo". Modelagem e simulação 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. (01-03-2010). "Double Sparsity: Learning Sparse Dictionaries for Sparse Signal Approximation". Transações IEEE no processamento de sinais . 58 (3): 1553–1564. Bibcode : 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 (01-03-2010). "Aprendizagem online para fatoração de matriz e codificação esparsa" . J. Mach. Aprender. Res . 11 : 19–60. arXiv : 0908.0050 . Bibcode : 2009arXiv0908.0050M . ISSN  1532-4435 .
  15. ^ Aharon, M, M Elad e A Bruckstein. 2006. "K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation." Processamento de sinal, transações IEEE em 54 (11): 4311-4322
  16. ^ Peyré, Gabriel (06-11-2008). "Modelagem Esparsa de Texturas" (PDF) . Journal of Mathematical Imaging and Vision . 34 (1): 17–31. doi : 10.1007 / s10851-008-0120-3 . ISSN  0924-9907 . S2CID  15994546 .
  17. ^ Ramirez, Ignacio; Sprechmann, Pablo; Sapiro, Guillermo (01-01-2010). Classificação e agrupamento por meio de aprendizagem de dicionário com incoerência estruturada e recursos compartilhados . Conferência IEEE 2014 sobre Visão Computacional e Reconhecimento de Padrões . Los Alamitos, CA, EUA: IEEE Computer Society. pp. 3501–3508. doi : 10.1109 / CVPR.2010.5539964 . ISBN 978-1-4244-6984-0. S2CID  206591234 .
  18. ^ Koniusz, Piotr; Yan, Fei; Mikolajczyk, Krystian (01/05/2013). "Comparação de abordagens de codificação de recursos de nível médio e estratégias de agrupamento em detecção de conceito visual". Visão computacional e compreensão da imagem . 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/02/2017). "Pooling de ocorrência de ordem superior para pacotes de palavras: detecção de conceito visual" (PDF) . IEEE Transactions on Pattern Analysis and Machine Intelligence . 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/03/2019). "Sparse Reconstruction of Glucose Fluxes Using Continuous Glucose Monitors" . Transações IEEE / ACM em Biologia Computacional e Bioinformática . 17 (5): 1797-1809. doi : 10.1109 / TCBB.2019.2905198 . hdl : 10754/655914 . ISSN  1545-5963 . PMID  30892232 . S2CID  84185121 .