Una red neuronal artificial (ANN) es un sistema de computación que intenta replicar el comportamiento biológico de las neuronas para desarrollar complejos sistema de decisión. Las redes biológicas utilizan las neuronas y su información para modificar la transmisión de los impulsos eléctricos entre las sinapsis. Estos impulsos componen una señal transmitida al sistema nervioso con el resultado de la decisión. La carga almacenada en cada neurona afecta por tanto a la toma de decisiones a nivel eléctrico en los organismos. Los sistemas computacionales intentan replicar este sistema de impulsos para la generación de sistemas autónomos.
Dentro de los sistemas computacionales, los que se caracterizan por emular sistemas biológicos como los sistemas mentales y cognitivos, se catalogan como sistemas conexionistas dentro del marco de la Inteligencia Artificial, IA o AI. Las redes neuronales computacionales quedan por lo tanto definidas dentro de las tecnologías IA.
Los sistemas que se enmarcan dentro de las llamadas tecnologías de IA, han ido evolucionando desde que Alan Turing describiera el test de Turing. Dicho test se diseñó para clasificar los sistemas computacionales autónomos y diferenciarlos de las simples calculadoras. El test es capaz de discernir si un sistema autómata es capad de realizar un comportamiento relacional de causas y efecto en la toma de decisiones, o incluso si este comportamiento es fruto de un procesamiento «inteligente» o no definido. Una Inteligencia Artificial.
Que una máquina sea capaz de construir un pensamiento independiente de su programación original, se considera inteligencia. Un pensamiento propio del sistema al que llega como conclusión de su experiencia o aprendizaje. Como los seres biológicos.
Esta es la meta de las tecnologías computacionales de IA.
Con el desarrollo de los sistemas de control y las Tecnologías de la Información (TIC), los sistemas automáticos han ido escalando el test de Turing y realizando tareas cada vez más complejas. Los sistemas han evolucionado y la IA convencional, aquella que empezó a sintetizar la realización de tareas más intelectuales que mecánicas, han dado paso a las IA conexionistas. Que como hemos comentado antes, siguiendo los patrones biológicos, han construido sistemas que intentan replicar los pensamientos.
El mejor ejemplo de estos sistemas de IA conexionista son las redes neuronales. Mediante algoritmos que definen la influencia de la información almacenada en la red de comunicaciones, se obtiene una respuesta a una entrada en el sistema. Los algoritmos más importantes que definen estos pesos son las funciones de activación, la función de pérdida y la propagación hacia atrás. Este ajuste de pesos de las celdas de memoria o neuronas computacionales se denomina aprendizaje de la red.
Una neurona de una red neuronal conexionista o neurona de McCulloch-Pitts es un ente computacional o unidad de cálculo. Consta de una o varias entradas que aplican sobre un algoritmo de suma ponderada. La salida de dicha suma está modulada por una función de activación. Dicha función actúa como modulador de forma que la salida del conjunto neuronal solo tiene dos valores. Encendido o apagado. 1o 0.
Las funciones de activación suelen ser funciones de tipo pulso con salida unidad para el 0 y los valores positivos mientras que presenta una salida nula para los valores negativos. Otras funciones utilizadas para regular la activación de las neuronas son las funciones rampa, escalones y algoritmos gaussianos o cuadráticos.
De esta forma la suma de las entradas es filtrada por un algoritmo que controla la propagación de la respuesta a la red. Una red neuronal tiene como mínimo tres líneas de neuronas. Las capas de entrada y salida suelen ser de una línea simple, pero la cama intermedio o capa oculta puede tener varias líneas o niveles. Las redes neuronales profundas o deep learning constan de múltiples capas. Las neuronas de la capa de entrada tienen múltiples entradas externas a la red y vuelcan sus salidas a la siguiente capa. Por lo tanto las capas de neuronas están conectadas entre ellas de forma ordenada.
Uno de los mayores saltos cualitativos en el desarrollo de las redes neuronales fue cuando se aplico la retroalimentación o la propagación hacia atrás de la salida de las neuronas a la red. Aplicando reglas de calculo de costes. Con esta practica se compara la salida contra el valor esperado y el error se propaga hacia la capa anterior modificando los pesos de las diferentes neuronas en la obtención de la salida del sistema. Este reajuste es el denominado aprendizaje de la red.
El aprendizaje automático, computacional o simplemente AA es el conjunto de acciones que se aplican a la red para almacenar la información recibida. Esta información es procesada por la red y estructurado mediante un sistema de pesos entre enlaces o sinapsis. Cuando se realiza un aprendizaje de red guiado para obtener un grupo de salidas esperados se denomina entrenamiento de una red. El objetivo final es ordenar las neuronas para que ante un grupo de entradas la red obtenga un determinado tipo de salidas. Puede ser que incluso la ordenación de la red active o desactive neuronas en función de las entradas recibidas.
Las neuronas computacionales son pequeños programas que se ejecutan a la vez transmitiéndose información constante. Por lo que el almacenaje y procesamiento de una red es computacionalmente muy costoso. Y por esta razón las primeras redes de neuronas se utilizaban, una vez entrenadas en conjuntos de datos, para predecir salidas en entornos definidos como por ejemplo los sistemas de tasación. Mediante una base de datos de entradas y salidas, con reglas de machine learning para optimización de datos y las redes neuronales de AI, se generaron los primeros algoritmos de toma de decisiones. Como los jugadores de ajedrez.
Con el aumento de la capacidades de computo de las tarjetas gráficas con sus módulos GPU, la capacidad de procesamiento de las redes se ha visto incrementado exponencialmente y sus campos de aplicación se han multiplicado. Sistemas automáticos, lingüísticos, virtuales, etc. Una gran gama de tecnologías están integrando herramientas de minería de datos (Big Data) e inteligencia artificial (AI). Como ChatGPT. Que ha sido la herramienta que ha llevado a la IA a todos los hogares y a todos los públicos.
Existen muchos tipos de redes neuronales. Mono o multicapa, convoluciones, concurrentes o radiales son algunos de las estructuras más usuales. Las técnicas utilizadas para el aprendizaje y los métodos de entrenamiento son diferentes para cada ámbito de aplicación. Y la finalidad y el sistema hardware donde se vaya a implantar determinan el tipo y las capacidades de la red. Por eso las redes neuronales, aunque presentan patrones de arquitectura, no son replicables ni clonales. Cada red es única. Y el crecimiento exponencial de las capacidades de las AI en los últimos años abre un abanico de posibilidades enorme.
Y mucho más si en algún momento se combina con la computación cuántica. Lo que multiplicaría las capacidades de cálculo y procesamiento de la información. Por lo que estamos, sin ninguna duda, hablando de la base de la tecnología del futuro.
Si estas redes podrán suplantar a los humanos en un futuro es impredecible. Sus beneficios también los son.
Solo podemos verlas crecer.
Referencias:
- https://www.iartificial.net/redes-neuronales-desde-cero-i-introduccion/
- https://www.ibm.com/es-es/topics/neural-networks
- https://la.mathworks.com/discovery/neural-network.html
- https://openwebinars.net/blog/que-son-las-redes-neuronales-y-sus-aplicaciones/
- https://www.unir.net/ingenieria/revista/redes-neuronales-artificiales/
Pingback: ChatGPT, OpenAI y Nvidia. - Fisicotrónica
Pingback: Iniciando sistemas - Fisicotrónica
Pingback: Procesador cuántico lógico programable y los plazos de IBM - Fisicotrónica
Pingback: Premios Nobel 2024 - Fisicotrónica