Abordando o Reconhecimento de Cauda Longa com SBCL
Uma nova abordagem pra melhorar o desempenho do modelo em conjuntos de dados desbalanceados.
― 7 min ler
Índice
Em aplicações do dia a dia, geralmente lidamos com conjuntos de dados onde algumas categorias têm muitos exemplos, enquanto outras têm bem poucos. Essa situação é chamada de Reconhecimento de cauda longa. Por exemplo, na imagem médica, podemos ter milhares de imagens de condições comuns, mas apenas algumas para doenças raras. Esse desequilíbrio pode causar problemas na criação de modelos que reconheçam todos os tipos de imagens igualmente bem.
Para resolver esse problema, os pesquisadores desenvolveram várias estratégias. Os métodos comuns incluem reponderar os dados para focar mais nas classes menos frequentes ou reamostrar os dados para conseguir um melhor equilíbrio. No entanto, esses métodos às vezes podem ignorar detalhes importantes dentro das classes mais comuns.
As Limitações dos Métodos Existentes
As estratégias atuais, como reponderação de dados e aprendizado contrastivo supervisionado, têm a intenção de garantir que o modelo preste atenção às classes sub-representadas. Embora esses métodos funcionem, eles também correm o risco de tornar o modelo tendencioso contra as classes mais prevalentes. Isso acontece porque as características diversas nas classes comuns podem ser suavizadas, o que pode levar a um desempenho abaixo do esperado.
Por exemplo, imagine um modelo que reconhece animais. Se ele tiver muitos exemplos de cachorros, mas apenas alguns exemplos de ornitorrincos, focar demais nas poucas imagens de ornitorrinco pode fazer o modelo ignorar características importantes das várias raças de cachorro.
Introduzindo o Aprendizado Contrastivo com Balanceamento de Subclasses (SBCL)
Para enfrentar esses problemas, propomos uma nova abordagem chamada aprendizado contrastivo com balanceamento de subclasses (SBCL). Esse método pega as classes maiores e as divide em subclasses menores e mais gerenciáveis. Cada subclasse contém um tamanho semelhante ao das classes finais, garantindo que o treinamento permaneça equilibrado.
Durante o treinamento, o modelo aprende a distinguir entre essas subclasses. Usando essa estrutura em duas camadas, podemos manter as nuances nas classes maiores, enquanto também damos às classes menores uma chance justa durante o processo de treinamento. O resultado é um ambiente de aprendizado equilibrado que preserva características importantes tanto das classes principais quanto das classes finais.
Como o SBCL Funciona
Agrupando Classes Principais
O primeiro passo no SBCL é pegar as classes maiores e dividi-las em várias subclasses com base em suas características. Essa Agrupamento ajuda a garantir que o número de exemplos em cada subclasse esteja próximo ao das classes menores. Em vez de tratar todos os exemplos em uma classe uniformemente, reconhecemos a diversidade dentro da classe e agrupamos exemplos semelhantes juntos.
Durante o treinamento, esses grupos são atualizados para refletir a compreensão atual do modelo. Essa agrupamento adaptativo permite um processo de aprendizado mais dinâmico, garantindo que o modelo continue capturando as ricas estruturas semânticas presentes nas classes maiores.
Dois Tipos de Aprendizado
O SBCL opera em dois níveis. O primeiro nível foca nas subclasses em si, incentivando instâncias dentro da mesma subclasse a estarem próximas no espaço de características. O segundo nível garante que instâncias de subclasses da mesma classe principal ainda sejam agrupadas, diferenciando-as de classes diferentes. Esse foco duplo ajuda o modelo a aprender relacionamentos mais sutis dentro dos dados.
Função de Perda
Para ajudar o modelo a aprender essas relações de forma eficaz, usamos uma função de perda especial que equilibra duas partes. A primeira parte enfatiza as subclasses, enquanto a segunda parte considera a estrutura de classe mais ampla. Esse equilíbrio é fundamental para manter a integridade tanto da subclasse quanto do nível da classe dos dados.
Avaliação do SBCL
Testando em Vários Conjuntos de Dados
Para avaliar a eficácia do SBCL, o testamos em vários conjuntos de dados de reconhecimento de cauda longa. Esses incluem CIFAR-100-LT, ImageNet-LT e iNaturalist 2018. Cada um desses conjuntos de dados apresenta seus próprios desafios relacionados ao desequilíbrio de classes, tornando-os ideais para nossos experimentos.
Os resultados mostraram que o SBCL superou muitos métodos existentes de forma significativa. Nossa abordagem não só melhorou o desempenho em média, mas também mostrou vantagens específicas ao classificar categorias sub-representadas.
Desempenho em Diferentes Tipos de Classe
Em nossos experimentos, olhamos para três grupos: classes de muitos exemplos (mais de 100 exemplos), classes de médio exemplo (20 a 100 exemplos) e classes de poucos exemplos (menos de 20 exemplos). Em todos os casos, o SBCL demonstrou melhorias notáveis em relação a outros métodos, especialmente no reconhecimento das classes de poucos exemplos.
Isso é particularmente importante porque muitas aplicações dependem da identificação precisa de instâncias raras. Por exemplo, diagnosticar corretamente doenças raras em imagens médicas pode ser uma questão de vida ou morte.
Vantagens do SBCL
O SBCL tem várias vantagens chave em comparação aos métodos tradicionais:
Aprendizado Equilibrado: Ao dividir as classes principais em subclasses menores, mantemos um ambiente de aprendizado equilibrado onde instâncias individuais têm uma oportunidade igual de contribuir.
Representação Semântica Rica: A abordagem de agrupamento permite que o modelo capture características críticas dentro das classes maiores, resultando em representações mais precisas.
Adaptação Dinâmica: O método de agrupamento adaptativo garante que o processo de aprendizado não seja estático. À medida que o modelo aprende, os grupos evoluem, mantendo a representação relevante e precisa.
Configuração Experimental
Em nossos experimentos, usamos conjuntos de dados de referência bem conhecidos e seguimos uma abordagem de treinamento em duas etapas. A primeira etapa envolveu treinar o Extrator de Características usando o SBCL. A segunda etapa consistiu em treinar um classificador linear usando as representações aprendidas na primeira etapa.
Conjuntos de Dados Utilizados
CIFAR-100-LT: Um conjunto de dados de imagens com 100 classes diferentes, apresentando uma distribuição de cauda longa.
ImageNet-LT: Um conjunto de dados popular e diversificado que foi modificado para apresentar características de cauda longa.
iNaturalist 2018: Um conjunto de dados em larga escala capturando várias espécies, apresentando um significativo desequilíbrio de classe.
Cada conjunto de dados apresentou desafios únicos, permitindo que avaliássemos a eficácia do SBCL de forma abrangente.
Resultados e Descobertas
Comparação de Desempenho
Nossos resultados indicam que o SBCL superou significativamente vários métodos estabelecidos, incluindo KCL e TSC. Notavelmente, a habilidade do SBCL de melhorar a precisão de reconhecimento nas classes minoritárias sem sacrificar o desempenho nas classes majoritárias foi destacada.
Análise de Características
Analisamos as representações aprendidas para entender como o modelo estava se saindo. Nossos resultados mostraram que as características do SBCL formaram grupos distintos, indicando que o modelo estava aprendendo a diferenciar entre subclasses e classes com sucesso.
Ajuste de Hiperparâmetros
Em nosso trabalho, também investigamos como diferentes hiperparâmetros afetaram o desempenho. Descobrimos que tanto o parâmetro de balanceamento de perda quanto o parâmetro de tamanho de agrupamento tiveram um impacto significativo na precisão do modelo.
Conclusão
Em resumo, o aprendizado contrastivo com balanceamento de subclasses (SBCL) apresenta uma solução poderosa para os desafios impostos pelo reconhecimento de cauda longa. Ao focar no equilíbrio do aprendizado em nível de instância e subclasse, nosso método efetivamente aborda as limitações das estratégias existentes.
Os resultados de vários experimentos demonstram que o SBCL poderia melhorar significativamente a precisão de reconhecimento em vários conjuntos de dados. Ao manter as características ricas das classes principais, enquanto dá às classes finais a atenção que merecem, o SBCL tem o potencial de transformar a maneira como os modelos são treinados para aplicações do mundo real.
Com a aplicação bem-sucedida do SBCL, abrimos novas avenidas para pesquisas em reconhecimento de cauda longa e além, garantindo que tanto instâncias comuns quanto raras possam ser reconhecidas de forma precisa e eficiente.
Título: Subclass-balancing Contrastive Learning for Long-tailed Recognition
Resumo: Long-tailed recognition with imbalanced class distribution naturally emerges in practical machine learning applications. Existing methods such as data reweighing, resampling, and supervised contrastive learning enforce the class balance with a price of introducing imbalance between instances of head class and tail class, which may ignore the underlying rich semantic substructures of the former and exaggerate the biases in the latter. We overcome these drawbacks by a novel ``subclass-balancing contrastive learning (SBCL)'' approach that clusters each head class into multiple subclasses of similar sizes as the tail classes and enforce representations to capture the two-layer class hierarchy between the original classes and their subclasses. Since the clustering is conducted in the representation space and updated during the course of training, the subclass labels preserve the semantic substructures of head classes. Meanwhile, it does not overemphasize tail class samples, so each individual instance contribute to the representation learning equally. Hence, our method achieves both the instance- and subclass-balance, while the original class labels are also learned through contrastive learning among subclasses from different classes. We evaluate SBCL over a list of long-tailed benchmark datasets and it achieves the state-of-the-art performance. In addition, we present extensive analyses and ablation studies of SBCL to verify its advantages.
Autores: Chengkai Hou, Jieyu Zhang, Haonan Wang, Tianyi Zhou
Última atualização: 2023-09-09 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2306.15925
Fonte PDF: https://arxiv.org/pdf/2306.15925
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- https://www.pamitc.org/documents/mermin.pdf
- https://github.com/MCG-NKU/CVPR_Template
- https://mirrors.ctan.org/macros/latex/contrib/natbib/natnotes.pdf
- https://www.ctan.org/pkg/booktabs
- https://www.emfield.org/icuwb2010/downloads/IEEE-PDF-SpecV32.pdf
- https://mirrors.ctan.org/macros/latex/required/graphics/grfguide.pdf
- https://neurips.cc/Conferences/2021/PaperInformation/FundingDisclosure
- https://github.com/facebookresearch/swav
- https://github.com/salesforce/PCL
- https://github.com/deepmind/deepmind-research/tree/master/byol