Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Distributionally Robust Optimization

A otimização robusta a distribuições treina modelos para a pior distribuição de dados plausível, em vez de usar a média, por meio de conjuntos de ambiguidade ou DRO por grupo.

A otimização robusta à distribuição (DRO) é uma abordagem de treino e tomada de decisões que minimiza a perda esperada sob a pior distribuição dentro de um conjunto de distribuições de dados plausíveis, em vez de o fazer apenas sob a distribuição de treino. O treino convencional, conhecido como minimização do risco empírico (ERM), pressupõe que os dados futuros serão semelhantes aos dados de treino e minimiza a perda média. A DRO pressupõe que os dados reais serão diferentes de formas que podem ser delimitadas e otimiza para o caso mais difícil dentro desses limites. Os modelos resultantes trocam alguma exatidão média por um desempenho mais estável quando as condições mudam, como acontece com uma câmara que, durante o treino, captou muito mais imagens diurnas do que noturnas.

Conjuntos de ambiguidade#

O conjunto de distribuições contra as quais a DRO se protege chama-se conjunto de ambiguidade ou conjunto de incerteza, e a sua forma determina o tipo de robustez que o modelo obtém:

  • Bolas de divergência: Incluem todas as distribuições cuja divergência KL ou qui-quadrado em relação aos dados de treino não ultrapassa um valor fixo. A otimização face a estas distribuições aumenta o peso dos exemplos de treino com a perda mais elevada, impedindo o modelo de ignorar os exemplos mais difíceis. Um objetivo muito relacionado, o valor condicional em risco, calcula a média apenas da fração mais elevada das perdas por exemplo.
  • Bolas de Wasserstein: Incluem distribuições que podem ser obtidas deslocando massa de probabilidade uma distância limitada no espaço de entrada. Como a distância mede quanta massa se desloca e até que ponto, estes conjuntos abrangem pequenas perturbações das próprias entradas.
  • Misturas de grupos: Incluem qualquer reponderação de subpopulações conhecidas, como imagens diurnas e noturnas ou exames de diferentes hospitais. Neste caso, o pior caso corresponde simplesmente ao pior grupo.

A DRO de Wasserstein está estreitamente relacionada com o treino adversarial contra ataques adversariais, que também otimiza para as piores entradas próximas. O tamanho do conjunto é o hiperparâmetro central da DRO: um conjunto grande prepara o modelo para dados irrealistas e reduz a sua exatidão habitual, enquanto um conjunto pequeno não abrange as mudanças importantes durante a implementação.

DRO por grupos#

A DRO de grupos, apresentada por Shiori Sagawa, Pang Wei Koh, Tatsunori Hashimoto e Percy Liang num trabalho publicado em 2020, é a forma mais utilizada em aprendizagem profunda. Minimiza a perda do grupo com pior desempenho, em vez da perda média de todos os exemplos. Na prática, mantém um peso para cada grupo, atualizado entre lotes, aumenta o peso dos grupos que têm atualmente as perdas mais elevadas e propaga para trás a perda ponderada pelos grupos:

import torch

# Per-image losses from one training batch and the condition each image came from
losses = torch.tensor([0.20, 0.30, 0.25, 0.90, 1.10, 0.15])
groups = torch.tensor([0, 0, 0, 1, 1, 0])  # 0 = daytime, 1 = nighttime
group_losses = torch.stack([losses[groups == g].mean() for g in (0, 1)])

# Empirical risk minimization optimizes the average loss over all images
print(f"ERM loss: {losses.mean():.2f}, daytime loss: {group_losses[0]:.2f}, nighttime loss: {group_losses[1]:.2f}")

# Group DRO shifts its group weights toward high-loss groups with an exponentiated-gradient step
group_weights = torch.tensor([0.5, 0.5])  # carried over from earlier batches
group_weights = group_weights * torch.exp(1.0 * group_losses)  # step size 1.0
group_weights = group_weights / group_weights.sum()
dro_loss = (group_weights * group_losses).sum()  # the loss that is backpropagated
print(f"Group weights: day {group_weights[0]:.2f}, night {group_weights[1]:.2f}, group DRO loss: {dro_loss:.2f}")

