domingo, 15 de mayo de 2011

El cerebro tiene una capacidad de memoria de 500 petabytes y de procesamiento de 1 exaflops

¿Cómo se puede llegar a las sorprendentes cifras de que la memoria del cerebro es de 500 petabytes y la capacidad de proceso de 1 exaflops? Especulando y realizando múltiples supuestos. El resultado es una estimación que puede estar errada en varios órdenes de magnitud. Expongo el razonamiento para que cada cual saque sus conclusiones.
Grandes números.
La primera estimación es la del número de neuronas en el cerebro. El dato más repetido en la red es 100.000.000.000 (10^11). Considero equivalente cerebro y encéfalo (brain en inglés) y que incluye todas las estructuras dentro del cráneo como el cerebelo y el córtex (que solo representa 1/5 parte del cerebro)
El número de sinapsis es también una estimación. Una neurona puede tener hasta 100.000 sinapsis. La cifra media está entre 5.000 y 10.000. Considero para el cálculo 5.000 sinapsis por neurona.
El número total de sinapsis, por tanto, es de 500.000.000.000.000 (10^14*5).
100.000.000.000 neuronas
500.000.000.000.000 sinapsis
Neuronas Integrate&Fire y neuronas biológicamente realistas.
Las simulaciones utilizan dos tipos de neuronas. La mayoría de ellas usan un modelo Integrate&Fire. Se trata de una neurona sin representación espacial que integra la entrada que proviene de otras neuronas y decide dispararse o no. Es un modelo válido para múltiples casos y el más utilizado. De otro lado están las neuronas biológicamente realistas. Estas usan una representación tridemensional y computan lo que ocurre en cada segmento de la neurona: dendritas, cuerpo y axón. Sus necesidades computacionales son 10.000 veces superiores que las Integrate&Fire.
Estimaciones
El proyecto Blue Brain usa neuronas realistas. Henry Markham estima que la memoria necesaria para simular el cerebro es 500 petabytes y la capacidad de cómputo es de 1 exaflops. Como se verá, esta es la estimación que considero más realista.
Dharmendra S. Modha ha realizado una simulación con neuronas Integrate&Fire de la que se pueden extrapolar datos. Uno de ellos es que necesita 16 bytes por sinapsis para que la simulación sea operativa. Modha habla solo del córtex y de 10.000 sinapsis por neurona. Su predicción es que se necesitan 4 petabytes (4.000.000.000.000.000) de memoria y 1 exaflops (1.000.000.000.000.000.000) de capacidad de proceso. Corregido el dato de memoria, mi primera aproximación es de 8 petabytes:
Se trata de neuronas Integrate&Fire, es decir, de neuronas simplificadas. ¿Podemos simular la expresión de los genes o la proximidad a otras neuronas? No podemos. Dado que las necesidades computacionales son 10.000 mayores en las biológicamente realistas, el cálculo arroja la cifra de: Memoria = 80 exabytes (80.000.000.000.000.000.000). Muy lejos de la estimación de Modha y también de la de Markham (aunque solo 160 veces más). Dado que este último ya usa neuronas realistas, considero válida su cifra de:

Memoria = 500 petabytes (500.000.000.000.000.000)

Es de resaltar que Watson solo usa 500 gigabytes para responder en Jeopardy. 500 gigabytes son 200 millones de páginas de texto (40x60=2.400 caracteres por página). Es decir, la información textual representa una parte mínima del almacenamiento total del cerebro. En la página de información de Watson se sugiere que la capacidad del cerebro está entre 1 y 1000 terabytes, una enorme variabilidad pero aún a mucha distancia de la cifra a la que yo llego.
Siguiendo con la especulación, toca el turno a la capacidad de proceso. El proyecto Blue Brain usa neuronas realistas. En concreto, usa 22 Teraflops (22.000.000.000.000 flops) para computar 10.000 neuronas. Consiguientemente, la capacidad de computación necesaria para el total del cerebro es de: Procesamiento = 220 exaflops (220.000.000.000.000.000.000 flops). Esta cifra de nuevo es mayor que las de Modha y Markham (solo 220 veces) que esta vez coinciden (aunque de forma sorprendente ya que usan dos modelos distintos de neuronas; la explicación mejor es que sus datos, como todo lo que llevas leído es pura especulación). Doy por buena la cifra de ambos:

Procesamiento = 1 exaflops (1.000.000.000.000.000.000 flops)

Las cifras que ofrecen los seguidores de la singularidad de Ray Kurzweil, 10 petaflops, están de nuevo muy lejos de las mías, lo que viene a confirmar que esto es solo un ejercicio y que ante tanta variabilidad, cada cual puede escoger su cifra.



Prefijos del sistema internacional de unidades

Singularidad
Modha

2 comentarios:

  1. Como ejercicio está muy bien, es entretenido hacer estas cosas. Sirve para conocer los límites humanos. Hay gente que se aprende de memoria una gran cantidad de decimales de pi. ¿Pero podrían ponerle nombre a todas las estrellas que hay en el universo y memorizarlas? ¿Y a los planetas que las orbitan? Posiblemente no haya tantas neuronas.

    http://upload.wikimedia.org/wikipedia/commons/b/b6/Earth%27s_Location_in_the_Universe_%28JPEG%29.jpg

    ResponderEliminar
  2. No creo que sea algo tan directo. Calcular la cantidad de memoria que se puede tener en base al número de nueronas y sinapsis.

    Las neuronas que se usan para mover el brazo no tienen nada que ver con la memoria.

    Luego están las técnicas de compresión, pero eso ya sería buscar paralelismos con la informática que no creo que suceda, es decir, el cerebro no guarda ficheros .zip.

    Otro tema es la manera en la que se organiza la información. Los objetos como coche, perro, etc. se construyen juntando objetos con objetos: el coche tiene reudas, puertas, etc. Y cuando objetos son parecidos solo se memorizan las diferencias; no se memorizan dos objetos completamente nunca.

    Y la idea de conectar objetos con objetos se llevada al límite con las relaciones. Comer es una relación: el perro come un hueso, el gato come una sardina.

    Al final puede parecer que tenemos mucha información en la cabeza pero bien organizada no ocupa mucho.

    Esta organización, además de poder aparentar de que se almacena mucha información, permite un acceso más rápido y organizado. De nada serviría tener una gran memoria si se tardase mucho tiempo en acceder a ella.

    ResponderEliminar