Recursos/White Papers

Tecnologia

10 sinais de que você está pronto para a IA mas, ainda assim, pode fracassar

Nem todo problema pode ser resolvido por Machine Learning, e nem toda empresa está preparada para aplicar IA. Veja como saber se sua organização de TI está pronta para colher os benefícios da Inteligência Artificial

Martin Heller, CIO/EUA

Publicada em 07 de maio de 2018 às 09h33

Como o Machine Learing é uma panacéia, sua empresa deve ser capaz de usá-lo de maneira lucrativa, certo? Talvez não. Ok, estou apenas brincando sobre a panaceia: isso é apenas propaganda de marketing. Vamos discutir se você tem o que é preciso para aproveitar a Inteligência Artificial - e como você pode chegar a esse ponto se ainda não estiver lá.

Para começar, você sabe o que quer prever ou detectar? Você tem dados suficientes para analisar e criar modelos preditivos? Você tem as pessoas e ferramentas necessárias para definir e treinar modelos? Você já possui modelos estatísticos ou físicos para fornecer uma base para previsões?

Aqui, detalharemos o que você precisa para que seus projetos de IA e ML sejam bem-sucedidos, discutindo suas ramificações para ajudá-lo a verificar se sua organização está realmente pronta para alavancar Inteligência Artificial, Machine Learning ou Deep Learning.

Você tem muitos dados
Dados relevantes suficientes são a condição sine qua non de previsões e identificação de recursos. Com isso, você pode ter sucesso; sem isso, você não pode.

Quantos dados você precisa? Quanto mais fatores você estiver tentando levar em conta, mais dados serão necessários, esteja você fazendo previsões estatísticas comuns, aplicando Machine Learning ou Deep Learning.

IAMS

 

Tome o problema comum de prever vendas, como quantos pares de blusas azuis de mangas curtas você venderá no mês que vem em Miami, e quantos desses você precisa ter em estoque em sua loja em Miami e em seu armazém em Atlanta para evitar perder dinheiro com a impossibilidade de vendas ou com espaço ocupado no estoque. As vendas no varejo são altamente sazonais, portanto, você precisa de dados mensais estatisticamente significativos de vários anos para corrigir as variações mês a mês e estabelecer uma tendência anualizada - e isso é apenas para análises de séries temporais padrão. O Machine Learning precisa de mais dados do que os modelos estatísticos, e os modelos de Deep Learning precisam de bem mais.

Um modelo estatístico que você poderia construir analisaria as vendas mensais de blusas da rede nacionalmente ao longo de cinco anos e usaria esse agregado para prever as vendas totais de blusas para o próximo mês. Esse número pode ser na casa das centenas de milhares (digamos que seja 300 mil). Então você poderia prever as vendas de blusas em Miami como porcentagem das vendas nacionais (digamos que é de 3%) e prever de forma independente as vendas de blusas azuis de manga curta como porcentagem do total de vendas de blusas (digamos, 1%). Esse modelo aponta para aproximadamente 90 vendas de blusas azuis de mangas curtas em Miami no próximo mês. E você pode verificar se a previsão está correta examinando as vendas em mesmas lojas ano a ano para uma variedade de produtos, com atenção especial para o quanto elas variam de acordo com as previsões do modelo.

Agora, suponha que você queira levar em consideração fatores externos, como clima e tendências da moda. As blusas de manga curta vendem melhor quando está mais quente ou mais ensolarado do que quando está mais fresco ou mais chuvoso?  Você pode testar isso incluindo dados meteorológicos históricos em seu modelo, embora possa ser um pouco complicado fazer isso com um modelo estatístico de séries temporais, ou com modelos de Machine Learning para regressão (veja captura de tela acima), e então comparar o “custo” (uma função de erro normalizada) para cada modelo quando testado em relação aos resultados reais do ano passado, para encontrar o melhor modelo.

O azul-marinho vai vender melhor ou pior no próximo mês do que no mesmo período do ano passado? Você pode analisar todas as vendas mensais de roupas azul-marinho e prever tendências anuais da moda, e talvez dobrá-las em seus modelos de Machine Learning. Ou você pode precisar aplicar uma correção manual (também conhecida como “um chute maluco”) aos seus modelos com base no que você ouve na imprensa de moda. ("Vamos aumentar essa previsão em 20% apenas no caso.")

Talvez você queira fazer ainda melhor criando uma rede neural profunda para essa previsão. Você pode descobrir que pode melhorar o erro de regressão em alguns por cento para cada camada oculta adicionada, até que, em algum momento, a próxima camada não ajude mais. O ponto de retornos decrescentes pode vir porque não há mais recursos para reconhecer no modelo ou, mais provavelmente, porque simplesmente não há dados suficientes para suportar mais refinamentos.

Você tem cientistas de dados suficientes

Você deve ter notado que uma pessoa teve que construir todos os modelos discutidos acima. Não, não é uma questão de despejar dados em um funil e apertar um botão. É preciso experiência, intuição, capacidade de programar e um bom histórico em estatística para chegar a qualquer lugar com o Machine Learning, independentemente das ferramentas usadas.

Certos fornecedores, em particular, tendem a afirmar que “qualquer pessoa” ou “qualquer função comercial” pode usar seus modelos de Machine Learning pré treinados. Isso pode ser verdade se o modelo for exatamente para o problema em questão, como a tradução formal de francês de Quebecois para o inglês, mas o caso mais comum é que seus dados podem não ser  bem ajustados para modelos de Machine Learning já treinados. Como você tem que treinar o modelo, precisará de analistas de dados e cientistas de dados para orientar o treinamento, que ainda é mais uma arte do que engenharia ou ciência.

Uma das coisas mais estranhas sobre a contratação de cientistas de dados são os requisitos postados, especialmente quando comparados com as habilidades reais dos contratados. Os anúncios costumam dizer “Wanted: Data Scientist”. STEM Ph.D. mais 20 anos de experiência ”. A primeira coisa estranha é que o campo não existe há 20 anos. A segunda esquisitice é que as empresas contratam estudantes de 26 anos logo depois da pós-graduação - isto é, sem experiência profissional fora da academia, muito menos 20 anos de experiência em qualquer área. Sim, é uma discriminação hipócrita e provavelmente ilegal na idade, mas é isso que está acontecendo.

aprendizadodemaquina

Você acompanha ou adquire os fatores importantes

Mesmo que você tenha muitos dados e muitos cientistas de dados, talvez você não tenha dados para todas as variáveis ​​relevantes. Em termos de banco de dados, você pode ter muitas linhas, mas faltam algumas colunas. Estatisticamente, você pode ter variância inexplicável.

Medições para algumas variáveis ​​independentes, como observações meteorológicas, são facilmente obtidas e mescladas no conjunto de dados, mesmo após o fato. Outros fatores podem ser difíceis, impraticáveis ​​ou caros de medir ou adquirir, mesmo se você souber quais são.

Você tem maneiras de limpar e transformar os dados

Os dados são quase sempre barulhentos. As medições podem ter lacunas de um ou mais valores, os valores individuais podem estar fora do alcance por si próprios ou inconsistentes com outros valores na mesma medição, as medições eletrônicas podem ser imprecisas por causa do ruído elétrico, as pessoas que respondem às perguntas podem não entendê-las, e assim por diante.

A etapa de filtragem de dados em qualquer processo de análise geralmente exige o máximo de esforço para configurar - em minha experiência, de 80% a 90% do tempo total de análise. Alguns limpam os dados em seus processos de ETL (extração, transformação e carregamento) para que os analistas nunca vejam pontos de dados ruins, mas outros deixam todos os dados no data warehouse ou data lake com a etapa de transformação no fim do processo. Isso significa que mesmo os dados claramente sujos são salvos, na teoria de que os filtros e transformações precisarão ser refinados com o tempo.

Mesmo os dados filtrados e precisos podem precisar ser transformados antes de serem analisados. Como os métodos estatísticos, os modelos de Machine Learning funcionam melhor quando há números semelhantes de linhas para cada estado possível, o que pode significar a redução do número de estados mais populares por amostragem aleatória. Novamente, como com os métodos estatísticos, os modelos ML funcionam melhor quando os intervalos de todas as variáveis são normalizados.

Por exemplo, uma análise das contribuições de campanha de Trump e Clinton feitas no Cortana ML mostra como preparar um conjunto de dados para Machine Learning criando rótulos, processando dados, projetando recursos adicionais e limpando os dados; a análise é discutida em uma postagem no blog da Microsoft . Essa análise faz várias transformações em SQL e R para identificar os vários comitês e fundos de campanha associados a Clinton ou Trump, para identificar doadores como provavelmente homens ou mulheres com base em seus primeiros nomes, corrigir erros de ortografia e corrigir o desequilíbrio de classes ( o conjunto de dados foi de 94% de transações de Clinton, principalmente pequenas doações). Mostrei como pegar a saída dessa amostra e inseri-la em um modelo de regressão logística de duas classes no Tutorial  de "Introdução" ao Azure ML Studio .

Você já fez análises estatísticas nos dados

Um dos maiores pecados na análise de dados e na resolução de problemas é pular etapas. Antes que você possa descobrir o que aconteceu e por que, você precisa dar um passo atrás e ver todas as variáveis ​​e suas correlações.

A análise exploratória de dados pode mostrar rapidamente os intervalos e distribuições de todas as variáveis, se os pares de variáveis ​​tendem a ser dependentes ou independentes, onde estão os clusters e onde podem existir outliers. Quando você tem variáveis ​​altamente correlacionadas, geralmente é útil descartar uma ou outra da análise ou executar algo semelhante à regressão linear múltipla gradual para identificar a melhor seleção de variáveis. Não pretendo sugerir que o modelo final será linear, mas é sempre útil tentar modelos lineares simples antes de introduzir complicações; se você tiver muitos termos em seu modelo, pode acabar com um sistema superdeterminado .

Você testa muitas abordagens para encontrar os melhores modelos

Há apenas uma maneira de encontrar o melhor modelo para um determinado conjunto de dados: tente todos eles. Se o seu objetivo está em um domínio bem explorado, mas desafiador, como identificação de características fotográficas e reconhecimento de linguagem, você pode se sentir tentado a experimentar apenas os melhores modelos. Infelizmente, esses são os modelos de Deep Learning mais intensivos em computação.

Você tem a capacidade de computação para treinar modelos de Deep Learning

Quanto maior o seu conjunto de dados, e quanto mais camadas em seu modelo de Deep Learning, mais tempo levará para treinar a rede neural. Ter muitos dados ajuda você a treinar um modelo melhor, mas o prejudica por causa do aumento no tempo de treinamento. Ter várias camadas ajuda a identificar mais recursos, mas também o prejudica devido ao aumento do tempo de treinamento. Você provavelmente não pode se dar ao luxo de esperar um ano para treinar cada modelo; uma semana é mais razoável, especialmente porque você provavelmente precisará ajustar seus modelos dezenas de vezes.

Uma maneira de contornar o problema do tempo de treinamento é usar GPGPUs, como as feitas pela Nvidia, para executar os cálculos vetoriais e matriciais (também chamados de álgebra linear) subjacentes às camadas da rede neural.

Além de uma única GPU, você pode configurar redes coordenadas de CPUs e GPUs para resolver problemas maiores em menos tempo. A menos que você treine modelos de aprendizagem profunda durante todo o ano e tenha um enorme orçamento disponível,  alugar tempo em uma nuvem com GPUspode vir a ser uma opção mais econômica. Várias estruturas de Deep Learning, incluindo CNTK, MXNet e TensorFlow, suportam computação paralela com CPUs e GPUs e demonstraram coeficientes de dimensionamento razoáveis ​​(~ 85% em um teste) para redes de instâncias de máquina virtual (VM) muito grandes. Você pode encontrar essas estruturas e outras já instaladas em instâncias de VM com suporte a GPU nos principais provedores de nuvem.

Seus modelos ML superam seus modelos estatísticos

Seus modelos estatísticos simples definem o padrão para o seu trabalho com Machine Learning e Deep Learning. Se você não pode elevar a barra com um determinado modelo, você deve ajustá-lo ou tentar uma abordagem diferente. Depois de saber o que você está fazendo, você pode configurar treinamentos para muitos modelos em paralelo sob o controle de um algoritmo de ajuste de hiperparâmetros e usar os melhores resultados para orientar o próximo estágio do processo.

Você é capaz de implantar modelos preditivos

Em última análise, você vai querer aplicar seus modelos treinados em tempo real. Dependendo do aplicativo, a previsão pode ser executada em um servidor, em uma nuvem, em um computador pessoal ou em um telefone. Os frameworks de Deep Learning oferecem várias opções para incorporar seus modelos em aplicativos da Web e móveis. Amazon, Google e Microsoft demonstraram a praticidade disso, produzindo dispositivos de consumo e aplicativos móveis que entendem a fala.

Você pode atualizar seus modelos periodicamente

Se você treinou seu próprio modelo em seus dados, poderá descobrir que as taxas de erro do modelo (falsos positivos e verdadeiros negativos) aumentam com o tempo. Isso é basicamente porque os dados se desviam com o tempo: seus padrões de vendas mudam, sua concorrência muda, os estilos mudam e a economia muda. Para acomodar esse efeito, a maioria dos frameworks de Deep Learning oferece a opção de treinar novamente o modelo antigo com seus novos dados e substituir o serviço preditivo pelo novo modelo. Se você fizer isso mensalmente, você deve ser capaz de permanecer no topo da análise. Se você não puder, seu modelo acabará se tornando muito obsoleto para ser confiável.

Para retornar às nossas perguntas iniciais, você sabe o que deseja prever ou detectar? Você tem dados suficientes para analisar e criar modelos preditivos? Você tem as pessoas e ferramentas necessárias para definir e treinar modelos? Você já possui modelos estatísticos ou físicos para fornecer uma base para previsões?

Se sim, o que você está esperando?



Reportagens mais lidas

Acesse a comunidade da CIO

LinkedIn
A partir da comunidade no LinkedIn, a CIO promove a troca de informações entre os líderes de TI. Acesse aqui