Fundamentos de Inteligência Artificial

Quando adotar técnicas de aprendizagem computacional?

Machine Learning e outras técnicas de IA estão revolucionando os negócios e são aspecto central dos saltos de produtividade que temos observado. Todos os grandes players – incluindo Microsoft, IBM, Google, etc – oferecem alternativas para reduzir as curvas de aprendizado e custo associados as técnicas e tecnologias. Entretanto, ainda consideramos baixa a adoção de IA fora de ambientes especialistas.

De um lado, falta aos times de negócio compreensão de quais são as aplicações possíveis em seus domínios. Do outro, falta aos times de tecnologia familiaridade para implementações seguras. Ambas deficiências somente são superadas com alguma experimentação.

Entendemos que são os times técnicos, mais que os times de negócio, que tem melhores condições de determinar a aplicabilidade de IA nos projetos em que estão atuando.  Para isso, entretanto, precisam determinar critérios razoáveis de avaliação para que sejam assertivos.

Machine Learning

Uma das definições mais antigas para “Machine Learning” é Arthur Samuel (1959). Segundo ele, “É o campo de estudo que dá aos computadores a habilidade de aprender sem serem explicitamente programados”

Some Studies in Machine Learning Using the Game of Checkers, Arthur Samuel, IBM, 1959.

Entretanto, preferimos a definição mais formal, proposta por Tom Mitchell (1997): “Diz-se que um programa de computador aprende pela experiência E, com respeito a algum tipo de tarefa T e performance P, se sua performance P nas tarefas em T, na forma medida por P, melhoram com a experiência E”.

Machine Learning, Tom Mitchell, McGraw Hill, 1997.

Em nosso entendimento, há duas características fundamentais a serem consideradas para determinar não só a aplicabilidade, mas a necessidade, de Machine Learning. São elas:

  1. impossibilidade/dificuldade de implementar uma solução determinística que opere em tempos razoáveis, produzindo resultados satisfatórios para o negócio;
  2. possibilidade de melhorar resultados com o acúmulo de execuções ou de dados.

Toda vez que uma feature tiver uma ou ambas dessas características, consideramos o cenário viável para experimentação. Eventualmente, a solução pode, inclusive, ser desenvolvida para funcionar paralelamente a uma implementação limitadamente determinística, inclusive como forma de assegurar a correção das implementações.

Machine Learning e o filtro de Spams

Um caso clássico de utilização de Machine Learning são os “filtros de Spam“.

Sem adotar técnicas de inteligência artificial,  seria necessário implementar filtros de spam a partir de regras claras, todas codificadas. Esse conjunto de regras, seguramente, começaria pequeno e, com passar do tempo, acabaria sendo incrementado.  Em virtude disso, a recorrência na identificação de novos exemplares de spam forçaria ciclos de atualização do código e distribuição que, dificilmente, seriam eficazes no longo prazo.

O desenvolvimento de um bom filtro de spam é difícil com abordagem determinística e, seguramente, trata-se de um cenário onde os resultados são aprimorados com a experiência. Portanto, trata-se um bom exemplo de feature onde Machine Learning faz sentido.

Não recomendamos, de forma alguma, “começar grande”. Em nossa opinião, é recomendável procurar componentes menores, com responsabilidades bem delimitadas, mas com ganho potencial considerável.

Em nossos clientes, temos recomendado e acompanhado a utilização de Machine Learning para elaboração de estimativas de vendas, volume desejável de estoques, distribuição de cargas de trabalho, etc.

Importante destacar que a manutenção de um projeto envolvendo aprendizado computacional, ou qualquer outro recurso de inteligência artificial, é desafiador. Novas competências serão necessárias além de expertise de novas tecnologias e bibliotecas. O processo é iterativo e demanda trabalho conjunto com especialistas em dados na elaboração de arquiteturas do modelo, métricas de sucesso e na estrutura da aplicação.

Se há um caminho para a transformação digital, ele está seguramente pavimentado com data science. É fundamental que os times de tecnologia e negócio “peguem gosto” por experimentação e adoção de técnicas como Machine Learning. Para isso, precisam colocar as “mãos na massa”. A espera pelo “momento ideal”, em tempos de mudança acelerada, pode acabar custando caro demais.

Em Resumo
  • O problema

    Machine Learning e outras técnicas de Inteligência Artificial estão redefinindo a competição. Entretanto, ainda consideramos baixa a adoção de IA fora de ambientes especialistas. De um lado, falta aos times de negócio compreensão de quais são as aplicações possíveis em seus domínios. Do outro, falta aos times de tecnologia familiaridade para implementações seguras.
  • O insight

    As deficiências de negócio e técnicas são mitigadas com experimentação. Entendemos que são os times técnicos, mais que os times de negócio, que tem melhores condições de determinar a aplicabilidade de IA nos projetos em que estão atuando. Não recomendamos, de forma alguma, "começar grande". As features que tem mais "aderência" são aquelas onde 1) há impossibilidade/dificuldade de implementar uma solução determinística que opere em tempos razoáveis; e 2) possibilidade de melhorar resultados com o acúmulo de execuções ou de dados.

Mais posts da série Fundamentos de Inteligência Artificial

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *