Actualmente la Inteligencia Artificial (IA) y los algoritmos de aprendizaje automático o también llamados Machine Learning (ML) -Lee más al respecto en el blog: Aprendizaje De Máquina (Machine Learning), Un Punto De Partida – se aplican en los procesos cotidianos, tecnológicos y científicos, por lo que resulta pertinente explorar y conocer algunas de las herramientas empleadas para su desempeño.
Hablemos de una de las áreas de la IA (Fig.1), la computación suave (soft computing), la cual ha servido para abordar problemas complejos o ambiguos a través de modelos aproximados y manejo de incertidumbre [1].
Fig.1 Representación de la relación de la IA y el cómputo suave
Las redes neuronales artificiales (ANN por sus siglas en inglés), junto con la lógica difusa y los algoritmos genéticos, son un conjunto de métodos para el cálculo y procesamiento de datos que operan de acuerdo con los principios de la computación suave [2], siendo las redes neuronales uno de los elementos importantes del ML y el deep learning (Fig.1). Éstas son una de las herramientas de la inteligencia artificial, utilizadas para recolectar, analizar y procesar sistemas de información, incluso cuando se encuentre incompleta o contenga errores de medición [3].
Fig.2 Métodos dentro del cómputo suave
En este blog nos enfocamos en las redes neuronales, ya que son altamente utilizadas debido a sus atributos:
Pueden aprender a partir de ejemplos (training process), así como extender esa información para obtener soluciones relevantes en problemas complejos
Pueden recibir y procesar información experimental, teórica, empírica y sus combinaciones, incluso cuando estén incompletas, discontinuas y con errores [3].
Ya que sabemos su ventajas hablemos de su funcionamiento. Una red neuronal artificial es una organización interconectada de neuronas, inspirada en el funcionamiento de una red neuronal humana [1]. Una neurona recibe información de entrada (x) y la procesa a través de dos pasos: primero realiza una suma ponderada (z) de las entradas, a través de los pesos (ω) para posteriormente aplicar una función de activación a la suma (f(z)) y así obtener la salida del algoritmo (y), que representa una solución al problema a resolver (Ver Fig. 2).
Entendiendo lo que hace una neurona podemos explicar mejor a la red, en la que existen distintas capas de procesamiento de la información, cada capa está compuesta por una o más neuronas interconectadas (Fig.4). En la capa de entrada generalmente solo se recibe la información y
se elige una función de activación de identidad o simple (sin realizar la suma ponderada), mientras que en las capas ocultas se transforma el valor de entrada para la siguiente capa. Finalmente, la capa de salida es el último paso.
Fig. 4 Arquitectura de una ANN
Una vez visualizada la arquitectura de una ANN se describe brevemente el proceso de aprendizaje que se lleva a cabo en ellas (training process). Éste consiste en un proceso periódico en donde los resultados de la red son comparados con los valores deseados (a través de los errores entre ambos). Si la información de salida es muy diferente a la de entrada, la red ajusta los coeficientes de peso para obtener soluciones más cercanas a lo deseado; este proceso puede repetirse múltiples ocasiones hasta obtener salidas correctas. Ya entrenada la red, es posible resolver problemas de optimización, de reconocimiento de patrones, de regresión, de clasificación en múltiples áreas de la ingeniería, finanzas, entre otras.
Seguramente has estado en contacto con tecnología que emplea ANN, por ejemplo, las asistentes de voz (Alexa, Siri, Google), identificación de imágenes en redes sociales como Facebook, reconocer y sugerir emojis en Instagram y detección de spam en Pinterest [4]. Todas estas y muchas más son las aplicaciones que tienen las ANN en la actualidad, aprender a utilizarlas, modificarlas y programarlas es una de las tareas con mayor demanda para resolver problemas en la actualidad.
Referencias
[1] Dogan Ibrahim. An overview of soft computing. Procedia Computer Science, 102:34–38,2016.
[2] Marijana Lazarevska, Milos Knezevic, Meri Cvetkovska, and Ana Trombeva-Gavriloska. Application of artificial neural networks in civil engineering. Tejnicki vjesnik, 21(6):1353-1359, 2014.
[3] MY Rafiq, G Bugmann, and DJ Easterbrook. Neural network design for engineering applications. Computers & Structures, 79(17):1541–1552, 2001.
[4] Skilllash en Medium. Real life applications of neural networks, Recuperado Nov(2023): https://skillslash.medium.com/real-life-applications-of-neural-networks-5c26c1b2a8db
¡Diviértete entrenando una ANN!
Te compartimos una liga en la que puedes visualizar y modificar las características de una ANN para obtener resultados de regresión o de clasificación: