Quando usar aprendizagem de máquina?

Você já deve ter ouvido a frase: “a inteligência artificial está em todo lugar”. É verdade que usamos no nosso cotidiano vários dispositivos e aplicações que se valem de algoritmos inteligentes e nem percebemos. Algoritmos que filtram imagem impróprias, que recomendam possíveis amigos e que escolhem suas melhores fotos estão embutidos nas redes sociais.  Quando um email é colocado na caixa de Spam, uma máquina de aprendizagem (ramo de destaque da inteligência artificial) fez essa classificação. Os resultados das suas buscas na Internet são filtradas e selecionadas usando, adivinha o quê, algoritmos de aprendizagem de máquina. Recomendação de produtos, detecção de fraudes em compras, carros autônomos; a lista é vasta!

am

O sucesso da aprendizagem de máquina nas mais diversas áreas desperta nosso interesse em imaginar quais serão as próximas aplicações que permearão nossas vidas. Um exercício interessante é entender o que essas aplicações de sucesso têm em comum. Mas, talvez esse seja um exercício mais mercadológico do que propriamente um exercício técnico. Por outro lado, do ponto de vista técnico, vale a pena investigar a essência por trás do uso de aprendizagem de máquina. Para abordar esse assunto, devemos analisar três fatores:

Dados — a aprendizagem de máquina é essencialmente um processo de aprendizado a partir de dados. Logo, sem dados, outras alternativas, diferentes da aprendizagem de máquina, devem ser buscadas. Para um processo de aprendizado supervisionado, os dados devem ser rotulados. Exemplificando: num sistema de detecção de spam, os dados devem ser formados por emails e cada email deve ter um rótulo indicando se ele é spam ou não. Assim, de posse dos emails e de seus rótulos, uma máquina de aprendizagem pode encontrar uma função que ao receber um email como entrada, consegue inferir se é spam ou não.

Função — o processo de treinamento de uma máquina de aprendizagem tem o objetivo de encontrar uma função que faz um mapeamento de um conjunto de variáveis de entrada em uma das possíveis saídas. No caso de um sistema de detecção de spam, se a função que faz esse mapeamento já for conhecida, é desnecessário gastar tempo obtendo os dados e treinando uma máquina para se obter o que já se tem. Mas, se essa função for desconhecida e você não conseguir criar um modelo do problema — como é o caso de verificar se um email é spam —, métodos de aprendizagem de máquina podem te ajudar.

Padrão — os dados que serão usados para o treinamento de uma máquina de aprendizagem devem apresentar um comportamento coerente em relação aos objetos do mundo real que eles representam. Imagine um email que hoje é rotulado como spam e amanhã, esse mesmo email, é rotulado como não-spam. Essa inconsistência impossibilita que uma máquina de aprendizagem construa uma representação plausível do que é um spam, pois não é possível encontrar um comportamento padrão que possa ser usado para fins de aprendizagem.

Avaliando esses três fatores, podemos verificar que mesmo se os dados não tiverem um comportamento coerente (padrão) e se a função de mapeamento for conhecida, podemos usar técnicas de aprendizagem de máquina. Nada nos impede. Mas, não conseguiremos usar aprendizagem de máquina se não tivermos dados. Esse é um pré-requisito essencial.

Para os que pretendem construir soluções baseadas em aprendizagem de máquina para a indústria, sugiro atentar para outros fatores, tais como:

  • Os responsáveis devem ter um bom entendimento do que aprendizagem de máquina significa e o que pode ser alcançado com seu uso. Por mais que iniciativas de automação end-to-end do processo de aprendizagem, e.g. Auto-ML, tenham crescido bastante nos últimos anos, o emprego acurado de técnicas de aprendizagem requer a intervenção de especialistas;
  • Dados de qualidade devem estar disponíveis.  Para tanto, devem ser observados o tamanho e a diversidade da amostra, bem como sua aderência ao problema real. A máquina será tão boa quanto os dados usados para treiná-la. Caso a máquina seja treinada com uma amostra que não reflete o mundo real, a aplicação provavelmente não funcionará a contento. Digamos que um sistema tenha sido treinado apenas com imagens coletadas durante o verão e com forte luz solar. Esse sistema, muito provavelmente, terá o seu funcionamento comprometido para imagens adquiridas à noite, durante um inverso chuvoso;
  • Existência de um processo claro de avaliação do diferencial ao empregar aprendizagem. Essa avaliação possui várias camadas que pode ter início no módulo mais interno do sistema — métrica usada para avaliar a máquina de aprendizagem —, a uma apreciação global que quantificará uma possível redução de custos ou de riscos do negócio.

Por fim, gostaria de destacar que a falta de entendimento do que pode ser alcançado usando aprendizagem de máquina dá origem ao mito de que basta termos uma grande massa de dados e, milagrosamente, técnicas de aprendizagem serão capazes de resolver qualquer problema apenas “olhando” esses dados. Essa massa de dados, muitas vezes, precisa ser trabalhada a várias mãos por diferente especialistas (bancos de dados, ciência dos dados, estatísticos, experts no problema em questão, entre outros) para que tenhamos sucesso no uso de métodos que aprendem.

2 comentários em “Quando usar aprendizagem de máquina?”

  1. Exatamente, prof. George. Como sempre: claro e direto ao ponto!

    Tem sido uma batalha explicar para os tomadores de decisões (médicos, empresários, etc) que ML não é mágica. E que para atingir generalização e, portanto, responder a uma demanda apropriadamente, um conjunto de coisas precisam ser atingidas, sobretudo a nível de planejamento (sem falar a fase de deployment). Quase sempre, nem eles entenderam suas próprias necessidades, nem têm dados (representativos) para iniciar a responder às questões que estão tentando formular.

    Existe todo um trabalho de “auditoria” a ser feito nesse sentido. Comunicação é fundamental.

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s