Inteligência Artificial: tudo que você precisa saber para começar a explorar esse universo - PrograMaria

Entenda os principais conceitos sobre Inteligência Artificial, os tipos de aplicações mais comuns e o panorama deste campo que viu sua popularidade explodir nos últimos anos

Quando a gente ouve falar em inteligência artificial (IA), logo vem a imagem do rosto de um robô, geralmente com cor azul brilhante e circuitos, diretamente dos filmes de ficção científica e até um certo receio das consequências dessa tecnologia – quem já teve aquele frio na espinha ao pensar na tal singularidade tecnológica, em que os robôs ultrapassam e dominam os humanos? Mas a verdade é que, hoje em dia, nas nossas ações mais cotidianas a inteligência de máquina está lá: nos algoritmos de busca, nas recomendações de músicas ou filmes, ao chamar um transporte por aplicativo ou conversar com assistentes digitais, além de promover avanços em diferentes indústrias, como medicina, mercado financeiro, entretenimento, entre outras.

Imagem preto e branco do Tradic, um computador antigo, com vários compartimentos, e dois homens manipulando-o.

Os computadores eram assim quando o termo Inteligência Artificial foi cunhado. Esse é o TRADIC, o primeiro computador com a tecnologia de transistores, de 1954.

Ao longo dos últimos anos, temos visto gigantes da tecnologia investirem muitos recursos no desenvolvimento de sistemas e bibliotecas abertas que permitem a criação de aplicações, seguidos por empresas que criam novas soluções para o mercado, como ferramentas de IA que identificam anormalidades em radiografias, ou então que utilizam essas aplicações para tornar seus negócios mais eficientes. Mas o campo da inteligência artificial não é novo (o primeiro chatbot foi criado em 1965!), ele possui diversas subáreas e está em constante transformação.

Foi em 1956 que o termo Inteligência Artificial foi cunhado, a partir de uma série de conferências na universidade de Dartmouth, nos Estados Unidos. A ideia do professor John McCarthy, era que matemáticos e cientistas colaborassem durante algumas semanas para uma missão beeem simplesinha: descobrir como máquinas poderiam utilizar linguagem, formar conceitos e abstrações e se desenvolver. Em suas palavras, “fazer uma máquina se comportar de maneira que se o seu comportamento fosse realizado por um ser humano, seria considerada inteligente”. Veja uma Linha do tempo da Inteligência Artificial.

Desde então, IA já viu o interesse – e consequente o investimento na área – aumentar e diminuir ao longo das décadas. E, como vocês podem imaginar, estamos no ciclo de alta!

Mas, afinal de contas, o que é Inteligência Artificial? E Machine Learning? E Deep Learning? Por que tantos nomes?

Apesar de estarem intimamente ligados, esses termos não significam a mesma coisa. O gráfico abaixo explica como essas áreas se desenvolveram ao longo do tempo – observe também que os campos estão contidos um no outro:

Gráfico que mostra o início da área de Inteligência Artificial a partir de 1950, Machine Learning a partir de 1980 e Deep Learning a partir dos anos 2010, sendo que Machine Learning está dentro de IA e Deep Learning está dentro de ML e IA.

Gráfico mostra a relação entre as áreas de IA, ML e DL ao longo do tempo.
Fonte: A Diferença Entre Inteligência Artificial, Machine Learning e Deep Learning

Inteligência Artificial

Basicamente, Inteligência Artificial é o ramo da ciência da computação que estuda como construir máquinas que executem tarefas de forma inteligente. O significado de “inteligente” é bastante disputado e, inclusive, há uma subdivisão clássica dos tipos de inteligência artificial, que ajuda a aterrissar a discussão:

  • IA genérica: vem da ideia original de construir máquinas capazes de refletir, abstrair, tomar decisões, aprender e agir em diferentes contextos. Ainda estamos beeem longe de chegar lá. Experimentos que tentaram extrapolar as atividades das máquinas em diversos campos não deram muito certo. Essa visão ficou mais para os robôs de ficção científica mesmo!
  • IA estreita: são todas as aplicações que vemos hoje em dia, máquinas que executam tarefas bastante específicas, como reconhecer rostos em imagem, fazer cálculos para prever preços, jogar xadrez – e aqui, sim, as máquinas conseguem ser tão boas quanto seres humanos, em algumas tarefas, até bem melhores que nós! (As máquinas já venceram dos humanos no Gamão, Xadrez e Go, mas nós ganharam no Poker! Veja 7 vezes em que os humanos e máquinas se enfrentaram em jogos)

