Paradigmas recentes da inteligência artificial Versão para impressão
Terça, 15 Novembro 2011

transformers_1328749

O que é realmente inteligência? É ela uma característica apenas dos seres vivos? Ou ainda. Se viermos a encontrar um extraterrestre, como saber se é um ser vivo ou uma máquina? Um robot que executa uma série de operações de montagem numa fábrica tem alguma espécie de inteligência?

A Inteligência Artificial pode considerar-se uma área científica bem consolidada, sustentada em décadas de trabalhos de pesquisa e de aplicação realizados. No entanto para além desta Inteligência Artificial “clássica” surgiram posteriormente outras metodologias para abordar a Inteligência, mais inspiradas nos seres vivos e na sua Inteligência Natural; é a este último tipo de abordagens que aqui me vou referir. Convém, por isso, prestar atenção a algumas das principais características da chamada Inteligência.

Uma pergunta interessante que se pode fazer é a seguinte “O que é realmente inteligência? É ela uma característica apenas dos seres vivos?” ou ainda “Se viermos a encontrar um extraterrestre, como saber se é um ser vivo ou uma máquina?”.

Claro que uma pergunta e outra estão relacionadas, mas a resposta não é imediata. Por outro lado, um robot que executa uma série de operações de montagem numa fábrica tem alguma espécie de inteligência? Aqui a resposta é mais simples: não! E pela simples razão que se limita a executar tarefas que um ser inteligente programou previamente! O mesmo se pode dizer em relação a qualquer programa de computador. Assim, para existir inteligência terá que existir alguma espécie de acção autónoma não completa e previamente determinada, ou seja com alguma incerteza ou imprevisibilidade de comportamento associada (pelo menos ao nosso nível de observação). Outra característica indispensável para uma máquina/ser poder ser considerada inteligente será a capacidade de aprendizagem com as experiências a que é sujeita ou que observa. Tal implica que no início de vida de tal máquina ou ser as suas respostas aos estímulos sejam bastante deficientes ou até contraditórias (é o que efectivamente podemos observar nos seres vivos), para além de algumas reacções instintivas ou reflexas que se podem considerar resultado de algum “hardware” (neurónios e suas ligações nos seres vivos) pré-programado! De facto o “ser” ao não ter vivido ou observado experiências com esses mesmos estímulos não teve ainda oportunidade de aprender. Mas a capacidade de aprender não significa apenas imitar! Esse “ser” tem que ser capaz de responder a experiências em que os estímulos não sejam exactamente os mesmos que os observados no passado, isto é, ele tem que ter a capacidade de generalizar a partir de casos particulares diferentes. É esta faculdade que permite reagir (às vezes mal, é um facto) a novas experiências! A aprendizagem pode ainda realizar-se permanentemente, o que permite reagir de maneira diferente em momentos diferentes aos mesmos estímulos.

Por outro lado, para além da aprendizagem individual as próprias espécies evoluem, adaptando-se melhor ao mundo exterior, isto é, os seus indivíduos (não todos) vão estar mais adaptados e preparados para enfrentar novas condições ambientais (ou de sobrevivência) que os seus antepassados. Tal pode ser considerada uma forma de aprendizagem de uma população e não de cada um dos seus indivíduos em particular – todos nós (quase todos, uma vez que toma força um fundamentalismo religioso chamado “criacionismo”) conhecemos a evolução das espécies baseada nos trabalhos de Darwin.

Acontece que os novos paradigmas utilizados na Inteligência Artificial se baseiam substancialmente nos princípios acima enunciados, sendo aqui mencionados os principais: a Lógica Difusa, as Redes Neuronais e os Algoritmos Genéticos. Eles são actualmente utilizados em inúmeras aplicações, como técnicas inteligentes para controlar máquinas de lavar, reconhecedores de caracteres escritos, controladores do sistema de travagem de carruagens de metro, bases de dados em que se fornece informação incompleta ou incerta, pesquisa de regras que determinam fenómenos diversos cujas leis matemáticas sejam desconhecidas, etc., etc..

Lógica Difusa, Redes Neuronais e Algoritmos

