0%
O que é Inteligência Artificial?

Definições

Estabelecer o vocabulário antes de manipular as técnicas.

10-15 min

O que é Inteligência Artificial?

A mesma palavra serve hoje para designar um corretor ortográfico, um mecanismo de recomendação, um sistema de diagnóstico médico e um gerador de texto. Esses quatro programas quase não têm técnica em comum. Quando uma expressão abrange objetos tão diferentes, ela acaba não dizendo mais nada — e esse é exatamente o problema de quem tenta avaliar um anúncio, um produto ou uma vaga de emprego que contém as letras “IA”.

Essa confusão tem um custo concreto. Sem vocabulário preciso, é impossível distinguir um sistema que aplica regras escritas por um humano de um sistema que deduziu suas regras a partir de milhares de exemplos. Ora, os dois não erram da mesma maneira, não se corrigem da mesma maneira e não implicam a mesma responsabilidade. Não se depura uma estatística como se depura uma condição if.

Esta lição instala esse vocabulário. Veremos de onde vem o termo, por que duas tradições de pesquisa se opuseram durante trinta anos antes de apenas uma delas prevalecer, como se encaixam as três expressões mais frequentemente confundidas — inteligência artificial, aprendizado de máquina, aprendizado profundo — e, sobretudo, onde estão hoje os limites reais desses sistemas.

Este último ponto é o mais útil. Saber o que uma técnica não sabe fazer é o que distingue um praticante de um espectador.

Uma definição que se sustenta

Não existe uma definição única e consensual de inteligência artificial. A que melhor resiste ao uso é funcional: fala-se em IA quando um programa realiza uma tarefa para a qual ninguém soube escrever a regra a aplicar, ou para a qual essa regra seria longa demais para enumerar.

O termo nasce em 1956, durante um workshop de pesquisa de verão organizado no Dartmouth College. Foi John McCarthy quem cunhou a expressão artificial intelligence na proposta de financiamento redigida no ano anterior. Seis anos antes, em 1950, Alan Turing havia publicado na revista Mind o artigo “Computing Machinery and Intelligence”, que contorna a pergunta “uma máquina pode pensar?” substituindo-a por um protocolo observável: um interlocutor humano consegue distinguir, por escrito, uma máquina de uma pessoa?

Esse deslocamento é engenhoso, mas tem um efeito colateral: ele equipara a inteligência à produção de respostas plausíveis. Ora, produzir algo plausível é perfeitamente possível sem compreender nada.

# Um "agente conversacional" de 1966 cabe em poucas linhas.
REGLES = {
    "bonjour": "Bonjour. De quoi voulez-vous parler ?",
    "je suis triste": "Depuis quand vous sentez-vous triste ?",
}

def repondre(phrase):
    return REGLES.get(phrase.lower().strip(), "Pouvez-vous reformuler ?")

print(repondre("Bonjour"))          # Bonjour. De quoi voulez-vous parler ?
print(repondre("je suis épuisé"))   # Pouvez-vous reformuler ?

A primeira troca parece crível. A segunda revela o mecanismo: “je suis épuisé” é bem próxima de “je suis triste”, mas o dicionário não contém essa chave exata, então o programa recorre à sua frase curinga. Ele não tem nenhuma noção de proximidade de sentido. Esse é o princípio do ELIZA, o programa escrito por Joseph Weizenbaum no MIT em 1966, ao qual os usuários atribuíam espontaneamente uma compreensão que ele não tinha.

Essa definição funcional tem uma consequência curiosa, conhecida como efeito IA: assim que um problema é resolvido de forma confiável, deixamos de chamá-lo de inteligência artificial. O reconhecimento de caracteres, o cálculo de rotas, a detecção de fraude bancária ou o jogo de xadrez já foram temas de IA. Hoje são softwares. A expressão continua designando a fronteira móvel do que ainda não sabemos fazer bem.

Duas tradições: escrever as regras ou aprender com exemplos

Durante os primeiros trinta anos, o caminho dominante consiste em escrever explicitamente o conhecimento. Isso se chama IA simbólica: o saber de um domínio é codificado na forma de fatos e regras lógicas, e um motor de inferência os encadeia.

Essa abordagem produziu resultados reais. Os sistemas especialistas das décadas de 1970 e 1980, como o MYCIN, em Stanford, para o diagnóstico de infecções bacterianas, atingiam, em seu domínio restrito, uma qualidade comparável à de especialistas humanos. Em 1997, o programa Deep Blue derrotou o campeão mundial Garry Kasparov no xadrez, essencialmente por exploração de árvore de jogo e por uma função de avaliação escrita à mão: nenhum aprendizado.

Dois obstáculos bloquearam esse caminho. Primeiro, a explosão combinatória: o número de regras necessárias cresce bem mais rápido do que a cobertura obtida. Depois, o gargalo de aquisição de conhecimento: é preciso um especialista humano disponível e capaz de explicitar o que sabe. Para reconhecer um gato em uma foto, ninguém jamais conseguiu escrever essas regras — porque ninguém sabe como ele próprio faz isso.

A outra tradição inverte o problema: em vez de escrever a regra, fornecemos exemplos e deixamos um algoritmo ajustar a regra.

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB

messages = [
    "gagnez 1000 euros maintenant",
    "cliquez ici pour recevoir votre cadeau",
    "reunion projet demain 14h",
    "compte rendu de la reunion en piece jointe",
]
etiquettes = [1, 1, 0, 0]          # 1 = indesejável (spam), 0 = legítima

# Cada mensagem se torna um vetor de contagens de palavras.
vectoriseur = CountVectorizer()
X = vectoriseur.fit_transform(messages)

modele = MultinomialNB().fit(X, etiquettes)

# Uma frase nunca vista, composta de palavras vistas nos spams.
nouveau = vectoriseur.transform(["gagnez votre cadeau maintenant"])
print(modele.predict(nouveau))     # [1]
print(len(vectoriseur.vocabulary_))  # 21

Ninguém escreveu a regra “se a mensagem contém gagnez e cadeau, então é spam”. Ela foi deduzida das contagens. O número a reter é o último: quatro mensagens já produzem 21 palavras de vocabulário. Em um corpus realista de dezenas de milhares de mensagens, o vocabulário chega a dezenas de milhares de entradas, e o modelo atribui um peso a cada uma. Escrever esses pesos à mão não é difícil: é impossível.

Seria desonesto concluir que a abordagem simbólica foi refutada. Ela está muito viva onde a garantia importa mais do que a flexibilidade: solucionadores de restrições, planejamento, verificação formal de software, motores de regras de negócio. Um sistema em produção costuma combinar as duas — um modelo treinado para a percepção, regras explícitas para as decisões que precisam ser justificadas.

IA, aprendizado de máquina, aprendizado profundo

Essas três expressões não são sinônimas. Elas se encaixam.

┌──────────────────────────────────────────────────────┐
│ INTELIGÊNCIA ARTIFICIAL                              │
│ Fazer uma máquina executar uma tarefa cuja regra     │
│ não está escrita. Inclui a lógica, a busca em        │
│ árvore, os sistemas especialistas.                   │
│                                                      │
│   ┌──────────────────────────────────────────────┐   │
│   │ APRENDIZADO DE MÁQUINA (machine learning)    │   │
│   │ A regra é ajustada a partir de dados.        │   │
│   │ Regressão, árvores, SVM, bayesiano.          │   │
│   │                                              │   │
│   │   ┌──────────────────────────────────────┐   │   │
│   │   │ APRENDIZADO PROFUNDO (deep learning) │   │   │
│   │   │ Redes neurais com muitas camadas.    │   │   │
│   │   │ Imagens, texto, áudio.               │   │   │
│   │   └──────────────────────────────────────┘   │   │
│   └──────────────────────────────────────────────┘   │
└──────────────────────────────────────────────────────┘

A leitura do esquema se confirma em casos concretos:

SistemaIA?Aprendizado de máquina?Aprendizado profundo?
Mecanismo de xadrez por exploração de árvoresimnãonão
Filtro antispam bayesiano (acima)simsimnão
Classificador de imagens com rede convolucionalsimsimsim
Gerador de texto tipo transformersimsimsim
Cálculo de um salário por fórmula de convenção coletivanãonãonão

A última linha merece atenção: um programa pode ser complexo, automatizado e útil sem ser IA. Se a regra é escrita e conhecida, é software.

A virada para o aprendizado profundo tem uma data de referência: em 2012, uma rede convolucional chamada AlexNet vence o concurso de reconhecimento de imagens ImageNet com uma taxa de erro top-5 de cerca de 15%, contra cerca de 26% do melhor método concorrente. Uma diferença desse tamanho, em um concurso consolidado, reorientou a área em poucos meses. As ideias, no entanto, não eram novas: o perceptron de Frank Rosenblatt data de 1957, a retropropagação foi popularizada em 1986. O que mudou foi a quantidade de dados anotados disponíveis e o poder de cálculo das placas gráficas.

Dois invernos e o que eles ensinam

A história da IA não é uma progressão contínua. Ela alterna fases de entusiasmo, de financiamento abundante e de promessas públicas com fases de desilusão chamadas de invernos da IA, nas quais orçamentos e interesse desabam.

PeríodoFaseFator desencadeante documentado
1956-1966entusiasmo inicialworkshop de Dartmouth, primeiros programas de demonstração
1966primeiro freioo relatório ALPAC conclui que a tradução automática não cumpre suas promessas; o financiamento americano nesse tema é reduzido
1973segundo freioo relatório Lighthill, no Reino Unido, considera os resultados decepcionantes; a pesquisa britânica em IA é fortemente reduzida
Anos 1980retomadaexpansão comercial dos sistemas especialistas, lançamento do projeto japonês Fifth Generation em 1982
Fim dos anos 1980segundo invernocolapso do mercado de máquinas especializadas e decepção com os sistemas especialistas
Anos 1990-2000consolidação discretamétodos estatísticos, aprendizado de máquina aplicado
Desde 2012fase atualresultados do aprendizado profundo, a começar pelo ImageNet

Dois ensinamentos emergem desse ciclo, e ambos são diretamente úteis hoje.

O primeiro é que os invernos seguiram promessas com data e não cumpridas, e não fracassos técnicos. Os trabalhos de pesquisa continuaram durante os dois invernos; o que desabou foi a credibilidade de anúncios precisos demais sobre prazos. Uma lição de higiene intelectual: a cautela deve recair sobre datas e prazos, raramente sobre a direção.

O segundo é que a dificuldade não se distribui como a intuição sugere. As tarefas que os humanos consideram difíceis e prestigiosas — jogar xadrez, integrar uma função, memorizar um banco de dados — revelaram-se as mais fáceis de automatizar. As tarefas que qualquer criança domina — reconhecer um objeto parcialmente escondido, pegar um copo, entender uma instrução implícita — resistiram por décadas. Essa inversão, frequentemente chamada de paradoxo de Moravec, prevê a viabilidade de um projeto melhor do que qualquer intuição sobre a “complexidade” aparente de uma tarefa.

O que a IA não sabe fazer

Um modelo treinado não tem conhecimento do mundo: ele tem uma regularidade estatística extraída de uma amostra. Tudo o que sai dessa amostra está fora de seu domínio de validade, e nada no modelo sinaliza essa passagem.

import numpy as np
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression

iris = load_iris()   # 150 flores, 4 medidas, 3 espécies
modele = LogisticRegression(max_iter=200).fit(iris.data, iris.target)

# Dimensões que não correspondem a nenhuma íris: mais parecido com um girassol.
absurde = np.array([[40.0, 25.0, 60.0, 15.0]])
print(modele.predict(absurde))                 # [2]
print(modele.predict_proba(absurde).round(3))  # [[0. 0. 1.]]

O modelo responde “virginica”, com uma probabilidade arredondada para 1. Ele não dispõe de nenhum mecanismo para responder “este objeto não se parece com nada do que eu vi”. Ele aprendeu a dividir o espaço das medidas em três regiões, e todo ponto cai necessariamente em alguma região. Uma probabilidade alta mede a posição nessa divisão, não a confiabilidade da resposta.

Outras três limitações, estruturais e não anedóticas:

  • Sem causalidade. Um modelo capta associações. Se aprendeu que a presença de guarda-chuvas prevê chuva, ele preverá corretamente sem jamais poder dizer que retirar os guarda-chuvas não mudará o tempo. Distinguir correlação de causalidade exige uma intervenção experimental ou hipóteses acrescentadas de fora.
  • Sem objetivo próprio. Um modelo otimiza a quantidade que lhe foi dada para otimizar. Um sistema de recomendação treinado para maximizar o tempo de permanência maximizará o tempo de permanência, inclusive por meios que ninguém havia previsto.
  • Nenhuma verificação do que é produzido. Um modelo de linguagem é treinado para produzir uma sequência plausível de palavras, não uma sequência verdadeira. Esse é o mecanismo do que chamamos de alucinação, que desmontaremos peça por peça na lição sobre processamento de linguagem.

Por fim, a lacuna mais frequente na prática não é técnica, mas de formulação:

O que a máquina otimizaO que o humano esperava
A taxa global de acertosNão perder os casos raros e graves
A semelhança com as decisões passadasDecisões justas
A probabilidade da próxima palavraUma informação exata
O cliqueO interesse do leitor

Cada linha desta tabela é um projeto real que fracassou. Nenhuma é um defeito de algoritmo: são erros de alvo, e eles se corrigem antes do código.

Pontos-chave

  • Fala-se em IA quando um programa realiza uma tarefa cuja regra não foi escrita explicitamente. A fronteira se move: o que funciona de forma confiável acaba sendo chamado de «software».
  • Duas tradições coexistem: escrever as regras (IA simbólica, sistemas especialistas, solvers) e fazer com que elas sejam deduzidas a partir de dados (aprendizado de máquina). A segunda domina desde os anos 1990; a primeira continua indispensável quando é preciso garantir e justificar.
  • Os três termos se encaixam: o aprendizado profundo é uma parte do aprendizado de máquina, que por sua vez é uma parte da IA. Nem todo sistema de IA aprende, e nem todo software automatizado é IA.
  • Um modelo treinado só conhece a sua amostra. Ele responde com a mesma segurança dentro e fora do seu domínio de validade, e uma probabilidade alta não é garantia de acerto.
  • A falha mais comum vem da escolha da grandeza otimizada, não do algoritmo: a máquina atinge exatamente o objetivo que lhe foi definido, inclusive quando não era o que se queria.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!