Los límites de la computabilidad (II).Las redes neuronales

Publicado: 25 mayo 2009 en Filosofía de la ciencia, Tecnología
Etiquetas:, , , , , ,

Si Mahoma no va a la montaña, traigamos la montaña a Mahoma. Es muy difícil programar un software capaz de imitar el pensamiento humano (ya hemos hablado aquí de las dificultades de crear una máquina que pasara el test de Turing) pero ¿y si cambiamos de estrategia, y en vez de preocuparnos por el software, lo hacemos por el hardware?. A fin de cuentas, los cerebros humanos no tienen programadores ni un software “explícito” (estaría bien tenerlo. Me imagino un “Bienvenidos a Windows Human 2009”). No parece descabellado hacer algo físico que se parezca lo más posible un cerebro y luego ya veremos (este ya veremos podría ser un proceso de aprendizaje de varios años emulando la educación de un bebé, por ejemplo).  Además, este modo de actuar parece más acorde con el monismo psico-físico reinante en la actual teoría de la mente ya que la separación software/hardware huele demasiado a dualismo (la mente no puede vivir sin cuerpo, amigos). Bien, ¿y cómo lo hacemos?

En primer lugar, sabemos más o menos como funciona una neurona (a pesar de que casi no sepamos nada de cuando muchas neuronas trabajan en conjunto, que es de lo que se trata). Es un organismo relativamente simple y, lo más importante, parece una unidad discreta, es decir, es computable.  Funciona a través de pulsos eléctricos y, a pesar de que libera neurotrasmisores químicos de un modo, en ocasiones, muy complejo, no parece imposible emular su funcionamiento. No es entonces descabellado pensar en copiar físicamente el funcionamiento neuronal a chips de silicio. Hans Moravec y Raymond Kurzweil pensaron que si fabricáramos un gran circuito electrónico con las mismas conexiones que nuestro cerebro, podríamos sustituir uno por otro. Supongamos que he tenido un accidente y me he dañado una zona del cerebro. Podríamos llegar y cambiarla por una réplica electrónica que tuviera exactamente la misma estructura de conexiones que la mía. Pensemos que poco a poco continuamos cambiando partes orgánicas por electrónicas hasta que todo mi cerebro fuera electrónico… ¿sería yo un robot o un ser humano?

Neurona rodeada por Máquinas de Von Neumann

Pero dejando cuestiones conceptuales, lo importante es que esta forma de actuar parece un buen atajo ya que nos quitamos todo el problema del software. No necesitamos a programadores, sólo a ingenieros. Sin embargo, pronto empiezan los problemas (hacer trampas siempre se paga).

En primer lugar, en el cerebro humano hay más de cien mil millones de neuronas. Como argumenta Felix Ares, si queremos replicar un cerebro completo en un momento concreto de su historia tendremos que saber en qué estado estaba cada una de ellas. Si pudiéramos identificar la posición y el estado de cada neurona en un segundo mediante sistemas de neuroimagen, para saber el estado de todas ellas necesitaríamos 3.171 años.  Y esto sólo para empezar. Ahora tendríamos que saber las combinaciones input /output de cada neurona, es decir, cómo responde a cada uno de los impulsos que recibe. Cada neurona tiene, por promedio, unas 1.000 entradas y una salida… (ya suena a excesivo). Bien, pues con paciencia, comencemos a ir probando. ¿Qué pasa cuando se enciende la entrada uno? ¿Y la uno y la dos? ¿y la uno y la tres? ¿y la dos y la tres?… Para calcular esto de cada una de las cien mil millones de neuronas del cerebro necesitaríamos unas cuantas veces la edad entera del Universo.

Vale, pensemos de otra manera. No queremos copiar un cerebro en un momento concreto, sino sólo crear una nuevo. No nos importa entonces descuidar el estado inicial de las neuronas (bueno, no del todo, alguno habrá que poner…).  Lo importante será que aprenda como lo hacemos los seres humanos. ¿Cómo aprende una neurona? La clave nos la dio el biopsicólogo canadiense Donald Hebb.  La conocida como regla de Hebb dice así: si hay dos neuronas, una A y otra B, tal que A excita repetidas veces a B, se produce un cambio en ambas células tal que se fortalece la conexión entre ambas. O dicho a lo Lamarck “el uso desarrolla la conexión neuronal y el desuso la atrofía”. Así podemos explicar algunas cosas, como por ejemplo, por qué la repetición hace que yo me aprenda de memoria una fecha (si bien, a mi juicio, decir esto es una extrapolación no suficientemente fundada. Creo que la cosa es bastante más compleja). El caso es que, con la regla de Hebb, podemos hacer sistemas de redes neuronales que aprendan. Y esa es la titánica tarea de la Inteligencia Artificial actual: hay que pensar cómo enseñar y qué enseñar. De nuevo, han de aliarse disciplinas aparentemente dispares: neurología y pedagogía, lo cual me parece magnífico (de los matrimonios más extraños salen los hijos más bellos). Así, ya tenemos a CB2, diseñado por los ingenieros de la Universidad de Osaka.