A perda média de 0.48 parece boa, mas a média das duas imagens noturnas é 1.00, face a 0.22 para as imagens diurnas. Uma atualização altera os pesos dos grupos, inicialmente 0.50 cada, para 0.32 para o dia e 0.68 para a noite; assim, a perda propagada para trás sobe para 0.76 e o seu gradiente provém sobretudo das imagens noturnas. Ao longo de muitos lotes, o peso continua a passar para o grupo que estiver a ficar para trás.

A DRO de grupos é uma solução direta para a aprendizagem de atalhos. No benchmark Waterbirds, a maioria das fotografias de treino de aves aquáticas mostra fundos com água, pelo que o treino convencional aprende o fundo e falha quando as aves aquáticas são fotografadas em terra. Com uma regularização forte, os autores aumentaram a exatidão de teste do pior grupo de 21.3% com ERM para 84.6% com DRO de grupos; a exatidão média também subiu de 95.7% para 96.6%. A regularização é importante porque uma rede grande pode reduzir a zero a perda de treino de todos os grupos, deixando a DRO sem nada para priorizar.

A DRO de grupos precisa de conhecer o grupo a que pertence cada exemplo de treino. Quando os grupos são desconhecidos, uma bola de divergência qui-quadrado pode substituí-los: Tatsunori Hashimoto e colegas mostraram em 2018 que minimizar a perda de pior caso dentro dessa bola protege qualquer subpopulação suficientemente grande sem ser necessário saber quem lhe pertence.

Encontrar os piores grupos#

Os grupos relevantes são muitas vezes descobertos através dos erros. Para modelos de deteção de objetos YOLO26 treinados numa versão guardada de um conjunto de dados, a Ultralytics Platform acrescenta diagnósticos por imagem que ordenam as imagens de validação pela pontuação F1 de cada imagem, correlacionam F1 com o tamanho e a proporção da imagem e com a contagem de instâncias, e indicam as classes que aparecem com mais frequência nas imagens com pior desempenho. Em conjunto, estes recursos dividem uma única precisão média (mAP) em grupos candidatos para recolher, sobreamostrar ou ponderar.

A DRO também tem aplicações muito além da visão:

  • Equidade entre subpopulações: Quando os grupos são definidos por atributos demográficos, minimizar a perda do grupo com pior desempenho reduz diretamente as disparidades de desempenho.
  • Mudança de distribuição no mundo real: O benchmark WILDS de Stanford testa modelos perante mudanças como imagens de tecidos de diferentes hospitais e imagens de satélite de diferentes regiões e anos, e inclui a DRO de grupos entre as suas linhas de base padrão.
  • Investigação operacional: A DRO é aplicada ao planeamento do funcionamento de redes elétricas, ao planeamento de cadeias de abastecimento e à seleção de carteiras de investimento, áreas em que as decisões estão sujeitas a incertezas na procura ou nos preços e um plano ajustado apenas à média histórica pode falhar gravemente num ano atípico.

DRO, aumento de dados e monitorização de deriva#

A ampliação de dados e a DRO abordam o mesmo problema de lados opostos. A ampliação expande o que o modelo vê com variações sintéticas das imagens de treino, enquanto a DRO altera o objetivo para dar mais importância a variações raras, mas reais. As duas abordagens complementam-se: a ampliação fornece exemplos variados e o objetivo da DRO impede que os exemplos mais difíceis sejam diluídos na média. A adaptação de domínio segue uma terceira via, adaptando-se a uma única distribuição-alvo conhecida com dados não rotulados dessa distribuição. Após a implementação, a monitorização da deriva dos dados revela mudanças que nenhum conjunto de ambiguidade previa, e estas novas condições passam a ser os próximos grupos a recolher e ponderar.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina