Technical
Aumentar a Eficiência com Active Learning
Pedro Serrano · 3 de março de 2023
O problema: Anotar dados é tedioso (e caro)
Lá está. Recolheu os seus dados, analisou-os, processou-os e construiu a arquitetura sofisticada do seu modelo. Depois de muitas horas de treino e avaliação, chegou a uma conclusão desagradável: precisa de mais dados. Antes de reformular o orçamento para acomodar a aquisição e anotação adicional de dados, permitia-me apresentar-lhe uma forma de aumentar a eficiência com Active Learning!
A Solução: Active Learning
Qual é então esta solução mágica? O Active Learning assenta na ideia de que um algoritmo de machine learning pode atingir maior precisão com menos rótulos de treino se lhe for permitido escolher os dados de que aprende. Em outras palavras, se lhe for permitido ser curioso (Settles, 2009).
Na prática, fornecemos ao modelo de machine learning os dados sem etiquetar e, a partir das previsões, selecionamos os pontos de dados que o modelo teve dificuldade em prever. É então o momento de colocar em ação a máquina mais elegante e importante: o cérebro humano. Após obtermos a amostra, entregamo-la a um anotador humano (ou oráculo). Este decide se os dados merecem ser anotados. Por fim, alimentamos o modelo com os dados recém-anotados da nossa amostra. E pronto: esperamos que funcione.
A intuição é que fornecer ao modelo uma pequena amostra de dados difíceis de prever pode melhorar o desempenho tanto quanto fornecer-lhe o conjunto completo de dados. Até agora, o processo é bastante direto. Mas terá ficado a questionar-se: como se faz a seleção dos dados?
Selecionar os seus dados
Como tudo em machine learning, não existe uma abordagem única que funcione para todos os casos. No que diz respeito à seleção, existem contudo algumas soluções testadas e aprovadas que valem a pena explorar. Por exemplo, se está a construir um modelo probabilístico de classificação, uma boa medida pode ser a incerteza. A amostragem por incerteza é uma estratégia muito popular baseada na avaliação de quão incerto um modelo está ao fazer previsões sobre um ponto de dados. Uma abordagem direta para obter esta informação é aplicar o Least Confident Method às previsões ou calcular a entropia da previsão. Existem outros métodos que podem ser úteis, como calcular como um determinado ponto de dados modificará as previsões do modelo (Expected Model Change) ou até calcular como as perdas de previsão variarão (Expected Error Reduction). Estes métodos são mais complexos e computacionalmente intensivos, pelo que não são tão fáceis de aplicar.
Suponha que tem vários modelos treinados com o conjunto de dados que deseja etiquetar. Nesse caso, pode aplicar o método Query-by-Committee, em que para cada modelo calcula as previsões e, em seguida, seleciona os casos em que os modelos discordam mais. Essencialmente, permite que votem nos dados a serem anotados. Um pouco de democracia na sua estratégia de IA pode melhorar significativamente a sua eficiência de anotação. Se quiser manipular a eleição, pode sempre atribuir pesos de voto diferentes a cada modelo. Não julgamos.
Outro aspecto que pode querer considerar é a representatividade. É fácil compreender que quando o seu modelo lhe apresenta os dados que acha mais difíceis de anotar, provavelmente escolherá alguns dados atípicos. Isto dependerá da sua situação específica, mas em geral desejará fornecer ao seu modelo dados que sejam representativos da distribuição subjacente. Por exemplo, se está a trabalhar com dados de imagem com milhões de aquisições, há a possibilidade de algumas imagens estarem completamente escuras ou desfocadas. O modelo terá dificuldade em etiquetar esses exemplos, mas eles não ajudarão a melhorar o seu desempenho.
Considerações Práticas
Já sabe o que é Active Learning e como funciona. Contudo, existem aspetos que vão além da teoria e que deve compreender. Para tirar o máximo partido desta ferramenta, deve saber como aplicá-la e as formas como pode ser afetada por fatores externos.
Errar é humano…
A ferramenta central do Active Learning é a intuição humana e a capacidade do oráculo (anotador humano) de aplicar essa intuição a um problema. Mas, como em qualquer outra experiência noutro campo, as ferramentas podem não funcionar como esperado. Dependendo dos dados que o oráculo está a analisar, pode achar alguns pontos de dados difíceis de compreender. Além disso, se os dados forem compostos, por exemplo, por imagens médicas, o oráculo pode nem ter o conhecimento para as anotar, pois algumas imagens médicas são difíceis de compreender mesmo para profissionais. Isto significa que as anotações variarão de pessoa para pessoa.
Outro aspecto importante da natureza humana é que as pessoas podem ser afetadas por distrações ou cansaço. Portanto, as anotações dependem dos diferentes anotadores e são também afetadas pelos fatores externos e pelo tempo que passaram a etiquetar. Mesmo que a pessoa esteja focada e seja conhecedora do assunto, pode ainda assim compreender mal a tarefa. Por isso é importante construir interfaces de utilizador e protocolos de anotação adequados que forneçam as informações necessárias.
Cuide dos custos!
Pode parecer que reduzir a quantidade de dados necessária para treinar um modelo reduz o custo global do treino. Contudo, esse custo está a ser pago pelo oráculo (e pela pessoa que o contratou), sob a forma de esforço humano, tempo e dinheiro. Naturalmente, a tarefa do oráculo deve ser o mais fácil possível, pelo que o objetivo não deve ser apenas reduzir a quantidade de dados a anotar, mas também reduzir o esforço necessário para os anotar. É por isso que, em alguns casos, pode ser útil deixar que o modelo ajude, fornecendo "pré-anotações" ou uma previsão.
Saber quando parar.
Ao usar sistemas de aprendizagem interativa, é importante compreender em que ponto a aquisição de novos dados se torna mais dispendiosa do que os erros cometidos pelo modelo atual. Se fossem necessários recursos excessivos (tempo, dinheiro, entre outros) para gerar ganhos relativamente pequenos, poderia argumentar-se que, em alguns casos, pode não compensar usar Active Learning. Existe um limite para o uso de Active Learning, e compreender onde esse limite está é importante.
É hora de ouvir a sua IA!
Agora que já sabe sobre Active Learning, coloque em prática! Deixe que o modelo escolha os dados por si, enquanto descansa. Depois passe um tempo a anotar esses dados enquanto o modelo descansa. A IA é uma via de mão dupla, e descobrirá que a colaboração humano-máquina pode aumentar significativamente a eficiência do seu projeto.
Se quiser saber mais sobre como usar insights de modelos para melhorar os seus projetos, contacte-me e podemos discutir qual a solução mais adequada para si!
Quer discutir esta ideia mais a fundo?
Marque uma reunião com Rafael Cavalheiro
Conheça Rafael Saiba Mais
