redes neuronales

¿Qué son las redes neuronales y para qué sirven en nuestra empresa?

Por Ignacia Córdova

¿Qué son las redes neuronales?

Desde siempre la humanidad ha tenido el deseo de crear artefactos que simulen las capacidades del cerebro humano, ya sea para resolver problemas más rápido o simplemente para manufacturar inteligencias artificiales. Partiendo por las primeras “calculadoras” en 1642, hasta las computadoras más avanzadas de la actualidad, este deseo no ha cesado con el pasar de los años. Uno de los modelos más actuales son las redes neuronales que, como su nombre lo indica, intentan emular las conexiones de las neuronas de nuestro cerebro, con el propósito de replicar características como la memoria y la asociación.

Las redes neuronales son un conjunto de nodos o “neuronas” que se basan en el funcionamiento del cerebro humano. Estos nodos están conectados entre sí para transmitir información entre un input o nodo de entrada, donde se recibe información, y un output o nodo de salida, donde se genera una respuesta. Una de las características del ser humano, que las redes neuronales quieren replicar, es el aprendizaje por medio de la experiencia. Por esta razón, es que el objetivo en común de está técnica es aprender a modificarse a sí mismas con el fin de realizar tareas cada vez más complejas. El proceso de aprendizaje que llamamos “experiencia” en los humanos, en las redes neuronales se conoce como entrenamiento. Este puede ocurrir a través de datos o imágenes que le entregamos y provoca que las redes puedan adquirir conocimiento y solucionar diferentes problemas.

Elementos básicos de las redes

Otro aspecto fundamental de las redes neuronales son las capas. En general, podemos encontrar 3 tipos diferentes. El primero es la capa de entrada, donde recibimos los parámetros para procesar la información. El segundo es la capa oculta, que puede consistir en uno o varios nodos, donde se procesan los datos que enviamos. El último es la capa de salida, donde se genera la respuesta en los campos de destino. Las neuronas o unidades de estas capas se conectan por medio de fuerzas de conexión (también las podemos encontrar con el nombre de ponderaciones o pesos).

Ya que, las redes neuronales aprenden por medio del entrenamiento, todas estas ponderaciones al principio son aleatorias y las primeras predicciones probablemente serán erróneas. Luego, la red va ajustando y cambiando estos parámetros para obtener resultados cada vez más correctos. Cuando esta red ya se encuentra entrenada, se puede aplicar a diferentes parámetros de entrada, obteniendo diversos resultados desconocidos. 

Elementos básicos de las redes neuronales. Fuente: Atria Innovation. Ilustración Propia

Para ejemplificar podemos usar el experimento de Google, Deep Dream, al cual le entregamos una fotografía, analiza que contiene y nos muestra una imagen creada por un bucle con los píxeles de la fotografía original. Como sabes, cada parte del cerebro humano realiza diversas tareas: una se encarga de la memoria, otra de hablar, otra de calcular y así… Las capas de una red neuronal funcionan de la misma forma.

En el caso de Deep Dream, el input que le entregamos puede ser una fotografía de un animal. Cada capa de esta red analiza, mediante funciones matemáticas, los aspectos de los píxeles de la foto: color del fondo, forma y tamaño del animal, comparación con otros objetos, entre otros. Luego, con esta información nos puede dar el primer output, se trata de una fotografía de un animal. Finalmente, cada píxel es reintroducido en la red neuronal en un bucle, proporcionándonos como imagen final una fotografía artística, como podemos ver a continuación:

Ejemplo de Deep Dream. Fuente: Google Blog. 

Ventajas y tipos

Al ser capaces de aprender por medio de la experiencia, las redes neuronales pueden generalizar casos y abstraer propiedades esenciales. Algunas de las ventajas que les permiten realizar estas tareas son que:

  • Poseen aprendizaje adaptativo: Pueden realizar tareas basadas en un entrenamiento.
  • Tienen auto-organización: Crean una representación propia de los datos después del entrenamiento. 
  • Son tolerantes a los fallos: Aunque exista un fallo, algunas de las capacidades se pueden retener y no perder. 
  • Operan en tiempo real: Los cómputos pueden realizarse en paralelo.
  • Se pueden insertar fácilmente: Al utilizarse es más fácil la integración en los sistemas que ya existen. 

Poster completo de los tipos de redes neuronales: Fuente: Microsiervos.com

Debido a estas características, las redes neuronales son capaces de realizar múltiples tipos de tareas. Por ejemplo, se pueden utilizar para el reconocimiento, es decir, diferenciar entre diferentes tipos de elementos. Otras tareas comunes para ellas son la asociación, la clasificación, la predicción y el diagnóstico. Esto significa que, podemos predecir eventos futuros en diversos ámbitos o clasificar datos que tenemos en desorden. También sirven para generar patrones y optimizar. 

Existen diversos tipos de redes neuronales y clasificaciones. Se pueden clasificar por número de capas, por tipo de conexiones, por grado de conexiones, entre otras. Por cantidad de capas podemos encontrar a las monocapas, donde la entrada se conecta con la salida, y a las multicapas que poseen varios niveles diferenciados. En cuanto al tipo de conexiones, existen las redes recurrentes que cuentan con memoria y las no recurrentes que carecen de ella, por lo que son las menos usadas. Por el lado del grado de conexiones, existen las redes parcialmente conectadas y las totalmente conectadas. Por último, existe un tipo de red que se llama convolucional que es una red bidimensional que se utiliza comúnmente para tareas de visión artificial. 

Aplicaciones en la industria

Como puedes imaginar, las redes neuronales pueden ser utilizadas en un sin fin de aplicaciones. En la industria, podemos optimizar horarios en líneas de vuelo, optimizar flujo de tránsito controlando los semáforos, modelar sistemas de automatización y control; y evaluar formaciones geológicas y petrolíferas.

Por un lado, en el área de medio ambiente, se analizan tendencias y patrones de tiempo y se puede predecir el clima. En finanzas, valorar el riesgo de los créditos e identificar falsificaciones. Por otro lado, en manufactura, es posible automatizar robots y sistemas de control, controlar líneas de procesos; y en medicina, diagnosticar y tratar enfermedades a partir de síntomas o datos analíticos, monitorear cirugías o predecir reacciones adversas en los medicamentos. Gran parte de estas aplicaciones se basan en un reconocimiento de patrones donde se procesan los datos de forma paralela, adaptativa y no lineal. ¿Crees que las redes neuronales pueden ser beneficiosas para tu empresa? Conversemos y creemos una solución adecuada y personalizada para el problema que afrontas actualmente.