Projetos de Inteligência Artificial

Os sistemas de Inteligência artificial têm a capacidade de classificar e prever eventos futuros a partir de um conjunto de dados de treinamento e testes, oferecendo uma probabilidade de ocorrência para cada evento. Sistemas de IA têm multiplicas aplicações, como análise preditiva de falhas de sistemas operativos, reconhecimento facial, medicina preventiva, veículos autônomos, mercado financeiro, detecção de fraudes, comportamento de consumidores, entre outros.

Quanto maior a capacidade das organizações preverem eventos futuros ou classificar coisas, maior será sua vantagem competitiva no mercado, diminuiu os riscos para a empresa, aumenta as chances de sucesso nos pequenos e grandes investimentos e entrega de benefícios para as pessoas. Isto vale tanto para os setores privados como públicos.

Os problemas (ou objetivos) tradicionais de pesquisa em IA incluem raciocínio, representação do conhecimento, planejamento, aprendizado, processamento de linguagem natural, percepção e a capacidade de mover e manipular objetos.

Sistemas de IA utilizam métodos estatísticos, inteligência computacional e abordagem simbólica tradicional. Muitas ferramentas são usadas na IA, incluindo versões de pesquisa e otimização matemática, redes neurais artificiais e métodos baseados em estatística, probabilidade e economia. O campo da IA ​​baseia-se em ciência da computação, engenharia da informação, matemática, psicologia, linguística, filosofia e muitos outros campos.

Pilares de sucesso de um projeto de IA

A primeira coisa que temos que entender é que projetos de IA não são executados apenas por profissionais de TI. Um projeto de IA requer a participação de vários especialistas, internos e externos, independentemente se eles têm conhecimento técnico em inteligência artificial. O importante é conhecer muito bem o negócio, a tecnologia por trás do problema que se quer resolver, os modelos e métodos matemáticos empregado em IA e as ferramentas de software para implementar a solução do problema.

A próxima etapa e, talvez, a mais complexa, trabalhosa e estressante é a coleta, transformação e carga dos dados. Nesta etapa devem ser considerados os dados estruturados (nome do cliente, endereço, data de nascimento etc.) e dados não estruturados (conteúdo de e-mails, conteúdo escritos de formulários eletrônicos e físicos, gravações de voz, imagens de expressões faciais, fotos em redes sociais etc.).

Existem várias etapas que um projeto de IA deve passar até chegar ao aproveitamento pleno da inteligência artificial em startups em estágio de scale-up e clientes corporativos.

Figura 1. Hierarquia de necessidades de projetos de IA

Quando mais rápido evoluirmos na hierarquia de necessidades da pirâmide, mais rápido o projeto de IA tomará forma e abreviará a entrega de benefícios para a organização. O resultado das análises exploratórias de dados, em cada etapa do ciclo de desenvolvimento como mostra a figura 1, é a melhor compreensão do problema e a busca de formas criativas e inovadoras de resolvê-lo, usando ferramentas apropriadas para o sucesso do projeto.

Gerenciamento de projetos de inteligência artificial

Apesar das nítidas vantagens da IA e sua rápida implementação nas empresas, através de serviços já disponíveis em empresas de computação em nuvem e softwares open source (gratuitos), existem muitos desafios e dúvidas sobre como gerenciar os projetos de IA.

Não podemos negar a complexidade dos projetos de IA e como tal, exige uma abordagem diferentes dos métodos de gerenciamento de aplicativos tradicionais. Ou seja, existem várias diferenças entre os projetos de IA e os projetos de TI tradicionais.

Os projetos de IA requerem uma Prova de Valor (POV – Proof of Value), evidência que a solução serve para a empresa e que pode ser justificada e medida, e deve-se adotar uma abordagem bottom-up, ou seja, requer a fragmentação de um sistema para a compreensão da composição de seus subsistemas. Nesta abordagem, os elementos básicos são descritos em detalhes e a associação entre eles forma um subsistema maior até completar o nível mais alto do sistema objetivo. Ao contrário das abordagens top-down, quando se parte de uma instância final para a inicial, como uma engenharia reversa.