O primeiro dos paradigmas a abordar é o da Lógica Difusa, cujas principais características se prendem com a capacidade de lidar com sistemas complexos com uma abordagem mais próxima da humana, isto é, qualitativamente e não quantitativamente. Para poder apreciar melhor o significado destas palavras e para poder compreender que nem sempre a descrição quantitativa e precisa de um fenómeno é a mais adequada, imagine-se que se quer indicar a localização de um restaurante: é mais correcto (eficaz) fazê-lo utilizando termos como “suba esta rua, é relativamente perto, junto a uma esquina onde há uma leitaria”, do que “situa-se exactamente no ponto de longitude X e de latitude Y”. Na lógica difusa um qualquer elemento pode pertencer (e normalmente pertence) a vários conjuntos diferentes, o que permite tratar mais facilmente a incerteza. Assim, tomando o exemplo de um paciente com 37,1º de temperatura, num sistema de diagnóstico médico clássico ter-se-ia que classificar essa temperatura no conjunto “pouca febre” ou talvez no conjunto “sem febre”, e isto porque o responsável pelo desenvolvimento do sistema de diagnóstico teria na altura própria que escolher qual a fronteira entre um e outro conjunto (talvez 37º)! Mas será uma atitude como esta a mais acertada? É óbvio que não, pois a temperatura do paciente em causa estaria muito próximo da fronteira, logo numa zona de indecisão relativa. Na lógica difusa este problema é resolvido classificando tal temperatura em ambos os conjuntos (embora com graus de pertença diferentes, isto é, dando credibilidades diferentes às duas classificações), permitindo assim trabalhar simultaneamente com as duas hipóteses e chegando assim a resultados mais racionais! A lógica difusa permite, por outro lado, trabalhar facilmente com regras qualitativas semelhantes às usadas pelos humanos, como por exemplo as duas seguintes, pertencentes a um conjunto de muitas outras:

Se a carruagem de metropolitano estiver com velocidade elevada e perto da próxima estação então travar muito.

Se a carruagem de metropolitano estiver com velocidade elevada e muito longe da próxima estação então não travar.

Um conjunto de regras como estas permite que as travagens em metropolitanos que usem a lógica difusa sejam muito mais suaves que os sistemas tradicionais! A lógica difusa não tem, porém, e só por si, grande capacidade de aprendizagem. Estas regras devem ser fornecidas por peritos ou pessoas experimentadas.

Para uma aprendizagem automática através de experiências, é usual recorrer-se a outro tipo de paradigma:

Redes Neuronais. Nestas não existe o raciocínio do tipo qualitativo (aplicação de regras do tipo das mostradas acima) como na lógica difusa; as suas entradas e saídas (na regra acima entradas seriam as variáveis antecedentes como a velocidade e a aproximação à estação e a saída a consequente travagem) são tipicamente do tipo quantitativo - variáveis numéricas (37,1º, no exemplo acima). O que é comum à grande diversidade de redes neuronais é a existência de um número considerável de neurónios interligados entre si (aliás o próprio nome se pode considerar baseado nos cérebros animais reais, que possuem um número imenso de neurónios e de ligações entre eles). A aprendizagem é realizada pela apresentação de um conjunto de experiências de ensino (num exemplo muito simples com a apresentação de 37º de temperatura e a pressão arterial de 12/7,5 o “professor” deveria ao mesmo tempo apresentar a classificação de saída: “indivíduo são”). O que é interessante é que continuando a apresentar experiências diferentes, os parâmetros internos dos neurónios vão sendo modificados de modo a “aprender” o que lhe é mostrado, permitindo à rede neuronal generalizar, fornecendo respostas coerentes para situações não ensinadas (claro que esta capacidade vai depender do número diferente de experiências na fase de ensino). Ainda mais interessante é o facto de estes dois paradigmas (redes neuronais e lógica difusa) poderem ser utilizados em conjunto, de modo a obter um sistema “Neuro-Difuso” que tenha as potencialidades de ambos, isto é, a aprendizagem/generalização das redes neuronais e a capacidade de raciocínio qualitativo da lógica difusa! Dizendo de outro modo podem obter-se sistemas que raciocinem de uma maneira idêntica aos animais (qualitativamente) e que podem aprender com a experiência.

Nestes sistemas existe então sempre uma fase de ensino, que pode ser mais ou menos rápida, durante a qual se realiza uma adaptação dos parâmetros internos à realidade que vai sendo apresentada, seguida de uma fase de utilização ou aplicação na qual o sistema raciocina, isto é, dá respostas perante as entradas que lhe vão sendo apresentadas.

Em relação ao último paradigma acima mencionado (isto é, baseado na evolução) pode dizer-se que se compara mais com o que na natureza acontece a uma população que vai evoluindo no tempo do que à aprendizagem num só indivíduo.

Algoritmos homenageiam Darwin

 

É nos Algoritmos Genéticos que mais usualmente se pode encontrar a implementação deste paradigma. É conveniente também realçar o facto do processo de “aprendizagem em populações” ou evolução das mesmas ser mais lento (por ser muito mais pesado em termos computacionais - tal como na natureza as escalas temporais são completamente diferentes na aprendizagem individual ou na evolução de uma espécie).

O problema a tratar é normalmente colocado sob a forma de uma optimização, ou seja o de encontrar uma solução sujeita a várias condições mas que seja “boa” ou “óptima” sob algum ponto de vista (na realidade nos problemas muito complexos nunca se poderá ter a certeza que a solução encontrada é “óptima” no sentido absoluto, apenas que o é relativamente à parte da realidade que o algoritmo tratou!). Estes algoritmos são basicamente mecanismos de procura baseados na selecção natural, na genética e na evolução. Tal como nos sistemas vivos, eles actuam em “cromossomas” que, no contexto destes algoritmos, não são mais que codificações (utilizando 0´s e 1´s) de possíveis soluções para o problema. Por exemplo se o que se procura for a melhor combinação de pesos (em quilos) para uma determinada mistura de dois componentes, uma codificação poderia ser 0110 1111, em que a primeira metade da mesma representaria 6 Kg para o primeiro componente e a segunda metade 15 kg para o segundo.

