Ruído de Rótulos

Visão geral

Ruído de rótulos (label noise) é qualquer discrepância entre o rótulo observado em um conjunto de dados (o que anotadores ou um pipeline registraram) e o rótulo latente (latent label) que desejamos que o modelo aprenda (o rótulo “verdadeiro” ou pretendido pela tarefa). Ele é uma das causas mais comuns de lacunas de desempenho entre protótipos de pesquisa e sistemas em produção, porque modelos modernos — especialmente grandes Redes Neurais (Neural Networks) — podem memorizar rótulos incorretos e ainda assim obter baixa perda de treinamento (training loss).

O ruído de rótulos nem sempre é “erros”. Ele também pode refletir:

  • Ambiguidade na definição da tarefa (humanos razoáveis discordam)
  • Subjetividade (por exemplo, toxicidade, sentimento)
  • Limitações de medição (por exemplo, ruído de sensor, proxies fracos)
  • Artefatos de pipeline (por exemplo, regras heurísticas de rotulagem)

Este artigo cobre tipos comuns de ruído de rótulos, métodos para detectá-lo e estratégias de mitigação que abrangem coleta de dados, fluxos de trabalho de rotulagem e treinamento de modelos.

Por que o ruído de rótulos importa (a teoria em termos simples)

A maior parte do aprendizado supervisionado (supervised learning) minimiza um risco empírico (empirical risk), como a entropia cruzada (cross-entropy):

[ \min_\theta \frac{1}{n}\sum_{i=1}^n \ell(f_\theta(x_i), \tilde{y}_i) ]

onde (\tilde{y}_i) são os rótulos observados. Se (\tilde{y}) difere do (y) pretendido, o alvo da otimização muda.

Principais implicações:

  • Sobreajuste (overfitting) ao ruído: modelos de alta capacidade podem ajustar rótulos aleatórios (a acurácia de treinamento sobe, a generalização colapsa).
  • Viés na fronteira de decisão (decision boundary) aprendida: ruído sistemático (por exemplo, certas classes são rotuladas incorretamente com mais frequência) pode deslocar fronteiras e prejudicar classes minoritárias de forma desproporcional.
  • Avaliação enganosa: se seus conjuntos de validação/teste contêm ruído, você pode subestimar o desempenho real ou selecionar o modelo errado.

Uma ferramenta teórica comum é a matriz de transição de ruído (noise transition matrix) (T), onde:

[ T_{ij} = P(\tilde{y}=j \mid y=i) ]

Se você conseguir estimar (T), às vezes é possível corrigir perdas ou previsões. No entanto, na prática, o ruído frequentemente é dependente da instância (instance-dependent) (depende de (x)), o que é mais difícil do que uma matriz simples.

Tipos de ruído de rótulos

O ruído de rótulos é melhor entendido por como ele surge e sua estrutura.

Ruído de rótulos aleatório (simétrico) (random (symmetric) label noise)

Um rótulo é invertido uniformemente ao acaso para qualquer outra classe com alguma probabilidade (\eta).

  • Exemplo: em um conjunto de dados de imagens com 10 classes, 5% dos rótulos são substituídos por uma classe aleatória devido a uma chave de junção corrompida.
  • Propriedades: frequentemente usado na teoria; mais fácil de lidar; menos realista para anotação humana.

Ruído condicional à classe (assimétrico) (class-conditional (asymmetric) noise)

O ruído depende da classe verdadeira: algumas classes são confundidas com outras específicas.

  • Exemplo (visão): “gato” rotulado como “cachorro” com mais frequência do que como “carro”.
  • Exemplo (PLN) (NLP): sentimento “neutro” rotulado como “positivo” com mais frequência do que como “negativo” devido a viés nas diretrizes.
  • Propriedades: pode ser representado (aproximadamente) por uma matriz de transição (T).

Ruído dependente da instância (instance-dependent noise)

O ruído depende das características (x), muitas vezes impulsionado por ambiguidade ou dificuldade.

  • Exemplo (médico): casos limítrofes são rotulados de forma inconsistente; casos claros são rotulados corretamente.
  • Exemplo (moderação de conteúdo) (content moderation): sarcasmo ou linguagem codificada aumenta a discordância e as taxas de erro.
  • Propriedades: tipo comum mais difícil; correções globais simples podem falhar.

Ruído de fronteira / região ambígua (boundary / ambiguous-region noise)

Um caso especial de ruído dependente da instância: erros se agrupam perto da fronteira de decisão.

  • Exemplo: dígitos manuscritos “4” vs “9” quando a escrita é ambígua.
  • Propriedades: parte do “ruído” pode, na verdade, refletir ambiguidade irredutível; a resposta certa pode ser rótulos probabilísticos ou uma taxonomia revisada.

