Skip to content

Las redes neuronales y su función

redes neuronales

¿Cuál es mejor, la computadora o el cerebro? Pregunte a la mayoría de la gente si quieren un cerebro como una computadora y probablemente saltarán a la oportunidad. Pero mira el tipo de trabajo que los científicos han estado haciendo durante el último par de décadas y verás que muchos de ellos han estado tratando de hacer sus computadoras más como cerebros ¿Cómo? Con la ayuda de redes neuronales, programas de computadora montados de cientos, miles o millones de células cerebrales artificiales que aprenden y se comportan de manera notablemente similar a los cerebros humanos. ¿Qué son exactamente las redes neuronales? ¿Cómo trabajan? ¡Conozcamos un poco más!

¿Cómo cerebros difieren de las computadoras?

A menudo se oye a la gente comparando el cerebro humano y la computadora electrónica y, a primera vista, tienen cosas en común. Un cerebro típico contiene algo así como 100 mil millones de minúsculas células llamadas neuronas (nadie sabe exactamente cuántas hay y estimaciones van de 50 a 500 mil millones). Cada neurona se compone de un cuerpo celular (la masa central de la célula) con un número de conexiones saliendo de él: numerosas dendritas (las entradas de la célula que transporta información hacia el cuerpo de la célula) y un único axón. Las neuronas son tan pequeñas que podrías empacar alrededor de 100 de sus cuerpos celulares en un solo milímetro. (También vale la pena señalar brevemente, de paso, que las neuronas representan sólo el 10 por ciento de todas las células del cerebro, el resto son las células gliales, también llamadas neuroglia, que apoyan y protegen las neuronas y los alimentan con energía que les permite Trabajar y crecer). Dentro de una computadora, el equivalente a una célula cerebral es un dispositivo de conmutación nanoscópicamente pequeño llamado transistor. Los últimos, microprocesadores de vanguardia (computadoras de un solo chip) contienen más de 2 mil millones de transistores; Incluso un microprocesador básico tiene alrededor de 50 millones de transistores, todos empacados en un circuito integrado de sólo 25 mm cuadrados (más pequeño que un sello postal)

Ahí es donde la comparación entre computadoras y cerebros comienza y termina, porque las dos cosas son completamente diferentes. No es sólo que las computadoras son cajas de metal frío rellenas llenas de números binarios, mientras que los cerebros son cálidos, vivos, tienen cosas llenas de pensamientos, sentimientos y recuerdos. La verdadera diferencia es que las computadoras y los cerebros “piensan” de maneras completamente diferentes. Los transistores de una computadora están cableados en cadenas seriales relativamente simples (cada una está conectada a quizás dos o tres en entornos básicos conocidos como puertas lógicas), mientras que las neuronas en un cerebro están densamente interconectadas de maneras complejas y paralelas (cada una es conectado a tal vez 10.000 de sus vecinos).

Esta diferencia estructural esencial entre las computadoras (quizás unos pocos cientos de millones de transistores conectados de una manera relativamente simple) y los cerebros (quizás 10 a 100 veces más células cerebrales conectadas de manera más rica y más compleja) es lo que los hace “pensar” de manera muy diferente. Los ordenadores están perfectamente diseñados para almacenar grandes cantidades de información sin sentido (para ellos) y para reorganizarla de muchas maneras según instrucciones precisas (programas) que les suministramos de antemano. Los cerebros, por otra parte, aprenden lentamente, por un método más rotundo, a menudo toman meses o años para hacer sentido completo de algo realmente complejo. Pero, a diferencia de las computadoras, pueden poner espontáneamente la información en nuevas formas asombrosas, de ahí es donde surge la creatividad humana de un Beethoven o de un Shakespeare,  reconocer patrones originales, forjar conexiones y ver 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 una manera simplificada, pero razonablemente fiel) un montón de células de cerebro densamente interconectadas dentro de una computadora para que pueda obtenerlo para aprender cosas, reconocer patrones y tomar decisiones de una manera humana. Lo asombroso de una red neuronal es que usted no tiene que programarla para aprender explícitamente: aprende por sí misma, al igual que un cerebro.

Pero no es un cerebro. Es importante señalar que las redes neuronales son (generalmente) simulaciones de software: son hechas programando computadoras muy ordinarias, trabajando de manera muy tradicional con sus transistores ordinarios y puertas lógicas conectadas en serie, para comportarse como si estuvieran construidas a partir de miles de millones de células cerebrales altamente interconectadas que trabajan en paralelo. Nadie ha intentado construir una computadora mediante el cableado de transistores en una estructura densamente paralela exactamente igual que 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 tiempo difiere de las nubes reales, los copos de nieve o la luz del sol. Las simulaciones por ordenador son sólo colecciones de variables algebraicas y ecuaciones matemáticas que las unen (es decir, números almacenados en casillas cuyos valores están cambiando constantemente). No significan nada a las computadoras que manejan dentro, sólo a las personas que las programan.

Redes neuronales reales y artificiales