O desenvolvimento de projetos de IA usando a abordagem bottom-up, tende a abrir várias oportunidades conforme o ciclo amadurece, ou seja, o projeto passa por vários estágios de exploração, acertos e testes. A complexidade dos projetos de IA podem levar a altos custos de desenvolvimento e prazos mais estendidos, requerendo novos métodos e estilos de gerenciamento de projetos.

Uma maneira eficiente para gerenciar os projetos de IA é tornar o gerenciamento de mudanças do projeto uma parte integrante do processo de metodologias ágeis de desenvolvimento de software. O princípio de trabalho deve ser explorar as ideias de forma rápida e identificar falhas logo no início, em vez de identificá-las em estágios mais avançados de desenvolvimento com maiores custos de retrabalho.

O ciclo de desenvolvimento de um projeto de IA pode ser inspirado na ferramenta DMAIC de melhoria contínua de processos, adotado pela metodologia Six-Sigma. O DMAIC é um acrônimo em inglês para cinco passos: Definir; Medir; Analisar; Controlar e Melhorar (Define, Measure, Analyze, Improve and Control). Cada passo deve ser executado na sequência e, se ao final do ciclo o resultado esperado não for alcançado, o ciclo de dever ser reiniciado tantas vezes quanto necessário para atingir o resultado esperado.

Ciclo DMAIC
  1. Definir

O primeiro passo é definir qual o problema que se deseja solucionar ou ponto de melhoria de um processo ou produto com o uso de inteligência artificial. A seguir define-se o escopo e a equipe do projeto, incluindo especialistas internos e externos. Aqui são utilizadas vários métodos e técnicas de gestão de processos, como o brainstorming e mapeamento de processos.

  1. Medir

Neste passo o objetivo é coletar dados e informações, estruturadas e não estruturadas, para analisar e avaliar o cenário atual. A partir de análises exploratórias de dados é possível conhecer determinados padrões de processos e comportamentos de clientes. Aqui são utilizados vários procedimentos para analisar dados, técnicas para interpretar os resultados de tais procedimentos, formas de planejar a reunião dos dados para tornar as análises mais simples e precisas através de métodos estatísticos (matemática) apropriados.

  1. Analisar

O objetivo deste passo é identificar a principal causa raiz do problema para promover a melhoria de um processo ou de um produto, criando várias oportunidades de melhorias para aumentar a satisfações dos clientes.

Neste ponto podemos analisar se a melhoria de um processo ou produto, realmente, precisa de uma solução de IA. Se é aplicável definimos o nosso MVP – Minimum Value Product.

  1. Melhorar

Neste passo damos início ao desenvolvimento da nossa solução de IA. Já conhecemos todos os dados disponíveis para o projeto das análises da etapa de medição, agora temos que avaliar a necessidade de novas variáveis para atingir o objetivo esperado.

Um ponto importante é definir os tipos de algoritmos que serão utilizados no projeto: supervisionados, não supervisionados e aprendizado por reforço.

Os algoritmos supervisionados, em sua essência, para a classificação dos dados preveem a existência de um rótulo e para a regressão preveem a existência de quantidade. Geralmente, usamos algoritmos de classificação para entender as chances de ocorrência de um evento, por exemplo, a probabilidade de chuva. Os algoritmos de regressão são utilizados para quantificar um cenário, por exemplo, qual a probabilidade de inundação de uma área se chover.

Existem vários algoritmos supervisionados e são utilizados dependendo do projeto, tais como: Logistic Regression; Random Forest; Softmax Regression; k-Nearest Neighbors; Naive Bayes; Support Vector Machines; Linear Support Vector Machines e Neural Network.

No aprendizado não supervisionado não existe nenhum tipo de rótulo, dando liberdade ao algoritmo para encontrar sozinho os padrões nas entradas fornecidas. Algoritmos de distância (euclidiana, Manhattan, cosseno, Jaccard e outros) e clustering são exemplos de algoritmos não supervisionados.

