RNA

No, no vamos a hablar de vacunas de RNA mensajero, sino de Redes Neuronales Artificiales, tal vez la forma más “mística” de aprendizaje automático, también conocido como aprendizaje automático profundo.

Para una gran mayoría, las redes neuronales son algo nuevo, pero la investigación sobre modelos artificiales del cerebro comenzó paralela a los primeros ordenadores; el foto-perceptrón, que puede considerarse la primera neurona para un sistema de visión artificial, se introdujo en 1958; el perceptrón multicapa, todavía considerado como la red neuronal básica, vino todo seguido, resolviendo las limitaciones de las neuronas simples; y las modernas técnicas de entrenamiento de redes neuronales empezaron a desarrollarse en los 80, aunque los fundamentos matemáticos tengan varios siglos y sus primeras aplicaciones informáticas sean de los 70.

Una neurona no es más que una función que recibe unos estímulos (x) del exterior o de otras neuronas, a las que está conectada con cierta fierza (w), y nos devuelve el resultado de aplicar la función a la combinación de los estímulos con la fuerza con que se reciben. El perceptrón original usaba una función más sencilla que la tangente hiperbólica de la imagen, pero muy parecida.

Un perceptrón multicapa es una estructura de neuronas colocadas en capas, de manera que el valor que devuelve cada neurona se convierte en un estímulo x que alimenta las neuronas de la siguiente capa, cada una con su peso (recordad que el peso es como la fuerza de la conexión). Entre las capas de entrada y de salida puede haber varias capas ocultas. Podemos imaginar la red neuronal como un gran Excel en el que ciertas celdas son neuronas, cuyo contenido es una fórmula que combina los valores de otras «celdas neuronas» con los de «celdas peso» (un peso por cada conexión) que solo guardan valores numéricos, sin fórmulas.

La red la entrenamos ajustando los pesos de las conexiones neuronales -las celdas de nuestro Excel que guardan los pesos- hasta que obtengamos a la salida la respuesta deseada para cada conjunto de valores de entrada. Esta sencilla red tiene más de 300 parámetros o pesos que ajustar, pero no hay que asustarse: hay algoritmos que entrenan la red haciendo esos ajustes por nosotros, dando toquecitos a los pesos en la dirección de reducir el error (la diferencia entre lo que obtenemos y la respuesta correcta). Este error será mayor al principio, en los primeros ciclos de entrenamiento, pero irá disminuyendo poco a poco, hasta que consigamos una clasificación casi perfecta.

Una red así podría entrenarse para, por ejemplo, cualificar leads comerciales, para lo que necesitaremos datos guardados de campañas pasadas: datos de entrada, como el canal por el que se captó el cliente, el tamaño de su empresa, el plazo expresado de decisión, … hasta los 8 parámetros de entrada de la red; y datos de salida, como una etiqueta que indique si ese lead se convirtió en cliente fiel, cliente eventual, cliente de una vez, o nunca compró, o sea, nuestras 4 clases de salida. Una vez entrenada la red, bastará con alimentarle los datos de un nuevo lead para que la red nos indique si perseguimos el lead a muerte o si lo dejamos caer para no perder el tiempo. Interesante, ¿no?   Como en todo aprendizaje automático, dependemos de tener datos suficientes y de calidad para entrenar la red, y no sabremos exactamente por qué un lead es mejor que otro, pero sí sabremos lo bueno que es.

Así funcionan las redes neuronales artificiales básicas, pero hay arquitecturas mucho más sofisticadas, que tal vez comentemos en otro artículo. Hay redes que pueden tratar directamente datos no estructurados, como imagen o lenguaje natural y reconocerlos; que pueden generar imágenes artificiales de rostros o de paisajes; que pueden animar los rostros de personajes ya desaparecidos, o replicar el rostro de una persona viva; pero en el fondo, muy muy en el fondo, todas aprenden ajustando pesos de conexiones, poco a poco, repetidamente, hasta reducir la distancia entre lo que responden al entrenarlas y la respuesta correcta. Después de todo, la repetición sigue siendo la base del aprendizaje.

En Melioth Digital Services te ayudamos diseñando y desarrollando RNAs adecuadas para resolver tus problemas de negocio, nada de ciencia ficción.

Image by GarryKillian on Freepik

Scroll al inicio