A Essência do Aprendizado de Máquina

O objetivo deste artigo é apresentar resumidamente uma introdução a alguns dos componentes mais importantes da inteligência artificial, sob o ponto de vista técnico, porém voltado a lideres e gestores negócios e iniciantes no tema, considerando: o aprendizado de máquina (machine learning), a aprendizagem profunda (deep learning) e a aprendizagem por reforço (reinforcement learning).

Uma visão geral sobre o tema pode ser visualizada com este primeiro diagrama que mostra a Relação entre a Inteligência Artificial, Aprendizado de Máquina e Aprendizagem Profunda:

Arthur Samuel descreveu-o em 1959 como: “o campo de estudo que dá aos computadores a capacidade de aprender sem serem explicitamente programados”.  Esta é uma definição mais antiga e informal.

Tom Mitchell fornece uma definição mais moderna: “Diz-se que um programa de computador aprende com a experiência E em relação a alguma classe de tarefas T e medida de desempenho P, se seu desempenho em tarefas em T, medido por P, melhora com a experiência E.”

Esse diagrama simplificado apresenta a diferença básica entre a Programação Clássica de computadores versus a Aprendizagem de Máquina, como segue:

A seguir serão apresentados alguns diagramas simplificados (em inglês), obtidos do post “Machine Learning for Everyone“, com uma breve explicação (traduzida para o português).

Vale lembrar que o aprendizado de máquina depende essencialmente de três elementos: 1) Dados – com quantidade maior possível e qualidade o melhor de dados possível, relacionados ao problema que se deseja resolver; 2) Algoritmos – com o algoritmo ou conjunto deles, apropriado(s) para resolver o problema desejado; e 3) Parâmetros – usados no ajuste do tratamento dos dados.

Estes três elementos servirão durante o desenvolvimento para gerar um determinado Modelo de aprendizado que será utilizado para obter soluções a partir de novos dados em testes ou produção. Em alguns casos podem ser necessários ajustes nos parâmetros, mais e/ou melhores dados, ou até mesmo a troca do algoritmo por outro obtenha melhor precisão de resultados.

Os principais tipos de aprendizagem de máquina

É importante destacar que não há uma única maneira de resolver um problema no mundo da aprendizagem de máquinas, pois existem vários algoritmos adequados ao problema, assim precisa-se escolher qual deles se encaixa melhor. Quase tudo pode ser resolvido com uma rede neural, por exemplo, mas nem sempre é a melhor solução, principalmente devido ao custo computacional.

Seguem quatro direções principais no aprendizado de máquina.

1 – Aprendizado de máquina clássico

Os primeiros métodos vieram da estatística pura nos anos 50. Eles resolviam tarefas matemáticas formais – procurando padrões em números, avaliando a proximidade dos pontos de dados e calculando as direções dos vetores.

Hoje em dia, metade da Internet funciona baseada nestes algoritmos. Quando se vê uma lista de artigos para “ler em seguida” ou o banco bloqueia o cartão de alguém em um posto de gasolina aleatório no meio do nada, provavelmente é o trabalho de um algoritmo de machine learning.

Empresas de tecnologia são grandes fãs de redes neurais, obviamente. Para elas, uma precisão de 2% é uma receita adicional de 2 bilhões. Mas quando você é pequeno, não faz sentido tanto esforço.

Há histórias de equipes gastando um ano em um novo algoritmo de recomendação para o site de comércio eletrônico, antes de descobrir que 99% do tráfego vem de mecanismos de pesquisa. Seus algoritmos eram inúteis. A maioria dos usuários nem abriu a página principal.

Apesar da popularidade, as abordagens clássicas são tão naturais que você poderia facilmente explicá-las a uma criança. Elas são como aritmética básica, as usamos todos os dias, sem sequer pensar.

O aprendizado de máquina clássico é frequentemente dividido em duas categorias – Aprendizado SupervisionadoNão Supervisionado.

1.1 – Aprendizado Supervisionado

Nesse primeiro caso, a máquina tem um “supervisor” ou um “professor”, que dá à máquina todas as respostas, como por exemplo para identificar se é um gato ou um cachorro em uma foto. Neste caso, o “professor” já dividiu (rotulou) os dados em gatos e cães e a máquina está usando esses exemplos para aprender.

Aprendizado não supervisionado significa que a máquina é deixada sozinha com uma pilha de fotos de animais e uma tarefa: descobrir quem é quem. Os dados não são rotulados, não há professor e a máquina está tentando encontrar padrões por conta própria. Vamos falar sobre esses métodos abaixo.

Claramente, a máquina aprenderá mais rápido com um professor. Por isso, é mais comum encontrarmos esse caso nas tarefas da vida real.

Existem dois tipos de tarefas: classificação – predição de categoria de um objeto e previsão de regressão – de um ponto específico em um eixo numérico.

1.1.1 – Classificação

Os algoritmos de classificação dividem os objetos com base em um dos atributos conhecidos de antemão. Separa as meias com base na cor, documentos baseados na linguagem e as músicas por gênero.

Usada nos dias de hoje para:

  • Filtragem de spam;
  • Detecção de idioma;
  • Pesquisa por documentos semelhantes;
  • Análise de sentimentos;
  • Reconhecimento de caracteres e números manuscritos;
  • Detecção de fraude.

Algoritmos populares: Naive BayesDecision TreeLogistic RegressionK-Nearest NeighboursSupport Vector Machine.

Aprendizado de máquina é, principalmente, uma tarefa de classificar as coisas. A máquina aqui é como um bebê aprendendo a classificar brinquedos: aqui está um robô, aqui está um carro, aqui está um carro robô etc.

Na classificação, precisa-se sempre de um “professor”. Os dados devem ser rotulados com as características para que a máquina possa atribuir classes com base nelas. Tudo poderia ser classificado – usuários por interesses (como os feeds algorítmicos), artigos baseados em linguagem ou tópicos (isso é importante para os mecanismos de busca), músicas por gênero (playlists do Spotify), até seus e-mails.

Na filtragem de spam, o algoritmo Naive Bayes é amplamente usado. A máquina conta o número de menções “viagra” no spam e nas mensagens normais, depois multiplica as duas probabilidades usando a equação de Bayes, soma os resultados e Voilá, temos Aprendizado de Máquina.

Entretanto, mais tarde, os spammers aprenderam a lidar com filtros bayesianos adicionando muitas palavras “boas” ao final do e-mail. Ironicamente, o método foi chamado de envenenamento bayesiano.

Naive Bayes entrou para a história como o mais elegante e o primeiro algoritmo realmente útil para essa tarefa. Mas agora outros algoritmos são usados para filtragem de spam.

Outro exemplo prático de classificação, digamos que precisa-se de algum dinheiro a crédito. Como o banco saberá se será pago de volta ou não? Não há como saber com certeza. Mas o banco tem muitos perfis de pessoas das quais recebeu dinheiro antes. Eles têm dados sobre idade, educação, ocupação, salário e – o mais importante – o fato de pagar o dinheiro de volta. Ou não.

Usando esses dados, podemos ensinar a máquina a encontrar padrões e obter a resposta. Entretanto, o banco não pode confiar cegamente na resposta da máquina.

E se houver uma falha no sistema ou ataque hacker?

Para lidar com isso, temos as árvores de decisão. Todos os dados são automaticamente divididos em perguntas de sim ou não, que alias poderiam soar um pouco estranhas do ponto de vista humano.
Um exemplo de pergunta estranha seria se o credor possui uma renda mensal maior que R$ 1280,50. No entanto, a máquina faz essas perguntas para dividir melhor os dados em cada etapa.

É desse modo que uma árvore de decisão é feita: quanto maior o ramo – mais ampla é a questão. Árvores de decisão são amplamente usadas em esferas de alta responsabilidade: diagnósticos, medicina e finanças.

Árvores de decisão puras raramente são usadas hoje. No entanto, elas frequentemente estabelecem a base para grandes sistemas e seus conjuntos até funcionam melhor que redes neurais.

Já o Support Vector Machine (SVM) é o método mais popular de classificação clássica. Foi usado para classificar tudo o que existe: plantas por aparência em fotos, documentos por categorias, etc.

A ideia por trás do SVM é simples – ele tenta desenhar duas linhas entre seus pontos de dados com a maior margem entre eles. Veja a imagem abaixo:

Os mercados de ações utilizam SVM para detectar um eventual comportamento anormal dos comerciantes para encontrar os insiders. Ao ensinar um computador as coisas certas, nós automaticamente ensinamos quais são as coisas que estão erradas.

Atualmente, as redes neurais são mais frequentemente usadas para classificação.
Alias, é para isso que elas foram criadas…

A regra geral é quanto mais complexos os dados, mais complexo é o algoritmo. Para textos, números e tabelas, pode-se escolher a abordagem clássica. Os modelos são menores lá, eles aprendem mais rápido e trabalham com mais clareza. Para fotos, vídeos e todas as outras coisas complicadas de Big Data, costuma-se definitivamente optar por redes neurais.

Há apenas cinco anos, você poderia encontrar um classificador de faces construído em SVM. Hoje é mais fácil escolher entre centenas de redes pré-treinadas (modelos). Nada mudou para filtros de spam, no entanto. Muitos ainda são escritos com o SVM e não há uma boa razão para mudar.
Até mesmo este site possui detecção de spam baseada em SVM nos comentários ¯_ (ツ) _ / ¯

1.1.2 – Regressão

“Desenhe uma linha através desses pontos. Sim, isso é o aprendizado de máquina”.

Usada nos dias de hoje para:

  • Previsões do preço das ações;
  • Análise de demanda e volume de vendas;
  • Diagnóstico médico;
  • Quaisquer correlações numéricas.

Algoritmos populares: Regressão LinearRegressão Polinomial.

Regressão é basicamente uma classificação em que prevemos um número em vez de uma categoria. Exemplos disso são a previsão do preço de um carro pela sua quilometragem, tráfego por hora do dia, volume de demanda por crescimento da empresa, etc. A regressão é perfeita quando algo depende do tempo.

Todo mundo que trabalha com finanças e análises adora a regressão. Inclusive é embutida no Excel. E é super leve computacionalmente – a máquina simplesmente tenta desenhar uma linha que indica correlação média. Embora, ao contrário de uma pessoa com uma caneta e um quadro branco, a máquina faz isso com precisão matemática, calculando o intervalo médio entre cada ponto.

Quando a linha resultante é reta – é uma regressão linear, quando é curva – polinomial. Esses são os dois tipos principais de regressão. Os outros são mais exóticos. A regressão logística é uma exceção, pois não é uma regressão, mas sim um método de classificação. Fique atento!

Não há problema em trabalhar com regressão e classificação, no entanto muitos classificadores se transformam em regressão após algum ajuste. Podemos não apenas definir a classe do objeto, mas também memorizar o quão próximo ele está. Aí começa a regressão.

1.2 – Aprendizado não supervisionado

O aprendizado não supervisionado foi inventado um pouco mais tarde, nos anos 90. É usado com menos frequência, mas às vezes simplesmente não temos escolha.
Os dados rotulados são um luxo. Mas e se alguém quiser criar, digamos, um classificador de ônibus? Deve-se tirar fotos manualmente de milhões de ônibus nas ruas e rotular cada um deles? De jeito nenhum! Isso vai levar uma vida inteira.

Neste caso, ou você recorre ao Mechanical Turk, ou você pode tentar usar o aprendizado não supervisionado.

Geralmente é útil para análise exploratória de dados, mas não como algoritmo principal. Pessoas “especialmente treinadas”, graduadas em “Oxford”, alimentam a máquina com uma tonelada de “lixo” e a observa. Existem alguns clusters? Não. Quaisquer relações visíveis? Não.

1.2.1 – Agrupamento

Usada nos dias de hoje para:

  • Segmentação de mercado (tipos de clientes, fidelidade);
  • Mesclar pontos próximos em um mapa;
  • Compressão de imagem;
  • Analisar e rotular novos dados;
  • Detectar um comportamento anormal.

Algoritmos populares: K-means_clusteringMean-ShiftDBSCAN.
Clusterização ou agrupamento (clustering), é uma classificação sem classes predefinidas. É como dividir meias por cor quando você não se lembra de todas as cores que você tem.

O algoritmo de clusterização tenta encontrar objetos semelhantes (por características) e mesclá-los em um grupo (cluster). Aqueles que têm muitas características semelhantes são unidos em uma classe. Com alguns algoritmos, você ainda pode especificar o número exato de clusters que você deseja.

Um excelente exemplo de clusterização são marcadores em mapas da web. Quando você está procurando por todos os restaurantes ao seu redor para escolher a melhor opção para o almoço, o mecanismo de agrupamento agrupa-os em bolhas com um número.

O Apple Photos e o Google Photos usam clusters mais complexos. Eles procuram rostos em fotos para criar álbuns de seus amigos. O aplicativo não sabe quantos amigos você tem e como eles se parecem, mas busca encontrar características faciais comuns. É um agrupamento típico.

Outro problema popular é a compactação de imagens. Ao salvar uma imagem em PNG, você pode definir a paleta, digamos, para 32 cores. Isso significa que o agrupamento encontrará todos os pixels “avermelhados”, calculará o “vermelho médio” e o definirá para todos os pixels vermelhos. Quanto menor o número de cores – menor será o tamanho dos arquivos e menor será o custo!

No entanto, você pode ter problemas com cores do tipo Ciano. Ela é verde ou azul? Aqui entra o algoritmo K-Means.

O K-Means define aleatoriamente 32 pontos de cor na paleta, que são definidos como centroides. Os pontos restantes são marcados como atribuídos ao centroide mais próximo.

Assim, temos tipos de “galáxias” em torno dessas 32 cores. Então, movemos o centroide para o centro de sua galáxia e repetimos o processo até que os centroides parem de se mover.

Tudo pronto! Clusters estão definidos, estáveis e existem exatamente 32 deles. Aqui está uma explicação mais real:

Procurar pelos centroides é conveniente em muitos casos. Entretanto, clusters da vida real nem sempre formam círculos. Vamos imaginar que um geólogo precisa encontrar alguns minerais semelhantes no mapa. Nesse caso, os clusters podem ter uma forma estranha. Além disso, você nem sabe quantos deles esperar. Seriam 10? 100? K-means não se encaixa aqui, mas o DBSCAN pode ser muito útil.

Vamos para um exemplo mais claro do K-means. Digamos que os nossos pontos sejam pessoas na praça da cidade. Encontra-se três pessoas próximas umas das outras e peça para elas darem as mãos. Então, diz-se a elas para começarem a pegar as mãos daqueles vizinhos que eles podem alcançar. E assim por diante, até que ninguém mais possa pegar a mão de ninguém. Esse é o nosso primeiro cluster.

Repita o processo até que todos estejam agrupados. Todas as pessoas que não conseguissem dar as mãos para outras pessoas seriam consideradas anomalias, neste caso.

Assim como a classificação, o agrupamento pode ser usado para detectar anomalias.
Um usuário se comporta de forma anormal depois de se inscrever? Deixe a máquina bani-lo temporariamente e crie um ticket para o suporte para verificá-lo. Talvez seja um bot. Nem precisa-se saber o que é “comportamento normal”, apenas faz-se o upload de todas as ações do usuário para o modelo e deixamos a máquina decidir se é um usuário “típico” ou não.

Esta abordagem não funciona tão bem em comparação com a classificação, mas nunca é demais tentar.

1.2.2 – Redução de Dimensionalidade (Generalização)

“Monta características específicas em mais alto nível”.

Usada nos dias de hoje para:

  • Criar sistemas de recomendação (★);
  • Criar belas visualizações;
  • Modelar tópicos e pesquisa de documentos similares;
  • Análise de imagens falsas;
  • Gerenciamento de riscos.

Algoritmos populares: Principal Component Analysis (PCA), Singular Value Decomposition(SVD), Latent Dirichlet allocation (LDA), Latent Semantic Analysis (LSA, pLSA, GLSA), t-SNE (para visualização).
 
Anteriormente, esses métodos eram usados por cientistas de dados experientes, que precisavam encontrar “algo interessante” em enormes quantidades de dados. Quando os gráficos do Excel não ajudaram, eles forçaram as máquinas a fazer a descoberta de padrões. É assim que eles criaram métodos de redução de dimensão.

É sempre mais conveniente que as pessoas usem abstrações, não um monte de recursos fragmentados. Por exemplo, podemos unir todos os cachorros com orelhas triangulares, narizes longos e caudas grandes a uma bela abstração denominada “pastor”. Sim, estamos perdendo algumas informações sobre os pastores específicos, mas a nova abstração é muito mais útil para nomear e explicar propósitos. Como bônus, esses modelos “abstratos” aprendem mais rápido, causam menos “overfit” e usam um número menor de características.

Esses algoritmos se tornaram ferramentas incríveis para Modelagem de Tópicos. Podemos abstrair de palavras específicas até seus significados. É isso que a análise semântica latente (LSA) faz. É baseada em quão frequente você vê a palavra em um tópico específico. Por exemplo, existem mais termos de tecnologia em artigos de tecnologia? Com certeza. Os nomes dos políticos também são encontrados principalmente em notícias políticas, entre outros exemplos.

Sim, podemos fazer clusters de todas as palavras nos artigos, mas perderemos todas as conexões importantes, como, por exemplo, palavras com um mesmo significado em contextos diferentes em documentos diferentes. A LSA lida com isso corretamente e é por isso que é chamada de “semântica latente”.

Então, precisamos conectar as palavras e documentos dentro da uma característica (feature) para manter essas conexões latentes. Ocorre que a decomposição Singular (SVD) resolve essa tarefa, revelando clusters de tópicos úteis a partir de aglomerados de palavras.

Sistemas de recomendação e filtragem colaborativa são outros usos super populares do método de redução de dimensionalidade. Se forem usados para abstrair as classificações do usuário, será um ótimo sistema para recomendar filmes, músicas, jogos e o que se quiser.

