Neural networks: ¿de qué son capaces las redes neuronales artificiales?
Una de las mayores fantasías de la informática podría hacerse pronto realidad; los ordenadores no solo están al nivel de la inteligencia humana, sino que pueden llegar a superarla con creces. La investigación en materia de inteligencia artificial ha logrado grandes avances en los últimos años. Una de las tecnologías esenciales para que las máquinas puedan pensar por sí mismas son las redes neuronales artificiales o artificial neural networks.
- Crea tu página web en tiempo récord
- Impulsa tu negocio gracias al marketing por IA
- Ahorra tiempo y obtén mejores resultados
¿Qué es una red neuronal?
Las redes neuronales son una rama de la investigación informática o, mejor dicho, de la neuroinformática. Existen muchos tipos diferentes de artificial neural networks y cada uno ofrece diferentes posibilidades para procesar la información.
Una red neuronal (neural network, en inglés) es un sistema de tecnologías de la información inspirado en la estructura del cerebro humano que dota a los ordenadores de inteligencia artificial.
Las redes neuronales se caracterizan por ayudar a los ordenadores a solucionar problemas por sí mismos y a mejorar sus propias capacidades. Dependiendo del método de inteligencia artificial que se aplique, puede requerirse un entrenamiento inicial con o sin la ayuda de personas.
¿Cómo funciona una neural network?
La estructura de las redes neuronales se basa en la del cerebro humano, es decir, en una red de neuronas a través de las cuales se transmite la información.
Las redes neuronales artificiales pueden describirse como modelos de dos capas como mínimo: una de entrada y una de salida, así como, en la mayoría de casos, otras capas intermedias (hidden layers). Cuanto más complejo sea el problema que la red neuronal debe ayudar a solucionar, más capas se necesitarán. En cada una de ellas se pueden encontrar numerosas neuronas artificiales especializadas.
Procesamiento de la información en una red neuronal
En una red neuronal, el procesamiento de la información se produce siempre de la misma manera; la información llega a las neuronas de la capa de entrada en forma de patrón o señal y es procesada allí. Durante el proceso, a cada neurona se le asigna un peso numérico, que representa el nivel de importancia de cada neurona. De este peso y de una función de transferencia depende la información de entrada que se transmitirá.
En el siguiente paso, una función de activación y un valor de umbral se encargan de calcular y ponderar el valor de salida de la neurona. Según la evaluación y la ponderación de la información, se enlazarán otras neuronas y se activarán con mayor o menor fuerza.
Mediante estos enlaces y ponderaciones se modela un algoritmo que genera un resultado para cada input o información de entrada. Los trainings sirven luego para afinar las ponderaciones y, con ellas, los algoritmos, para que la red dé resultados cada vez más exactos.
Red neuronal: ejemplo de uso
Las redes neuronales pueden usarse, por ejemplo, para reconocer imágenes. Un ordenador por sí solo no es capaz de reconocer, como lo haría una persona de un vistazo, si en una foto aparece una casa, un perro o una planta, sino que para ello debe buscar características concretas. Para saber qué características le darán la respuesta, el ordenador puede, o bien recurrir al algoritmo implementado, o bien realizar él mismo un análisis de datos para averiguarlo.
En cada una de las capas de la red, el sistema analiza las señales de entrada, es decir, las imágenes, en busca de criterios como el color, las esquinas o los contornos. Con cada análisis, el ordenador aprende a evaluar mejor el contenido de la imagen.
En un primer momento, los resultados son bastante defectuosos. Luego, con la ayuda del feedback de entrenadores humanos, la red mejora su algoritmo: es lo que se denomina aprendizaje automático. También existe el llamado aprendizaje profundo o deep learning, en el que no intervienen personas, sino que el sistema aprende de su propia experiencia y mejora en mayor medida cuanto más material gráfico se le presente.
El resultado final de este proceso debería ser, en el mejor de los casos, un algoritmo sin fallos, capaz de identificar el contenido de las imágenes según el entrenamiento que haya recibido; según sean imágenes a color o en blanco y negro, o según la posición del objeto en la imagen, por ejemplo.
Tipos de redes neuronales
Dependiendo del tipo de aprendizaje que se les haya aplicado y del fin con el que se quieran usar, existen estructuras de redes neuronales muy variadas.
Perceptrón
La red neuronal en su forma original y más sencilla es una red de una sola neurona que se modifica mediante ponderaciones y según su valor de umbral. El término perceptrón se usa actualmente también para designar redes prealimentadas (feedforward) de una sola capa.
Redes feedforward o prealimentadas
Estas artificial neural networks solo pueden transmitir información en una dirección. Puede tratarse de redes de una sola capa (de entrada o de salida) o de más de una, con varias capas ocultas (hidden layers).
Redes neuronales recurrentes
En las redes recurrentes, la información puede recorrer también ciclos de feedback, volviendo atrás a través de las capas. La retroalimentación permite que el sistema desarrolle una memoria. Este tipo de redes se usan, por ejemplo, para el reconocimiento de voz, la traducción y el reconocimiento de texto manuscrito.
Redes neuronales convolucionales
Estas redes son una subcategoría de las redes de muchas capas; en concreto, han de tener al menos cinco. En cada una de ellas se realiza un reconocimiento de patrones cuyo resultado se transmite a la siguiente capa. Este tipo de redes neuronales se usa para reconocer imágenes.
Métodos de aprendizaje
Para que las conexiones en las redes neuronales artificiales se enlacen adecuadamente y puedan resolver las tareas propuestas, hay que entrenarlas previamente. Para ello, existen dos procesos básicos:
Aprendizaje supervisado
En este tipo de aprendizaje se define un resultado concreto para diferentes inputs o contenidos de entrada. Si, por ejemplo, se espera que el sistema reconozca fotos de gatos, habrá personas que controlen la clasificación realizada por el sistema y le hagan saber con qué imágenes ha acertado y con cuáles no. De este modo pueden modificarse las ponderaciones en la red y optimizar el algoritmo.
Aprendizaje no supervisado
En un aprendizaje no supervisado, el resultado de la tarea no viene dado, sino que el sistema lo averigua exclusivamente a partir de la información de entrada. En este proceso interviene la ley de Hebb o la teoría de la resonancia adaptiva.
Ámbitos de aplicación de las redes neuronales
Las redes neuronales resultan especialmente útiles y eficaces cuando hay muchos datos que evaluar y poco conocimiento acerca de cómo hacerlo sistemáticamente. Algunos casos típicos en los que se aplica son el reconocimiento de texto, de imágenes y de voz: es decir, casos en los que el ordenador busca rasgos concretos en los datos para poder luego clasificarlos.
Las artificial neural networks también pueden usarse para crear pronósticos y simulaciones, como pueden ser las del ámbito de la meteorología, del diagnóstico médico o del mercado de valores.
En la industria, las redes neuronales se usan, en parte, en la ingeniería de control, donde sirven para controlar los valores consigna y tomar medidas automáticamente si se detectan desviaciones. También pueden analizar datos y proponer, a partir de los resultados, valores consigna por sí solas.
El desarrollo en el ámbito del aprendizaje no supervisado de redes neuronales está a punto de disparar la variedad de ámbitos de aplicación y la capacidad de rendimiento de estas redes. Algunos de los ejemplos de uso más famosos de las redes que aprenden por sí solas son los asistentes de voz como Alexa, Siri o el asistente Google.
- Una plataforma diseñada para los modelos de IA más potentes
- Precios justos y transparentes basados en tokens
- Código abierto, sin vendor lock-in
Historia y perspectivas de futuro
En la última década, las redes neuronales han pasado a ser un tema muy popular a través del debate sobre inteligencia artificial. La tecnología en sí, sin embargo, existe desde hace ya muchas décadas.
Los primeros esbozos de redes neuronales artificiales se remontan al principio de los años 40, cuando Warren McCulloch y Walter Pitts describieron un modelo que interconectaba unidades elementales y estaba inspirado en la estructura del cerebro humano. Este modelo permitía calcular prácticamente cualquier función aritmética. En 1949, Donald Hebb desarrolló su ley de aprendizaje neuronal, que hoy en día sigue aplicándose en muchas redes neuronales.
En 1960 se desarrolló una web neuronal que tuvo un gran éxito comercial porque servía para reducir el eco en la telefonía analógica. La investigación al respecto, sin embargo, se redujo poco después: por un lado, porque científicos destacados llegaron a la conclusión de que el modelo de redes neuronales no podría solucionar problemas importantes. Por otro, porque un aprendizaje efectivo requería grandes cantidades de datos digitales, de las que entonces no se disponía. Hubo que esperar hasta la llegada de los macrodatos o big data para que el interés por la inteligencia artificial y las redes neuronales recuperase su fuerza.
Desde entonces, el desarrollo en este ámbito se ha acelerado en gran medida. Aunque sus resultados son muy prometedores, las redes neuronales no son la única tecnología que permite dotar a los ordenadores de inteligencia artificial, sino solo una de muchas las posibilidades, si bien en el debate público suele hablarse de ellas como del único método viable.