AutoML: a próxima disrupção de sistemas inteligentes

Caique de Almeida
itau-data
Published in
8 min readJul 11, 2022

--

By: Caique de Almeida e Tales Lima Fonseca

Baby Yoda sempre que aprende algo novo sobre ML. Fonte: Disney

Nos últimos anos, o uso de sistemas inteligentes em diferentes áreas trouxe ganhos inquestionáveis à sociedade. Do universo acadêmico ao corporativo, o emprego de Machine Learning (ML) possibilitou a resolução de problemas de alta complexidade (como o dobramento de proteínas, solucionado pelo DeepMind AI [1]) e a reinvenção de negócios a partir de dados (a exemplo de plataformas de streaming e de empresas de serviços financeiros).

Por outro lado, o sucesso do emprego de sistemas inteligentes em diversos campos depende da execução de tarefas manuais por especialistas de ML (a exemplo do pré-processamento dados, da seleção de features e do treinamento de modelos e a otimização de seus hiperparâmetros).

O rápido crescimento da demanda por aplicações que permitam a usuários de diferentes especialidades usar pipelines de ML com o acompanhamento pontual de experts motivou, em boa parte, o desenvolvimento de uma área denominada AutoML.

Mas o que é o AutoML?

Fonte: Inception

AutoML se refere à Automatização do Aprendizado de Máquina (Automated Machine Learning) em processos de Ciência de Dados. A ideia consiste em automatizar tarefas de Ciência de Dados de forma que etapas manuais, demoradas e iterativas sejam resolvidas sem que um especialista acompanhe cada fase do desenvolvimento de uma solução.

Com isso, permite-se que analistas de negócios ou pesquisadores de diferentes campos do conhecimento possam executar pipelines de Ciência de Dados para a resolução de problemas bem formulados, ainda que não sejam experts no assunto.

Apesar de existirem robustas soluções no mercado e da publicação de promissores resultados de pesquisa, ainda não há sistemas genéricos capazes de adaptar todo o processo em diferentes técnicas (como problemas de regressão e classificação, inferência causal, grafos, aprendizado não supervisionado, entre outros).

Para quem se destina?

Fonte: How to train your Dragon

O desenvolvimento de soluções de AutoML pretende democratizar o uso de técnicas de Aprendizado de Máquina para profissionais de diferentes perfis. Nesse sentido, analistas de negócio, pesquisadores, executivos e profissionais de dados podem usar as soluções existentes em seu cotidiano, sem que sejam necessários conhecimentos sobre programação.

O conceito de AutoML encapsula e democratiza ainda conceitos relativos a pipelines de Ciência de Dados na tentativa de oferecer ao usuário soluções end-to-end, como a ingestão, o pré-processamento e exploração de dados, a criação (Engineering) e a seleção de features, o treinamento de modelos e a otimização de seus hiperparâmetros, além da avaliação e interpretação dos resultados obtidos por tais modelos. Há também ferramentas de AutoML focadas na automação, operacionalização e manutenção de sistemas inteligentes em produção.

Além disso, o uso de ferramentas de AutoML propicia inúmeras vantagens do ponto de vista de engenharia de software, uma vez que são criados programas menos suscetíveis a erros simples. Como resultado, são obtidos softwares com maior potencial de replicabilidade e padronização, cujo tempo de desenvolvimento é geralmente inferior ao de sistemas que não usam AutoML.

Esse processo de democratização de pipelines de ML pode ser comparado ao uso de planilhas Excel, que inicialmente era restrito a profissionais de contabilidade e hoje é utilizado para diversas finalidades.

O AutoML tornará profissionais de dados obsoletos?

Fonte: Futurama

Não!

Se você trabalha com Machine Learning e já empregou técnicas para otimizar o desempenho de um modelo, a exemplo do Grid Search, saiba que você utilizou uma forma de AutoML! Imagine o custo de ter que explorar manualmente o espaço de hiperparâmetros disponíveis para conseguir a melhor performance do seu modelo.

Conforme profissionais de diferentes perfis passem a usar ferramentas para explorar novos volumes de dados, o papel de experts em ML e Inteligência Artificial será ainda mais crucial. Especialistas em Ciência de Dados terão a função de formular o problema adequadamente para o escopo de ML (ou direcioná-lo para outras técnicas), interpretar os resultados, aplicar o modelo corretamente, elaborar novas soluções por meio de técnicas mais avançadas e educar profissionais de outras áreas para a obtenção de níveis de maturidade em IA cada vez maiores.

Com a automatização de processos simples, como a parametrização de uma Random Forest, as novas gerações de cientistas serão desafiadas a trazer maior valor para o processo de Ciência de Dados, uma vez que porções fundamentais de pipelines de ML estarão prontas. Por outro lado, há aspectos relacionados a Aprendizado de Máquina que deverão ser cada vez mais estudados no escopo de AutoML, a exemplo do (a):

  • Análise de vieses: há diversas iniciativas de pesquisa no sentido de estimar a magnitude, o nível de incerteza e a direção de vieses. Esta é ainda uma questão em aberto em Aprendizado Estatístico e que deve receber cuidados especiais em cenários em que se deseje automatizar pipelines de ML. Exemplos nesse sentido podem ser encontrados em [2], e [3];
  • Aplicação de AutoML em sistemas que mudam continuamente ou em situações em que se espera a ocorrência de concept drift. De forma geral, há ainda um longo caminho para que consigamos lidar de forma efetiva com sistemas bastante dinâmicos. Exemplos podem ser encontrados em [4], e [5];
  • Explicabilidade em frameworks de AutoML e a reconstrução do espaço para Feature Engineering, que pressupõe sólido conhecimento e especificidades do problema estudado;
  • Tarefas desafiadoras em que o AutoML ainda tem um longo caminho a percorrer, como o aprendizado não-supervisionado e o aprendizado por reforço;
  • Qualidade não consistente de dados rotulados e a dificuldade de se aplicar pipelines de AutoML em dados não-estruturados.

Qual o futuro do AutoML?

Fonte: Back to the Future

Com o rápido desenvolvimento de técnicas científicas e soluções de mercado em AutoML, especialistas acreditam que haverá automatizações para boa parte das análises cotidianas. Assim, profissionais generalistas poderão empregar métodos sofisticados para obter maior valor dos dados disponíveis em suas áreas.

Além disso, a tendência é que surjam sistemas com diferentes especializações (como o uso de dados estruturados para precificação, ou o emprego de dados não estruturados para o processamento de linguagem natural) e embarcados em diferentes produtos de empresas (a exemplo de carros e celulares, para analisar a relação do usuário com o ambiente).

Por outro lado, será cada vez mais comum observar especialistas técnicos trabalhando a partir de scripts para chamar, usar funcionalidades e configurar sistemas de AutoML.

Quer saber mais? Uma breve história das principais técnicas…

Fonte: Toy Story

Na literatura são encontrados diversos relatos sobre o uso de algoritmos de força bruta para buscas exaustivas em diferentes campos do conhecimento. Entretanto, um dos primeiros registros de automatização de modelos de ML ocorreu em 1995, quando a empresa Unica Technologies desenvolveu o software Pattern Recognition Workbench para realizar buscas exaustivas em conjuntos de parâmetros com o objetivo de otimizar redes neurais. Esse método ficou conhecido como Grid Search e ainda é amplamente utilizado [6].

Posteriormente a comunidade científica propôs novas estratégias para a otimização de hiperparâmetros, como a busca aleatória (Random Search) e o uso de Gradiente Descendente para pesquisar o espaço dos parâmetros de Support Vector Machines (SVM) e Redes Neurais [6].

Por outro lado, a busca direcionada de hiperparâmetros utilizando meta-heurísticas de otimização se tornaram mais frequentes devido à sua capacidade de encontrar soluções boas em um pequeno intervalo de tempo. As meta-heurísticas que mais se destacaram foram: Algoritmo Genético, Colônia de Abelhas Artificiais, Enxame de Partículas e Evolução Diferencial. Destacam-se também alguns excelentes resultados utilizando otimização Bayesiana [7].