É quase impossível entender completamente essa abstração de máquina, mas é possível ver algumas correlações a partir de um olhar mais atento. Algumas delas se correlacionam com a idade do usuário – as crianças que brincam de Minecraft e também assistem mais desenhos animados; outros correlacionam-se com gênero de filme ou hobbies de usuário.

As máquinas obtêm esses conceitos de alto nível mesmo sem entendê-los, com base apenas no conhecimento das classificações dos usuários.

1.2.3 – Regras de Associação

“Procure padrões na ordem das escolhas”.

Usada nos dias de hoje para:

  • Para prever vendas e descontos;
  • Para analisar mercadorias compradas em conjunto;
  • Para colocar os produtos nas prateleiras;
  • Para analisar padrões de navegação na web.

Algoritmos populares: Apriori, Euclat, FP-growth.

A aprendizagem por regras de associação inclui todos os métodos para analisar carrinhos de compras, automatizar estratégias de marketing e outras tarefas relacionadas a eventos. Quando se tem uma sequência de algo e quer-se encontrar padrões nela – tenta-se associação.

Digamos que um cliente entre um um mercado, pegue um pacote de seis cervejas e vá para o caixa. Deveria colocar amendoins no caminho? Com que frequência as pessoas compram estes dois itens juntos?

Sim, provavelmente funciona para cerveja e amendoim, mas que outras sequências podemos prever? Pode uma pequena mudança no arranjo de mercadorias levar a um aumento significativo nos lucros?

O mesmo vale para o comércio eletrônico. A tarefa é ainda mais interessante – o que o cliente vai comprar da próxima vez?

O aprendizado por regras parece ser o menos elaborado na categoria de aprendizado de máquina. Os métodos clássicos são baseados em uma visão frontal de todos os produtos comprados usando árvores ou conjuntos. Algoritmos só podem procurar por padrões, mas não podem generalizar ou reproduzi-los em novos exemplos.

No mundo real, todo grande varejista constrói sua própria solução proprietária, portanto não há revoluções acontecendo aqui.

2 – Aprendizagem por Reforço

“Jogue um robô em um labirinto e deixe-o encontrar uma saída”.

Usada nos dias de hoje para:

  • Carros autônomos;
  • Jogos;
  • Automatizando a negociação;
  • Gerenciamento de recursos corporativos.

Algoritmos populares: Q-LearningSARSA, DQN, A3CGenetic algorithm.

Agora chegamos a algo que se parece com inteligência artificial real. Em muitos artigos, o aprendizado por reforço é colocado entre o aprendizado supervisionado e o não supervisionado, mas eles não têm nada em comum!

O aprendizado por reforço é usado nos casos em que seu problema não está relacionado a dados, mas você tem um ambiente virtual ou real para interação, como um mundo de videogame ou uma cidade para carros autônomos.

O conhecimento de todas as regras de trânsito no mundo não ensinará o piloto automático a dirigir nas estradas.

Independentemente da quantidade de dados que coletarmos, ainda não poderemos prever todas as situações possíveis. É por isso que seu objetivo é minimizar o erro, não prever todos os movimentos.

Veja o exemplo abaixo de redes neurais jogando Mário.

Sobreviver dentro de um ambiente é a idéia central do aprendizado por reforço. Através de um sistema de punições e recompensas o robô é ensinado da mesma maneira que uma criança aprende.

Um truque eficaz para construir um modelo de carros autônomos é construir uma cidade virtual e deixar o self-driving-car aprender primeiro todos os seus truques. É exatamente assim que treinamos pilotos automáticos no momento. Crie uma cidade virtual baseada em um mapa real, preencha com pedestres e deixe o carro aprender a matar o menor número possível de pessoas.

Quando o robô está razoavelmente confiante neste “GTA artificial”, é liberado para testar nas ruas reais. Diversão!
Pode haver ainda duas abordagens diferentes – com base em modelo e sem modelo.

Baseado em modelo significa que o carro precisa memorizar um mapa ou suas partes. Essa é uma abordagem bastante desatualizada, pois é impossível para o pobre carro autônomo memorizar o planeta inteiro.

No aprendizado sem modelo, o carro não memoriza todos os movimentos, mas tenta generalizar situações e agir racionalmente enquanto obtém uma recompensa máxima.

Lembra das notícias sobre a IA derrotando um dos melhores jogadores no jogo Go? Um pouco antes deste feito foi provado que o número de combinações neste jogo é maior que o número de átomos no universo.

Isso significa que a máquina mesmo sem se lembrar de todas as combinações, ainda assim, venceu no Go (como aconteceu no xadrez). A cada turno, ela simplesmente escolhia a melhor jogada para cada situação, superando o jogador humano ao final.

Essa abordagem é o conceito central por trás do Q-Learning e seus derivados (SARSA e DQN). ‘Q’ no nome significa “Qualidade”, pois um robô aprende a executar a ação mais “qualitativa” em cada situação e todas as situações são memorizadas como um simples processo markoviano

Essa máquina pode testar bilhões de situações em um ambiente virtual, lembrando quais soluções levaram a uma maior recompensa. Mas como ela pode distinguir situações já vistas anteriormente de uma outra completamente nova?

Se um carro autônomo está em uma estrada e o semáforo fica verde – isso significa que pode ir agora? E se houver uma ambulância correndo por uma rua próxima? A resposta hoje é “ninguém sabe”. Não há resposta fácil. Os pesquisadores estão constantemente pesquisando, mas enquanto isso, apenas encontram soluções alternativas.

Alguns codificariam manualmente todas as situações que os permitiam resolver casos excepcionais, como o Problema de Trolley. Outros se aprofundariam e deixariam as redes neurais fazer o trabalho de descobrir isso. Isso nos levou à evolução do Q-learning, chamado Deep Q-Network (DQN). Embora seja muito bom, não é uma bala de prata.

O aprendizado por reforço para uma pessoa comum pareceria uma inteligência artificial real. Porque faz-se pensar, esta máquina está tomando decisões em situações da vida real! Este tópico está no topo agora, avançando com um ritmo incrível.

Off-Topic. Há alguns anos, algoritmos genéticos eram realmente populares. Trata-se de lançar um monte de robôs em um único ambiente e fazê-los tentar atingir a meta até que eles morram. Depois, escolhemos os melhores, cruzamos-os, modificamos alguns genes e executamos novamente a simulação. Depois de alguns bilhões de anos, teremos uma criatura inteligente. Provavelmente. Evolução no seu melhor.

Os algoritmos genéticos são considerados parte do aprendizado por reforço e possuem a característica mais importante comprovada pela prática de uma década: ninguém dá a mínima para eles.

A humanidade ainda não conseguiu chegar a uma tarefa em que seriam mais eficazes do que outros métodos. Mas eles são ótimos para experiências de estudantes e deixam as pessoas entusiasmadas.

3 – Método Conjuntos (ensemble)

“Um bando de árvores estúpidas aprendendo a corrigir erros umas das outras”

Usado nos dias de hoje para:

  • Tudo o que se encaixa nas abordagens clássicas de algoritmos (mas funciona melhor);
  • Sistemas de busca (★);
  • Visão computacional;
  • Detecção de objetos.

Algoritmos Populares: Random ForestGradient Boosting.
 
Finalmente chegamos aos métodos considerados mais vanguarda. Ensemble e Redes Neurais são os dois principais competidores na disputa para o caminho para a singularidade. Hoje eles estão produzindo os resultados mais precisos e são amplamente utilizados em produção.

Apesar de toda a eficácia, a idéia por trás disso é excessivamente simples. Pegando-se um monte de algoritmos ineficientes e forçando-os a corrigir os erros um dos outros, a qualidade geral de um sistema será maior do que os melhores algoritmos individuais.

Obter-se-á resultados ainda melhores com o uso dos algoritmos mais instáveis que estão prevendo resultados completamente diferentes com pouco ruído nos dados de entrada. A Regressão e Árvores de Decisão, por exemplo, são tão sensíveis que até mesmo um único dado fora do comum (outlier) nos dados de entrada pode levar os modelos a enlouquecerem.

Pode-se usar qualquer algoritmo que conhecemos para criar um Ensenble, que na tradução é “conjunto”. Basta jogar um monte de classificadores, apimentar com regressão e não se esqueça de medir a precisão. Por outro lado evita-se um Bayes ou kNN aqui. Embora “burros”, eles são realmente estáveis.

Em vez disso, existem três métodos testados em campo para criar Ensembles.

3.1 – Empilhamento (stacking)

A saída de vários modelos paralelos é passada como entrada para o último que toma uma decisão final. É como aquela garota que pergunta para as amigas se deve se encontrar com alguém, antes de tomar uma decisão final. Não somos tão diferentes desses algoritmos não é mesmo?

Ressalto aqui a palavra “diferente”. Misturar os mesmos algoritmos nos mesmos dados não faria sentido. A escolha dos algoritmos é totalmente de quem está resolvendo o problema. No entanto, para o modelo final de tomada de decisão, a regressão geralmente é uma boa escolha.
Na prática, o Stacking tem sido menos popular porque os dois próximos métodos estão fornecendo melhor precisão.

