Exemplos de IA na interface do iOS 10.

Inteligência artificial, Apple e Google

Por
12/7/16, 14h38 19 min 4 comentários

Nota: para uma boa introdução à história e ao estado atual da inteligência artificial (IA), veja esta apresentação (em inglês) do meu colega Frank Chen.

Nos últimos dois anos, começou a acontecer mágica em IA. Técnicas começaram a funcionar ou passaram a funcionar muito melhor e novas técnicas apareceram, especialmente em torno de aprendizado de máquina (ML, na sigla em inglês). Quando foram aplicadas em alguns casos de uso consagrados e importantes, começamos a ter resultados dramaticamente melhores. Por exemplo, as taxas de erros para o reconhecimento de imagens, de voz e processamento de linguagem natural caíram para próximas às dos humanos, ao menos em algumas medições.

Assim, você pode dizer ao seu smartphone: “mostre-me fotos do meu cachorro na praia” e um sistema de reconhecimento de fala transforma o áudio em texto, o processamento de linguagem natural pega o texto e interpreta que se trata de uma demanda por fotos e a entrega ao seu aplicativo de fotos; esse, que usa sistemas de aprendizado de máquina para classificar fotos com “cão” e “praia”, faz uma busca no banco de termos e retorna as imagens que batem. Mágica.

Temos, na verdade, duas coisas acontecendo aqui: você está usando a voz para preencher uma caixa de busca por termos e ela está pesquisando coisas que não eram possíveis antes. Ambas são viáveis agora graças ao aprendizado de máquina, mas elas são construídas separadamente e, de fato, a parte mais interessante não é a voz, mas a busca. Na realidade, a mudança estrutural importante por trás da capacidade de pedir por “fotos com cães na praia” não é que o computador consegue encontrá-las, mas sim que o computador descobriu, sozinho, como encontrá-las. Você dá a ele um milhão de fotos rotuladas com “essa tem um cachorro” e outro milhão de fotos rotuladas com “essa não tem um cachorro” e ele descobre como descobrir a aparência de um cachorro. Agora tente isso com “clientes nesse conjunto de dados que estavam prestes a abandonar o serviço” ou “esta rede teve uma falha de segurança” ou “histórias que as pessoas leem e compartilham muito”. Então tente fazer sem os rótulos (aprendizado “não supervisionado”).

Hoje você gastaria horas ou semanas em ferramentas de análise de dados procurando pelo critério certo para encontrar essas informações e precisaria de pessoas fazendo esse trabalho — procurando e remexendo planilhas do Excel e buscando minuciosamente pelo resultado estranho, metaforicamente falando, mas com um milhão de linhas e mil colunas. O aprendizado de máquina oferece a promessa de que muitas das análises maiores e mais entediantes podem ser automatizadas — não apenas fazendo a busca, mas também adivinhando como a busca deve ser feita para encontrar o resultado que se espera.

Isto é, as demonstrações impressionantes de interfaces de voz ou reconhecimento de imagens são apenas as demonstrações mais visíveis das técnicas subjacentes, mas essas têm aplicações muito mais amplas — você também pode aplicá-las a um teclado, a um sistema de recomendações de músicas, a um modelo de segurança de rede ou a um carro autônomo. Talvez.

Esta é claramente uma mudança fundamental para o Google. No mínimo, o reconhecimento de imagens e de fala significa que ele será capaz de compreender melhor as perguntas e de indexar melhor áudios, imagens e vídeos. Mas, o mais importante, será capaz de responder melhor as perguntas e de responder perguntas que ele não conseguiria de forma alguma anteriormente.

Como vimos na Google I/O, a empresa está sendo reestruturada com base nessas técnicas. E, obviamente, todas essas técnicas serão usadas de formas diferentes, em graus variados e para tipos de usos diferentes, da maneira como o AlphaGo usa uma variedade de técnicas diferentes. A coisa que ganha as atenções é o Google Assistant — uma interface com o usuário que usa voz e análises do seu comportamento para tentar tanto capturar melhor as perguntas e responder algumas delas antes mesmo de serem perguntadas. Mas isso é só a ponta do iceberg. A mudança real está na qualidade da compreensão do “corpus” de dados que o Google acumulou e no tipo de perguntas que o Google será capaz de responder em todos os diferentes produtos. No momento, isso está realmente apenas no começo.

O mesmo se aplica, de maneiras diferentes, à Microsoft, que (tendo perdido completamente o mercado móvel) está criando ferramentas baseadas na nuvem para permitir que desenvolvedores criem suas aplicações nessas técnicas; para o Facebook (o que é o feed de notícias se não uma aplicação de aprendizado de máquina?); e certamente para a IBM. Qualquer um que lida com muitos dados por dinheiro ou que ajuda outros a fazê-lo irá mudar e teremos um grande número de novas empresas criadas em torno disso.

Por outro lado, embora já tenhamos mágica, ainda não temos o HAL 9000 — não temos um sistema que esteja próximo da inteligência humana (a chamada “inteligência artificial geral”). Nem temos de verdade uma boa teoria sobre o que isso significa — se a inteligência humana é a soma de técnicas e ideias que já temos, porém maior, ou se é algo diferente. Em vez disso, temos um punhado de ferramentas que precisam ser construídas e interligadas. Eu posso pedir ao Google ou à Siri para que me mostrem fotos do meu cachorro na praia porque o Google e a Apple já interligaram as ferramentas para fazer isso, mas eu não posso pedir que eles me reservem uma mesa num restaurante a não ser que tenham adicionado uma API de integração com o Opentable. Este é o desafio fundamental para a Siri, o Google Assistant ou qualquer robô de conversação (como discuti aqui): o que dá para pedir?

Isso nos leva a uma categoria inteira de piadas feitas sobre o que conta e o que não conta como IA para começo de conversa:

  • “Isto é IA ou apenas um monte de declarações SE?”
  • “Cada vez que entendemos um pedaço [de IA], ela deixa de ser mágica; daí a gente diz ‘ah, isso é só um cálculo’.”
  • “IA é qualquer coisa que ainda não foi feita.”

Essas piadas refletem dois problemas. O primeiro é que não está totalmente claro se a própria inteligência humana não é mais do que “um monte de declarações SE”, de alguns poucos tipos diferentes e em uma escala enorme, pelo menos num nível conceitual. O segundo, por sua vez, é que essa mudança da magia à banalidade é uma característica de toda tecnologia e toda computação, e não significa que a IA não está funcionando, mas sim que ela está. Ou seja, tecnologia é, em certo sentido, qualquer coisa que está funcionando há pouco tempo. Nós não chamamos eletricidade de tecnologia nem consideramos máquinas de lavar roupa como robôs, e você poderia substituir a pergunta “isto é IA ou apenas um cálculo?” por “isto é tecnologia ou apenas engenharia?”

Acho que um ponto fundamental aqui é a regra de Eric Raymond, que diz que um computador não deveria “jamais pedir ao usuário qualquer informação que ele possa detectar, copiar ou deduzir automaticamente” — aqui, em especial, deduzir. Uma forma de ver todo o desenvolvimento da computação nos últimos 50 anos é a remoção das perguntas que um computador precisava fazer e acrescentar novas questões que ele poderia perguntar. Muitas delas não se parecem necessariamente com perguntas ao serem apresentadas ao usuário, mas elas eram, e os computadores não as fazem mais:

  • Onde você quer salvar este arquivo?
  • Você deseja desfragmentar o disco rígido?
  • Qual IRQ sua placa de som deve usar?
  • Você deseja encerrar essa aplicação?
  • Quais fotos você deseja apagar para economizar espaço?
  • Quais destes dez critérios de busca você deseja preencher para fazer uma pesquisa na web?
  • Qual é o PIN do seu celular?
  • Em que tipo de memória você deseja que esse programa seja executado?
  • Qual é o jeito certo de soletrar essa palavra?
  • Que número é essa página?
  • De quais amigos você quer ver as atualizações?

Fico intrigado às vezes, como leitor de ficção científica antiga, com como ela errou a maioria das previsões sobre computação, mas ainda assim falava bastante em “automático”. Se você ler novamente a lista acima, nenhum dos itens se parece com “IA” (embora alguns possam usá-la no futuro), mas muitos deles são “automáticos”. E é disso que uma IA próxima do HAL 9000 realmente se trata — o piloto automático, o corretor ortográfico automático, a configuração de hardware automática, o reconhecimento de pesquisas de imagens ou de voz automático, as reservas de restaurantes ou o chamador de táxis automáticos… São todos trabalhos administrativos de que seu computador te livra de fazer porque ele ganhou inteligência, artificialmente, para executá-los por você.

Isso me leva à Apple.

A Apple tem feito computadores que fazem menos perguntas desde 1984 e as pessoas têm reclamado disso desde então — a pergunta de um usuário é a a livre escolha de outro (algo que se pode ver claramente nos contrastes entre Android e iOS hoje). Steve Jobs disse uma vez que a interface para o iDVD deveria ter apenas um botão: “GRAVAR”. A Apple lançou os Data Detectors em 1997 — um framework que olhava para um texto e extraía dados estruturados de uma forma útil: compromissos, números de telefone ou endereços. Hoje você usaria técnicas de IA para chegar lá, então isso era uma IA? Ou “um monte de declarações SE”? Existe alguma lista canônica de algoritmos que contam como IA? Isso importa? Para um usuário que pode tocar em um número para fazer uma chamada em vez de copiá-lo e colá-lo, essa é uma pergunta significativa?

Esse certamente parece ser um jeito que a Apple enxerga a IA no dispositivo. No iOS 10, a Apple está espalhando IA através da interface. Às vezes é uma coisa obviamente nova, como a busca de imagens, mas com maior frequência é uma função antiga que funciona melhor ou um pequeno novo recursos para um app já existente. A Apple realmente parece enxergar IA como “apenas cálculos”.

Em paralelo (e isso é o que recebe muita atenção), a Apple tem sido bem vocal de que as empresas não deveriam coletar e analisar os dados do usuário e tem dito explicitamente que não está usando essas estratégias para oferecer todos esses serviços. O significado exato disso varia muito. Parte do sentido das redes neurais é que treiná-las é diferente de executá-las. Você pode treinar uma rede neural na nuvem com um vasto conjunto de imagens de forma livre e então carregar o sistema já treinado em um smartphone e executá-lo com dados locais, sem que nada deixe o dispositivo. Assim, por exemplo, é como o Google Translate funciona no mobile — o treinamento é previamente feito na nuvem, mas a análise é local. A Apple afirma que está fazendo o mesmo com o Apple Fotos — “acontece que não precisamos das suas fotos de montanhas para treinar um sistema para reconhecer montanhas. Nós podemos conseguir nossas próprias fotos de montanhas.” Ela também tem APIs para permitir que desenvolvedores executem redes neurais pré-treinadas localmente com acesso à GPU. Para outros serviços ela está usando a “privacidade diferencial”, que usa criptografia para ofuscar os dados de forma que embora eles sejam coletados pela Apple e analisados em escala, não seja possível (em teoria) descobrir a que usuário eles estão relacionados.

A enorme variedade de lugares e maneiras que a Apple está fazendo isso e as diferentes técnicas tornam bem difíceis afirmações categóricas do tipo “a Apple está perdendo essa tendência”. A Apple explicitamente decidiu fazer pelo menos um pouco disso com uma mão amarrada nas costas, mas não está claro quais serviços essa decisão afeta, ou o quanto. Talvez ela não precise das minhas fotos de montanhas, mas que tal treinar para reconhecer meu filho — isso está sendo feito no dispositivo? Os dados de treinamento estão sendo atualizados? Quão melhores são os dados de treinamento do Google? E quanto o Google pode se beneficiar deles?

Olhando além da privacidade, esse campo está se movendo tão rapidamente que não é fácil dizer onde as pistas mais fortes estão necessariamente, nem adivinhar quais coisas serão commodities e quais serão fortes diferenciais. Embora a maior parte da ciência da computação primária envolvida nessas técnicas esteja sendo publicada e livre para uso, a implementação não é trivial — essas tecnologias não são necessariamente commodities, ainda. Mas, definitivamente, existe um contraste com a abordagem da Apple no design de seus chips. Desde a compra da PA Semi em 2008 (se não antes), a Apple tem encarado o projeto dos SoCs dos seus dispositivos como uma competência fundamental e uma vantagem competitiva e ela agora projeta sozinha os próprios chips que são inquestionavelmente líderes do mercado (o que, incidentemente, será uma enorme vantagem quando ela lançar um produto de realidade virtual). Não está claro se a Apple olha para a IA do mesmo jeito.

(Existe também, talvez cinicamente, um problema de “poder do padrão” aqui. Se o Google Fotos é sempre 10%~15% melhor do que o Apple Fotos na classificação dos objetos, os usuários vão perceber além de um certo nível de precisão compartilhada? Afinal, o Apple Maps tem 3x mais usuários do que o Google Maps no iPhone e o Google Maps é sem dúvida melhor. E qualquer vantagem do Google será, digamos, compensada pelo Rolo da Câmera do Apple Fotos ou outras funções criadas em cima dele? Novamente, pouco disso está claro no momento.)

Um tópico comum para tanto para a Apple quanto para o Google, e os apps nas suas plataformas, é que eventualmente muitas técnicas de “IA” serão APIs e ferramentas de desenvolvimento onipresentes, como, por exemplo, localização. Há 15 anos, geolocalizar um dispositivo era bruxaria e as operadoras tinham previsões de receita para “serviços baseados em localização”. O GPS e a localização por Wi-Fi reduziram os serviços baseados em localização a apenas outra API: “onde você está” se tornou mais uma pergunta que um computador não precisa fazer. Mas embora a localização tenha se tornado apenas mais uma API — apenas uma consulta de base de dados, só mais uma declaração SE –, os serviços criados com ela estão em um espectro. Em uma ponta estão coisas como o Foursquare, produtos que são possíveis apenas com localização em tempo real e a usam para fazer mágica. Um pouco atrás estão o Uber e os aplicativos de táxi — é útil para eles saber onde você está quando você chama um táxi, mas não é essencial (é essencial para o app do motorista, claro). Mas também tem coisas como o Instagram, onde a localização é um adicional gratuito interessante, mas não essencial, e você pode até mesmo não querê-lo. (Em contrapartida, o reconhecimento de imagens transformará o Instagram, mas eles precisarão de uma cuidadosa taxonomia de diferentes tipos de cafés nos dados de treinamento). E, finalmente, existem por exemplo os apps de linhas aéreas, que podem te perguntar em qual cidade você está quando você faz a busca por um voo, mas na verdade nem deveriam se preocupar com isso.

Da mesma forma, existirão produtos que só serão possíveis graças ao aprendizado de máquina, seja aplicado a imagens ou voz ou alguma outra coisa completamente diferente (ninguém viu a geolocalização e pensou “isto poderia revolucionar os táxis”). Haverá serviços enriquecidos pelo aprendizado de máquina, mas que poderiam existir sem ele e teremos coisas em que ele não será nada relevante (nas quais ninguém pensou até hoje). Então, a Apple oferece reconhecimento de fotos, mas também um teclado mais inteligente e sugestões de lugares no app de calendário — ela espalhou “IA” por todo o lugar, assim como a localização. E assim como qualquer ferramenta de ciências da computação, haverá técnicas que serão commodities e técnicas que não, ainda.

Tudo isso, até agora, presume que o impacto da IA forma um tipo de modelo em “T”: teremos uma linha vertical, a busca, na qual as técnicas de IA são profundamente transformadoras, e então uma camada sobre tudo isso onde ela muda as coisas (assim como a geolocalização fez). Mas existe um outro modelo potencial no qual a IA se torna uma nova camada para o próprio smartphone — que ela muda o modelo de interação e realoca os serviços de dentro do espaço do app para um novo tipo de rotina. Isso muda a camada de agregação do smartphone — isso torna os apps melhores, mas isso muda o que os apps são? É algo potencialmente mais desestabilizador ao modelo que a própria Apple inventou.

Claramente, em alguns casos a resposta é “sim”. No mínimo, mudanças estruturais no significado de busca mudam o panorama competitivo e desestabilizam a composição entre a busca genérica do Google e seus competidores verticais: uma busca no Yelp pode se tornar uma pergunta no Google ou uma resposta oferecida antes mesmo que você tenha perguntado. Este é outro caso de remover uma pergunta — em vez do Google te oferecer dez resultados da busca que ele acha que podem responder sua questão, ele tentará te dar a própria resposta e também tentará te dar essa resposta antes mesmo que você faça a pergunta.

Curiosamente, um pedido de um Uber ou de um táxi ou uma reserva via Opentable podem também serem reagregados de um app a uma sugestão ou uma resposta vinda de dentro de uma interface de voz ou, digamos, um app de mapas. Um app com um botão — que faz uma pergunta simples — poderia facilmente se tornar um pedido no Google Assistant, na Siri, no Apple Maps ou no Google Maps, ou num app de mensagens. De fato, uma forma de ver a abertura das APIs no Apple Maps, na Siri, no iMessage e outros é como um contra-ataque ao Google. Onde o Google acha para você, sozinho, um cinema, restaurante ou o hotel, a Apple se apoiará nos desenvolvedores para que eles resolvam esses mesmos casos de uso. O Google Allo sugere um restaurante enquanto o iMessage da Apple te dá um plugin do Opentable.

Mas quão amplo isso é? Sim, você pode dizer à Siri ou ao Google Assistant para que “me mostre todos os novos posts do Instagram”, mas por que colocar isso dentro de um feed de respostas é uma interface melhor? Por que a interface de aprendizado de máquina do Google seria um lugar melhor para ver isso do que o aplicativo criado pelo Instagram? O aprendizado de máquina pode fazer (e de fato fará) o feed do Facebook melhor, mas ele removerá a diferença entre os canais de comunicação um-para-muitos e um-para-um? Por que essa camada de renderização genérica é melhor do que uma projetada especificamente para um objetivo? E ser engolido por uma camada de aprendizado de máquina genérico mudará isso?

Alguém poderia propor um reagrupamento porque isso permite uma interface mais fácil — sua tela inicial poderia mostrar seus documentos, seus e-mails e reuniões do dia em vez de você ter que entrar em cada app para lidar com eles. Talvez “qual app você quer abrir em seguida?” seja uma pergunta que pode ser deslocada — o carro foi solicitado, a reunião foi aceita, o relatório de gastos foi aprovado. Isso já é o que o Facebook faz com uma seção inteira de interações, e antes mesmo do aprendizado de máquina — quais posts compartilhados ver, com quem falar, quais notícias ler. Mas isso não é a única coisa no smartphone. E, novamente, nós não temos um HAL 9000. Nós não temos um sistema que te conhece verdadeiramente e que saiba tudo que você quer e que conheça tudo que há dentro de todos os app, e não estamos nem perto disso. Então a ideia de que o Google pode engolir tudo o que você faz no seu smartphone em uma única camada unificada, baseada em IA, localizada no topo parece bastante com o que chamaríamos de um “plano do Dr. Malvado” — é muito astuto e precisa de tecnologias (o laser matador num satélite!) que não existe de verdade.

Parece-me que existem duas coisas que dificultam falar sobre a explosão de IA. A primeira é que “IA” é um termo impossivelmente amplo que implica em termos um novo martelo mágico que transforma todos os problemas em pregos. Nós não temos — na verdade, temos um monte de novas ferramentas que resolvem alguns, mas não todos os problemas, e a promessa de extrair novas ideias de vários tipos de conjuntos de dados não será sempre cumprida. Podem ser os dados errados, ou as ideias erradas. E a segunda é que o campo está se expandindo e mudando muito rapidamente. Coisas que antes não funcionavam agora já estão e novas coisas estão sendo discutidas o tempo todo. Nós temos a empolgação e as tolices, o ceticismo e a visão e um monte de empresas incríveis sendo criadas. Algumas dessas coisas estarão em tudo e você sequer vai notar e algumas delas serão a próxima Amazon.


Publicado originalmente em 23 de junho no blog do Benedict Evans.

Tradução por Leon Cavalcanti Rocha.

  • Pingback: blog.nagueva -()

  • Claudio Roberto Cussuol

    Outro dia eu achei que tava zoando e disse:
    – Ok Google, toca Raul!!!!!
    Meu smartphone soltou Maluco Beleza, e eu fiquei de queixo caído….

    • manoelpaulo

      Vou testar essa! Muito bom! Hahaha

  • ochateador

    Um longo artigo.
    Mas muito interessante para saber como que a IA funciona hoje e como ela poderá funcionar no futuro. Além de saber quais os benefícios e prejuízos que ela trouxe, traz e trará a todos nós.