Antes de ir más lejos, también vale la pena señalar alguna jerga. Estrictamente hablando, las redes neurales producidas de esta manera se llaman redes neuronales artificiales (o RNAs) para diferenciarlas de las redes neuronales reales (colecciones de células cerebrales interconectadas) que encontramos dentro de nuestros cerebros. También podríamos ver redes neuronales a las que nos referimos por nombres como máquinas conexionistas (el campo también se llama conexionismo), procesadores distribuidos paralelos (PDP), máquinas de pensamiento, etc.

¿En qué consiste una red neuronal?

Una red neuronal típica tiene algo de unas pocas docenas a cientos, miles o incluso millones de neuronas artificiales llamadas unidades dispuestas en una serie de capas, cada una de las cuales se conecta a las capas de cada lado. Algunos de ellos, conocidos como unidades de entrada, están diseñados para recibir diversas formas de información del mundo exterior que la red tratará de aprender, reconocer o procesar de otro modo. Otras unidades se sientan en el lado opuesto de la red y señalan cómo responde a la información que ha aprendido; Éstas se conocen como unidades de salida. Entre las unidades de entrada y las unidades de salida hay una o más capas de unidades ocultas, que, juntas, forman la mayoría del cerebro artificial. La mayoría de las redes neuronales están totalmente conectadas, lo que significa que cada unidad oculta y cada unidad de salida está conectada a cada unidad en las capas de cada lado. Las conexiones entre una unidad y otra están representadas por un número llamado peso, que puede ser positivo (si una unidad excita otra) o negativo (si una unidad suprime o inhibe otra). Cuanto más alto es el peso, más influencia tiene una unidad en otra. (Esto corresponde a la forma en que las células cerebrales reales se activan unas a otras a través de pequeñas lagunas llamadas sinapsis).

¿Cómo aprende una red neuronal?

La información fluye a través de una red neuronal de dos maneras. Cuando se está aprendiendo (entrenando) o funcionando normalmente (después de haber sido entrenados), los patrones de información son alimentados a 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 feedforward. No todas las unidades “disparan” todo el tiempo. Cada unidad recibe entradas de las unidades a su izquierda, y las entradas se multiplican por los pesos de las conexiones por las que viajan. 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 que un cierto valor umbral, la unidad “se dispara” y activa las unidades a las que está conectado (las de su derecha).

Para que una red neuronal aprenda, tiene que haber un elemento de retroalimentación, tal como los niños aprenden al ser dichos de lo que están haciendo bien o mal. De hecho, todos usamos la retroalimentación, todo el tiempo. Piense de nuevo a cuando usted aprendió a jugar un juego como bowling. A medida que recogía la pesada pelota y la rodaba por el callejón, su cerebro observaba la rapidez con que se movía la bola y la línea que seguía, y notó lo cerca que llegaba de derribar los bolos. La próxima vez fue tu turno, te acordaste de lo que habías hecho mal antes, modificó tus movimientos en consecuencia, y con suerte lanzó el balón un poco mejor. Así que usaste la retroalimentación para comparar el resultado que querías con lo que realmente sucedió, calculó la diferencia entre los dos y usó eso para cambiar lo que hiciste la próxima vez (“Necesito tirarlo más fuerte”, “necesito rodar un poco más A la izquierda”,” Tengo que dejar ir más tarde “, y así sucesivamente. Cuanto mayor sea la diferencia entre el resultado previsto y el real, más radicalmente habrías alterado tus movimientos.

Las redes neuronales aprenden las cosas exactamente de la misma manera, típicamente por un proceso de retroalimentación llamado propagación posterior. Esto implica comparar la salida que una red produce con la salida que se pretendía producir y usar la diferencia entre ellos para modificar los pesos de las conexiones entre las unidades de la red, trabajando desde las unidades de salida a través de las unidades ocultas hasta las unidades de entrada, retroceder, en otras palabras. Con el tiempo, la retropropagación hace que la red aprenda, reduciendo la diferencia entre la salida real y la proyectada hasta el punto en que los dos coinciden exactamente, por lo que la red calcula las cosas exactamente como debería.

¿Cómo funciona en la práctica?

Una vez que la red ha sido entrenada con suficientes ejemplos de aprendizaje, llega a un punto en el que puede presentarlo con un conjunto totalmente nuevo de entradas que nunca ha visto antes y ver cómo responde. Por ejemplo, supongamos que usted ha estado enseñando una red mostrando muchas fotos de sillas y mesas, representadas de alguna manera apropiada que puede entender, y diciéndole si cada una es una silla o una mesa. Después de mostrarlo, digamos, 25 sillas diferentes y 25 mesas diferentes, se le da una imagen de un nuevo diseño que no se ha encontrado antes y ver qué pasa. Dependiendo de cómo lo hayas entrenado, tratará de categorizar el nuevo ejemplo como una silla o una mesa, generalizando sobre la base de su experiencia pasada, como un ser humano. ¡Presto!, usted ha enseñado a un ordenador cómo reconocer los muebles.

Eso no significa decir que una red neuronal puede simplemente “ver” a los muebles y responder instantáneamente a ellos de manera significativa; No se está comportando como una persona. Considere el ejemplo que acabamos de dar: la red no está buscando muebles. Las entradas a una red son esencialmente números binarios: cada unidad de entrada está encendida o apagada. Así que si tuviera cinco unidades de entrada, podría alimentar en información acerca de cinco características diferentes de diferentes sillas utilizando respuestas binarias (sí / no). Las preguntas pueden ser 1) ¿Tiene una espalda? 2) ¿Tiene una tapa? 3) ¿Tiene tapicería suave? 4) ¿Puede sentarse cómodamente durante largos períodos de tiempo? 5) ¿Puedes poner muchas cosas encima? Una silla típica se presentaría como Sí, No, Sí, Sí, No o 10110 en binario, mientras que una tabla típica podría ser No, Sí, No, No, Sí o 01001. Así, durante la fase de aprendizaje, la red esta simplemente viendo a lotes de números como 10110 y 01001 y aprendiendo que algunos significan silla (que podría ser una salida de 1), mientras que otros significan tabla (una salida de 0).