Ruído de rótulos de conjunto aberto e fora da distribuição (out-of-distribution, OOD) (open-set and out-of-distribution (OOD) label noise)

As amostras não pertencem a nenhuma das classes rotuladas, mas são forçadas a entrar em alguma.

  • Exemplo: um conjunto de dados rotulado com classes de animais inclui acidentalmente imagens de brinquedos; anotadores escolhem o animal mais próximo.
  • Propriedades: frequentemente causa perda persistentemente alta e gradientes instáveis; pode ser detectado por valores atípicos em embeddings ou previsões de baixa confiança.

Ruído de rótulos adversarial ou malicioso (adversarial or malicious label noise)

Os rótulos são corrompidos intencionalmente (por exemplo, ataques de envenenamento, anotações de spam).

  • Exemplo: rotulagem via crowdsourcing em que um subconjunto de trabalhadores responde aleatoriamente ou maliciosamente para maximizar a produtividade.
  • Propriedades: requer fluxos de trabalho robustos (redundância, monitoramento de trabalhadores) e, às vezes, algoritmos de aprendizado robusto.

Ruído sistemático de pipeline (artefatos de supervisão fraca) (systematic pipeline noise (weak supervision artifacts))

Os rótulos são gerados por heurísticas, supervisão distante (distant supervision) ou regras.

  • Exemplo: rotular todos os tweets que contêm “!” como “animado”. Muitos estarão errados.
  • Propriedades: o ruído pode ser altamente estruturado; modelar explicitamente as fontes de rótulo pode ajudar.

Ruído em multirrótulo (multi-label) (rótulos ausentes ou espúrios) (multi-label noise (missing or spurious labels))

Em configurações multirrótulo, ruído geralmente significa:

  • Falsos negativos: um rótulo verdadeiro está ausente (comum)

  • Falsos positivos: um rótulo extra é adicionado

  • Exemplo: conjuntos de dados de marcação de imagens em que anotadores marcam apenas o objeto mais saliente; outros objetos ficam sem rótulo.

Ruído de rótulos em regressão (regression label noise)

Para regressão, os rótulos são contínuos e o ruído reflete erro de medição ou alvos proxy.

  • Exemplo: prever preços de casas usando registros de venda desatualizados; o “rótulo” é uma medição ruidosa do valor.
  • Exemplo: avaliações humanas (1–5) com avaliadores inconsistentes.

As mitigações diferem: perdas robustas (Huber), modelagem de incerteza heteroscedástica, ou melhoria de protocolos de medição.

Causas-raiz comuns na prática

O ruído de rótulos geralmente vem de alguns problemas operacionais recorrentes:

  • Definição de tarefa ambígua ou casos extremos ausentes (veja Diretrizes de Anotação (Annotation Guidelines))
  • Discordância entre anotadores e categorias subjetivas (veja Concordância entre Anotadores (Inter-Annotator Agreement))
  • UI / ferramentas ruins (cliques errados, atalhos confusos)
  • Desbalanceamento de classes e classes raras (anotadores tendem à maioria)
  • Baixa expertise do anotador (tarefas específicas de domínio)
  • Mudança de distribuição entre exemplos usados na rotulagem e produção
  • Artefatos de automação (regras de regex, erros de scraper, junções/chaves ruins)

Como detectar ruído de rótulos

Nenhum método único “prova” que um rótulo está errado. Detecção é sobre ranquear exemplos suspeitos para revisão, quantificar ruído e localizar suas fontes.

1) Medir discordância e consistência entre anotadores

Se você puder coletar múltiplos rótulos por item:

  • Calcule métricas de concordância (por exemplo, kappa de Cohen, alfa de Krippendorff).
  • Identifique quais classes e quais subpopulações têm baixa concordância.

Isso costuma ser a forma mais rápida de distinguir:

  • “Temos erros” vs
  • “A tarefa é ambígua e precisa de melhores definições.”

Dica prática: discordância concentrada em casos extremos específicos frequentemente sinaliza lacunas nas diretrizes. Conecte a análise de volta às Diretrizes de Anotação.

2) Padrões de confusão e auditorias por classe

Calcule uma matriz de confusão (confusion matrix) em um subconjunto confiável (conjunto-ouro (gold set)) ou em rótulos adjudicados.

  • Procure confusões assimétricas (A→B muito mais do que B→A).
  • Faça cortes por metadados (região, tipo de dispositivo, grupo de anotadores, período de tempo).

