El cerebro humano cuenta con más de 100 mil millones de neuronas y es una estupenda inteligencia biológica imposible de imitar, al menos por ahora. Por eso no es extraño que desde hace décadas los científicos lo hayan tomado como inspiración para construir máquinas inteligentes. Las neuronas biológicas son células interconectadas que reciben señales químicas y eléctricas y se comunican entre sí mediante le proceso conocido como sinapsis. Es un sistema biológico muy complejo, lejos todavía del alcance de la ingeniería, y mucho más avanzado que cualquier máquina actual. No obstante, la ciencia computacional ha encontrado la manera de aproximarse a un sistema de redes neuronales mediante funciones matemáticas y neuronas artificiales, que realizan cálculos y transmiten resultados de una neurona a otra.
El concepto básico fue creado en 1958 por Frank Rosenblat y se conoce como perceptrón, una neurona artificial que recibe datos de entrada, realiza cálculos, y arroja inferencias de salida que alimentan grupos o subgrupos de componentes más grandes.
Las redes neuronales, también llamadas redes neuronales artificiales (RNA), o redes neuronales simuladas (SNN), constituyen una aproximación muy popular hoy en el campo de la Inteligencia Artificial, y sirven como base del aprendizaje de máquina, o machine learning, por su manera de imitar la forma como las neuronas biológicas se comunican.
Se trata de algoritmos de aprendizaje que emulan la capacidad que tienen los organismos vivos de solucionar problemas. Un cerebro biológico está constituido por neuronas interconectadas que trabajan en conjunto. Los animales no nacen con un algoritmo pre escrito que les instruye acerca de lo que deben hacer ante cada situación, sino que un complejo sistema cognitivo les permite aprender y adaptarse al entorno, desde el momento que llegan a la vida. Algo parecido – aunque, desde luego, todavía lejos del nivel de los organismos vivos – intenta la metodología de redes neuronales de la IA, que crea capas de nodos que se comunican para lograr el aprendizaje de máquina a partir de sus propios errores, y mediante procesos de entrenamiento continuo.
A diferencia de los algoritmos lineales clásicos, basados en instrucciones precisas para tomar decisiones en entornos suficientemente determinados, las redes neuronales deben aprender a solucionar problemas en entornos indeterminados y en situaciones difusas.
Los algoritmos son entrenados con base en ensayo y error. Por ejemplo, a un sistema inteligente se le proponen miles y miles de fotos de seres humanos, para que aprenda a reconocer adultos y menores de edad. Cada vez que el sistema etiqueta cada fotografía utilizando una de las categorías dadas (adulto o niño), se le refuerza con aprobación o reprobación de la decisión que tomó. El sistema perfecciona paulatinamente sus decisiones hasta realizar correctamente la identificación de las personas según su edad.
Las redes neuronales aprenden a modelar las relaciones entre los datos de entrada y de salida y aprenden a reconocer patrones. Para hacerlo se dividen entre capas y nodos, unas capas de entrada y salida, además de unos umbrales o pesos establecidos. Los datos de entrada se multiplican por los coeficientes de peso para obtener un resultado. Los nodos se comunican constantemente entre sí, pero no todas las señales emitidas consiguen pasar la capa de salida, a menos que estas tengan un valor superior a los límites establecidos (umbrales). Estas redes se pueden entrenar y son ampliamente utilizadas en aplicaciones de reconocimiento de patrones, validación, predicciones, agregación y análisis de datos, manipulación de robots, entre muchas otras tareas. Una de sus exhibiciones más famosas sucedió en 2016, cuando una inteligencia artificial derrotó al campeón mundial de Go, Lee Se-dol, usando esta tecnología.
Tipos de redes neuronales
Al tratarse de una tecnología tan en boga, evoluciona con rapidez. Las redes neuronales se suelen dividir según su diseño de capas (layers) y también por el tipo de aprendizaje que usan. De esta forma, se tienen desde las más sencillas o redes monocapa – también llamadas Perceptrón simple – con varias neuronas dirigidas hacia una sola salida; redes multicapa, provistas de varias capas intermedias; redes neuronales convolucionales (CNN), en las que una parte de las capas se especializa; redes neuronales recurrentes (RNN) donde las conexiones no son tanto por capas sino arbitrarias, creando ciclos y con ello una especie de memoria, y las redes de base radial (RBF), que toman en cuenta la distancia de las neuronas con un punto central.
Las redes convolucionales (CNN) se suelen utilizar para el reconocimiento de imágenes y patrones. En Colombia, por ejemplo, una red convolucional recibe fotografías de satélite, las cuales analiza para identificar las tendencias de expansión urbana en el municipio de Chía. El Departamento Nacional de Planeación utiliza algoritmos convolucionales para entrenar una plataforma que puede identificar las vías terciarias en fotografías satelitales.
Tipos de aprendizaje
Una de las grandes ventajas de las redes neuronales es su capacidad de “aprender” una vez entrenada. Para ello, se usan conjuntos de datos. La clasificación, según la forma como se entrenan, pueden ser de aprendizaje supervisado, aprendizaje por corrección de error, aprendizaje autosupervisado, estocástico, hebbiano, competitivo y comparativo, y aprendizaje por refuerzo. Estos se dividen según el tipo de datos que le son ingresados (si son o no etiquetados) y la forma de recompensar o penalizar el sistema según su comportamiento.
Tiende a existir alguna confusión entre las diferencias de las capas neuronales con el Deep Learning, pero según IBM “una red neuronal que consta de más de tres capas, que sería inclusiva de las entradas y la salida, puede ser considerado un algoritmo de deep learning; una red neuronal que solo tiene dos o tres capas es solamente una red neuronal básica”.
Desde luego, las redes neuronales no son perfectas, pero hay escenarios en los cuales brillan, por ejemplo, en el sistema de búsquedas de Google. En las situaciones en las que el algoritmo dispone de una base de datos más grande, su aprendizaje se perfecciona más rápidamente. Sin embargo, con sus virtudes y desventajas, las redes neuronales son una parte fundamental de la Inteligencia Artificial y, de seguro, lo mejor está por verse.