O aprendizado por reforço, os algoritmos interagem com um ambiente dinâmico para poder desempenhar seu objetivo, como por exemplo dirigir um veículo autônomo. Um exemplo de algoritmo de aprendizado por reforço é o Q-Learning que aprende a qualidade das ações e determina qual ação tomar em determinadas circunstâncias.

Depois de selecionado o algoritmo o próximo passo é treinar o modelo, inserindo os dados coletados e buscando a precisão do modelo definida. Para treinar os algoritmos e avançar no desenvolvimento são utilizadas linguagens de programação com Python, R, Java, Julia e C++, dependendo da necessidade do projeto.

  1. Controlar

O último passo do ciclo DMAIC é controlar os resultados da solução de IA. Para isto, é necessário definir critérios de controle como checklists, metas e estatísticas para servir como fonte de informação para o monitoramento da implementação da solução de IA.

A gestão do ciclo DMAIC para o desenvolvimento de uma solução de IA pode seguir o modelo de gerenciamento ágil de projetos, quebrando as atividades em sprints de duas a quatro semanas para avaliar melhor os resultados do projeto e permitir correções ao longo do desenvolvimento.

Os desafios do desenvolvimento de um projeto de IA

A lista é extensa dos desafios de gerenciamento de projetos de IA, entretanto, podemos destacar os pontos que fazem fracassar os projetos de IA nas organizações: treinamento da equipe, desalinhamento de expectativas e dados insuficientes.

A exceção dos especialistas do negócio, que devem conhecer os fundamentos de IA, os demais membros da equipe devem ter conhecimento e habilidades em redes bayesianas (incluindo redes neurais), ciência da computação, ciência cognitiva, engenharia de software, física, banco de dados e ótimos conhecimentos de matemática (álgebra, cálculo, lógica, algoritmos, probabilidade e estatística). Os treinamentos devem ser segmentados por perfil de atuação nos projetos, potencializando o conhecimento e habilidades de cada membro do projeto, como:

  • Engenheiros de aprendizado de máquina (machine learning engineer): deve possuir conhecimento e habilidades em pesquisa aplicada, ciência de dados e codificação de programas em várias linguagens de programação (Java, Python e Scala), sendo capazes de desenvolver e aplicar modelos preditivos em grandes conjuntos de dados;
  • Cientista de dados (Data Scientist): deve possuir conhecimento e habilidades para coletar, analisar e interpretar grandes e complexos conjuntos de dados, aproveitando o aprendizado de máquina e análise preditiva de dados, principalmente na coleta e limpeza dos dados para análise. Devem conhecer ferramentas tais como: Hive, Hadoop, MapReduce, Pig e Spark. Além de conhecer linguagens de programação como Perl, Python e Scala;
  • Desenvolvedor de Business Intelligence (Business Intelligence Developer): deve possuir conhecimento e habilidades para analisar grandes e complexos conjunto de dados para identificar tendências de negócios e de mercado. Devem projetar, modelar e manter dados complexos em plataformas de dados em ambientes computacionais, incluindo cloud computing, altamente acessíveis. Esta função requer, além conhecimento e habilidades técnicas, grande capacidade de comunicação e apresentação visual;
  • Engenheiro/Arquiteto de Big Data (Big Data Engineer/Architect): deve possuir conhecimento e habilidade em banco de dados e tecnologias analíticas na indústria, incluindo bancos de dados MPP, relacional e NoSQL, incluindo implementação e ajuste de plataformas de Data Warehousing, incluindo conhecimento em Data Warehouse, otimização de pesquisas de dados (Query Tuning & Optimization) e migração e integração de dados. Experiência de requisitos para a camada de apresentação analítica incluindo Dashboards, Reporting e OLAP. Devem planejar, projetar e desenvolver o ambiente de Big Data em sistemas como Hadoop e Spark e conhecer os serviços disponíveis no mercado, como os da AWS: Elastic Map Reduce (EMR), Redshift, Kinesis, Amazon Machine Learning, AWS Lambda, Data Pipeline, S3, DynamoDB e Relational Database Service (RDS).