¿Para qué se usan las redes neuronales?

Sobre la base de este ejemplo, es probable que vea muchas aplicaciones diferentes para redes neuronales que implican el reconocimiento de patrones y la toma de decisiones simples sobre ellos. En aviones, puede utilizar una red neuronal como piloto automático básico, con unidades de entrada que leen señales de los diversos instrumentos de cabina y unidades de salida que modifican los controles del avión apropiadamente para mantenerlo seguro en el rumbo. Dentro de una fábrica, usted podría utilizar una red neuronal para el control de calidad. Supongamos que está produciendo detergente para lavar ropa en algún proceso químico gigante y complicado. Usted puede medir el detergente final de varias maneras (su color, acidez, espesor, o lo que sea), alimentar esas medidas en su red neuronal como entradas, y luego hacer que la red decida si aceptar o rechazar el lote. 

 

Hay muchas aplicaciones para redes neuronales en seguridad, también. Suponga que está ejecutando un bancocon miles de transacciones de tarjetas de crédito que pasan a través de su sistema informático cada minuto. Necesitas una manera rápida y automatizada de identificar cualquier transacción que pueda ser fraudulenta, y eso es algo para lo que una red neuronal es perfectamente adecuada. Sus aportaciones serían cosas como 1) ¿Está realmente presente el titular de la tarjeta? 2) ¿Se ha utilizado un número PIN válido? 3) ¿Se han presentado cinco o más transacciones con esta tarjeta en los últimos 10 minutos? 4) ¿Se está utilizando la tarjeta en otro país del que está registrada?, y así. Con suficientes pistas, una red neuronal puede señalar cualquier transacción que parezca sospechosa, lo que permite a un operador humano investigarlas más de cerca. De una manera muy similar, un banco podría utilizar una red neuronal para ayudarle a decidir si dar préstamos a la gente sobre la base de su historial de crédito pasado, ganancias actuales y registro de empleo.

Muchas de las cosas que todos hacemos todos los días implican el reconocimiento de patrones y el uso de ellos para tomar decisiones, por lo que las redes neuronales pueden ayudarnos en miles de millones de maneras diferentes. Pueden ayudarnos a prever el mercado bursátil o el tiempo, operar sistemas de escaneo de radar que identifiquen automáticamente aviones o barcos enemigos e incluso ayudar a los médicos a diagnosticar enfermedades complejas en base a sus síntomas. Puede haber redes neuronales dentro de su computadora o su teléfono celular en este momento. Si utiliza aplicaciones de teléfono celular que reconocen su escritura a mano en una pantalla táctil, es posible que estén utilizando una red neuronal simple para averiguar qué caracteres están escribiendo buscando características distintas en las marcas que hacen con los dedos (y el orden en que Usted los hace). Algunos tipos de software de reconocimiento de voz también utilizan redes neuronales. Y también lo hacen algunos de los programas de correo electrónico que diferencian automáticamente entre correos electrónicos genuinos y spam. Las redes neuronales han demostrado incluso ser eficaces para traducir texto de un idioma a otro. La traducción automática de Google, por ejemplo, ha hecho un uso creciente de esta tecnología en los últimos años para convertir palabras en un idioma (la entrada de la red) en palabras equivalentes en otro idioma (la salida de la red). En 2016, Google anunció que estaba utilizando algo que llamó Neural Machine Translation (NMT) para convertir oraciones completas, al instante, con una reducción del 55-85 por ciento en los errores.

En general, las redes neuronales han hecho más útiles los sistemas informáticos haciéndolos más humanos. Así que la próxima vez que pienses que te gustaría que tu cerebro sea tan fiable como una computadora, piénsalo de nuevo y estar agradecido de que tengas una red neuronal tan magnífica ya instalada en tu cabeza.

Mas información acerca de la Inteligencia Artificial .