Durante muitas décadas, cientistas desenvolveram, dentro do escopo da IA estreita, uma abordagem em que as regras que vão definir o comportamento da máquina são todas explicitamente escritas/programadas. É uma abordagem que funciona quando o ambiente é previsível e as tarefas conseguem facilmente ser transformadas em uma sequência de regras, como por exemplo os sistemas especialistas, “que eram baseados em regras lógicas e heurísticas de busca para chegarem a uma conclusão visando apoiar a decisão de especialistas humanos. Esse é o caso, por exemplo, do apoio ao diagnóstico médico (CLANCEY; SHORTLIFFE, 1984).” (O problema da explicação em Inteligência Artificial: considerações a partir da semiótica)

Essa abordagem ficou conhecida como IA simbólica e, embora sejam muito eficientes, para alguns tipos de tarefas, ela era bastante limitada. Vamos imaginar um sistema especialista cuja função é identificar o seu gato. Por exemplo, você pode definir como input uma imagem do seu gato e o sistema compara pixel por pixel da imagem, concluindo que é o seu gato se as imagens forem exatamente iguais a imagem original do seu gato. Porém, se o ângulo da foto mudar, já vai dar errado! Seria necessário criar novas regras, descrevendo fotos de todos os ângulos possíveis. Agora imagina quantas regras explicitamente programadas seriam necessárias para criar uma aplicação que reconhece gatos (qualquer um) em imagens? Pela abordagem simbólica seria um trabalho exaustivo e provavelmente ineficiente!! Isso mudou com o desenvolvimento do Machine Learning (ML) ou Aprendizado de Máquina, em português.

Machine Learning (ML, Aprendizado de Máquina)

Como o nome sugere, Machine Learning ou Aprendizado de Máquina se refere à capacidade de a máquina aprender sem intervenção humana, ou seja, diferente da IA simbólica, em que cada etapa deveria ser explicitamente programada, o algoritmo é treinado com vários exemplos e cria uma representação matemática (modelo) capaz de executar uma tarefa de previsão ou classificação, por exemplo, sem que seja explicitamente programado.
É usando Machine Learning que o sistema do seu email classifica se determinado email é spam ou que aquele site recomenda qual aluguel cobrar a partir de características do apartamento. Quando bem treinados, os algoritmos de ML conseguem estimar uma resposta correta para um novo input nunca visto com um bom nível de acuracidade.

E com o que as máquinas aprendem/treinam? Com os dados! Ou melhor, conjuntos de dados (os chamados datasets)! Com um volume gigante de emails ou um banco de dados com diferentes características de um apartamento (número de quartos, metragem, quantidade de banheiros, localização etc), o algoritmo consegue prever se um novo email é ou não spam e qual valor adequado cobrar para um novo apartamento.

 Esquema de flechas mostra dois envelopes, um com o rótulo “não é spam” e outro “é spam” entrando no modelo, representado na imagem de um monitor, com a legenda “aprende”. A partir da entrada de novos emails, representados por novos envelopes, ocorre a “separação categórica”, que separa na saída dois novos envelopes, um com o rótulo “Não é Spam” e outro “É spam”

Como é o treinamento do algoritmo para identificar e classificar os spams. Fonte: Aprendizado de Máquina (Machine Learning)

Vale lembrar que, o conceito de ML foi descrito há mais de 60 anos, em 1959, pelo engenheiro do MIT Arthur Samuel, mas foi só nos últimos anos que esse subcampo pode evoluir – e hoje é a principal técnica de IA utilizada! Isso aconteceu graças a dois fatores, que estão intimamente ligados:

  • O crescimento avassalador no volume de dados gerados e armazenados (o tal do Big Data)
  • O surgimento das GPUs (Graphic Processing Unit, ou Unidade de Processamento Gráfico, em português), que basicamente permitem que o processamento das máquinas seja mais rápido e mais barato – dando conta dessa quantidade de dados!