Outro desafio é o desalinhamento das expectativas entre as áreas de negócios e a equipe do projeto de IA. É natural que os executivos de negócios comparem o desenvolvimento de um projeto de IA com outros projetos do cotidiano das empresas, como o desenvolvimento de um novo produto ou um novo software de aplicação. Entretanto, como vimos no início, as diferenças começam na abordagem de desenvolvimento, os projetos de IA usam uma abordagem bottom-up e, na maioria das vezes, os projetos tradicionais usam a abordagem top-down, implicando em diferenças de custos e prazos. Uma outra diferença é que os resultados de um sistema de IA são apresentados em forma probabilística. Por exemplo, no caso de um aplicativo de streaming de música o algoritmo de sugestão da próxima música indica a probabilidade de o usuário gostar da próxima música, não sendo possível afirmar com 100% de certeza.

Como em qualquer processo de tomada de decisão, precisamos de dados corretos para tomarmos decisões corretas, o mesmo se aplicando em sistemas de IA. Para que os sistemas de IA funcionem conforme esperado é necessário ter dados refinados que o sistema possa usar para aprender e analisar padrões. O conjunto de dados para sistemas de IA deve considerar dados estruturados e não estruturados, seguindo uma estratégia robusta e eficiente de coleta de dados. Sem isto, e com dados insuficientes, os projetos de IA tendem a fracassar.

Inovação aberta e gerenciamento ágil de projetos de IA

Os projetos podem ser desenvolvidos utilizando processos de inovação aberta e metodologia ágil de gerenciamento. A inovação aberta é quando uma organização busca conhecimento externo para resolver desafios internos, reduzindo o tempo de solução e descoberta de novas técnicas e soluções fora do radar das equipes internas. As metodologias ágeis, oferecem entregas rápidas e incrementais para a construção de uma solução que se ajusta as crescentes expectativas dos interessados, garantindo alto grau de satisfação e impacto aos negócios, além de reduzir custos por desenvolver apenas processos e funcionalidades que trazem resultados de curto prazo.

A figura 2 mostra um processo combinado de inovação aberta e desenvolvimento ágil de projetos, ideal para a construção de sistemas de inteligência artificial.

Figura 2. Modelo de desenvolvimento de projeto de IA

Exemplo de justificativa para contratar um serviço especializado de desenvolvimento de projetos de IA

O objetivo é contratar um serviço especializado de desenvolvimento de projetos de inteligência artificial (IA) para acelerar a entrega dos benefícios, reduzir a curva de aprendizagem da equipe interna e implantar uma metodologia de gerenciamento ágil para projetos de IA.

Para reduzir custos e obter a flexibilidade exigida em projetos de IA, é recomendada a contratação de uma empresa focada em IA, formada por acadêmicos que possam treinar e transferir conhecimentos sem restrição, e com a possibilidade de obter incentivos fiscais previstos em Lei para o estímulos ao desenvolvimento científico, à pesquisa, à capacitação científica e tecnológica e à inovação. A Lei 1.196/05, concede incentivos fiscais às empresas que investem em pesquisa e desenvolvimento voltados à inovação tecnológica.

Trabalhar com Inteligência Artificial requer conhecimentos avançados de matemática e estatística. Os profissionais devem ter raciocínio analítico e criatividade para gerar insights para pensamentos “fora da caixa”.

O desafio atual formar equipes para desenvolver projetos de IA, devido à escassez de profissionais no mercado, nacional e internacional.

Usar processos tradicionais de recrutamento ou aguardar a formação de profissionais nesta área para iniciar os projetos de IA aumenta o risco de distanciamento dos concorrentes e, talvez, a retomada seja impossível no futuro.

A experiência do mercado mostra que é necessário um grande esforço em projetos de IA para a criação de uma base de dados confiável para treinamento e teste dos modelos de aprendizado de máquina.

