Saltar al contenido

Introducción a las redes neuronales

30 septiembre 2020
| Bloque de Anuncios |

¿Qué es mejor: el ordenador o el cerebro? Pregúntele a la mayoría de la gente si quieren un cerebro como una computadora y probablemente se entusiasmarían con la oportunidad. Pero mira el tipo de trabajo que los científicos han estado haciendo en las últimas dos décadas y encontrarás que muchos de ellos han estado tratando de hacer sus computadoras más como cerebros!

¿Cómo? Con la ayuda de las redes neuronales – programas de ordenador ensamblados a partir de cientos, miles o millones de células cerebrales artificiales que aprenden y se comportan de una manera notablemente similar a los cerebros humanos. ¿Qué son exactamente las redes neuronales? ¿Cómo funcionan? Echemos un vistazo más de cerca!

Cerebro vs Computadora

A menudo se oye a la gente comparar el cerebro humano y el ordenador electrónico y, a primera vista, tienen cosas en común. Un cerebro típico contiene algo así como 100 mil millones de células minúsculas llamadas neuronas (nadie sabe exactamente cuántas hay y se estima que van de unos 50 mil millones a hasta 500 mil millones). Cada neurona está formada por un cuerpo celular (la masa central de la célula) con una serie de conexiones que salen de ella: numerosas dendritas (las entradas de la célula que llevan información hacia el cuerpo celular) y un solo axón (la salida de la célula que lleva información).

Las neuronas son tan pequeñas que podrías empaquetar unos 100 de sus cuerpos celulares en un solo milímetro. (También vale la pena señalar, brevemente de paso, que las neuronas constituyen sólo el 10-50 por ciento de todas las células del cerebro; el resto son células gliales, también llamadas neuroglia, que apoyan y protegen a las neuronas y las alimentan con energía que les permite trabajar y crecer). Dentro de un ordenador, el equivalente a una célula cerebral es un diminuto dispositivo de conmutación nanoscópico llamado transistor.

| Bloque de Anuncios |

Los últimos microprocesadores de última generación (ordenadores de un solo chip) contienen más de 30 mil millones de transistores; incluso un microprocesador básico Pentium de hace unos 20 años tenía unos 50 millones de transistores, ¡todos ellos empaquetados en un circuito integrado de sólo 25 mm cuadrados (más pequeño que un sello de correos)!

Ahí es donde la comparación entre los ordenadores y los cerebros comienza y termina, porque las dos cosas son completamente diferentes. No es sólo que los ordenadores sean frías cajas de metal llenas de números binarios, mientras que los cerebros son cálidos, vivos, cosas llenas de pensamientos, sentimientos y recuerdos. La verdadera diferencia es que los ordenadores y los cerebros «piensan» de formas completamente diferentes. Los transistores de una computadora están conectados en cadenas seriales relativamente simples (cada uno está conectado a tal vez dos o tres otros en arreglos básicos conocidos como puertas lógicas), mientras que las neuronas de un cerebro están densamente interconectadas en formas complejas y paralelas (cada una está conectada a tal vez 10.000 de sus vecinas).

Esta diferencia estructural esencial entre las computadoras (con tal vez unos pocos cientos de millones de transistores conectados de una manera relativamente simple) y los cerebros (tal vez de 10 a 100 veces más células cerebrales conectadas de maneras más ricas y complejas) es lo que hace que «piensen» de manera muy diferente. Las computadoras están perfectamente diseñadas para almacenar grandes cantidades de información sin sentido (para ellos) y reorganizarla de cualquier número de maneras de acuerdo con instrucciones precisas (programas) que les damos por adelantado.

Los cerebros, por otro lado, aprenden lentamente, por un método más rotundo, a menudo tardando meses o años en dar sentido completo a algo realmente complejo. Pero, a diferencia de los ordenadores, pueden reunir información espontáneamente de nuevas y sorprendentes maneras -de ahí viene la creatividad humana de un Beethoven o un Shakespeare- reconociendo patrones originales, forjando conexiones y viendo las cosas que han aprendido de una manera completamente diferente.

¿No sería genial si las computadoras fueran más como cerebros? ¡Ahí es donde entran las redes neuronales!

¿Qué es una red neuronal?

La idea básica detrás de una red neuronal es simular (copiar de forma simplificada pero razonablemente fiel) muchas células cerebrales densamente interconectadas dentro de un ordenador para que pueda aprender cosas, reconocer patrones y tomar decisiones de forma humana. Lo sorprendente de una red neuronal es que no tienes que programarla para que aprenda explícitamente: ¡aprende por sí misma, como un cerebro!

Pero no es un cerebro. Es importante señalar que las redes neuronales son (generalmente) simulaciones de software: se hacen programando computadoras muy ordinarias, trabajando de manera muy tradicional con sus transistores ordinarios y puertas lógicas conectadas en serie, para que se comporten como si estuvieran construidas a partir de miles de millones de células cerebrales altamente interconectadas trabajando en paralelo. Nadie ha intentado todavía construir una computadora conectando transistores en una estructura densamente paralela exactamente como el cerebro humano.

En otras palabras, una red neuronal difiere de un cerebro humano exactamente de la misma manera que un modelo informático del clima difiere de las nubes reales, los copos de nieve o el sol. Las simulaciones informáticas son sólo colecciones de variables algebraicas y ecuaciones matemáticas que las vinculan entre sí (en otras palabras, números almacenados en cajas cuyos valores cambian constantemente). No significan nada en absoluto para los ordenadores que funcionan dentro, sólo para la gente que los programa.

¿Como aprende una Red Neuronal?

La información fluye a través de una red neuronal de dos maneras. Cuando está aprendiendo (siendo entrenada) o funcionando normalmente (después de ser entrenada), las pautas de información se introducen en la red a través de las unidades de entrada, que activan las capas de unidades ocultas, y éstas a su vez llegan a las unidades de salida. Este diseño común se denomina red de alimentación. No todas las unidades «disparan» todo el tiempo. Cada unidad recibe entradas de las unidades de su izquierda, y las entradas se multiplican por el peso de las conexiones que recorren. Cada unidad suma todas las entradas que recibe de esta manera y (en el tipo más simple de red) si la suma es más de un cierto valor umbral, la unidad «dispara» y activa las unidades a las que está conectada (las de su derecha).

Para que una red neuronal aprenda, tiene que haber un elemento de retroalimentación involucrado, de la misma manera que los niños aprenden cuando se les dice lo que hacen bien o mal. De hecho, todos usamos la retroalimentación, todo el tiempo. Recuerden cuando aprendieron a jugar un juego como los bolos de diez bolos. Cuando cogías la bola pesada y la hacías rodar por el callejón, tu cerebro observaba la rapidez con la que se movía la bola y la línea que seguía, y observaba lo cerca que estabas de derribar los bolos.

La siguiente vez que fue tu turno, recordaste lo que habías hecho mal antes, modificaste tus movimientos en consecuencia y, con suerte, lanzaste la bola un poco mejor. Así que usaste la retroalimentación para comparar el resultado que querías con lo que realmente ocurrió, averiguaste la diferencia entre los dos, y la usaste para cambiar lo que hiciste la próxima vez («Necesito lanzar más fuerte», «Necesito rodar un poco más a la izquierda», «Necesito soltar más tarde», y así sucesivamente). Cuanto mayor fuera la diferencia entre el resultado previsto y el real, más radicalmente habrías alterado tus movimientos.

| Bloque de Anuncios |