ML é a junção da ciência da computação com a estatística, por conta desses dois fatores (volume de dados e capacidade de processamento), a área de Ciência de Dados também tem se popularizado nas empresas, interessadas em aplicar algoritmos de ML com seus dados para gerar valor aos negócios!

Essa evolução tecnológica também possibilitou que as pesquisas no tema de redes neurais artificiais pudessem finalmente se desenvolver de maneira mais profunda, é o chamado Deep Learning!

Deep Learning (Aprendizagem profunda, em português)

Redes neurais já existiam antes do deep learning! Elas ganharam esse nome porque se assemelham em como nossos neurônios se comportam, processando a informação e passando a frente para os próximos até se tornar no final em uma função do nosso corpo. Numa rede neural, basicamente, o neurônio (neuron) recebe diferentes dados (inputs), computam/processam e liberam um resultado (output). Também há uma dinâmica que atribui peso para as entradas. O Perceptron é a forma mais simples de rede neural, possuindo uma única camada e um único neurônio. Foi criado em 1958 por Frank Rosenblatt. Para saber mais detalhes sobre esse modelo e arquiteturas de redes neurais leia O Perceptron – Parte 1 (Deep Learning Book)

Com o aumento da complexidade dos problemas e dos dados, surgiu uma nova abordagem com redes neurais que consistia em incluir no modelo mais camadas no sistema, chamadas de camadas ocultas. Assim, os próximos neurônios recebem o que já foi processado pelos anteriores, processam mais ainda e liberam o resultado a frente novamente, ou seja, o output de uma camada serve como input para a próxima camada. É o famoso Deep Learning. O “deep”, profundo, em português, se refere à profundidade de camadas que podem ser criadas nesta abordagem.

Esquema descreve uma rede de aprendizagem profunda, com camadas de entrada, ocultas e de saída.

Neurônios de entrada, Neurônios ocultos, Neurônios de resultado.
Fonte: Making a Neural Network, Quantum

Nas camadas ocultas ocorrem cálculos matemáticos para realizar a tarefa. Em cada entrada é atribuído um peso a fim de otimizar o modelo, fazendo com que o aprendizado evolua, ou seja, se a resposta final estiver a errada, esses pesos são ajustados para aperfeiçoar o resultado. Esse ajuste pode ser feito automaticamente pelo próprio algoritmo (aprendizado supervisionado) ou não (aprendizado não-supervisionado). Aprenda a diferença dos tipos de aprendizado de máquina.

 Imagem mostra uma bolinha com uma imagem de um cachorro e outra, abaixo, com a imagem de um gato. Na sequência ao lado direito, uma rede neural em três camadas: input-entrada, hiden-oculta, e output-saída. A animação mostra a imagem do cachorro acendendo, ativando as camadas das redes neurais e gerando a classificação na saída: “cachorro”

Legenda: Exemplo de classificação com rede neural. “Cachorro”
Fonte: Introdução a Deep Learning – Redes Neurais e TensorFlow

Esses vários ciclos conseguem dar conta de funções matemáticas bastante complexas e alcançar resultados com melhor assertividade. Deep Learning é bastante utilizado em tarefas complexas como visão computacional, processamento de linguagem natural, aliás um exemplo comum de problema que o Deep Learning resolve é o Mnist: nele, a rede deve ser capaz de identificar o número contido nas imagens de dígitos manuscritos.

Esquema de rede neural com quatro camadas que identifica o algarismo a partir de uma entrada manuscrita.

No desafio MNIST, a entrada consiste em pixels, com cada imagem representando um número de 0 a 10. Fonte: Introdução a Deep Learning – Redes Neurais e TensorFlow

A tomada de decisão das camadas ocultas do Deep Learning fica inacessível pra quem desenvolveu a rede, sendo difícil de explicar como a decisão foi tomada, ou quais características dos dados levaram ao resultado. Essa característica leva ao problema de Explicabilidade da IA e iremos discutir isso no Módulo 4 – Impacto da IA para a sociedade. Leia o texto Algoritmos de IA e Vieses: uma reflexão sobre ética e justiça. 

Caso você queria entender a matemática por trás do funcionamento das redes neurais, veja Redes neurais roots #1 — introdução do Ensina AI.

Agora que você já sabe o básico, que tal aprender mais sobre os tipos de aplicações mais comuns de inteligência artificial?

Referências