A ideia é aproveitar este período para iniciar o treinamento da equipe e desenvolver modelos simples de IA com amostras reais de dados e ir sofisticando-os a partir da aquisição de mais dados, incluindo fontes externas ou novos dados gerados, a medida do necessário, para aperfeiçoar os modelos de aprendizado de máquina.

Desta forma, é possível reduzir o tempo, o custo de desenvolvimento do projeto e acelerar o treinamento dos membros do squad já utilizando dados reais. Para reduzir riscos e selecionar projetos que entreguem valor mais rápido, sugerimos incorporar na contratação dos serviços um workshop sobre inteligência artificial para identificar oportunidades de projetos de IA. O workshop será realizado com a participação de executivos e especialistas de negócios da empresa. Com uma lista de oportunidades de projetos será selecionado aquele que entregar benefícios no curto-prazo. Após uma avaliação e aprovação do projeto é formado o squad e inicia-se o projeto com mais chances de sucesso, custos reduzidos e incorporação de treinamento de funcionários.

Coordenador do programa

Eduardo Fagundes. Desenvolve pesquisa e desenvolvimento (P&D) em Inteligência Artificial para startups e corporações. Elabora propostas para a captação de fundos não-reembolsáveis (a fundo perdido) e subsidiados em resposta a editais de programas de incentivo a pesquisa, participando desde a concepção dos projetos, na construção de equipes e no desenvolvimento dos protótipos (MVP).

Na academia, é professor em cursos de pós-graduação: Compliance Digital (Governança Corporativa), Segurança e Inteligência Cibernética (Governança em Segurança Cibernética), Marketing Digital (Gestão Estratégica de Negócios) na Universidade Presbiteriana Mackenzie; Foi professor do programa de MBA em Gestão Estratégica de Negócios (Negócios Sustentáveis e Future-proof Organizations) na FIAP (SP); e, do programa de pós-MBA de Inovação (Processos de Inovação) na HSM Educação (SP).

Como pesquisador, seus últimos projetos de P&D em Inteligência Artificial foram:

  • Na FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo) em parceria com a startup Infra Solar realiza uma pesquisa para otimização da logística de recarga de baterias com energia sustentável, usando redes neurais artificiais e algoritmos genéticos, para veículos elétricos urbanos para cidades inteligentes (processo 2019/09026-9).
  • Também na FAPESP, em parceria com a insurtech Sutservices, desenvolveu uma metodologia de classificação de potenciais compradores de seguros em redes de varejistas físicos e online, baseada em redes neurais artificiais e estatística de varredura espacial (processo 2018/15321-0).
  • No programa de P&D da ANEEL, patrocinado pela EMAE (Empresa Metropolitana de Água e Energia) e Universidade Presbiteriana Mackenzie, trabalhou na pesquisa sobre análise preditiva de falhas na Usina Hidrelétrica Henry Borden, usando modelos de inteligência artificial em sistemas supervisórios (SCADA) (processo: 00393-0008/2017).

Escreveu o livro “Como Ingressar nos Negócios Digitais” em parceria como o SEBRAE Nacional para apoiar empreendedores digitais e empresários de pequenas e médias empresas.

Possui graduação em Engenheira Elétrica (PUC-RS). Mestrado em Ciência da Computação/Engenharia Elétrica (Mackenzie). Especialização em Telecomunicações (FAAP). Extensão universitária em Leadership & Business na Darden School of Business da Universidade da Virginia (EUA). Certificação em Gerenciamento de Projeto pela USP/CECAE (SP); Certificação em Direção Estratégica de Recursos Humanos pela Fundação Getúlio Vargas (SP); Certificação em Planejamento e Desenvolvimento de Produtos pela Fundação Vanzolini/USP (SP); Formação no curso de empreendedores EMPRETEC patrocinado pelo SEBRAE e ONU (SP).

Como gerente e diretor de multinacionais, desenvolveu projetos de tecnologia na Alemanha, Argentina, Brasil, Estados Unidos, Índia, Inglaterra e Itália.


Se você tem um desafio e acredita que possa resolvê-lo com Inteligência Artificial entre contato para avaliarmos as oportunidades do projeto: