JavaRush /Blog Java /Random-ES /Redes neuronales: ¿la cuna de la futura IA o simplemente ...

Redes neuronales: ¿la cuna de la futura IA o simplemente otra tendencia tecnológica más?

Publicado en el grupo Random-ES
En los materiales sobre JavaRush, ya hemos tocado el tema de la inteligencia artificial (IA), el aprendizaje automático y otras tecnologías relacionadas de una forma u otra con la IA. En particular, ya hemos hablado sobre cómo la inteligencia artificial se relaciona con la programación en Java , discutimos mitos e historias de terror sobre la IA y en varios artículos mencionamos tecnologías clave que se utilizan en esta área. Redes neuronales: ¿la cuna de la futura IA o simplemente otra tendencia tecnológica más?  - 1Por lo tanto, decidimos que ahora es un buen momento para profundizar aún más en el campo de la IA y observar más de cerca la tecnología que realmente subyace a la IA y el aprendizaje automático modernos: las redes neuronales. A saber: cómo surgió originalmente el concepto de redes neuronales y cómo se transformó esta tecnología hasta su estado actual, en qué se diferencian las redes neuronales artificiales de las neuronas del cerebro humano, si realmente saben cómo aprender y de qué son realmente capaces hoy. Redes neuronales: ¿la cuna de la futura IA o simplemente otra tendencia tecnológica más?  - 2

Redes neuronales artificiales y el cerebro humano. ¿Mismo?

Inicialmente, las redes neuronales informáticas recibieron este nombre porque el principio de su diseño se asemeja al sistema de neuronas del cerebro humano. Así, el cerebro humano medio incluye más de 100 millones de pequeñas células llamadas neuronas. De hecho, nadie sabe exactamente cuántas células de este tipo podría haber realmente en el cerebro humano: se calcula que son entre 50 mil millones y 500 mil millones. Cada neurona consta de un cuerpo celular con muchas de las llamadas dendritas (entradas celulares, transmiten información a la célula). ) y un axón ( salida celular - transmite información desde la célula). Las neuronas son tan pequeñas que se pueden colocar alrededor de un centenar de estas células en un área de un milímetro cuadrado. Dentro de una computadora, el equivalente a una neurona son pequeños dispositivos de conmutación llamados transistores. Los microprocesadores más modernos (computadoras de un solo chip) contienen más de 30 mil millones de transistores. Incluso el primer microprocesador Pentium, creado hace unos 20 años, tenía alrededor de 50 millones de transistores empaquetados en un circuito integrado con un área de sólo 25 mm. De hecho, según los expertos, aquí termina la conexión entre los procesadores de computadora y las neuronas del cerebro humano, porque de lo contrario son muy diferentes entre sí y funcionan de manera completamente diferente. Los transistores de computadora están conectados en circuitos en serie relativamente simples, cada uno de los cuales puede conectarse a otros dos o tres, mientras que las neuronas en el cerebro están estrechamente conectadas de maneras complejas en paralelo. Así, los científicos han calculado que cada neurona puede estar conectada a más de 10 mil de sus vecinas.

¿Qué es una red neuronal artificial?

Por tanto, la diferencia estructural más significativa entre las computadoras y las neuronas del cerebro es cómo funcionan. La idea básica detrás de las redes neuronales es simular o, si se prefiere, modelar, de forma simplificada, el funcionamiento de muchas neuronas interconectadas en el cerebro. Esto es lo que permite que una red neuronal haga cosas que los microprocesadores comunes no pueden hacer, es decir, aprender, reconocer patrones y tomar decisiones según un principio similar al del cerebro humano. Sin embargo, es importante destacar que en la actualidad las redes neuronales son una simple emulación de software del trabajo de las neuronas en el cerebro. Redes neuronales: ¿la cuna de la futura IA o simplemente otra tendencia tecnológica más?  - 3Una red neuronal típica contiene desde varias decenas hasta cientos, miles o incluso millones de neuronas artificiales, llamadas unidades, dispuestas en varias capas. Algunas de estas unidades, llamadas unidades de entrada, son responsables de recibir diversas formas de información del mundo exterior, que luego la red neuronal intentará aprender, recordar y procesar de otras maneras. Otras unidades, llamadas unidades de salida, ubicadas en el lado opuesto de la red, son responsables de cómo la red interactúa con esta información. Entre estas dos capas hay otras unidades que realizan el cálculo y constituyen la mayor parte de la red neuronal. La mayoría de las redes neuronales están interconectadas, lo que significa que cada unidad está conectada a otras unidades en capas a cada lado. Las conexiones entre unidades están representadas por un número llamado peso. El peso en una red neuronal puede ser positivo (si una unidad activa a otra) o negativo (si una unidad suprime o debilita a otra). Cuanto mayor sea el peso, mayor será la influencia de una unidad sobre otra. Una red neuronal simple diseñada para resolver problemas simples puede incluir solo tres capas básicas, como se muestra en la imagen. Sin embargo, entre las capas de entrada y salida puede haber varias capas diferentes que realizan diferentes funciones. Las redes neuronales con estructuras más complejas (que en la ilustración anterior) se denominan redes neuronales profundas y normalmente se utilizan para resolver problemas complejos. En teoría, el uso de una estructura profunda permite que una red neuronal asigne cualquier tipo de datos de entrada a cualquier tipo de datos de salida, lo que la hace capaz de resolver cualquier problema. Sin embargo, para ello la red neuronal necesitará un “entrenamiento” serio y prolongado, que consiste en procesar millones e incluso miles de millones de ejemplos de información con los que la red necesita trabajar. Redes neuronales: ¿la cuna de la futura IA o simplemente otra tendencia tecnológica más?  - 4

