Deriva de Dados
Descubra os tipos, as causas e as soluções para o desvio de dados na aprendizagem automática. Saiba como detect e mitigar o desvio de dados para modelos de IA robustos.
A deriva de dados é um fenómeno na
aprendizagem automática (ML) em que as propriedades estatísticas
propriedades estatísticas dos dados de entrada observados num ambiente de produção mudam ao longo do tempo em comparação com os
dados de treino originalmente utilizados para construir o modelo.
Quando um modelo é implementado, baseia-se no pressuposto de que os dados futuros se assemelharão aos dados históricos com que foi aprendido.
com os dados históricos. Se este pressuposto for violado devido à alteração das condições do mundo real, a
precisão e fiabilidade do modelo podem degradar-se significativamente, mesmo
mesmo que o próprio modelo permaneça inalterado. Detetar e gerir o desvio de dados é um aspeto fundamental das
operações de aprendizagem automática (MLOps), garantindo que os sistemas continuam a ter um desempenho ótimo após a
implantação do modelo.
Deriva de Dados vs. Deriva de Conceito
Para manter eficazmente os sistemas de IA, é crucial distinguir a deriva de dados de um termo estreitamente relacionado, a deriva de conceitos
conceito. Embora ambos conduzam à deterioração do desempenho, têm origens diferentes.
-
Desvio de dados (mudança de covariável): Ocorre quando a distribuição das caraterísticas de entrada muda, mas
a relação fundamental entre as entradas e a saída de destino permanece a mesma. Por exemplo, na
visão por computador (CV), um modelo pode ser treinado
em imagens tiradas à luz do dia. Se a câmara de produção começar a enviar imagens nocturnas, a distribuição das entradas
se desviou, embora os objectos detectados não tenham mudado de definição.
-
Desvio de conceito: Isto acontece quando a definição da própria variável-alvo muda. A relação
relação entre inputs e outputs é alterada. Por exemplo, num
sistema de deteção de fraudes financeiras,
os métodos utilizados pelos autores de fraudes evoluem com o tempo. O que era considerado uma transação segura ontem pode ser um padrão de fraude
pode ser um padrão de fraude hoje. Pode ler mais sobre
sobre a deriva de conceitos na investigação académica.
Aplicações e Exemplos no Mundo Real
O desvio de dados afecta uma vasta gama de indústrias onde
a Inteligência Artificial (IA) é aplicada
a ambientes dinâmicos.
-
Fabrico automatizado: Num cenário de
IA no contexto do fabrico, um
modelo de deteção de objectos pode ser utilizado para identificar
defeitos numa linha de montagem. Se a fábrica instalar uma nova iluminação LED que altere a temperatura da cor das
das imagens captadas, a distribuição dos dados de entrada altera-se. O modelo, treinado em imagens com iluminação mais antiga, pode
pode sofrer desvios de dados e não identificar corretamente os defeitos, exigindo
manutenção do modelo.
-
Condução autónoma:
Os veículos autónomos dependem fortemente de
modelos de perceção treinados em vastos conjuntos de dados. Se um carro treinado principalmente em estradas ensolaradas da Califórnia for implantado numa
região com neve, os dados visuais (inputs) serão drasticamente diferentes do conjunto de treino. Isto representa um desvio significativo
significativo, comprometendo potencialmente caraterísticas de segurança como a
deteção de faixa de rodagem. Empresas como a Waymo monitorizam continuamente essas mudanças para garantir a segurança do veículo.
segurança do veículo.
Detetar e atenuar a deriva
A identificação precoce de desvios de dados evita a "falha silenciosa", em que um modelo faz previsões confiantes mas incorrectas.
incorrectas.
Estratégias de deteção
-
Testes estatísticos: Os técnicos utilizam frequentemente métodos estatísticos para comparar a distribuição de novos
dados com a linha de base do treino. O teste
teste de Kolmogorov-Smirnov
é um teste não paramétrico popular utilizado para determinar se dois conjuntos de dados diferem significativamente.
-
Monitorização do desempenho: Acompanhamento de métricas como
precisão,
recuperação e
F1-score em tempo real pode sinalizar desvios. Se estas métricas
caírem inesperadamente, isso geralmente indica que os dados de entrada não correspondem mais aos padrões aprendidos do modelo.
-
Ferramentas de visualização: Plataformas como
TensorBoard permitem às equipas visualizar distribuições de dados
distribuições de dados e curvas de perda para detetar anomalias. Para uma monitorização mais abrangente, ferramentas especializadas de
ferramentas de observabilidade especializadas, como
Prometheus e Grafana são amplamente adotadas no
no setor.
Técnicas de atenuação
-
Retreinamento: A solução mais direta é treinar novamente o modelo utilizando um novo
conjunto de dados que inclua os dados recentes e desviados. Isto actualiza
os limites internos do modelo para refletir a realidade atual.
-
Aumento dos dados: Durante a fase inicial de formação, a aplicação de técnicas robustas
técnicas robustas de aumento de dados (como rotação,
rotação, variação de cor e ruído) pode tornar o modelo mais resistente a pequenos desvios, como alterações de iluminação ou
movimentos da câmara.
-
Adaptação do domínio: Trata-se de técnicas concebidas para adaptar um modelo treinado num domínio de origem para
para ter um bom desempenho num domínio de destino com uma distribuição diferente. Esta é uma área ativa da investigação
investigação sobre a aprendizagem por transferência.
Utilizar o ultralytics é possível monitorizar facilmente as pontuações de confiança durante a inferência. Uma queda súbita ou
uma queda repentina ou gradual na confiança média para uma classe conhecida pode ser um forte indicador de desvio de dados.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on a new image from the production stream
results = model("path/to/production_image.jpg")
# Inspect confidence scores; consistently low scores may indicate drift
for result in results:
for box in result.boxes:
print(f"Class: {box.cls}, Confidence: {box.conf.item():.2f}")
Importância no ciclo de vida da IA
A resolução do problema da deriva de dados não é uma solução única, mas sim um processo contínuo. Garante que os modelos criados com estruturas
como o PyTorch ou
TensorFlow continuam a ser activos valiosos e não
passivos. Os fornecedores de serviços na nuvem oferecem serviços geridos para automatizar este processo, tais como
AWS SageMaker Model Monitor e
Google Cloud Vertex AI, que podem
alertar os engenheiros quando os limites de desvio são ultrapassados. Ao gerir proactivamente o desvio de dados, as organizações podem manter
elevados padrões de segurança e eficiência operacional da IA.