Exemplo: se “spam” é aplicado em excesso durante certas semanas, isso pode indicar uma mudança de política ou uma mudança na UI.

3) Heurísticas baseadas em perda e em confiança

Durante o treinamento, exemplos rotulados incorretamente frequentemente têm:

  • Perda alta de forma persistente
  • Baixa probabilidade prevista para o rótulo fornecido
  • Normas de gradiente altas (às vezes)

Mas tenha cuidado: exemplos difíceis, porém corretos também podem ter perda alta.

Um fluxo de trabalho comum é: treinar um modelo de linha de base (baseline) e então sinalizar os top-k exemplos suspeitos por “baixa confiança na classe rotulada”.

# PyTorch-like pseudo-code for flagging suspicious labels
model.eval()
suspicious = []

for x, y, idx in dataloader:
    logits = model(x)
    probs = logits.softmax(dim=-1)
    p_y = probs[torch.arange(len(y)), y]  # prob assigned to labeled class
    for i in range(len(y)):
        suspicious.append((idx[i].item(), p_y[i].item()))

# lowest probability for the labeled class = most suspicious
suspicious.sort(key=lambda t: t[1])
top = suspicious[:200]  # send to review / relabeling

Boa prática: repetir com múltiplas sementes aleatórias (random seeds) ou checkpoints; exemplos que são suspeitos de forma consistente são candidatos mais fortes.

4) Checagens de inconsistência no estilo “aprendizado confiante” (confident learning)

Métodos popularizados em ferramentas como Cleanlab estimam quais rótulos provavelmente estão incorretos ao comparar probabilidades previstas com rótulos observados sob suposições sobre ruído.

  • Funciona bem quando o modelo está razoavelmente calibrado e não está severamente subajustado (underfit).
  • Frequentemente usado para produzir uma lista ranqueada de prováveis problemas de rótulo.

5) Dinâmica de treinamento: sinais de memorização e de aprendizado inicial

Modelos profundos tendem a aprender primeiro padrões limpos/simples e a memorizar rótulos ruidosos depois. Sinais incluem:

  • Exemplos com baixa perda cedo que depois passam a ter alta perda (ou vice-versa)
  • Alta variabilidade ao longo das épocas

Uso prático: selecionar exemplos que o modelo nunca ajusta ou ajusta apenas após muitas épocas.

6) Valores atípicos no espaço de embeddings e incompatibilidade de clusters

Use embeddings (embeddings) de um modelo pré-treinado (pretrained model) (ou da penúltima camada (penultimate layer) de um modelo treinado):

  • Faça clustering dos embeddings dentro de cada classe
  • Sinalize pontos distantes do centroide (centroid) da classe ou mais próximos do cluster de outra classe
  • Verifique conteúdo fora da distribuição (OOD) (ruído de conjunto aberto)

Isso é especialmente eficaz para classificação de imagens e textos, onde o aprendizado de representações é forte.

7) Funções de influência / atribuição de dados (avançado) (influence functions / data attribution (advanced))

A atribuição de dados estima quais pontos de treinamento mais influenciam uma previsão. Se alguns pontos suspeitos influenciam fortemente previsões erradas, eles são candidatos para relabeling.

  • Computacionalmente caro, mas útil em domínios de alto risco.

8) Aprendizado ativo para expor regiões ambíguas/ruidosas

Em Ciclos de Aprendizado Ativo (Active Learning Loops), você pode amostrar itens para revisão com base em:

  • Incerteza (entropia, margem)
  • Discordância entre modelos em ensemble
  • Mudança esperada no modelo

Isso encontra tanto regiões ambíguas quanto pontos rotulados incorretamente. Em geral, é mais eficiente do que relabeling aleatório.

Estratégias de mitigação

A mitigação deve corresponder ao tipo de ruído e às restrições operacionais. Na prática, os maiores ganhos frequentemente vêm de melhorias de processo mais treinamento robusto.

Mitigações no processo de dados e rotulagem (frequentemente maior retorno sobre investimento (ROI))

Melhorar definições de tarefa e diretrizes

Ruído impulsionado por ambiguidade raramente desaparece apenas com modelagem.

  • Adicione exemplos de fronteira e contraexemplos
  • Defina regras de desempate (“Se estiver em dúvida entre A e B, escolha B”)
  • Mantenha um “manual de rotulagem” em evolução

Veja Diretrizes de Anotação para padrões de design de diretrizes.

Usar redundância + adjudicação estrategicamente

Em vez de rotular tudo múltiplas vezes:

  • Aplique redundância a recortes de alto impacto (classes raras, itens difíceis)
  • Use suspeição baseada em modelo para encaminhar itens para rótulos extras
  • Adjudique discordâncias com um revisor especialista

Isso se conecta naturalmente à Concordância entre Anotadores.

Construir e manter um conjunto-ouro

Um conjunto pequeno, de alta qualidade e estável é útil para:

  • Medir deriva na qualidade dos rótulos ao longo do tempo
  • Selecionar modelos sem ser enganado por dados de validação ruidosos
  • Estimar ruído condicional à classe

Conjuntos-ouro devem ser atualizados com cuidado para evitar vazar conteúdo de teste para normas de treinamento.

QA de anotadores e instrumentação

Detecte problemas sistêmicos cedo:

  • Acompanhe padrões de confusão por anotador
  • Insira itens “sentinela” com rótulos conhecidos
  • Monitore anomalias de velocidade/produtividade
  • Audite mudanças de UI

Relabeling e limpeza de dados direcionada

Uma vez que você consegue ranquear pontos suspeitos, faça revisão direcionada:

  • Corrija primeiro os rótulos mais suspeitos
  • Prefira relabeling de pontos que aparecem frequentemente no treinamento (duplicatas, quase-duplicatas)
  • Use revisão por especialistas em domínios de alto risco

Mitigações no nível de modelo e algoritmo

Elas visam reduzir a sensibilidade ao ruído mesmo quando você não consegue limpar totalmente o conjunto de dados.

Funções de perda e objetivos de treinamento robustos

Abordagens comuns incluem:

  • Suavização de rótulos (label smoothing): substitui rótulos one-hot rígidos por alvos ligeiramente mais suaves (ajuda com ruído leve e excesso de confiança).
  • Entropia cruzada generalizada (generalized cross entropy) / perdas simétricas (symmetric losses): projetadas para serem menos sensíveis a rótulos incorretos do que a entropia cruzada padrão.
  • Perdas de Huber / Tukey em regressão: reduzem a influência de valores atípicos.

Ressalva: perdas robustas às vezes podem subajustar classes raras se não forem bem ajustadas.

Parada antecipada e regularização

Como a memorização do ruído frequentemente acontece mais tarde:

  • Use parada antecipada (early stopping) em um conjunto de validação confiável
  • Adicione regularizadores (decaimento de pesos (weight decay), dropout (dropout)) para limitar memorização
  • Use aumento de dados (data augmentation) (por exemplo, MixUp/CutMix em visão)

Essas são medidas simples e frequentemente eficazes, especialmente para ruído simétrico.

Reponderação e filtragem de amostras

Em vez de tratar todos os pontos igualmente:

  • Reduza o peso de exemplos com perda alta ou baixa confiança
  • Filtre uma pequena fração dos pontos mais suspeitos a cada época
  • Use aprendizado por currículo (curriculum learning): foque primeiro em exemplos fáceis/consistentes

Risco: a filtragem pode remover exemplos raros, porém válidos. Sempre verifique o impacto por recorte.

Coensino (co-teaching) e truques de pequena perda (aprendizado profundo)

Coensino treina duas redes simultaneamente; cada uma seleciona exemplos de pequena perda para a outra treinar, reduzindo autoconfirmação.

  • Funciona melhor com taxas de ruído moderadas e quando as redes não são idênticas.

Abordagens semissupervisionadas e de auto-treinamento

Se você conseguir identificar um subconjunto de rótulos provavelmente limpos:

  • Treine no subconjunto limpo
  • Use o modelo para produzir pseudo-rótulos (pseudo-labels) no restante
  • Aplique regularização por consistência (consistency regularization) (aumentos não devem mudar as previsões)

Isso está intimamente relacionado a Aprendizado Semissupervisionado (Semi-Supervised Learning) e pode superar o treinamento ingênuo em rótulos ruidosos.

Modelagem explícita de ruído (matriz de transição, camada de ruído)

Se o ruído for aproximadamente condicional à classe:

  • Estime (T) usando um subconjunto confiável ou pontos âncora
  • Corrija a perda (correção para frente (forward correction)) ou ajuste previsões (correção para trás (backward correction))

Isso é fundamentado, mas frágil se o ruído for dependente da instância ou se (T) variar entre recortes.

Ensembles robustos e discordância

Ensembles podem reduzir a sensibilidade a itens rotulados incorretamente ao:

  • Fazer média das previsões (redução de variância (variance reduction))
  • Usar discordância como sinal de suspeição

O custo computacional é maior, mas isso é prático em muitos pipelines modernos.

Mitigações na formulação do problema

Às vezes, a melhor solução é mudar a representação da tarefa em vez de lutar contra o ruído.

Usar rótulos probabilísticos / rótulos suaves (soft labels)

Se a discordância reflete ambiguidade genuína:

  • Armazene distribuições de rótulo (por exemplo, 70% A, 30% B)
  • Treine com alvos suaves (entropia cruzada para uma distribuição)

Isso pode melhorar a calibração e refletir a incerteza real.

Refinar a taxonomia de rótulos

Se duas classes são confundidas de forma consistente, considere:

  • Mesclar classes (se os objetivos de negócio permitirem)
  • Introduzir uma classe “misto/outro/incerto”
  • Adicionar rótulos hierárquicos

Isso frequentemente reduz ruído de conjunto aberto e de fronteira.

Exemplos práticos

Exemplo 1: Rótulos de sentimento ruidosos a partir de heurísticas de palavras-chave

Você rotula avaliações como positivas se contêm “amo” e negativas se contêm “odeio”.

  • “Eu amo como isso é terrível” (sarcasmo) fica rotulado incorretamente.
  • “Nada mal” pode ser rotulado incorretamente por regras ingênuas.

Detecção:

  • O modelo sinaliza exemplos de alta perda contendo marcadores de negação/sarcasmo.
  • Clusters de embeddings mostram a classe “positiva” dividida em dois subclusters.

Mitigação:

  • Adicione regras de diretrizes para negação e sarcasmo.
  • Crie um conjunto-ouro de padrões linguísticos difíceis.
  • Use relabeling direcionado para os principais exemplos suspeitos.

Exemplo 2: Imagens médicas com casos limítrofes

Rótulos de radiologia (doença presente/ausente) diferem entre clínicos em casos leves.

Detecção:

  • Alta discordância entre anotadores concentrada perto de imagens com baixa relação sinal-ruído.
  • Baixa confiança do modelo; relabeling repetido ainda produz discordância.

Mitigação:

  • Representar rótulos como probabilidades (rótulos suaves) ou escores de severidade.
  • Usar adjudicação por especialista para um subconjunto e aceitar incerteza no restante.
  • Avaliar com expectativas conscientes de ruído (não penalizar demais discordâncias limítrofes).

Exemplo 3: Marcação multirrótulo de objetos com rótulos ausentes

Anotadores rotulam apenas “pessoa”, mas deixam de rotular “bicicleta” na mesma imagem.

Detecção:

  • O modelo prevê “bicicleta” com alta confiança em muitos rótulos “negativos”.
  • Falsos positivos consistentes no mesmo conceito não rotulado.

Mitigação:

  • Tratar não rotulado como “desconhecido” em vez de negativo (treinamento no estilo positive-unlabeled).
  • Atualizar diretrizes para incentivar rotulagem exaustiva, ou restringir o escopo explicitamente.

Avaliação sob ruído de rótulos

Uma boa prática de avaliação é parte da mitigação.

  • Mantenha um conjunto de validação/teste de alta qualidade separado dos pipelines de dados de treinamento.
  • Reporte métricas por recorte (classe, dificuldade, fonte do anotador).
  • Use checagens de calibração (veja Calibração de Modelos (Model Calibration)), porque ruído frequentemente leva a modelos excessivamente confiantes.
  • Quando os rótulos são subjetivos, considere avaliação humano no circuito (human-in-the-loop) ou métricas ajustadas por concordância.

Fluxo de trabalho recomendado (um playbook prático)

  1. Quantificar: medir discordância (se possível) e construir um pequeno conjunto-ouro.
  2. Treinar uma linha de base: registrar perda e confiança por exemplo ao longo das épocas.
  3. Encontrar candidatos: ranquear itens suspeitos usando confiança/perda + valores atípicos de embeddings.
  4. Auditar e relabeling: revisão direcionada com diretrizes aprimoradas.
  5. Endurecer o treinamento: parada antecipada, aumentos, suavização de rótulos, reponderação ou coensino dependendo do tipo de ruído.
  6. Fechar o ciclo: integrar aos Ciclos de Aprendizado Ativo para que o conjunto de dados melhore ao longo do tempo.

Principais conclusões

  • O ruído de rótulos aparece em múltiplas formas; ruído dependente da instância e ruído de conjunto aberto são especialmente desafiadores.
  • Detecção geralmente envolve ranquear problemas prováveis, não provar automaticamente a correção.
  • Os maiores ganhos frequentemente vêm de melhorias no processo de rotulagem (diretrizes, redundância, adjudicação) combinadas com técnicas de treinamento robusto (regularização, reponderação, métodos semissupervisionados).
  • Trate discordância persistente como um sinal de que o problema pode exigir rótulos suaves, mudanças na taxonomia ou definições de tarefa revisadas, e não apenas “dados mais limpos”.