Aprendizagem de dicionário esparsa - Sparse dictionary learning
Parte de uma série sobre |
Aprendizado de máquina e mineração de dados |
---|
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.
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:
- Para
- Desenhe uma nova amostra
- Encontre uma codificação esparsa usando LARS :
- 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
- ^ 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 .
- ^ Lotfi, M .; Vidyasagar, M. " A Fast Non-iterative Algorithm for Compressive Sensing Using Binary Measurement Matrices "
- ^ AM Tillmann, " On the Computational Intratability of Exact and Approximate Dictionary Learning ", IEEE Signal Processing Letters 22 (1), 2015: 45–49.
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ Lee, Honglak e outros. "Algoritmos de codificação esparsos eficientes." Avanços nos sistemas de processamento de informações neurais . 2006.
- ^ Kumar, Abhay; Kataria, Saurabh. "Dicionário de aplicativos baseados em aprendizagem em processamento de imagem usando otimização convexa" (PDF) .
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ 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
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ 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 .