Trabalhos mais recentes tendem a apresentar abordagens completas de seleção de modelos. Sob tal aspecto, são destacados:

  • O uso de Particle Swarm Optimization para a seleção de uma combinação de pré-processamento, seleção de variáveis e métodos de aprendizado para obter um classificador final com o menor erro possível. Cada modelo passa por uma etapa de busca dos hiperparâmetros ótimos [8];
  • O pacote de automatização de modelos com o software WEKA. A escolha do modelo e seus hiperparâmetros pode ser feito através de um problema de otimização hierárquico de hiperparâmetros, onde até mesmo a escolha do modelo é considerada um hiperparâmetro [9];
  • Auto-sklearn, que utiliza otimização Bayesiana para encontrar a combinação ideal de pré-processamento dos dados, pré-processamento das características, modelos e seus hiperparâmetros [10];
  • A estratégia de automatização da empresa H2O.ai, onde diferentes modelos pré-determinados são treinados e passam por validação cruzada. Alguns dos modelos já possuem hiperparâmetros definidos e outros passam por busca utilizando Random Search. Após estes treinamentos, dois ensembles do tipo stacking são treinados. Um dos ensembles contém todos os modelos e o segundo contém apenas os modelos com melhor desempenho de cada “classe” de algoritmos [11];
  • O conceito de otimização de pipeline baseado em árvore TPOT (Tree-based Pipeline Optimization Tool) para automatizar o projeto de pipeline de um problema de ML. O TPOT utiliza uma versão de Programação Genética para projetar e otimizar uma série de transformações de dados e modelos que tentam maximizar a performance para um conjunto de dados de aprendizado supervisionado;
  • O Autostacker, que consiste na automatização da criação de ensembles do tipo stacking utilizando Automatic Evolutionary Systems. Em sua abordagem, não são utilizados pré-processamento de dados ou seleção de características como a maioria das técnicas apresentadas [12].
  • A partir de 2017, várias empresas como Amazon, Google e Microsoft começaram a lançar soluções comerciais relacionadas a AutoML, dando maior importância para o assunto no mundo, a exemplo do Amazon Sagemaker Autopilot e do Google Cloud AutoML.

E a conclusão?

Fonte: Baby Yoda

O uso de Machine Learning e Ciência de Dados em escala provocou uma importante disrupção em como empresas e universidades desenvolvem pesquisas, produtos e tecnologias. O advento de sistemas inteligentes permitiu que diferentes negócios explorassem melhor o poder de seus dados com o objetivo de personalizar a relação com seus clientes e de conceber iniciativas data driven. Entretanto, o uso das ferramentas que permitiram tais avanços dependem da atuação de especialistas em Ciência de Dados em tarefas manuais. Nesse sentido, o desenvolvimento de soluções de AutoML permitirá que profissionais de diversos perfis usem pipelines de ML, em parceria com experts técnicos, para obtenção de valor a partir de novos volumes de dados e de perspectivas ainda não abordadas.

Referências:

  1. DEEPMIND. AlphaFold: a solution to a 50-year-old grand challenge in biology
  2. CHAKRABORTY, J.; MAJUMDER, S.; MENZIES, T. Bias in machine learning software: why? How? What to do?
  3. CALISKAN, A.; BRYSON, J.; NARAYANAN, A. Semantics derived automatically from language corpora contain human-like biases
  4. RIOS, R. A. ; PAGLIOSA, P. A.; LOPES, C. S.; DE MELLO, R.F. Concept drift detection on social network data using cross-recurrence quantification analysis. Chaos, v. 28, 2018.
  5. COSTA, FAUSTO G. DA; DUARTE, FELIPE S.L.G.; VALLIM, ROSANE M.M. ; MELLO, RODRIGO F. DE. Multidimensional surrogate stability to detect data stream concept drift. EXPERT SYSTEMS WITH APPLICATIONS, v.1, p. 1, 2017.
  6. PARVEZ, M.T. A Generic Workbench for Pattern Recognition. International Conference on Intelligent Systems. 2008
  7. FONSECA, T. L. Algoritmo Genético com Regressão: Busca Direcionada Através de Aprendizado de Máquina. Universidade Federal de Juiz de For a. 2017
  8. BLACKWELL, T.; KENNEDY, J.; POLI, R. Particle swarm optimization. Swarm Intelligence. 2007
  9. WEKA
  10. AUTOSKLEARN
  11. H2O
  12. CHEN, B.; HARVEY, W.; MO, W. Autostacker: a compositional evolutionary learning system. The Genetic and Evolutionary Computation Conference. 2018

--

--