Redes neuronales: un poco de historia

Bueno, hemos resuelto las explicaciones básicas de lo que son esencialmente las redes neuronales, ahora podemos retroceder un poco en la teoría y hablar sobre la historia de esta tecnología y cuándo apareció. Esto puede sorprender a muchos, pero las redes neuronales aparecieron en la ciencia hace más de 70 años. El concepto fue propuesto por primera vez en 1944 por Warren McCullough y Walter Pitts, dos investigadores de la Universidad de Chicago que se trasladaron al Instituto Tecnológico de Massachusetts en 1952, donde fundaron el primer grupo de investigación en ciencia cognitiva. Las redes neuronales fueron en realidad un área importante de investigación tanto en neurociencia como en informática hasta 1969. Es decir, esta tecnología, que subyace a los sistemas modernos de inteligencia artificial, ya ha estado, en términos modernos, en boca de todos durante más de una década, aproximadamente desde mediados de los años cincuenta hasta finales de los sesenta. Se cree que el "asesino" de esta exageración fue un libro escrito por dos informáticos, Marvin Minsky y Seymour Papert, quienes en su trabajo revelaron todas las limitaciones de las redes neuronales. El hecho es que las primeras redes neuronales solo tenían una o dos capas entrenables. Minsky y Papert demostraron que redes tan simples son matemáticamente incapaces de modelar fenómenos complejos del mundo real. Como resultado, el interés por las redes neuronales como tecnología se perdió durante muchos años: durante los años setenta y la primera mitad de los ochenta, objetivamente se les prestó poca atención. El interés no se renovó hasta 1986, con la publicación de un artículo que introducía el concepto de retropropagación, un método práctico para entrenar redes neuronales profundas. Gracias a la retropropagación, las redes neuronales profundas se volvieron más amigables desde el punto de vista computacional, pero aún requerían enormes recursos informáticos para funcionar. Y las investigaciones de las décadas de 1990 y 2000 a menudo demostraron que las redes neuronales complejas no producían los resultados deseados en términos de eficiencia. Como resultado, las redes neuronales cayeron de la ola de publicidad por un tiempo y solo regresaron en la segunda década de la década de 2000, en gran parte debido al aumento de la potencia informática de los chips gráficos, que permiten que las redes neuronales profundas funcionen de manera más eficiente que antes. El fenómeno de tal ciclicidad en la ciencia en su conjunto está bien explicado.Tomaso Poggio, profesor del Instituto Tecnológico de Massachusetts: “Existe una explicación de que las ideas científicas se propagan de forma muy parecida a como lo hacen los virus. Por ejemplo, hay cinco o seis cepas principales del virus de la influenza y cada una regresa aproximadamente una vez cada 25 años. Las personas se infectan, desarrollan inmunidad y están protegidas de la infección durante los próximos 25 años. Y luego llega una nueva generación y vuelve a infectarse con la misma cepa del virus. En la ciencia, la gente se enamora de las ideas y trabaja en ellas hasta el agotamiento, hasta el punto de desarrollar inmunidad en forma de fatiga de ideas. Y luego la idea vuelve con otra generación de científicos”. Dado que las redes neuronales y las tecnologías de inteligencia artificial son todavía una tecnología bastante nueva y subdesarrollada, es posible que el revuelo en torno a ellas pronto comience a disminuir nuevamente, para regresar nuevamente en un par de décadas más. Redes neuronales: ¿la cuna de la futura IA o simplemente otra tendencia tecnológica más?  - 5

¿Cómo aprenden las redes neuronales?

