Tomemos como ponto de partida a definição de IA da Comissão Europeia (2018). Trata-se de uma definição simples, acessível e típica das definições contemporâneas: “AI refere-se a sistemas que exibem comportamento inteligente analisando seu ambiente e agindo – com algum grau de autonomia – para atingir objetivos específicos.”
Os primeiros desenvolvimento relacionados com a IA surgem ao longo da segunda metade do séc.XX, inicialmente sob a forma de algoritmos, ou seja, procedimentos precisos e baseados em regras, que ao serem seguidas passo a passo permitem identificar a melhor resposta para uma dada situação.
No entanto, a observação de que as pessoas tomam decisões com base em informações imprecisas e muitas vezes não quantificadas, levou aplicação da lógica difusa (Fuzzy logic) a estes sistemas.
O princípio da logica difusa permite lidar com o conceito de verdade parcial, e deste modo tratar estados indeterminados, ou conceitos não quantificáveis, através de sistemas lógicos - Exemplos: o nível de felicidade (contente, feliz, triste, infeliz, ..), a temperatura de um sistema (quente, muito quente, morno, frio,…). Na sua base encontra-se, ao contrário da logica tradicional de 0 (falso) / 1 (verdadeiro), a possibilidade de existência de n estados intermédios, ou seja, todo o conjunto de valores entre 0 e 1.
Estes sistemas, considerados hoje em dia como a base de desenvolvimento da IA, são ainda amplamente utilizados, mas encontram-se reservados a ambientes que não variam muito ao longo do tempo, com regras e variáveis precisas, como é por exemplo o controlo não-linear de processos industriais.
Entrados no sec.XXI, e no decorrer das últimas duas décadas, a IA registou um avanço sem precedentes. Um dos mais visíveis será o facto dos especialistas responsáveis pela programação dos algoritmos serem gradualmente substituídos pelo processo de aprendizagem automática (“machine learnning” - ML), através do qual se automatiza o processo de aprendizagem (entenda-se como programação, ou treino) dos algoritmos.
Para que tal seja possível dois fatores foram fundamentais: uma abordagem baseada em dados, cujo aumento exponencial de disponibilidade foi sem dúvida um driver deste processo, e um sistema de processamento inovador: as redes neurais artificiais (Artificial Neural Networks – ANN).
O que são as redes neurais artificiais?
As redes neurais artificiais (Artificial Neural Networks – ANN), são inspiradas nas redes de neurônios que se encontram nos cérebros biológicos, e compostas por conjuntos de unidades ou nós (neurónios artificiais) ligados entre si, normalmente formando camadas, e onde cada nó, tal como as sinapses de um cérebro biológico, pode transmitir um sinal para outros nós da camada seguinte.
Estas redes podem ser de diferentes tipos, umas operando apenas sobre hardware, enquanto outras são essencialmente software que pode correr em computadores de uso geral. Em comum tem uma arquitetura constituída por camadas que transmitem informação entre si.
Existe uma camada de entrada (input que recebe a informação), onde cada nó recebe, processa e transmite para os nós da camada seguinte um sinal sob a forma de um número. Esta camada, ou camadas intermédias, também são conhecidas como “hidden layers”. A transmissão pode atravessar as camadas intremédias várias vezes, até à camada de saída (output) onde se obtém o resultado.
Cada ligação entre os nós das diferentes camadas pode ter um peso ajustável. No limite poderá mesmo não acontecer nenhuma transmissão se o sinal se encontrar abaixo de um dado limite. Este peso, que aumenta ou diminui a força do sinal em uma ligação, permite o balanceamento que está na base do processo de aprendizagem destes sistemas.
Como as redes conseguem aprender?
As redes neurais artificiais conseguem aprender, ou dito de outra forma, conseguem ser treinadas. Para isso, é necessária a existência de um conjunto de dados que contenham entradas (inputs) e resultados (outputs) conhecidos. O correto balanceamento das ligações entre os diferentes nós possibilita ajustar o resultado do sistema ao resultado esperado, eliminando progressivamente os erros, ou desvios, de modo a obter um resultado cada vez mais correto, sendo este balanceamento fica registado na estrutura de dados da própria rede. A este tipo de aprendizagem dá-se o nome de aprendizagem supervisionada. Um exemplo clássico deste tipo de aprendizagem é a identificação de fotos que contem ou não um gato, onde estas estão classificadas à partida como sendo ou não fotos de gatos.
Mas a aprendizagem pode também ser feita sem supervisão. Nestes casos é apenas fornecido um conjunto de dados que contém apenas entradas não rotuladas ou classificadas, e entre os quais o sistema tenta identificar semelhanças, reagindo com base existência ou não de tais semelhanças em cada nova entrada.
Atualmente os sistemas de IA são capazes de se adaptar em termos de comportamento e dentro de certos limites, através de uma análise dos efeitos das ações anteriores e de um trabalho autónomo. Esta característica de aprendizagem automática, dota-os de capacidades em termos de autonomia, até hoje nunca tinham sido conseguidas.
Adicionando complexidade
Os conceitos referidos nos pontos anteriores, são uma apresentação muito simplista de uma área extremamente complexa. Existem várias variações de arquitetura para as redes, e diferentes meios de aprendizagem que não iremos aqui abordar ou desenvolver.
Podemos, no entanto, afirmar que, por norma, quantas mais camadas existirem num sistema, mais abstrato e complexo este se torna, o que origina que sua lógica de tomada de decisão seja muitas vezes difícil de entender e mais ainda, difícil de explicar. No entanto, a sua eficácia na identificação quase imediata da melhor e mais eficaz solução para uma dada questão ou problema, é inegável.
A IA rapidamente entrou pelas nossas das nossas vidas, e veio para ficar. Já é utilizada em mais aplicações do que aquelas que imaginamos. Compreender o que está na sua génese, é fundamental para uma análise, reflexão e opinião informada, que tão necessária é na atualidade.