A Aprendizagem Ativa é um subcampo especializado da Aprendizagem Automática (AM) em que o algoritmo de aprendizagem pode consultar interactivamente um utilizador, frequentemente designado por "oráculo" ou anotador humano, para solicitar etiquetas para novos pontos de dados. Ao contrário da Aprendizagem Supervisionada tradicional, que normalmente requer um grande conjunto de dados pré-rotulados, a Aprendizagem Ativa visa alcançar um elevado desempenho do modelo com um esforço de rotulagem significativamente menor. Consegue-o selecionando estrategicamente as instâncias não rotuladas mais informativas para anotação. Esta abordagem é particularmente valiosa em domínios em que a obtenção de dados rotulados é dispendiosa, demorada ou requer conhecimentos especializados, como a análise de imagens médicas ou tarefas complexas de processamento de linguagem natural (PNL). A ideia central é deixar que o modelo guie o processo de rotulagem dos dados, concentrando o esforço humano onde ele terá maior impacto para melhorar a precisão do modelo.
Como funciona a aprendizagem ativa
O processo de Aprendizagem Ativa segue geralmente um ciclo iterativo, permitindo que o modelo melhore gradualmente com dados específicos:
- Formação inicial do modelo: Um modelo, como um Ultralytics YOLO da Ultralytics para deteção de objectos ou segmentação de imagens, é treinado num pequeno conjunto de dados inicialmente rotulado.
- Consulta de dados não rotulados: O modelo treinado é utilizado para fazer previsões(inferência) num conjunto de dados não rotulados.
- Aplicação da estratégia de consulta: Uma estratégia de consulta analisa as previsões do modelo (por exemplo, com base na confiança ou incerteza da previsão) para selecionar os pontos de dados não rotulados mais informativos - aqueles sobre os quais o modelo tem menos certezas ou que se espera que forneçam mais informações novas.
- Anotação Oracle: Os pontos de dados selecionados são apresentados a um anotador humano (o oráculo) para rotulagem. As práticas eficazes de recolha e anotação de dados são cruciais aqui.
- Reciclagem do modelo: Os dados recém-rotulados são adicionados ao conjunto de treino e o modelo é treinado novamente (ou ajustado) com este conjunto de dados expandido.
- Iteração: O ciclo repete-se a partir do passo 2 até ser atingido um nível de desempenho desejado, o orçamento de etiquetagem estar esgotado ou não restarem amostras significativamente informativas.
Estratégias de consulta
A eficácia da Aprendizagem Ativa depende em grande medida da sua estratégia de consulta - o algoritmo utilizado para selecionar os pontos de dados não rotulados que devem ser rotulados a seguir. O objetivo é escolher amostras que, uma vez rotuladas, conduzirão provavelmente a uma maior melhoria no desempenho do modelo. As estratégias comuns incluem:
- Amostragem de incerteza: Seleciona as instâncias em que o modelo está menos confiante em sua previsão. Isto é frequentemente medido pela probabilidade de previsão, entropia ou margem entre as melhores previsões.
- Consulta por comité (QBC): Usa um conjunto de modelos. As instâncias em que os membros do comité discordam mais da previsão são selecionadas para etiquetagem.
- Alteração esperada do modelo: Seleciona as instâncias que causariam a maior alteração nos parâmetros ou gradientes do modelo se seus rótulos fossem conhecidos.
- Abordagens baseadas em densidade: Dá prioridade às instâncias que não são apenas incertas, mas também representativas das distribuições de dados subjacentes.
Podes encontrar uma visão global das estratégias em recursos como o estudo bibliográfico sobre Aprendizagem Ativa de Burr Settles.
Relevância e benefícios
A Aprendizagem Ativa reduz significativamente a carga e o custo associados à rotulagem de dados, que muitas vezes é um grande gargalo no desenvolvimento de modelos robustos de Aprendizagem Profunda (DL). Ao concentrar os esforços de anotação estrategicamente, permite que as equipes:
- Obtém maior precisão com menos dados: Obtém um melhor desempenho do modelo em comparação com a amostragem aleatória, com o mesmo orçamento de rotulagem.
- Reduz os custos de rotulagem: Minimiza o tempo e os recursos gastos na anotação manual.
- Acelera o desenvolvimento de modelos: Atinge os níveis de desempenho desejados mais rapidamente, priorizando os dados mais impactantes. Explora como a aprendizagem ativa acelera o desenvolvimento da visão computacional.
- Melhora a robustez do modelo: A concentração em exemplos ambíguos ou difíceis pode ajudar os modelos a generalizar melhor.
Aplicações no mundo real
A aprendizagem ativa é aplicada em vários domínios em que os dados rotulados são uma limitação:
- Imagiologia médica: Em tarefas como a deteção de tumores utilizando modelos YOLO , o tempo dos radiologistas especialistas é valioso. A aprendizagem ativa seleciona os exames mais ambíguos para análise, optimizando a utilização de recursos especializados. Isto é crucial para o desenvolvimento de soluções eficazes de IA para os cuidados de saúde.
- Processamento de linguagem natural (PNL): Para tarefas como a análise de sentimentos ou o reconhecimento de entidades nomeadas (NER), a identificação de amostras de texto informativas (por exemplo, aquelas com sentimentos ambíguos ou entidades raras) para rotulagem melhora a precisão do modelo de forma eficiente. Ferramentas de plataformas como Hugging Face beneficiam frequentemente de tais técnicas.
- Veículos autónomos: A seleção de cenários de condução difíceis ou raros (por exemplo, condições meteorológicas invulgares, cruzamentos complexos) a partir de grandes quantidades de dados de condução não rotulados para anotação ajuda a melhorar a segurança e a fiabilidade dos sistemas de condução autónoma.
- Análise de imagens de satélite: A identificação de caraterísticas ou alterações específicas em grandes conjuntos de dados de imagens de satélite pode ser acelerada se o modelo consultar regiões incertas para análise por peritos.
Aprendizagem Ativa vs. Conceitos Relacionados
É importante distinguir a Aprendizagem Ativa de outros paradigmas de aprendizagem que também utilizam dados não rotulados:
- Aprendizagem semi-supervisionada: Usa dados rotulados e não rotulados simultaneamente durante o treinamento do modelo. Ao contrário da Aprendizagem Ativa, utiliza normalmente todos os dados não rotulados disponíveis de forma passiva, em vez de consultar seletivamente instâncias específicas para obter rótulos.
- Aprendizagem auto-supervisionada: Aprende representações a partir de dados não rotulados, criando tarefas pré-textuais (por exemplo, prever uma parte mascarada de uma imagem). Não necessita de anotação humana durante a fase de pré-treino, enquanto a Aprendizagem Ativa depende de um oráculo para as etiquetas.
- Aprendizagem por reforço: Aprende por tentativa e erro através de interações com um ambiente, recebendo recompensas ou penalizações por acções. Não envolve a consulta de rótulos explícitos como a Aprendizagem Ativa.
- Aprendizagem federada: Concentra-se em modelos de treinamento em dispositivos descentralizados, mantendo os dados locais, abordando principalmente as preocupações com a privacidade dos dados. A aprendizagem ativa centra-se na aquisição eficiente de etiquetas. Por vezes, estas técnicas podem ser combinadas.
Ferramentas e implementação
A implementação da aprendizagem ativa envolve frequentemente a integração de modelos de aprendizagem ativa com ferramentas de anotação e a gestão do fluxo de trabalho dos dados. Frameworks e bibliotecas como o scikit-learn oferecem algumas funcionalidades, enquanto existem bibliotecas especializadas para tarefas específicas. O software de anotação, como o Label Studio, pode ser integrado em pipelines de aprendizagem ativa, permitindo que os anotadores forneçam etiquetas para as amostras consultadas. Plataformas como o DagsHub oferecem ferramentas para construir e gerir estes pipelines, como discutido na sua palestraYOLO VISION 2023 sobre DagsHub Active Learning Pipelines. A gestão eficaz de conjuntos de dados em evolução e de modelos treinados é crucial, e plataformas como o Ultralytics HUB fornecem infra-estruturas para organizar estes activos ao longo do ciclo de vida do desenvolvimento. Explora o repositório GitHub doUltralytics e junta-te à ComunidadeUltralytics para discussões e recursos relacionados com a implementação de técnicas avançadas de ML.