3.2 – Ensacamento (bagging)

Também conhecido como Bootstrap AGGregatING. É um método que usa os mesmos algoritmos, mas treina-os com diferentes subconjuntos de dados originais e no final usa apenas os resultados médios.
Dados em subconjuntos aleatórios podem se repetir. Por exemplo, de um conjunto como “1-2-3”, podemos obter subconjuntos como “2-2-3”, “1-2-2”, “3-1-2” e assim por diante. Usamos esses novos conjuntos de dados para ensinar o mesmo algoritmo várias vezes e, em seguida, prever a resposta final por meio da votação majoritária simples.

O exemplo mais famoso de Bagging é o algoritmo Random Forest que é simplesmente resultado de várias árvores de decisão, conforme ilustrado acima.

Quando se abre o aplicativo de câmera do telefone e o vê desenhando caixas em volta do rosto das pessoas – provavelmente é o resultado do trabalho do Random Forest. As redes neurais seriam muito lentas para serem executadas em tempo real, por isso, o método de Bagging, neste caso, é o ideal.

Em algumas tarefas, a capacidade do Random Forest de executar em paralelo é mais importante do que uma pequena perda de precisão no reforço, por exemplo. Especialmente no processamento em tempo real. Quando falamos de Machine Learning, sempre temos um trade-off.

3.3 – Impulsionamento (boosting)

No método de Boosting, os algoritmos são treinados um a um sequencialmente. Cada algoritmo subsequente presta mais atenção aos pontos de dados que foram imprevisíveis pelo anterior. Esse processo ocorre até o resultado ser satisfatório.

Do mesmo modo que o método Bagging, usamos subconjuntos de nossos dados, mas desta vez eles não são gerados aleatoriamente. Agora, em cada subamostra, coletamos uma parte dos dados que o algoritmo anterior falhou ao processar

Assim, o novo algoritmo aprende a corrigir os erros do anterior.

A principal vantagem aqui é uma precisão de classificação muito alta. Os contras já foram destacados – não são processados de forma paralela, o que pode torná-lo não tão rápido. Entretanto, ainda assim, é mais rápido que as redes neurais.

Na verdade, é como uma corrida entre um caminhão de lixo e um carro de corrida. O caminhão pode fazer mais, mas se você quiser ir mais rápido, pegue um automóvel.

Se você quiser um exemplo real do Método de Boosting é só abrir o Facebook ou o Google e começar a digitar uma consulta de pesquisa. O resultado dessa pesquisa é trazido pelo Método Ensemble utilizando boosting.

4 – Redes Neurais e Aprendizagem Profunda

“Temos uma rede de mil camadas, dezenas de placas de vídeo, mas ainda não sabemos onde usá-la. Vamos gerar fotos de gatos!”.

Usado nos dias de hoje para:

  • Substituição dos algoritmos de aprendizagem de máquina tradicionais;
  • Identificação de objetos em fotos e vídeos;
  • Reconhecimento e síntese de fala;
  • Processamento de imagem, transferência de estilo;
  • Maquina de tradução.

Arquiteturas Populares: PerceptronConvolutional Network (CNN), Recurrent Networks (RNN), Autoencoders

Qualquer rede neural artificial é basicamente uma coleção de neurônios artificiais e conexões entre eles. O neurônio é uma função com várias entradas e uma saída. Sua tarefa é pegar todos os números de sua entrada, executar uma função neles e enviar o resultado para a saída.

Aqui está um exemplo de um neurônio simples, mas útil na vida real: some todos os números das entradas e se essa soma for maior que N – dê “1” como resultado. Caso contrário – “zero”.

As conexões são como canais entre os neurônios. Eles conectam as saídas de um neurônio às entradas de outro, para que possam enviar dígitos um para o outro. Cada conexão possui apenas um parâmetro – peso. É como uma força de conexão para um sinal. Quando o número 10 passa por uma conexão com um peso 0,5, ele se transforma em 5.

Esses pesos dizem ao neurônio para responder mais a uma entrada e menos a outra. Os pesos são ajustados durante o treinamento – é assim que a rede aprende. Basicamente, é só isso.

Para impedir que a rede caia na anarquia, os neurônios são ligados por camadas, não aleatoriamente. Dentro de uma camada, os neurônios não estão conectados, mas estão conectados aos neurônios da camada “seguinte” e da camada “anterior”. Os dados na rede vão estritamente em uma direção – das entradas da primeira camada às saídas da última.

Se você lançar um número suficiente de camadas e colocar os pesos corretamente, obterá o seguinte: aplicando à entrada, digamos, a imagem do dígito manuscrito 4, pixels pretos ativam os neurônios associados, eles ativam as próximas camadas e assim por diante, até que finalmente acenda a saída encarregada dos quatro. O resultado é alcançado.

Uma rede que possui várias camadas que têm conexões entre todos os neurônios é chamada de perceptron (MLP), conforme imagem acima, e é considerada a arquitetura mais simples para um iniciante, embora não seja vista em produção.

Ao fazer a programação da vida real, ninguém escreve neurônios e conexões. Em vez disso, tudo é representado como matrizes e calculado com base na multiplicação de matrizes para melhor desempenho.

Este vídeo sobre isso, e sua sequência abaixo, descreve todo o processo de uma maneira facilmente digerível, usando o exemplo do reconhecimento de dígitos escritos à mão. Assista-o se você quiser entender melhor.

Depois que construímos uma rede, nossa tarefa é atribuir maneiras apropriadas para que os neurônios reajam corretamente aos sinais recebidos. Agora é a hora de lembrar que temos dados que são amostras de ‘entradas’ e ‘saídas’ apropriadas. Mostraremos à nossa rede um desenho do mesmo dígito 4 e informaremos ‘adapte seus pesos para que, sempre que você vir essa entrada, sua saída emita 4’.
Para começar, todos os pesos são atribuídos aleatoriamente. Depois que mostramos um dígito, ele emite uma resposta aleatória porque os pesos ainda não estão corretos e comparamos o quanto esse resultado difere do correto.

Então começa-se a atravessar a rede de saída para entrada e dizemos a todos os neurônios: “ei, você ativou aqui, mas você fez um péssimo trabalho, vamos dar menos atenção a essa e mais a essa outra, ok?”

Depois de centenas de milhares de ciclos desse tipo de ‘inferir / punir’, há uma esperança de que os pesos sejam corrigidos e ajam como pretendido. O nome científico dessa abordagem é Backpropagation. O engraçado foi que levaram vinte anos para criar esse método. Esse segundo vídeo descreve esse processo com maior profundidade, mas ainda é muito acessível.

Uma rede neural bem treinada pode falsificar o trabalho de qualquer um dos algoritmos descritos neste capítulo (e freqüentemente funciona com mais precisão). Essa universalidade é o que a tornou amplamente popular.

Finalmente, temos uma arquitetura do cérebro humano, eles disseram que precisamos montar muitas camadas e ensiná-las sobre todos os dados possíveis que esperavam. Então, o primeiro inverno da IA começou, depois se derreteu e outra onda de decepção ocorreu.

Descobriu-se que as redes com um grande número de camadas exigiam um poder de computação inimaginável na época.
Atualmente, qualquer PC com placas de vídeo Geforce supera os datacenters da época. Portanto, as pessoas não tinham nenhuma esperança de adquirir poder computacional como os que hoje temoa acesso e as redes neurais eram uma chatice enorme.

E então, dez anos atrás, o Deep Learning floresceu!

Há uma boa linha do tempo de aprendizado de máquina descrevendo a montanha-russa de esperanças e ondas de pessimismo.
Em 2012, as redes neurais convolucionais conquistaram uma vitória esmagadora na competição ImageNet que fez o mundo se lembrar repentinamente dos métodos de Deep Learning descritos nos anos 90 e que agora se tornam viáveis com nossas placas de vídeo!

As diferenças do Deep Learning das redes neurais clássicas estavam em novos métodos de treinamento que podiam lidar com redes maiores. Atualmente, apenas a teoria tentaria dividir qual aprendizado considerar profundo e não tão profundo.
Nós, como profissionais, usamos bibliotecas ‘profundas’ populares como KerasTensorFlowPyTorch, mesmo quando construímos uma mini-rede com cinco camadas. Só porque é mais adequado do que todas as ferramentas que vieram antes.
Nós apenas as chamamos de redes neurais.
Existe um artigo excelente chamado Neural Network Zoo, onde quase todos os tipos de redes neurais são explicadas brevemente.

Se gostou, por favor, compartilhe e não deixe de ler o post sobre Neurônios e Redes Neurais Artificiais.

Conte comigo em seus projetos. Sobre mim: aqui. Contato: aqui.

Um abraço, @neigrando

Referência

Este artigo trata-se da adaptação, redução e tradução, do post, em inglês, “Machine Learning for Everyone“.

Artigos relacionados

Como as organizações podem mitigar os riscos da IA

Dando continuidade aos posts sobre o uso da inteligência artificial no mundo dos negócios, segue este conteúdo com foco em governança que enfatiza as questões relacionadas ao risco, além de apresentar nove passos no desenvolvimento de um modelo de IA.