Um algoritmo genérico consiste basicamente nas etapas seguintes:

- Gerar uma população inicial de cromossomas e escolher uma função (critério) que permita avaliar o comportamento de cada, conforme o problema em causa.

- Avaliar os indivíduos da população segundo o critério definido (por exemplo: a mistura mais consistente, no exemplo acima).

- Criar uma nova população de indivíduos. Para tal seleccionam-se alguns indivíduos da actual geração utilizando a função acima mencionada. Alguns destes indivíduos podem manter-se na geração seguinte, outros utilizados para reprodução originando “filhos” cujos cromossomas sejam misturas dos “pais”. Por exemplo, se um dos pais fosse o acima mencionado (0110 1111) e o outro fosse 1001 1011 os filhos poderiam ser:

0110 1011 (mistura da primeira parte do primeiro com a segunda do segundo) e 1001 1111. Podem também originar-se novos indivíduos (normalmente numa percentagem pequena) por mutação (alteração aleatória de bits). Por exemplo uma possível mutação do primeiro dos indivíduos acima citados poderia ser 0100 1111 (por alteração do terceiro bit).

- Eliminar alguns elementos ( os menos aptos, segundo a função de avaliação) da geração inicial para criar espaço para os novos (morte).

- Inserir os novos elementos, formando assim a nova geração.

- Repetir todo o processo a partir da segunda etapa até se atingir uma população que contenha indivíduos que satisfaçam o pretendido.

Este algoritmo pode ter muitas variantes no processo de selecção (por exemplo conservar-se uma pequena percentagem de indivíduos com má avaliação, mas que podem mais tarde – noutras gerações – vir a ser úteis).

Embora as aplicações sejam inúmeras (essencialmente em problemas de grande complexidade em que os outros métodos mostram dificuldades) não resisto, por algumas implicações filosóficas (ou religiosas) a relatar os resultados obtidos e publicados numa conferência internacional da especialidade.

Imagine-se que se pretende obter um indivíduo artificial (apenas existente no computador, mas que poderá ser visualizado no monitor) cujo objectivo seja o de conseguir “comida” (comida esta que também é artificial e colocada a meio do monitor). Para simplificar um pouco a complexidade do problema pode restringir-se cada indivíduo a um conjunto de “segmentos de recta” articulados em “eixos”, não havendo restrições muito grandes em relação a dimensões e número desses segmentos e eixos. Se forem também utilizadas algumas leis básicas da física cada indivíduo pode atingir a “comida” por contacto directo ou por deslocação até ao local onde ela se encontra ou movendo alguns dos seus segmentos (“braços”) de modo a atingir o objectivo. Para tornar o problema mais próximo da realidade um determinado indivíduo é colocado em competição directa com outro, ganhando o que conseguir primeiro atingir a “comida”. Podemos começar com uma população de indivíduos, cada um deles gerado aleatoriamente (no computador, as diversas componentes de cada indivíduo serão obviamente codificadas com uma série de bits – 0’s e 1’s). Pois bem, ao fim de um determinado número de gerações, os indivíduos obtidos eram os mais variados, mas de entre eles faziam parte alguns que lembravam fortemente as silhuetas de mamíferos existentes! Repare-se que todo o processo é aleatório desde o início, e que apenas a selecção, a reprodução e mutação estiveram envolvidas; mais nenhuma interferência do cientista ou programador foi utilizada! Interessante? Assim o devia achar Darwin.

Na prática qualquer destes três paradigmas (Lógica Difusa, Redes Neuronais e Algoritmos Genéticos) poder ser associado a qualquer dos outros (como no caso das redes Neuronais Difusas), utilizando o que de melhor há em cada e potenciando assim as capacidades de cada um.

Finalmente é de realçar o facto de qualquer destes paradigmas estar fortemente influenciado pela observação que fazemos dos fenómenos naturais, quer seja o modo como os seres evoluem, como os seus cérebros são constituídos ou a complexidade e incerteza das suas formas de aprendizagem e raciocínio.

José Alberto Tomé

Reedição de artigo publicado na comuna nº13

 

A Comuna 33 e 34

A Comuna 34 capa

A Comuna 34 (II semestre 2015) "Luta social e crise política no Brasil"EditorialISSUUPDF

 capa A Comuna 33 Feminismo em Acao

A Comuna 33 (I semestre 2015) "Feminismo em Ação"ISSUU | PDF | Revistas anteriores

 

Karl Marx

 

 
 

Pesquisa


Newsletter A Comuna