julho 17, 2007

Uma Experiência Computacional

[«] No decorrer da minha investigação (sem qualquer componente biológica ou neurológica mas apenas computacional) encontrei uma forma de executar computação simbólica sobre um certo modelo de redes neuronais artificiais. Ou seja, a partir de um algoritmo especificado tradicionalmente numa linguagem de programação, existe uma rede neuronal capaz de executar, dado os argumentos iniciais, a computação correspondente. Houve aqui a necessidade de lidar - e resolver - um dilema: a maioria dos algoritmos são descritos num formato sequencial (faz A, depois faz B, se C é verdade volta a A...) enquanto uma rede neuronal é uma estrutura massivamente paralela (todos os neurónios executam ao mesmo tempo). Como conciliar estes dois paradigmas tão díspares? Para resolver esta questão estabeleci módulos relativamente autónomos, capazes de comunicar por canais bem definidos e cuja execução era controlada por um mecanismo de sincronização. Ou seja, os módulos restringiam o potencial do modelo da rede para que exibissem a propriedade de poder executar algoritmos simbólicos (i.e., onde o fluxo da informação e a memória usada possuem uma atribuição semântica bem definida). Assim, sobre o substrato neuronal cuja flexibilidade computacional é imensa, passou a ser executado uma máquina virtual, mais restrita, mas com a vantagem de poder executar tarefas bem definidas, sequenciais ou com um paralelismo controlado, e especificadas por terceiros. Dito isto, confesso a minha vontade de reflectir esta experiência nos problemas aqui referidos sobre a distinção cérebro-mente. Esta abordagem do trabalho não foi influenciada pelo modelo modular que actualmente atribuímos ao cérebro. Mas, do ponto de vista da engenharia, é uma solução natural que surge múltiplas vezes: dividir para controlar, comunicar por relativamente poucos canais e manter o «módulo» o mais opaco possível aos outros módulos. Como o resto, esta é uma abordagem a um modelo que talvez imite a solução encontrada pela Evolução para este ramo específico da vida na Terra. Como alguns cientistas cognitivos dizem: Reverse engineering the brain to engineer the mind.

3 comentários:

Kamaroonis disse...

Já estou fora disso há bastante tempo, mas segundo me lembro as redes neuronais eram construidas a partir de camadas de neurónios, cada camada reagia aos sinais da camada anterior e no final o conjunto tendia para um estado "estacionário" que corresponderia à solução relativa ao estímulo (sinais) de entrada.
Lembro-me também que havia modelos que permitiam propagar "para trás" resultados de camadas posteriores, enriquecendo assim a capacidade computacional da rede...
A minha pergunta é, quando falaste de "canais" e "módulos" estes são objectos exteriores à rede, que a restringem de alguma forma, ou são adicionados à dita?

João Neto disse...

Esta rede é recorrente, ou seja, tem ciclos que realimentam neurónios previamente activados. Em relação aos canais e módulos eles são conceitos que relatam certas características das redes, não são elementos externos. Se quiseres, posso dar-te mais informação via email.

Kamaroonis disse...

MANDA!