A IA responsável atingiu o pico?

Não é segredo que a pandemia acelerou a adoção e, mais criticamente, o desejo das organizações de adotar recursos de inteligência artificial (IA). No entanto, é notavelmente difícil fazer a IA funcionar. Apenas 6% das organizações conseguiram operacionalizar a IA, de acordo com a recente pesquisa global de IA responsável da PwC com mais de 1.000 participantes de organizações líderes nos EUA, Reino Unido, Japão e Índia. Mais da metade das empresas na pesquisa disseram que ainda estão experimentando e não se comprometem com grandes investimentos em recursos de IA.

Mas as empresas que têm uma estratégia de IA incorporada podem implantar aplicativos em escala de maneira mais confiável, com adoção mais ampla em toda a empresa, do que aquelas que não têm. Empresas maiores (mais de US$ 1 bilhão), em particular, são significativamente mais propensas a explorar novos casos de uso para IA (39%), aumentando seu uso de IA (38%) e treinando funcionários para usar IA (35%).

IA responsável

Embora alguns desafios à operacionalização sejam técnicos ou limitados por conjuntos de habilidades, uma lacuna de confiança continua sendo um inibidor.

Uma grande tendência é incorporar práticas de “IA responsável” para preencher essa lacuna de confiança. A IA responsável compreende as ferramentas, processos e pessoas necessárias para controlar os sistemas de IA e governá-los adequadamente de acordo com o ambiente em que gostaríamos de operar e é implementado usando recursos técnicos e processuais para abordar preconceitos, explicabilidade, robustez, segurança e proteção preocupações (entre outras coisas). A intenção da IA ​​responsável, que às vezes é chamada ou confundida com IA confiável, ética da IA ​​ou IA benéfica, é desenvolver sistemas de IA e análise metodicamente, permitindo sistemas documentados e de alta qualidade que reflitam as crenças e valores de uma organização e minimizando danos não intencionais

IA responsável na empresa

A apreciação das novas preocupações que a IA pode representar para uma organização levou a um aumento significativo nas atividades de mitigação de riscos. As organizações estão buscando estratégias para mitigar os riscos de aplicativos individuais, bem como os riscos mais amplos impostos aos negócios ou à sociedade, que os clientes e os reguladores estão cada vez mais exigentes (Figura 1). Esses riscos são experimentados no nível do aplicativo, incluindo instabilidade de desempenho e viés na tomada de decisões de IA; o nível de negócios, como risco empresarial ou financeiro; e o nível nacional, como deslocamento de empregos da automação e desinformação. Para lidar com esses riscos e muito mais, as organizações estão usando uma variedade de medidas de mitigação de riscos, começando com medidas ad hoc e avançando para um processo de governança mais estruturado. Mais de um terço das empresas (37%) têm estratégias e políticas para lidar com o risco de IA, um forte aumento em relação a 2019 (18%).

