¿Qué es mejor, un ordenador o un cerebro? Pregunta a cualquier si quieren tener un cerebro parecido a un ordenador y recibirás toda clase de respuestas, aunque muchas de ellas serán afirmativas. Sin embargo, si nos fijamos en la mayoría de las investigaciones que se han hecho en las últimas décadas, veremos que muchas se han centrado en hacer que los ordenadores sean más parecidos a nuestros cerebros. ¿Cómo hacer esto? Con la ayuda de redes neuronales – programas de ordenador unidos por miles o millones de células artificiales que aprender y se comportan de forma parecida al cerebro humano.
¿Qué son exactamente las redes neuronales? ¿Cómo funcionan? Se suele escuchar como la gente compara el cerebro humano y los ordenadores, y lo cierto es que tiene cosas en común. El cerebro contiene millones de pequeñas células llamadas neuronas. Cada una de estas diminutas células tiene un número de conexiones que forman una red con otras neuronas.
Dentro de un ordenador, el equivalente a una de estas células cerebrales es un pequeño dispositivo conmutador llamado transistor. Dentro de un microprocesador tenemos una gran cantidad de transistores, donde cada vez son más pequeños y perfeccionados. Aquí es donde la comparación entre ordenadores y cerebros empieza y acaba. La gran diferencia es que los ordenadores y los cerebros “piensan” de maneras totalmente diferentes.
Los transistores en un ordenador
Los transistores en un ordenador están enlazados de una manera relativamente simple en cadena – cada uno conectado otros dos o tres en una estructura básica- mientras que las neuronas en el cerebro están densamente conectadas en complejas redes. Dicho de otra manera, una neurona puede tener miles de conexiones con otras células cerebrales.
La idea básica detrás de una red neuronal es simular de una manera simple pero razonablemente fiable, una interconexión de neuronas en un cerebro. De esta manera el ordenador podría aprender cosas, reconocer patrones y tomar ciertas decisiones como una persona haría. Lo más increíble de las redes neuronales es que no hace falta programarlas para aprender ciertas cosas, ya que aprenden por si mismas… como un cerebro.
Sin embargo, no son cerebros. Hay que tener en cuenta que las redes neuronales son normalmente programas de simulación. Se hacen programando ordenadores normales con transistores para que parezca que tienen miles de conexiones tal como tiene el cerebro. Nadie ha intentado aun construir un ordenador enlazando transistores de una forma tan densa como las neuronas hacen. Estas simulaciones son solo grupos de variables y ecuaciones matemáticas haciendo las uniones.
Las redes neuronales construidas de esta manera se suelen llamar redes neuronales artificiales para diferenciarlas de las redes neuronales reales que podemos encontrar en nuestros cerebros. Ahora que sabemos lo que son estas redes ¿De que se componen y como consiguen aprender cosas?
Composición de una red neuronal
Una red neuronal consiste de unas cuantas docenas, miles o incluso millones de neuronas artificiales llamadas unidades, las cuales están organizadas en una serie de capas. Cada una se conecta a las capas que tiene al lado. Algunas de ellas se conocen como unidades de entrada, y están diseñadas por recibir varias formas de información del mundo exterior, de la que la red tiene que aprender y procesar.
Otras unidades se encuentran al otro lado de la red y registra como se responde a la información que está aprendiendo. Estas se conocen como unidades de salida. Entre las unidades de salida y de entrada hay una o más capas de unidades escondidas, las cuales todas juntas formas principalmente todo el cerebro artificial. La mayoría de las redes neuronales están totalmente conectadas, lo cual significa que cada unidad oculta y cada unidad de salida están conectas con las que tienen al lado.
Las conexiones entre una unidad y otra son representadas por un número llamado peso, el cual puede ser tanto positivo o negativo. Cuanto más alto sea el peso, mayor influencia tendrá una unidad sobre la otra.
La información fluye a través de una red neuronal de dos maneras. Cuando está aprendiendo (se está formando) u operando normalmente (ya ha aprendido), los patrones de información son alimentados en la red por medio de las unidades de entrada. Estas a su vez activan las unidades ocultas que luego llegan a las unidades de salida. No todas las unidades se “disparan” siempre. Cada unidad recibe entradas de sus unidades a su izquierda, y las unidades son multiplicadas por el peso (medida) de las conexiones que atraviesa.
Cada unidad añade todo la información de entrada que recibe en su camino, y si la suma se pasa de un cierto umbral, la unidad se “dispara” y activa la unidad a la que va conectada (los que tiene a la derecha). Para que una de estas redes pueda aprender, tiene que haber un elemento “educativo” – de la misma manera que los niños saben si algo está bien o mal al decírselo. De hecho, usamos esta tipo de aprendizaje casi siempre.
Como aprenden este tipo de redes
Todos aprendemos primero cometiendo fallos y luego puliendo los errores hasta que lo conseguimos hacer bien. Lo conseguimos con la información que vamos consiguiendo para hacer comparaciones de lo que queremos hacer y lo que ha pasado. Con estas valoraciones, se puede seguir intentando haciendo ciertos cambios para conseguir el objetivo. Las redes neuronales piensan de la misma manera.
Estas redes comparan la salida de información que se produce con la que se quería producir, y usa esta diferencia para calibrar los pesos de las conexiones entre las unidades de la red. Con esto, se consigue que la red vaya aprendiendo y reduciendo la diferencia entre las salida real y la que se quiere conseguir. Finalmente se consigue la salida de información que se quería.
Las aplicaciones que pueden tener estas redes son muchas. Por ejemplo, en el mundo de la aviación se puede aplicar a los pilotos automáticos al leer las señales de los instrumentos y tomando las acciones necesarias para un vuelo completamente seguro. También se ha pensado usarlas para el control de calidad de productos. Con la información administrada a la red, puede hacer un preciso análisis de los productos y así rechazar o aceptar los que estén en línea con lo pensado.
También hay aplicaciones en la seguridad. Se piensa que puede incrementar mucho la seguridad con el uso de las tarjetas de crédito en cajeros por ejemplo. Por supuesto, esto solo son algunas de las cosas con las que se podría usar. También tiene aplicaciones en el mundo de los radares, la telefonía móvil, programas de reconocimiento de voz y todo tipo de software que se nos pueda ocurrir. Las redes neuronales se irán haciendo más humanas con los años, o al menos eso dicen los expertos. Habrá que esperar un poco para verlo.