A aprendizagem ativa é uma abordagem especializada na aprendizagem automática em que um algoritmo consulta interactivamente uma fonte de dados para obter os resultados desejados para novos pontos de dados. Este método é particularmente útil quando lida com conjuntos de dados grandes e não rotulados, em que a rotulagem manual é impraticável ou dispendiosa. Ao selecionar estrategicamente os pontos de dados a rotular, a aprendizagem ativa visa obter uma elevada precisão do modelo com menos exemplos rotulados, em comparação com os métodos tradicionais de aprendizagem supervisionada. Ajuda a reduzir os custos de rotulagem e aumenta a precisão, concentrando-se em pontos de dados importantes.
Conceitos fundamentais e metodologia
Na aprendizagem ativa, o modelo começa com um pequeno conjunto de dados rotulados e seleciona iterativamente os pontos de dados mais informativos para rotulagem por um oráculo (por exemplo, um anotador humano). O modelo volta a treinar os dados recém-rotulados, melhorando o seu desempenho em cada iteração. Este processo continua até que um nível desejado de precisão seja alcançado ou um orçamento de rotulagem seja esgotado.
A chave para uma aprendizagem ativa eficaz reside na estratégia utilizada para selecionar pontos de dados para rotulagem. As estratégias mais comuns incluem:
- Amostragem de incerteza: O modelo seleciona pontos de dados em que tem menos confiança nas suas previsões. Por exemplo, numa tarefa de classificação, o modelo pode escolher pontos de dados com probabilidades próximas do limite de decisão.
- Consulta por comité: Um comité de diversos modelos é treinado nos dados rotulados, e os pontos de dados em que os membros do comité discordam mais são selecionados para rotulagem. Esta abordagem visa reduzir a variância do modelo, concentrando-se em áreas de elevada incerteza.
- Alteração esperada do modelo: O modelo seleciona pontos de dados que se espera que causem a maior alteração nos parâmetros do modelo se as suas etiquetas forem conhecidas. Esta estratégia visa maximizar o ganho de informação de cada exemplo rotulado.
- Redução de erro esperada: O modelo seleciona os pontos de dados que se espera que reduzam mais o erro de previsão global. Esta abordagem visa diretamente melhorar o desempenho do modelo em dados não vistos.
- Redução da variância: Este método centra-se na redução da variância das previsões do modelo, selecionando pontos de dados que sejam representativos da distribuição de dados subjacente.
Aprendizagem Ativa vs. Outros Paradigmas de Aprendizagem
A aprendizagem ativa difere significativamente de outras abordagens de aprendizagem automática, como a aprendizagem supervisionada, a aprendizagem não supervisionada e a aprendizagem semi-supervisionada. Na aprendizagem supervisionada, o modelo é treinado num conjunto fixo de dados rotulados, enquanto na aprendizagem não supervisionada, o modelo aprende a partir de dados não rotulados. A aprendizagem semi-supervisionada utiliza uma combinação de dados etiquetados e não etiquetados, mas, ao contrário da aprendizagem ativa, não consulta ativamente as etiquetas.
A aprendizagem ativa é particularmente vantajosa quando os dados etiquetados são escassos ou dispendiosos de obter, uma vez que permite que o modelo atinja uma elevada precisão com menos exemplos etiquetados. Isto torna-a uma técnica valiosa em cenários em que a rotulagem de dados é um estrangulamento.
Aplicações no mundo real
A aprendizagem ativa tem encontrado aplicações em vários domínios, incluindo:
- Classificação de imagens e vídeos: A aprendizagem ativa pode ser utilizada para treinar eficazmente modelos para tarefas de classificação de imagens e vídeos. Por exemplo, num cenário de imagiologia médica, um sistema de aprendizagem ativa pode selecionar as imagens médicas mais informativas para um radiologista rotular, reduzindo a carga de rotulagem e melhorando a precisão do diagnóstico. Sabe mais sobre a IA de visão nos cuidados de saúde no sítio Web Ultralytics .
- Processamento de linguagem natural: A aprendizagem ativa pode ser aplicada a tarefas como a classificação de textos, o reconhecimento de entidades nomeadas e a análise de sentimentos. Ao etiquetar seletivamente as amostras de texto mais informativas, a aprendizagem ativa pode melhorar o desempenho dos modelos de PNL com menos dados etiquetados. Para mais informações, explora o processamento de linguagem natural (PNL).
- Reconhecimento de fala: A aprendizagem ativa pode ser utilizada para treinar modelos de reconhecimento de voz, selecionando as amostras de áudio mais difíceis para transcrição. Esta abordagem pode melhorar a robustez do modelo a variações de sotaque, ruído e estilos de fala.
Exemplos de casos de utilização
- Condução autónoma: No desenvolvimento de carros autónomos, a aprendizagem ativa pode ser utilizada para treinar modelos de deteção de objectos que identificam peões, veículos e outros objectos em fluxos de vídeo em tempo real. O sistema de aprendizagem ativa pode selecionar os fotogramas mais ambíguos ou desafiantes para anotação manual, garantindo que o modelo tem um bom desempenho em situações diversas e críticas para a segurança.
- Controlo de qualidade do fabrico: A aprendizagem ativa pode ser utilizada para treinar modelos que detectam defeitos em produtos fabricados. Ao etiquetar seletivamente imagens de produtos com potenciais defeitos, o sistema de aprendizagem ativa pode ajudar a criar um modelo de deteção de defeitos altamente preciso com um esforço mínimo de etiquetagem, reduzindo os custos de inspeção e melhorando a qualidade do produto. Sabe mais sobre a IA no fabrico.
Ferramentas e estruturas
Estão disponíveis várias ferramentas e quadros para a implementação da aprendizagem ativa, incluindo
- modAL: Uma estrutura de aprendizagem ativa para Python3, concebida para ser modular e extensível. Suporta várias estratégias de aprendizagem ativa e pode ser facilmente integrado com modelos scikit-learn.
- libact: Uma biblioteca Python para a aprendizagem ativa que suporta cenários de aprendizagem ativa baseados em pool. Fornece várias estratégias de consulta e permite aos utilizadores definir estratégias personalizadas.
- ALiPy: Uma caixa de ferramentas Python para a aprendizagem ativa que oferece um vasto leque de estratégias e suporta a aprendizagem ativa baseada em pool e em fluxo.
Conclusão
A aprendizagem ativa é uma técnica poderosa para treinar modelos de aprendizagem automática com dados rotulados limitados. Ao selecionar estrategicamente os pontos de dados mais informativos para rotulagem, a aprendizagem ativa pode atingir uma elevada precisão, reduzindo simultaneamente o custo e o esforço associados à rotulagem dos dados. Esta abordagem tem encontrado aplicações em vários domínios, incluindo a visão por computador (CV), o processamento de linguagem natural e o reconhecimento de voz. Como o volume de dados não rotulados continua a crescer, a aprendizagem ativa desempenhará um papel cada vez mais importante para permitir uma aprendizagem automática eficiente e eficaz. Explora o blogueUltralytics para obteres mais informações sobre soluções de IA de ponta. Podes começar a treinar modelos utilizando o Ultralytics HUB, uma plataforma sem código para treinar modelos personalizados Ultralytics YOLO .