abril 01, 2004

Maquinas inteligentes II

Witgenstein disse, correctamente, que a linguagem só pode ser entendida como resultado de um produto cultural e que, em si mesma, não tem significado. Ou seja, se pegarmos nas palavras de um texto como se fossem símbolos, e delas tentarmos extrair relações, como por exemplo identificar o verbo, qual a probabilidade de vir um “a” a seguir a um “t”, etc, toda essa informação nada nos diz sobre o significado do texto. Os símbolos não têm significado em si mesmos, pois são apenas a representação de uma realidade.


Por exemplo, a palavra “chave” pode ter vários significados como abrir, dar acesso, descodificar. O significado adequado só faz sentido dentro do contexto certo. Uma máquina processa símbolos (ou palavras) através de correlações ou tentando extrair regras que permitam relacionar uns símbolos com outros. Mas, a maquina é incapaz de perceber o significado de frases como “O pôr-do-sol iluminou a minha esperança.”? O que é esperança para uma máquina que não sabe o que é estar triste ou desesperada?

No último texto foi estabelecido que as máquinas actuais apenas cumprem cegamente as regras introduzidas pelos seus programadores. Neste irei apresentar algumas abordagens originais que se afastam deste paradigma. Irei também propor algumas ideias que nos permitam ir mais além.
Existem actualmente duas abordagens onde o computador, em certa medida, não é uma mera ferramenta da inteligência humana. São elas as Redes Neuronais Artificiais (ANN) e a Computação Evolutiva (CE). Ambas seguem o mesmo paradigma de aprendizagem automática e são capazes de resolver autonomamente tarefas complexas, nalguns casos apresentarem resultados a que se pode atribuir o adjectivo de criatividade.

Redes Neuronais
As redes neuronais são dispositivos inspirados no funcionamento do cérebro humano, em especial, na sua capacidade de processamento de informação em paralelo. Ao contrário de um computador de executa uma tarefa de cada vez a velocidades elevadíssimas, o cérebro processa milhares de sinais simultaneamente mas a velocidades muito mais baixas. No fundo compensa a velocidade com a quantidade.


Estas redes são usadas na engenharia para “aprenderem” mapas que relacionem entradas com saídas (input / output) que lhe sejam apresentados num conjunto de aprendizagem. Estas redes, muito mais simples que as existentes no cérebro, são compostas de várias camadas de neurónios interligados por centenas ou milhares de ligações com determinados pesos. Durante o treino, onde são apresentados uma série de pares input (à primeira camada) / output (à última camada), a rede aprende ajustando as ligações entre os vários neurónios de forma a que as saídas da rede se aproximem cada vez mais do output desejado. As redes não passam de máquinas associativas que, como o cérebro de quase todos os animais, são capazes de associar um estímulo a uma resposta desejada.
Alguns exemplos. Avaliação de imóveis: aqui o input pode ser um conjunto de dados contendo a localização e descrição de um imóvel e o output o seu preço de venda, actual ou futuro. Depois de convenientemente treinada a rede pode prever, com uma exactidão superior a um especialista humano, o preço correcto de venda de qualquer imóvel desconhecido que lhe seja inquirido. Temos aqui um verdadeiro indício do que pode ser uma máquina capaz de aprender.

As redes neuronais podem ser usadas para inúmeras tarefas complexas que requeiram aprendizagem. Por exemplo, coordenar os motores de um robot para dar pontapé num objecto e acertar no alvo. Os input aqui podem ser a posição do robot e a força, velocidade e direcção do dispositivo que dá o pontapé. A rede fica treinada, quando, para várias posições, em média a distância do ponto de embate ao centro do alvo é menor que um certo valor. As redes neuronais são usadas também para reconhecimento automático de caracteres escritos (nos correios por exemplo), reconhecimento imagens, voz até a estrutura das proteínas.



Porém, estas redes estão muito longe daquilo que o nosso cérebro é capaz: i) Embora resolvam problemas difíceis ninguém consegue perceber como o fazem; ii) de cada vez que temos um novo problema o treino tem de se reiniciar do zero, mesmo para problemas muito semelhantes (por exemplo, reconhecer carros e reconhecer jipes); iii) não são capazes de fazer a dedução lógica mais simples como, se A implica B e B implica C então A implica C; iv) a informação adquirida não está estruturada mas distribuída pelos pesos que ligam os neurónios, assim as redes são incapazes de construir hipóteses ou organizar objectos ou conceitos; v) só aprendem aquilo que lhe é dado, se as treinamos para reconhecer vacas e lhe apresentarmos um cão, a rede vai dizer que se trata de uma vaca pequena.

No próximo artigo irei falar sobre a Computação Evolutiva.

Posted by asv133 at abril 1, 2004 10:39 PM
Comments
Interessante... É curiosa a aplicação das redes neuronais aos robots, porque isso leva-nos a extrapolar uma coisa interessante: em 2040 (+coisa, -coisa) está previsto o RoboCup, que é uma iniciativa internacional, em que se defrontarão os melhores jogadores de futebol do Mundo com uma equipa robótica. Provavelmente, utilizarão em algum ponto da sua concepção, redes neuronais. Mas pergunto-me: Será que mesmo com esse avanço todo tecnológico, em que os robots têm a capacidade de aprender, terão uma propriedade que o ser humano possui: a improvisação? Acho que estes "sistemas" terão realmente a sua funcionalidade e terão uma apliclação mt vasta, até em campos como a medicina, o direito, a economia, etc. Mas até que ponto é que estamos a tentar criar substitutos par ao homem?? Fica a questão. Um abraço para si! Júlio César Posted by: Júlio César Pinho at abril 2, 2004 02:48 PM
Comentário









Lembrar-se de mim?