No obstante,  se me ocurre la principal objeción teórica a todo este asunto de la ingeniería inversa. Si decimos que hay grandes problemas teóricos para crear una máquina que pasara el test de Turing quizá porque el lenguaje o el pensamiento no sean enteramente computables… ¿No parece contradictorio que de algo computable como las redes neuronales (si es que realmente lo son) surja algo que quizá tiene elementos no computables (si es que existe o no algo no computable)? ¿Podría lo no computable emerger de lo computable?

Esta entrada continua a: Los límites de la computabilidad (I)  ¿Qué es una máquina de Turing?

Anuncios
comentarios
  1. Creo que se te olvida un abordaje, en mi opinión, bastante prometedor, el que Jeff Hawkins describe en “On intelligence”:

    http://www.onintelligence.org/

  2. Josei dice:

    “(estaría bien tenerlo. Me imagino un “Bienvenidos a Windows Human 2009″)”

    Nooooooooooooo, que ibamos a rendir de forma desastrosa!!!! Jajajaja.

  3. Hola Cambio.

    Sí, ya te leí hablando de él en el Blog de José Luis. La verdad es que no sé nada de él y en el enlace que me has dado sólo se vende el libro. ¿Sabes de algún sitio en la red en donde ser explique su planteamiento o de algún artículo suyo que pueda encontrar?

  4. Hola Josei.

    Sí, ja, ja. Supongo que si nuestro software fuera Windows tendríamos que venir con el botón Reset incorporado.

    Un saludo.

  5. Pues precisamente hoy en el blog publico una reseña de Hawkins, así que nada…a mandar! 🙂

  6. […] Los límites de la computabilidad (II).Las redes neuronalesvonneumannmachine.wordpress.com/2009/05/25/los-limites-de-la… por s0phisma hace pocos segundos […]

  7. Raster dice:

    Una vez me explicaron que un conjunto de neuronas es computable si trabajan con un reloj común. En cuanto dejan de estar sincronizadas, el resultado no tiene por qué ser computable. Eso explica por qué un conjunto de neuronas emuladas en un ordenador no tiene por qué funcionar igual que un conjunto de neuronas reales.

  8. Hola Raster.

    No comprendo qué quieres decir. Que algo sea computable quiere decir que se puede simular su funcionamiento mediante un conjunto de instrucciones simples (un algoritmo). El hecho de que unas neuronas no funcionaran sincronizadas, no implicaría que no pudiéramos simular su funcionamiento… o eso creo… ¿Podrías explicarlo más?

  9. Santiago:

    Una pregunta. Si una neurona recibe de media mil entradas y tiene una única salida (quiere decir que reacciona emitiendo o no un impulso), esto quiere decir que esa salida la reciben de media unas mil neuronas. Así, cuando A excita a B, lo hace también a otros cientos de neuronas, supongo que todas ellas seguirán la misma regla de Hebb. ¿Es así? Si lo es, la regla es más complicada de lo que parece.

  10. Hola José Luis

    No todas las neuronas funcionan siguiendo esa regla, sólo las llamadas neuronas o sinapsis de Hebb. No obstante, creo que eso es irrelevante para lo que preguntas. La cosa es como dices: una estimulación a una neurona propicia un efecto en cadena que afectará exponencialmente a muchísimas más, creando redes de de estímulos y de refuerzos de conexiones muy complejas, auténticas tormentas cerebrales. Sí, la regla es más complicada y potente de lo que parece.

  11. Información Bitacoras.com…

    Valora en Bitacoras.com: Si Mahoma no va a la montaña, traigamos la montaña a Mahoma. Es muy difícil programar un software capaz de imitar el pensamiento humano (ya hemos hablado aquí de las dificultades de crear una máquina que pasara el test de Tur…..

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s