CutMix é uma técnica de aumento de dados para treinar redes neurais em tarefas de classificação de imagens. Ela combina o recorte e a colagem de patches de imagem com a estratégia de mistura de rótulos introduzida pelo mixup. Em cada iteração de treinamento, um patch retangular é recortado de uma imagem de treinamento e colado em uma segunda imagem, e o rótulo de treinamento é ajustado para ser uma combinação ponderada dos dois rótulos originais, com o peso proporcional à área do patch colado. Essa abordagem incentiva os modelos a se concentrarem no objeto completo, em vez de depender de correlações espúrias ou características parciais, e demonstrou melhorar a precisão de classificação, a robustez a corrupções e o desempenho de localização.
O método foi introduzido em um artigo de 2019 por Sangdoo Yun, Dongyoon Han, Seong Joon Oh, Sanghyuk Chun, Junsuk Choe e Youngjoon Yoo, afiliados à Clova AI e à NAVER Corporation. O artigo, intitulado "CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features", foi apresentado na Conferência Internacional de Visão Computacional (ICCV) do IEEE/CVF de 2019. Desde sua introdução, o CutMix tornou-se um componente padrão nos pipelines de treinamento de muitos modelos de visão de última geração, frequentemente usado em conjunto com outras técnicas de aumento de dados.
Mecanismo
A operação CutMix funciona da seguinte forma. Dados dois exemplos de treinamento \(x_A\) e \(x_B\) com rótulos one-hot \(y_A\) e \(y_B\), o algoritmo primeiro amostra uma máscara binária \(M\) que indica quais pixels devem ser retirados de cada imagem. A máscara é gerada selecionando coordenadas de caixa delimitadora \((r_x, r_y, r_w, r_h)\) uniformemente ao acaso, com a razão de área da caixa \(\lambda\) amostrada de uma distribuição Beta, tipicamente com parâmetro \(\alpha = 1\). O novo exemplo de treinamento é formado tomando a região fora da caixa da imagem A e a região dentro da caixa da imagem B. O rótulo para o exemplo combinado é calculado como \(\tilde{y} = \lambda y_A + (1 - \lambda) y_B\), onde \(\lambda\) é a fração de pixels retidos da imagem A.
Esse processo é aplicado dinamicamente durante o treinamento, o que significa que cada mini-lote é aumentado aleatoriamente. A máscara é gerada independentemente para cada exemplo no lote, levando a um conjunto diversificado de imagens misturadas. A posição e o tamanho do corte são uniformemente aleatórios, o que garante que o modelo veja uma ampla variedade de oclusões parciais e combinações.
Relação com Outros Aumentos
O CutMix baseia-se em estratégias de aumento anteriores. O predecessor mais direto é o mixup, introduzido por Hongyi Zhang, Moustapha Cisse, Yann N. Dauphin e David Lopez-Paz em 2018, que mistura imagens inteiras tomando uma combinação convexa dos valores de pixel e dos rótulos. O mixup incentiva um comportamento linear entre os exemplos de treinamento, mas pode produzir imagens não naturais e difíceis de interpretar para humanos. O CutMix, por outro lado, mantém a aparência natural das imagens dentro de cada região, tornando os exemplos aumentados mais coerentes semanticamente.
Outra técnica relacionada é o Cutout, proposto por Terrance DeVries e Graham W. Taylor em 2017, que mascara aleatoriamente regiões retangulares de uma imagem, definindo-as como zero. O Cutout atua como uma forma de dropout no nível de pixel, forçando o modelo a depender de características menos proeminentes. O CutMix pode ser visto como uma generalização que substitui as regiões preenchidas com zeros por patches de outra imagem, fornecendo sinal de supervisão adicional por meio do rótulo misturado.
Os autores do CutMix demonstraram empiricamente que ele supera tanto o mixup quanto o Cutout em vários conjuntos de dados de referência, incluindo CIFAR-10, CIFAR-100 e ImageNet. Eles também mostraram que o CutMix melhora a capacidade do modelo de localizar objetos, medida pela métrica do jogo de apontamento, porque o modelo deve atender ao objeto completo para classificar corretamente a imagem misturada.
Detalhes de Implementação
Na prática, o CutMix é implementado como uma transformação simples que pode ser adicionada a qualquer loop de treinamento de classificação de imagens. Para cada par de imagens em um lote, o algoritmo:
- Amostra uma distribuição Beta para obter a razão de mistura \(\lambda\).
- Calcula as coordenadas da caixa delimitadora com base em \(\lambda\).
- Cria a imagem combinada copiando o patch da imagem B para a imagem A.
- Calcula o rótulo misturado como uma soma ponderada.
A sobrecarga computacional é mínima, pois a operação envolve apenas fatiamento e atribuição de arrays. Isso torna o CutMix fácil de integrar em estruturas existentes, como PyTorch ou TensorFlow. Muitas implementações de código aberto existem, e a técnica é frequentemente combinada com outros aumentos, como recorte aleatório, inversão e variação de cor.
Uma consideração prática é que o parâmetro \(\alpha\) da distribuição Beta controla a força do aumento. Com \(\alpha = 1\), a distribuição é uniforme, o que significa que todas as razões de mistura são igualmente prováveis. Valores menores de \(\alpha\) (por exemplo, 0,2) produzem misturas mais extremas, onde uma imagem domina, enquanto valores maiores produzem misturas mais equilibradas. O artigo original descobriu que \(\alpha = 1\) funciona bem em todos os conjuntos de dados, mas alguns trabalhos subsequentes ajustaram esse parâmetro para tarefas específicas.
Aplicações e Extensões
O CutMix foi aplicado além da classificação de imagens. Ele tem sido usado em detecção de objetos, segmentação semântica e até mesmo no treinamento de transformers para tarefas de visão. A ideia de misturar patches foi estendida a outras modalidades, como áudio e texto, embora com adaptações à natureza discreta desses dados.
Várias variantes foram propostas. Por exemplo, o Puzzle Mix, introduzido em 2020, usa uma otimização mais sofisticada para encontrar máscaras de mistura que preservem os limites dos objetos e evitem cortar partes salientes. Outra variante, o FMix, usa máscaras no domínio de Fourier para criar padrões de mistura irregulares. O Co-Mixup, proposto em 2021, estende a ideia a múltiplas imagens e incentiva a diversidade entre os exemplos misturados.
No contexto de aumento de dados, o CutMix é frequentemente usado em combinação com outras técnicas, como Dropout e normalização em lote. Ele se mostrou particularmente eficaz ao treinar modelos grandes com dados limitados, pois fornece uma forma de regularização que reduz o sobreajuste.
Impacto na Robustez do Modelo
Um dos principais benefícios do CutMix é a melhoria da robustez a corrupções de entrada e perturbações adversariais. Ao treinar em imagens que contêm patches de outras classes, o modelo aprende a depender de um conjunto mais amplo de características. Isso reduz a tendência de sobreajustar a pistas de fundo ou padrões de textura que podem não estar presentes em cenários do mundo real.
Estudos mostraram que modelos treinados com CutMix alcançam maior precisão em versões corrompidas do ImageNet, como o ImageNet-C, em comparação com modelos treinados com aumento padrão ou apenas mixup. A técnica também melhora a calibração, o que significa que as probabilidades previstas pelo modelo estão mais alinhadas com a precisão real.
Além disso, o CutMix demonstrou melhorar o desempenho de modelos em tarefas de classificação de granularidade fina, onde diferenças sutis entre classes são importantes. As imagens misturadas forçam o modelo a atender a partes discriminativas, em vez de depender de estatísticas globais.
Adoção na Indústria
O CutMix foi amplamente adotado tanto na pesquisa acadêmica quanto na indústria. Ele está incluído em bibliotecas e estruturas populares de aprendizado profundo, como a biblioteca timm para modelos de imagem e a biblioteca de carregamento de dados NVIDIA DALI. Muitos modelos de última geração no desafio ImageNet e em outras competições usaram o CutMix como parte de sua receita de treinamento.
Empresas como Google DeepMind, OpenAI e Anthropic incorporaram o CutMix em seus pipelines de visão computacional, embora detalhes específicos sejam frequentemente proprietários. A técnica também é usada em imagens médicas, onde os dados são escassos e o aumento é crítico. Por exemplo, o CutMix foi aplicado à classificação de radiografias de tórax e à análise de imagens de histopatologia, mostrando melhor generalização.
Limitações e Considerações
Apesar de sua eficácia, o CutMix tem algumas limitações. O recorte e a colagem aleatórios podem, às vezes, criar imagens não realistas, especialmente quando o patch é colocado em um local semanticamente inconsistente. Por exemplo, colar um patch de um carro em uma imagem de um pássaro pode confundir o modelo se o patch cobrir uma parte crítica do pássaro. No entanto, o rótulo misturado mitiga isso fornecendo um alvo suave.
Outra consideração é que o CutMix assume que a entrada é uma grade de pixels, o que não é diretamente aplicável a outros tipos de dados, como grafos ou nuvens de pontos. Extensões foram propostas para essas modalidades, mas exigem estratégias de mascaramento mais complexas.
Finalmente, a escolha do parâmetro da distribuição Beta pode afetar o desempenho. Embora \(\alpha = 1\) seja um bom padrão, algumas tarefas podem se beneficiar de ajustes. O artigo original fornece orientação sobre isso, mas continua sendo uma escolha empírica.
Conclusão
O CutMix é uma técnica de aumento de dados simples, porém poderosa, que se tornou um elemento básico na visão computacional moderna. Ao combinar os pontos fortes do mixup e do Cutout, ele fornece uma maneira de regularizar modelos e melhorar sua robustez e habilidades de localização. Sua facilidade de implementação e ganhos consistentes em benchmarks o tornaram uma escolha padrão para muitos profissionais. À medida que a pesquisa avança, variantes e extensões do CutMix provavelmente permanecerão relevantes, especialmente em domínios com dados limitados ou condições desafiadoras.
Referências
- Yun, S., Han, D., Oh, S. J., Chun, S., Choe, J., & Yoo, Y. (2019). CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features. ICCV.
- Zhang, H., Cisse, M., Dauphin, Y. N., & Lopez-Paz, D. (2018). mixup: Beyond Empirical Risk Minimization. ICLR.
- DeVries, T., & Taylor, G. W. (2017). Improved Regularization of Convolutional Neural Networks with Cutout. arXiv.
- Kim, J.-H., Choo, W., & Song, H. O. (2020). Puzzle Mix: Exploiting Saliency and Local Statistics for Optimal Mixup. ICML.
- Harris, E., Marcu, A., Painter, M., Niranjan, M., Prügel-Bennett, A., & Hare, J. (2020). FMix: Enhancing Mixed Sample Data Augmentation. arXiv.
Ver Também
- aumento de dados
- Mixup (não está na lista, mas relacionado)
- Dropout
- rede residual
- aprendizado profundo
- aprendizado de máquina