Normalmente, la información pasa a través de una red neuronal de dos maneras. Cuando la red recién está aprendiendo o ya está funcionando después del entrenamiento, ingresan patrones de información a través de unidades de entrada, que lanzan capas de unidades ocultas, que a su vez ingresan a unidades de salida. Esta estructura general se denomina red feedforward. No todas las unidades funcionan al mismo tiempo. Cada unidad recibe datos entrantes de las unidades de la izquierda y los multiplica por el peso de las conexiones por las que pasa. Cada unidad suma todos los datos que recibe de esta forma y, en el tipo de red más simple, si la suma supera un determinado umbral, la unidad activa las demás unidades a las que está conectada (las de la derecha). Uno de los puntos clave que permite aprender a cualquier red neuronal es la retroalimentación. Así como un niño necesita ser criado por un adulto que le diga qué es bueno y qué es malo, las redes neuronales necesitan retroalimentación y orientación. Utilizan un enfoque de entrenamiento llamado retropropagación . En este método, la red compara la producción que produce con la producción que debería producir y utiliza la diferencia entre estos dos factores para cambiar el peso de las conexiones entre las unidades de la red, desde unidades de salida, pasando por unidades intermedias hasta unidades de entrada. es decir, viceversa. Con el tiempo, la retropropagación obliga a la red a aprender, reduciendo la diferencia entre la salida real y la estimada hasta el punto en que coinciden exactamente. Redes neuronales: ¿la cuna de la futura IA o simplemente otra tendencia tecnológica más?  - 6

¿Cómo funcionan las redes neuronales y dónde se utilizan?

Y finalmente, veamos un ejemplo de cómo funciona dicha red neuronal. Una vez que la red neuronal tiene suficientes ejemplos de datos para entrenar, llega a un punto en el que el usuario puede alimentarla con datos completamente nuevos que la red nunca antes ha procesado y obtener el resultado deseado. Por ejemplo, digamos que entrenas tu red neuronal para detectar un arma cuando aparece en algún lugar a la vista de una cámara de seguridad. Entrenas a la red mostrándole cientos, miles y decenas de miles de imágenes de diferentes tipos de armas, como pistolas y rifles. En algún momento, subes una imagen de un nuevo tipo de arma que no se le ha mostrado antes, por ejemplo, una pistola. Como resultado, la red identifica con éxito este objeto como un arma basándose en una serie de criterios básicos, como la forma general, la presencia de mango y culata, la presencia de un gatillo, etc. Es decir, la red neuronal determina el arma en la imagen basándose en una serie de patrones "aprendidos". Al mismo tiempo, por supuesto, esto no significa que la red neuronal pueda ver nuevos datos y tomar una decisión de forma independiente, como lo hacen las personas. Recibe toda la información en forma de código binario y cada una de las unidades de entrada (información a la red) puede estar en solo dos posiciones: encendido o apagado. En consecuencia, si, usando el mismo ejemplo, entrenas una red neuronal para encontrar armas, la información pasará a través de un conjunto de unidades de entrada que responden preguntas básicas de "sí/no". Por ejemplo, como por ejemplo: ¿el objeto tiene un disparador?; ¿hay un bozal?; ¿El artículo está hecho de metal?; ¿Su forma coincide con la de una pistola? En consecuencia, para un arma, la respuesta de la red sería: “sí, sí, sí, no” o “1110” en código binario. Por supuesto, en un sistema real habría muchas más preguntas de este tipo, pero la esencia sigue siendo la misma: la red neuronal recibe datos en forma de código binario y con su ayuda aprende a distinguir la información necesaria de la innecesaria. Ahora, conociendo el mecanismo básico de la red neuronal, es fácil imaginar cómo se utiliza esta tecnología para resolver una variedad de problemas en la actualidad. Por ejemplo, un ejemplo clásico es el uso de redes neuronales para prevenir el fraude bancario, cuando el sistema aprende a encontrar de forma independiente y bloquear instantáneamente aquellas transferencias que, por una razón u otra, parecen sospechosas. O, por ejemplo, el uso de redes neuronales para el piloto automático básico de automóviles o aviones: cuando las unidades de entrada reciben información de diferentes sistemas de control y las unidades de salida ajustan el modo de pilotaje de acuerdo con un curso determinado.

conclusiones

Ahora ve que una red neuronal es una tecnología relativamente sencilla y en general que realmente hace que las computadoras y los sistemas informáticos avancen un paso más, acercándolos a las personas. Por otro lado, también es obvio que las redes neuronales todavía no son tan complejas y eficientes como el cerebro humano. Así que agradezcamos que todos nacemos con una red neuronal avanzada integrada en nuestro cerebro y usemos esta riqueza natural con más frecuencia, por ejemplo, para el aprendizaje y la superación personal.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION