En la actualidad, una amplía mayoría de dispositivos ya cuentan con uno de los avances científicos que ha revolucionado la última década tecnológica: la inteligencia artificial (IA). Gracias a importantes multinacionales como Alphabet Inc o Facebook, el término “inteligencia artificial” se ha puesto de moda y ha dado pie a la creación de un gran número de grupos de investigación centrados exclusivamente en el desarrollo de esta potente tecnología.

Lo cierto es que, en la gran mayoría de las ocasiones, el término” inteligencia artificial” se utiliza de manera incorrecta. Estrictamente hablando, la inteligencia artificial se dejó atrás hace ya algunos años para dar paso a las redes neuronales. Es verdad que las redes neuronales son una forma de inteligencia artificial, pero su manera de trabajar no tiene nada que ver con la forma en la que la IA desarrolla su “inteligencia programada”.

¿Cómo funciona la inteligencia artificial?

El funcionamiento clásico de la inteligencia artificial se basa en algoritmos y conexiones lógicas. Hace algunas décadas, la electrónica estaba tan poco desarrollada que la única manera de implementar inteligencia artificial era mediante el uso de fuerza bruta. Es decir, a través de “superordenadores” capaces de analizar todas las posibilidades y, una vez se han tenido en cuenta todas ellas, elegir la más correcta.

Aunque pueda parecer una buena opción, esta forma de inteligencia artificial era muy rudimentaria y su programación inducía a la locura. Programar desde cero todas las posibilidades podía ser una tarea muy compleja (si no imposible en muchos casos). Además, para llevar a cabo estas tareas se necesitaban máquinas muy potentes que, para la época en la que se desarrollaban estos algoritmos, eran excesivamente costosas de construir.

Por ejemplo, una de las máquinas que se construyeron con IA fue “Deep Blue“, utilizándose para derrotar a Kaspárov en una partida de ajedrez en 1996. Para poder calcular todas las posibilidades de una partida de ajedrez (en el movimiento número 10 ya hay 165.518.829.100.544.000.000.000.000 posiciones diferentes) se necesitaron varios terabytes de memoria RAM.

La naturaleza como modelo de cambio

Está claro que la inteligencia artificial clásica no iba por buen camino. Para poder solucionar los graves problemas que la fuerza bruta planteaba, los ingenieros se copiaron (literalmente) de las redes neuronales presentes en la naturaleza.

Fotograma de la película Ex Machina.
Fotograma de la película Ex Machina.

De esta forma, no sería necesario introducir todas las posibilidades en el software del ordenador, si no que el software iría aprendiendo por sí solo a partir de datos experimentales que fuese capturando del medio que le rodea. Es decir, todo un proceso de aprendizaje al más puro estilo ser humano.

Las redes neuronales artificiales

El estudio del cerebro humano y su posterior simplificación para crear un modelo artificial fue la pieza clave para dar el salto que revolucionaría las tecnologías modernas. Su implantación no se puso en práctica hasta una década después, en torno al año 2008, ya que se requiere una gran capacidad de procesamiento para poner en marcha una red neuronal.

La idea básica que hay detrás de las redes neuronales es muy sencilla a la par que intuitiva: obtener datos reales, pasarlos a las celdas neuronales programas y que el conjunto de ellas actúe en consecuencia sin que nadie le tenga que decir lo que hacer. Esto es posible debido a una etapa previa de aprendizaje, en la que se centra exclusivamente en aprender del entorno para cometer en el futuro el menor número de errores posible. Por ejemplo, le enseñamos la imagen de un perro y le decimos a la propia red que es un perro. De esta forma ya almacena ciertos parámetros que utilizará para reconocer a estos animales.

Las redes neuronales más utilizadas y que mejores resultados ofrecen son las redes multicapa o perceptrón multicapa. Se basan en la programación de varias capas de redes neuronales (cada capa es un conjunto de redes neuronales) cuyas salidas son entradas para la siguiente capa. Es decir, los datos de salida de la capa neuronal “i” son las entradas para las neuronas artificiales de la capa “i+1”. En base a los resultados que vayan sacando las distintas capas, se va decidiendo sobre el dato de salida final.

Esquema de perceptrón multicapa.
Esquema de perceptrón multicapa.

Puede que, al hablaros de programación de células neuronales, el termino se complique y todo parezca muy abstracto. Para afianzar ideas: una célula neuronal no es más que una función programada que, para ciertos datos de entrada, obtiene una salida basándose en un aprendizaje previo y sirviéndose de datos de salida de otras células neuronales.

Habitualmente, podemos distinguir los siguientes tipos de capas:

  • Capa de entrada: Constituida por aquellas neuronas que introducen los patrones de entrada en la red. En estas neuronas no se produce procesamiento.
  • Capas ocultas: Formada por aquellas neuronas cuyas entradas provienen de capas anteriores y cuyas salidas pasan a neuronas de capas posteriores.
  • Capa de salida: Neuronas cuyos valores de salida se corresponden con las salidas de toda la red.

Aunque parezca algo básico, las redes neuronales necesitan una gran capacidad de procesamiento. Habitualmente, el mejor dispositivo electrónico para hacer funcionar una red neuronal son las tarjetas gráficas gracias a su potencia de cálculo.

¿Es un perro o es un gato?

Uno de los ejemplos que mejor ilustran la idea que hay detrás de los perceptrones multicapa es el reconocimiento de objetos aislados en una imagen. Un problema muy típico a la par que difícil es crear una red neuronal que sea capaz de distinguir un perro de un gato y viceversa.

En este caso, y atendiendo al esquema anterior, las entradas de la red neuronal serían todos aquellos datos sacados de la imagen que nos podrían ayudar a identificar si es un perro o un gato: longitud de las patas o de la cola, color… En base a esos datos, cada célula decidiría si el dato que procesa es propio de un perro o de un gato (a partir de datos que tiene guardados y que ha aprendido anteriormente, tal y como ya he comentado). Esos datos y decisiones irían viajando a lo largo de las capas neuronales proporcionando a la salida el dato que queremos, si el animal es un perro o un gato.

Imagen desde la perspectiva de una red neuronal.
Imagen desde la perspectiva de una red neuronal.

Google ya cuenta con potentes redes neuronales trabajando en sus servidores para reconocer distintos objetos en su servicio de Google Photos. Lo bueno de estas redes es que, cuantas más personas suban imágenes a este servicio, más aprende la red y mejores resultados ofrece. Es decir, de nuevo volvemos a ver la idea de autoaprendizaje que hay detrás de estas tecnologías.

Otras aplicaciones de las redes neuronales

El servicio de reconocimiento de voz Siri también cuenta con redes neuronales para ofrecer al usuario final la mejor calidad de servicio posible. Cuando se utiliza este reconocimiento de voz, los datos recogidos por el micrófono se envían a los servidores y se procesan por una gran red neuronal (concepto de Deep Learning, podéis investigar más sobre él aquí). Dicha red neuronal logra identificar lo que pides y actúa mostrándote los resultados pertinentes. En este caso pasa lo mismo que con Google Photos, cuanta más gente utiliza Siri, mejor calidad tiene el servicio ya que va aprendiendo de todas las voces.

Es importante saber que la inmensa mayoría de servicios con redes neuronales se llevan a cabo en la nube, ya que los terminales actuales aún son incapaces de afrontar tal cantidad de procesamiento de datos.

Las redes neuronales no solo se encuentran en complejos software de grandes compañías. Las aspiradoras inteligentes que tanto están de moda también cuentan con pequeñas redes neuronales (de 3 capas normalmente) que aprenden del entorno y optimizan la limpieza del suelo sin chocarse con los distintos obstáculos.

Aspirador inteligente con redes neuronales.
Aspirador inteligente con redes neuronales.

Otro ejemplo muy representativo para el Internet de las cosas son las placas de inducción. Actualmente, Balay está incorporando redes neuronales (apenas de 7 KB de tamaño) en sus placas para, a parte de poder controlarlas remotamente, aprender de los utensilios de cocina que utilizas para cocinar y optimizar tanto el gasto energético como el tiempo de cocción.

Tal y como se puede comprobar, las redes neuronales están en auge y su aplicación se extiende a casi todos los campos tecnológicos del mercado. Estaremos atentos para contaros toda la actualidad sobre inteligencia artificial y redes neuronales así como los avances que se vayan logrando en este campo.

Comentarios

comentarios