[Figura 1 – Taxonomia do risco

Apesar dessa ênfase crescente na mitigação de riscos, as organizações ainda estão debatendo como governar a IA. Apenas 19% das empresas da pesquisa têm um processo formal documentado que é reportado a todos os stakeholders; 29% possuem um processo formal apenas para tratar de um evento específico; e o saldo tem apenas um processo informal ou nenhum processo claramente definido.

Parte dessa discrepância se deve à falta de clareza em torno da propriedade da governança da IA. A quem pertence este processo? Quais são as responsabilidades dos desenvolvedores, da função de conformidade ou gerenciamento de riscos e da auditoria interna?

Bancos e outras organizações já sujeitas à supervisão regulatória de seus algoritmos tendem a ter funções robustas (equipes de “segunda linha”) que podem validar modelos de forma independente. Outros, no entanto, precisam contar com equipes de desenvolvimento separadas, porque a segunda linha não possui as habilidades apropriadas para revisar sistemas de IA. Algumas dessas organizações estão optando por reforçar suas equipes de segunda linha com mais conhecimento técnico, enquanto outras estão criando diretrizes mais robustas para garantia de qualidade na primeira linha.

Independentemente da responsabilidade, as organizações exigem uma metodologia de desenvolvimento padrão, completa com estágios em pontos específicos, para permitir o desenvolvimento e monitoramento de IA de alta qualidade (Figura 2). Essa metodologia também se estende às equipes de compras, já que muitos sistemas de IA entram nas organizações por meio de um fornecedor ou plataforma de software.

Figura 2 – Estágios em um processo de desenvolvimento de um modelo em IA

A conscientização sobre os riscos da IA ​​complementa outra tendência de considerar a ética da tecnologia – adotar práticas para desenvolvimento, aquisição, uso e monitoramento de IA orientados por uma mentalidade de “o que você deve fazer” em vez de “o que você pode fazer”.

Embora haja uma série de princípios éticos para IA, dados e tecnologia, a justiça continua sendo um princípio fundamental. Trinta e seis por cento dos entrevistados da pesquisa identificam o viés algorítmico como uma área de foco principal de risco e 56% acreditam que podem lidar adequadamente com os riscos de viés. À medida que as empresas amadurecem na adoção da IA, elas também tendem a adotar o viés algorítmico como foco principal, dada a experiência no desenvolvimento de IA e a conscientização sobre os problemas relacionados aos riscos da IA. A justiça é classificada como o quinto princípio mais importante para empresas maduras em IA versus estar em oitavo lugar para organizações menos maduras. Outros princípios incluem segurança, proteção, privacidade, responsabilidade, explicabilidade e agência humana. As abordagens organizacionais para implementar a IA e a ética de dados tendem a se concentrar em iniciativas restritas que são consideradas isoladamente e utilizam ferramentas pontuais, como avaliações de impacto e códigos de conduta. Grandes empresas com uso maduro de IA são significativamente mais propensas a investir em uma variedade de iniciativas, incluindo a realização de avaliações de impacto (62%), a criação de um conselho ético (60%) e o fornecimento de treinamento ético (47%). Esse impulso sinaliza um reconhecimento de que várias iniciativas internas seriam necessárias para operacionalizar a IA responsável.

O que as organizações podem fazer

Estabeleça princípios para orientar: Um conjunto de princípios éticos adotados e apoiados pela liderança fornece uma estrela norte para a organização. Os princípios por si só, no entanto, não são suficientes para incorporar práticas responsáveis ​​de IA. As partes interessadas precisam considerar os princípios no contexto de seu trabalho diário para projetar políticas e práticas que toda a empresa possa apoiar.

Considere a propriedade da governança: Felizmente, muitos líderes nas organizações estão interessados ​​em estabelecer práticas de governança para IA e dados. No entanto, sem especificar um proprietário para essa governança, é provável que uma organização se depare com um problema diferente – práticas discretas que podem estar em conflito umas com as outras. Identifique quais equipes devem projetar abordagens de governança e concorde com um proprietário e um processo para identificar atualizações nas políticas existentes.

Desenvolva um processo bem definido e integrado para dados, modelo e ciclo de vida de software: implemente processos padronizados para desenvolvimento e monitoramento, com etapas específicas para indicar onde as aprovações e revisões são necessárias para prosseguir (Figura 2). Esse processo deve se conectar aos mecanismos de governança de dados e privacidade existentes, bem como ao ciclo de vida de desenvolvimento de software.

Quebre os silos: alinhe os grupos de partes interessadas necessários para conectar as equipes com o objetivo de compartilhar ideias e práticas de liderança. Crie inventários comuns para IA e dados para o processo de governança e use este exercício como uma oportunidade para considerar mudanças estruturais ou realinhamentos que possam permitir que os negócios funcionem melhor.

Fique de olho no clima regulatório em rápida mudança: não são apenas clientes, investidores e funcionários que exigem práticas responsáveis. Os reguladores estão tomando conhecimento e propondo legislação nos níveis estadual, regulador, nacional e supranacional. Algumas regulamentações decorrem de esforços expandidos de proteção de dados e privacidade, algumas de reguladores específicos em áreas restritas de casos de uso (como bancos) e algumas de um desejo mais geral de melhorar a responsabilidade (como Estratégia Brasileira de Inteligência Artificial -EBIA- do MTIC e legislação atual sobre IA). Manter o ritmo dessas regulamentações é fundamental para identificar futuras atividades de conformidade.

Com essas ações, as organizações estarão melhor posicionadas para lidar com os riscos de IA de maneira ágil.

Se gostou, por favor, compartilhe! Um abraço, @neigrando

Conte comigo em seus projetos. Sobre mim: aqui. Contato: aqui.

Referência

Este artigo trata-se da adaptação, redução e tradução, do artigo, em inglês, da Havard Business Review: “How Organizations Can Mitigate the Risks of AI“, pela PwC (2021).

Artigos relacionados

A adoção da Inteligência Artificial pelas Empresas

Recentemente, buscando informações atualizadas sobre o a utilização da Inteligência Artificial (IA) pelas organizações como pesquisa adicional de um trabalho do Núcleo Decide (FEA-USP e CNPq) sobre o Uso da IA na Tomada de Decisões Organizacionais, e para a disciplina Fundamentos de IA que estarei ministrando em MBA da ESPM, me deparei com diversos artigos e relatórios sobre o tema, mas em especial este me chamou a atenção e desejei compartilhar neste blog, mantendo a referência ao relatório original.

Em dezembro de 2021 e janeiro de 2022, a O’Reilly pediu aos destinatários de seus boletins informativos de dados e IA que participassem de uma pesquisa anual sobre adoção de IA. Estavam particularmente interessados ​​no que mudou desde o ano passado.

  • As empresas estão adiantadas na adoção da IA?
  • Elas têm aplicativos de trabalho em produção?
  • Elas estão usando ferramentas como o AutoML para gerar modelos e outras ferramentas para otimizar a implantação de IA?

Também queriam ter uma ideia de para onde a IA está indo. O hype claramente mudou para blockchains e NFTs. A IA está nas notícias com bastante frequência, mas o ritmo constante de novos avanços e técnicas ficou muito mais silencioso.

Em comparação com o ano passado, um número significativamente menor de pessoas respondeu. Isso é provavelmente um resultado do tempo. A pesquisa deste ano foi realizada durante a temporada de festas (8 de dezembro de 2021 a 19 de janeiro de 2022, embora tenham recebido muito poucas respostas no ano novo); o ano passado foi de 27 de janeiro de 2021 a 12 de fevereiro de 2021. Pandemia ou não, os horários de feriados sem dúvida limitaram o número de entrevistados.

Os resultados foram uma surpresa maior, no entanto. Apesar do número menor de entrevistados, os resultados foram surpreendentemente semelhantes a 2021. Além disso, se você voltar mais um ano, os resultados de 2021 foram surpreendentemente semelhantes a 2020. Isso mudou pouco na aplicação da IA ​​aos problemas corporativos? Talvez. Consideramos a possibilidade de que os mesmos indivíduos respondessem em 2021 e 2022. Isso não seria surpreendente, já que ambas as pesquisas foram divulgadas por meio de listas de e-mail – e algumas pessoas gostam de responder a pesquisas. Mas não foi esse o caso.

Quando nada muda, há espaço para preocupação: certamente não estamos em um espaço “para cima e para a direita”. Mas isso é apenas um artefato do ciclo do hype? Afinal, independentemente do valor ou importância de qualquer tecnologia a longo prazo, ela só pode receber atenção exagerada da mídia por um tempo limitado. Ou há problemas mais profundos que corroem os fundamentos da adoção da IA?

Adoção de IA em geral

Perguntaram aos participantes sobre o nível de adoção de IA em sua organização. Estruturam as respostas a essa pergunta de maneira diferente dos anos anteriores, nos quais ofereceram quatro respostas: não usar IA, considerar IA, avaliar IA e ter projetos de IA em produção (que chamaram de “maduras”). Este ano foi combinado “avaliar IA” e “considerar IA”; achávaram que a diferença entre “avaliar” e “considerar” era, na melhor das hipóteses, mal definida e, se não sabiam o que isso significava, os entrevistados também não saberiam. Mantiveram a pergunta sobre projetos em produção e usaram as palavras “em produção” em vez de “prática madura” para falar sobre os resultados deste ano.

Apesar da mudança na pergunta, as respostas foram surpreendentemente semelhantes às do ano passado. A mesma porcentagem de entrevistados disse que suas organizações tinham projetos de IA em produção (26%). Significativamente mais disseram que não estavam usando IA: isso passou de 13% em 2021 para 31% na pesquisa deste ano. Não está claro o que essa mudança significa. É possível que seja apenas uma reação à mudança nas respostas; talvez os entrevistados que estavam “considerando” a IA pensassem que “considerar realmente significa que não a estamos usando”. Também é possível que a IA esteja se tornando parte do kit de ferramentas, algo que os desenvolvedores usam sem pensar duas vezes. Os profissionais de marketing usam o termo IA; desenvolvedores de software tendem a dizer aprendizado de máquina. Para o cliente, o importante não é como o produto funciona, mas o que ele faz. Já existe muita IA incorporada em produtos nos quais nunca pensamos.

Desse ponto de vista, muitas empresas com IA em produção não possuem um único especialista ou desenvolvedor de IA. Qualquer pessoa que use o Google, Facebook ou Amazon (e, presumo, a maioria de seus concorrentes) para publicidade está usando IA. Como serviço inclui-se a IA empacotada de maneiras que podem não se parecer com redes neurais ou aprendizado profundo. Se você instalar um produto de atendimento ao cliente inteligente que usa GPT-3, nunca verá um hiperparâmetro para ajustar, mas implantou um aplicativo de IA. Não esperamos que os entrevistados digam que têm “aplicativos de IA implantados” se sua empresa tiver uma relação de publicidade com o Google, mas a IA está lá e é real, mesmo que seja invisível.

Esses aplicativos invisíveis são o motivo da mudança? A IA está desaparecendo nas paredes, como nosso encanamento (e, aliás, nossas redes de computadores)? Teremos motivos para pensar nisso ao longo deste artigo.

Independentemente disso, pelo menos em alguns setores, as atitudes parecem estar se solidificando contra a IA, e isso pode ser um sinal de que estamos nos aproximando de outro “inverno da IA”. Acredita-se que não, dado que o número de entrevistados que relataram IA em produção é constante e ligeiramente superior. No entanto, é um sinal de que a IA passou para o próximo estágio do ciclo de hype. Quando as expectativas sobre o que a IA pode oferecer estão no auge, todos dizem que estão fazendo isso, estejam ou não realmente. E uma vez que você chega ao vale, ninguém diz que está usando, mesmo que agora esteja.

Adoção e Maturidade da IA

A borda de fuga do ciclo de hype tem consequências importantes para a prática da IA. Quando era notícia todos os dias, a IA não precisava provar seu valor; foi o suficiente para ser interessante. Mas uma vez que o hype acabou, a IA precisa mostrar seu valor na produção, em aplicativos reais: é hora de provar que pode fornecer valor comercial real, seja economia de custos, aumento de produtividade ou mais clientes. Isso sem dúvida exigirá melhores ferramentas para colaboração entre sistemas de IA e consumidores, melhores métodos para treinar modelos de IA e melhor governança para dados e sistemas de IA.

Adoção pelos setores econômicos

A distribuição dos entrevistados por setor foi quase a mesma do ano passado.
As maiores porcentagens de entrevistados eram dos setores de hardware de computador e serviços financeiros (ambos com cerca de 15%, embora o hardware de computador tenha uma ligeira vantagem), educação (11%) e saúde (9%). Muitos entrevistados relataram seu setor como “Outro”, que foi a terceira resposta mais comum. Infelizmente, essa categoria vaga não é muito útil, pois apresentava setores que iam da academia ao atacado, e incluíam algumas coisas exóticas, como drones e vigilância – intrigantes, mas difíceis de tirar conclusões com base em uma ou duas respostas. (Além disso, se você estiver trabalhando em vigilância, você realmente vai contar às pessoas?) Houve mais de 100 respostas únicas, muitas das quais se sobrepuseram aos setores da indústria que listamos.
Observa-se uma história mais interessante quando analisa-se a maturidade das práticas de IA nesses setores. Os setores de varejo e serviços financeiros tiveram as maiores porcentagens de entrevistados relatando aplicativos de IA em produção (37% e 35%, respectivamente). Esses setores também tiveram o menor número de entrevistados relatando que não estavam usando IA (26% e 22%). Isso faz muito sentido intuitivo: quase todos os varejistas estabeleceram uma presença online, e parte dessa presença está fazendo recomendações de produtos, um aplicativo clássico de IA. A maioria dos varejistas que usam serviços de publicidade online dependem muito da IA, mesmo que não considerem usar um serviço como o Google “IA em produção”. A IA certamente está lá e está gerando receita, estejam eles cientes disso ou não. Da mesma forma, as empresas de serviços financeiros foram as primeiras a adotar a IA: a leitura automatizada de cheques foi um dos primeiros aplicativos corporativos de IA, datando muito antes do atual aumento no interesse da IA.

Educação e governo foram os dois setores com o menor número de entrevistados relatando projetos de IA em produção (9% para ambos). Ambos os setores tiveram muitos entrevistados relatando que estavam avaliando o uso da IA ​​(46% e 50%). Esses dois setores também tiveram a maior porcentagem de entrevistados relatando que não estavam usando IA. Esses são setores em que o uso apropriado de IA pode ser muito importante, mas também são áreas em que muitos danos podem ser causados ​​por sistemas de IA inadequados. E, francamente, ambas as áreas são atormentadas pela infraestrutura de TI desatualizada. Portanto, não é de surpreender que vejamos muitas pessoas avaliando a IA, mas também não é de surpreender que relativamente poucos projetos tenham entrado em produção.

Adoção da IA pelos Setores

Como seria de esperar, os entrevistados de empresas com IA em produção relataram que uma parcela maior de seu orçamento de TI foi gasta em IA do que os entrevistados de empresas que estavam avaliando ou não usando IA. 32% dos entrevistados com IA em produção relataram que suas empresas gastaram mais de 21% de seu orçamento de TI em IA (18% relataram que 11% a 20% do orçamento de TI foi para IA; 20% relataram 6% a 10%). Apenas 12% dos entrevistados que avaliaram a IA relataram que suas empresas estavam gastando mais de 21% do orçamento de TI em projetos de IA. A maioria dos entrevistados que avaliaram a IA veio de organizações que estavam gastando menos de 5% de seu orçamento de TI em IA (31%); na maioria dos casos, “avaliar” significa um compromisso relativamente pequeno. (E lembre-se de que aproximadamente metade de todos os entrevistados estava no grupo de “avaliação”.)

A grande surpresa foi entre os entrevistados que relataram que suas empresas não estavam usando IA. Você esperaria que sua despesa de TI fosse zero e, de fato, mais da metade dos entrevistados (53%) selecionaram 0%–5%; supõe-se que isso significa 0. Outros 28% marcaram “Não aplicável”, também uma resposta razoável para uma empresa que não está investindo em IA. Mas um número mensurável teve outras respostas, incluindo 2% (10 entrevistados) que indicaram que suas organizações estavam gastando mais de 21% de seus orçamentos de TI em projetos de IA. 13% dos entrevistados que não usam IA indicaram que suas empresas estavam gastando de 6% a 10% em IA, e 4% desse grupo estimaram despesas de IA na faixa de 11% a 20%. Portanto, mesmo quando nossos entrevistados relatam que suas organizações não estão usando IA, descobrimos que eles estão fazendo algo: experimentando, considerando ou “chutando os pneus”. Essas organizações avançarão para a adoção nos próximos anos? Isso é uma incógnita, mas a IA pode estar penetrando em organizações que estão na retaguarda da curva de adoção (a chamada “maioria tardia”).

Orçamento de TI alocado para IA

Gargalos

Questionaram os entrevistados quais eram os maiores gargalos para a adoção da IA. As respostas foram surpreendentemente semelhantes às do ano passado. Em conjunto, os entrevistados com IA em produção e os entrevistados que estavam avaliando a IA dizem que os maiores gargalos foram a falta de pessoas qualificadas e a falta de dados ou problemas de qualidade de dados (ambos em 20%), seguidos por encontrar casos de uso apropriados (16%).

Observar as práticas “em produção” e “avaliando” separadamente fornece uma imagem mais sutil. Os entrevistados cujas organizações estavam avaliando a IA eram muito mais propensos a dizer que a cultura da empresa é um gargalo, um desafio que Andrew Ng abordou em uma edição recente de seu boletim informativo. Eles também eram mais propensos a ver problemas na identificação de casos de uso apropriados. Isso não é surpreendente: se você tem IA em produção, você superou pelo menos parcialmente os problemas com a cultura da empresa e encontrou pelo menos alguns casos de uso para os quais a IA é apropriada.

Os entrevistados com IA em produção eram significativamente mais propensos a apontar a falta de dados ou a qualidade dos dados como um problema. Suspeitamos que este seja o resultado de uma experiência duramente conquistada. Os dados sempre parecem muito melhores antes de você tentar trabalhar com eles. Quando você suja as mãos, vê onde estão os problemas. Encontrar esses problemas e aprender a lidar com eles é um passo importante para desenvolver uma prática de IA verdadeiramente madura. Esses entrevistados eram um pouco mais propensos a ver problemas com a infraestrutura técnica – e, novamente, entender o problema de construir a infraestrutura necessária para colocar a IA em produção vem com a experiência.

Os entrevistados que estão usando IA (os grupos “avaliando” e “em produção” – ou seja, todos que não se identificaram como “não usuários”) concordaram com a falta de pessoas qualificadas. A escassez de cientistas de dados treinados foi prevista há anos. Na pesquisa de adoção de IA do ano passado, notamos que finalmente vimos essa escassez acontecer e esperamos que ela se torne mais aguda. Este grupo de respondentes também estava de acordo sobre questões legais. Apenas 7% dos entrevistados em cada grupo listaram isso como o gargalo mais importante, mas está na mente dos entrevistados.

E ninguém está se preocupando muito com o ajuste de hiperparâmetros.

Gargalos de Adoção da IA

Analisando um pouco mais a dificuldade de contratar para IA, descobrimos que os entrevistados com IA em produção viram as lacunas de habilidades mais significativas nessas áreas: modelagem de ML e ciência de dados (45%), engenharia de dados (43%) e manutenção de um conjunto de casos de uso de negócios (40%). Podemos reformular essas habilidades como desenvolvimento principal de IA, construção de pipelines de dados e gerenciamento de produtos. O gerenciamento de produtos para IA, em particular, é uma especialização importante e ainda relativamente nova que requer a compreensão dos requisitos específicos dos sistemas de IA.

Governança de IA

Entre os entrevistados com produtos de IA em produção, o número daqueles cujas organizações tinham um plano de governança para supervisionar como os projetos são criados, medidos e observados foi aproximadamente o mesmo daqueles que não tinham (49% sim, 51% não) . Entre os entrevistados que estavam avaliando a IA, relativamente poucos (apenas 22%) tinham um plano de governança.

O grande número de organizações sem governança de IA é preocupante. Embora seja fácil supor que a governança de IA não seja necessária se você estiver apenas fazendo alguns experimentos e projetos de prova de conceito, isso é perigoso. Em algum momento, sua prova de conceito provavelmente se transformará em um produto real e, então, seus esforços de governança serão atualizados. É ainda mais perigoso quando você depende de aplicativos de IA em produção. Sem formalizar algum tipo de governança de IA, é menos provável que você saiba quando os modelos estão ficando obsoletos, quando os resultados são tendenciosos ou quando os dados foram coletados de forma inadequada.

Embora não foi perguntado sobre governança de IA na pesquisa do ano passado e, consequentemente, não possamos fazer comparações ano a ano, perguntamos aos entrevistados que tinham IA em produção quais riscos eles verificaram. Não vimos quase nenhuma mudança. Alguns riscos aumentaram um ou dois pontos percentuais e alguns diminuíram, mas a ordenação permaneceu a mesma. Os resultados inesperados continuaram sendo o maior risco (68%, abaixo dos 71%), seguidos de perto pela Interpretabilidade do modelo e degradação do modelo (ambos 61%). Vale a pena notar que resultados inesperados e degradação do modelo são problemas de negócios. Interpretabilidade, privacidade (54%), justiça (51%) e segurança (46%) são questões humanas que podem ter um impacto direto nos indivíduos. Embora possa haver aplicativos de IA em que privacidade e justiça não sejam problemas (por exemplo, um sistema incorporado que decide se os pratos da sua máquina de lavar louça estão limpos), as empresas com práticas de IA claramente precisam dar maior prioridade ao impacto humano da IA .

Também surpreende-se ao ver que a segurança permanece no final da lista (42%, inalterada em relação ao ano passado). A segurança está finalmente sendo levada a sério por muitas empresas, mas não pela IA. No entanto, a IA tem muitos riscos exclusivos: envenenamento de dados, entradas maliciosas que geram previsões falsas, modelos de engenharia reversa para expor informações privadas e muito mais. Após os muitos ataques caros do ano passado contra empresas e seus dados, não há desculpa para ser negligente em relação à segurança cibernética. Infelizmente, parece que as práticas de IA demoram a se recuperar.

Governança e consciência de risco certamente são questões que observaremos no futuro. Se as empresas que desenvolvem sistemas de IA não adotam algum tipo de governança, estão arriscando seus negócios. A IA estará controlando você, com resultados imprevisíveis – resultados que incluem cada vez mais danos à sua reputação e grandes julgamentos legais. O menor desses riscos é que a governança será imposta pela legislação, e aqueles que não praticam a governança de IA precisarão se atualizar.

Ferramentas

Quando analisamos as ferramentas utilizadas pelos entrevistados que trabalham em empresas com IA em produção, nossos resultados foram muito semelhantes aos do ano passado. TensorFlow e scikit-learn são os mais usados ​​(ambos 63%), seguidos por PyTorch, Keras e AWS SageMaker (50%, 40% e 26%, respectivamente). Todos eles estão dentro de alguns pontos percentuais dos números do ano passado, normalmente alguns pontos percentuais abaixo. Os entrevistados foram autorizados a selecionar várias entradas; este ano, o número médio de entradas por respondente pareceu ser menor, explicando a queda nas porcentagens (embora não saibamos por que os entrevistados verificaram menos entradas).

Parece haver alguma consolidação no mercado de ferramentas. Embora seja ótimo torcer pelos azarões, as ferramentas na parte inferior da lista também caíram um pouco: AllenNLP (2,4%), BigDL (1,3%) e Ray da RISELab (1,8%). Novamente, as mudanças são pequenas, mas cair um por cento quando você está apenas em 2% ou 3% para começar pode ser significativo – muito mais significativo do que a queda do scikit-learn de 65% para 63%. Ou talvez não; quando você tem apenas 3% dos entrevistados, pequenas flutuações aleatórias podem parecer grandes.

Ferramentas usadas pelos entrevistados com IA em produção

Automatizando ML

Foi dada uma atenção adicional nas ferramentas para gerar modelos automaticamente. Essas ferramentas são comumente chamadas de “AutoML” (embora esse também seja um nome de produto usado pelo Google e pela Microsoft). Eles existem há alguns anos; a empresa que desenvolve o DataRobot, uma das ferramentas mais antigas para automatizar o aprendizado de máquina, foi fundada em 2012. Embora construir modelos e programar não sejam a mesma coisa, essas ferramentas fazem parte do movimento “low code”. As ferramentas AutoML atendem a necessidades semelhantes: permitir que mais pessoas trabalhem efetivamente com IA e eliminar o trabalho penoso de fazer centenas (se não milhares) de experimentos para ajustar um modelo.

Até agora, o uso do AutoML era uma parte relativamente pequena do cenário. Esta é uma das poucas áreas em que vemos uma diferença significativa entre este ano e o ano passado. No ano passado, 51% dos entrevistados com IA em produção disseram que não estavam usando ferramentas AutoML. Este ano, apenas 33% responderam “Nenhuma das opções acima” (e não escreveram uma resposta alternativa).

Os entrevistados que estavam “avaliando” o uso de IA parecem estar menos inclinados a usar ferramentas AutoML (45% responderam “Nenhuma das opções acima”). No entanto, houve algumas exceções importantes. Os entrevistados que avaliaram o ML eram mais propensos a usar o Azure AutoML do que os entrevistados com ML em produção. Isso se encaixa em relatos anedóticos de que o Microsoft Azure é o serviço de nuvem mais popular para organizações que estão migrando para a nuvem. Também vale a pena notar que o uso do Google Cloud AutoML e do IBM AutoAI foi semelhante para os entrevistados que estavam avaliando IA e para aqueles que tinham IA em produção. Para os entrevistados, pequenas flutuações aleatórias podem parecer grandes.

Uso de ferramentas de AutoML

Implantação e monitoramento de IA

Também parece haver um aumento no uso de ferramentas automatizadas para implantação e monitoramento entre os entrevistados com IA em produção. “Nenhuma das opções acima” ainda foi a resposta escolhida pela maior porcentagem de entrevistados (35%), mas caiu em relação aos 46% de um ano atrás. As ferramentas que eles estavam usando eram semelhantes às do ano passado: MLflow (26%), Kubeflow (21%) e TensorFlow Extended (TFX, 15%). O uso de MLflow e Kubeflow aumentou desde 2021; O TFX caiu um pouco. Amazon SageMaker (22%) e TorchServe (6%) foram dois novos produtos com uso significativo; A SageMaker, em particular, está pronta para se tornar líder de mercado. Não vimos mudanças significativas ano a ano para Domino, Seldon ou Cortex, nenhum dos quais tinha uma participação de mercado significativa entre nossos entrevistados. (BentoML é novo em nossa lista.)

Ferramentas usadas para implantar e monitorar a IA

Viu-se resultados semelhantes quando foram analisadas ferramentas automatizadas para controle de versão de dados, ajuste de modelo e rastreamento de experimentos. Novamente, vimos uma redução significativa na porcentagem de entrevistados que selecionaram “Nenhuma das opções acima”, embora ainda fosse a resposta mais comum (40%, abaixo dos 51%). Um número significativo disse que estava usando ferramentas caseiras (24%, acima dos 21%). O MLflow foi a única ferramenta sobre a qual perguntamos que parecia estar conquistando os corações e mentes de nossos entrevistados, com 30% relatando que a usaram. Todo o resto estava abaixo de 10%. Um mercado saudável e competitivo? Talvez. Certamente há muito espaço para crescer, e não acreditamos que o problema de versionamento de dados e modelos tenha sido resolvido ainda.

IA em uma encruzilhada

Agora que analisamos todos os dados, onde está a IA no início de 2022 e onde estará daqui a um ano? Você poderia argumentar bem que a adoção da IA ​​parou. Não acredita-se que seja o caso. Nem os capitalistas de risco; um estudo da OCDE, Investimentos de Capital de Risco em Inteligência Artificial, diz que em 2020, 20% de todos os fundos de capital de risco foram para empresas de IA. Apostaríamos que esse número também permanece inalterado em 2021. Mas o que estamos perdendo? A IA corporativa está estagnada?

Andrew Ng, em seu boletim The Batch, pinta um quadro otimista. Ele aponta para o Relatório de Índice de IA de Stanford para 2022, que diz que o investimento privado quase dobrou entre 2020 e 2021. Ele também aponta o aumento da regulamentação como evidência de que a IA é inevitável: é uma parte inevitável da vida do século XXI. Concorda-se que a IA está em todos os lugares e, em muitos lugares, nem é vista. Como mencionado, as empresas que usam serviços de publicidade de terceiros quase certamente usam IA, mesmo que nunca escrevam uma linha de código. Está incorporado no aplicativo de publicidade. A IA invisível – IA que se tornou parte da infraestrutura – não vai desaparecer. Por sua vez, isso pode significar que estamos pensando na implantação da IA ​​da maneira errada. O importante não é se as organizações implantaram IA em seus próprios servidores ou nos de outra pessoa. O que devemos realmente medir é se as organizações estão usando IA de infraestrutura incorporada em outros sistemas fornecidos como serviço. A IA como serviço (incluindo a IA como parte de outro serviço) é uma parte inevitável do futuro.

Mas nem toda IA ​​é invisível; alguns são muito visíveis. A IA está sendo adotada de algumas maneiras que, até o ano passado, consideravam-se inimagináveis. Estamos familiarizados com chatbots, e a ideia de que a IA pode nos dar chatbots melhores não foi exagerada. Mas o Copilot do GitHub foi um choque: não esperávamos que a IA escrevesse software. Vimos (e escrevemos sobre) a pesquisa que levou ao Copilot, mas não acreditávamos que se tornaria um produto tão cedo. O que é mais chocante? Ouvimos dizer que, para algumas linguagens de programação, até 30% do novo código está sendo sugerido pela ferramenta de programação de IA Copilot da empresa. No início, muitos programadores pensaram que o Copilot não era mais do que um truque inteligente de festa da IA. Isso claramente não é o caso. O Copilot se tornou uma ferramenta útil em pouco tempo e, com o tempo, só ficará melhor.

Outras aplicações de grandes modelos de linguagem – atendimento automatizado ao cliente, por exemplo – estão sendo lançadas (nossa pesquisa não deu atenção suficiente a elas). Resta saber se os humanos se sentirão melhor em interagir com o atendimento ao cliente orientado por IA do que com humanos (ou bots horrivelmente com scripts). Há uma dica intrigante de que os sistemas de IA são melhores em fornecer más notícias aos humanos. Se precisarmos ouvir algo que não queremos ouvir, preferimos que venha de uma máquina sem rosto.

Começa-se a ver mais adoção de ferramentas automatizadas para implantação, juntamente com ferramentas para controle de versão de dados e modelos. Isso é uma necessidade; se a IA for implantada na produção, é necessário ser capaz de implantá-la de forma eficaz, e as modernas lojas de TI não veem com bons olhos os processos artesanais artesanais.

Há muitos outros lugares em que esperamos ver a IA implantada, tanto visível quanto invisível. Algumas dessas aplicações são bastante simples e de baixa tecnologia. Alguns carros de quatro anos mostra o limite de velocidade no painel. Há várias maneiras de fazer isso, mas depois de algumas observações, ficou claro que se tratava de um simples aplicativo de visão computacional. (O carro relataria velocidades incorretas se um sinal de limite de velocidade fosse desfigurado e assim por diante.) Provavelmente não é a rede neural mais sofisticada, mas não há dúvida de que teríamos chamado isso de IA alguns anos atrás. Onde mais? Termostatos, lava-louças, geladeiras e outros aparelhos? Frigoríficos inteligentes eram uma piada não muito tempo atrás; agora você pode comprá-los.

Também viu-se a IA chegando a dispositivos menores e mais limitados. Carros e geladeiras têm energia e espaço aparentemente ilimitados para trabalhar. Mas e quanto a pequenos dispositivos como telefones? Empresas como o Google se esforçaram muito para executar a IA diretamente no telefone, fazendo trabalhos como reconhecimento de voz e previsão de texto e realmente treinando modelos usando técnicas como aprendizado federado – tudo sem enviar dados privados de volta à nuvem. As empresas que não podem fazer pesquisas de IA na escala do Google estão se beneficiando desses desenvolvimentos? ainda não sabemos. Provavelmente não, mas isso pode mudar nos próximos anos e representaria um grande passo à frente na adoção da IA.

Se gostou, por favor, compartilhe! Um abraço, @neigrando

Conte comigo em seus projetos. Sobre mim: aqui. Contato: aqui.

Referência

Este artigo trata-se da adaptação, redução e tradução, do relatório original, em inglês, da O’Reilly: “AI Adoption in the Enterprise 2022“, por Mike Loukides.

Artigos relacionados