Innotica

Blog

Blog de Innotica

Conceptos básicos para entender la inteligencia artificial

22 julio 2020 por Johautt Hernández

En el artículo pasado hablé de las posibilidades que tiene este nuevo y emocionante campo de la inteligencia artificial. Esas posibilidades son pocas en comparación con todas las que existen al día de hoy, y a las cuales se les agregan más cada día.

Ahora toca aclarar algunos conceptos, porque cuando se comienza a entrar en este campo se observan definiciones que son parecidas y confunden frecuentemente.

Uno de los términos más escuchados hoy en nuestro universo tecnológico es el de inteligencia artificial (IA), que se podría definir (porque no hay una definición única y totalmente aceptada) como el intento de dotar a un sistema con la capacidad de imitar alguna forma de comportamiento inteligente. No importa si se realiza mediante un algoritmo que implementa una lógica simple, o mediante otro algoritmo o hardware que simule el comportamiento de las neuronas y sus interacciones dentro del cerebro: todas estas siguen siendo formas de inteligencia artificial.

IA débil e IA fuerte

Podemos, a partir de aquí, clasificar dos tipos de inteligencias artificiales. Una de ellas es la IA débil, la cual se caracteriza por imitar una muy limitada cantidad de tareas, tales como las que realiza el asistente de voz de Google o un programa capaz de jugar ajedrez.

Por el contrario, la IA fuerte puede imitar el comportamiento para la resolución de una cantidad grande —posiblemente ilimitada— de tareas. En este caso, los ejemplos solo podemos encontrarlos en películas de ciencia ficción futuristas, tales como Terminator o Wall-E.

El concepto de modelo

Para poder implementar correctamente una inteligencia artificial es necesario tener en cuenta su modelo, definido como una reconstrucción aproximada de un fenómeno que se desea estudiar. De dicho fenómeno se puede limitar el número de variables de entrada y salida que afectan significativamente el cambio de comportamiento, según el nivel de detalle que se necesite estudiar y según el caso a considerar.

Si este modelo es correcto, se pueden realizar predicciones acerca del comportamiento del fenómeno, viendo luego cómo los datos extraídos del modelo se interrelacionan con los observados del fenómeno.

Por ejemplo, esto me hace recordar cuando en la universidad estudiamos el comportamiento del transistor bipolar (BJT para los amigos 😉), y veíamos diferentes modelos: el modelo simplificado (para realizar un análisis preliminar de circuitos sencillos), el modelo de pequeña señal (extensión del simplificado, para análisis de sistemas que no trabajan exclusivamente en corriente continua) y el modelo de Ebers-Moll (usado para diseño y análisis de circuitos más complejos, como los amplificadores operacionales). También hay otros modelos para el caso de los BJT, como el de Gummel-Poon, muy usado en simuladores de circuitos basados en SPICE.

Machine Learning

Anteriormente se había hablado de que la inteligencia artificial también puede realizarla un algoritmo sencillo, capaz de resolver un problema mediante una secuencia de operaciones simples y repetitivas. Este algoritmo no necesita tener la capacidad de aprender, pues su funcionamiento puede estar predefinido.

Dicho algoritmo no se adaptará a nuevos problemas sin la ayuda de alguien que lo reprograme, y además hay muchos problemas que son extremadamente complejos para programar de esta manera.

Por ello, actualmente el interés se centra en esa capacidad para aprender, la cual puede ser resuelta con Machine Learning (ML): la rama de la inteligencia artificial cuyo propósito es dotar a un sistema con la capacidad de aprender a resolver una tarea por sí solo a través de la experiencia, sin que se necesite de una programación específica para resolverla. Debe quedar claro que ML no es igual a IA, sino que ML es un subconjunto de la IA.

Diagrama de conceptos de inteligencia artificial, Machine Learning y Deep Learning Relación entre inteligencia artificial, Machine Learning y Deep Learning.

Redes neuronales

De las muchas técnicas que existen para realizar ML, la más famosa actualmente es la conocida como redes neuronales (NN, del inglés Neural Network): un modelo computacional de aprendizaje compuesto por unidades que imitan el funcionamiento de una neurona, interconectadas de manera jerarquizada.

Existen capas de entrada (conectadas a los datos), capas de salida (que ofrecen el resultado procesado) y capas ocultas (ubicadas entre las dos anteriores, cuya profundidad determina la complejidad de la red).

Cada neurona artificial tiene una o más entradas, y cada una de dichas entradas es estimulada por los datos del proceso o por la salida de una neurona de una capa anterior. Cada entrada está asociada a un peso sináptico, el cual regula la intensidad de la señal. Dicha regulación es ajustada en la etapa de aprendizaje.

A todas estas señales reguladas se les realiza una sumatoria, a la cual se resta un valor inhibidor también regulable en la etapa de aprendizaje, conocido como bias. Todo este conjunto se denomina suma ponderada, y es el tipo más común de función de propagación.

El resultado de esta función de propagación alimenta a su vez a una función no lineal, cuya salida se conecta a la o las neuronas de la siguiente capa. Esta función no lineal se conoce como función de activación.

Las funciones de activación pueden ser de varios tipos:

  • Función sigmoide
  • Función de tangente hiperbólica
  • Función ReLU (Rectified Linear Unit)
  • Función escalón

Deep Learning

Una ventaja de las redes neuronales es que se puede agregar la cantidad de capas necesarias para resolver un problema dado, de manera ilimitada. A medida que se agregan más capas, se otorga una mayor capacidad para resolver problemas más complejos y abstractos, lo cual permite realizar las cosas a las que estamos acostumbrados hoy, tales como distinguir animales, objetos, plantas y personas.

Este enfoque de agregar capas para resolver problemas de mayor complejidad se conoce como aprendizaje profundo (o Deep Learning).

El Deep Learning es la base del avance de la inteligencia artificial basada en redes neuronales al día de hoy, cobrando importancia en aspectos tales como el NLP (natural language processing), el reconocimiento de voz, el reconocimiento de rostros, la detección de enfermedades mediante la lectura de exámenes de laboratorio, la identificación de música y, en general, el reconocimiento de patrones, el cual permite extraer información para la clasificación de objetos a partir de un entrenamiento previo.

Esquema de una red neuronal profunda con múltiples capas ocultas Esquema de una red neuronal profunda con múltiples capas ocultas.

Big Data

Actualmente, para poder realizar este entrenamiento se necesita una gran cantidad de datos, pero a medida que avancen las técnicas de inteligencia artificial, dicha cantidad irá disminuyendo. Aun así, siempre se necesitará una cantidad adecuada de información con la cual entrenar al algoritmo.

El abaratamiento de los medios de almacenamiento de datos, su creciente capacidad y el cada vez mayor poder de cómputo permiten la tendencia de acumular una ingente cantidad de datos para procesarlos mediante algoritmos de Deep Learning y obtener información precisa, detallada y útil para el usuario final. A este proceso se le denomina Big Data.


Toda la información compartida en este artículo deja más claros algunos conceptos necesarios para ahondar en el apasionante mundo de la inteligencia artificial y entender mejor todos estos términos que actualmente están muy difundidos. En un siguiente artículo se explicarán algunos detalles técnicos que posibilitan el desarrollo del Machine Learning basado en redes neuronales.

Nota: cuando hablo de sistemas en este artículo, me refiero al subconjunto de los sistemas susceptibles de ser construidos y/o programados, tengan estos una lógica binaria o cualquier otro tipo de lógica. Pueden ser, por ejemplo, una laptop, un androide, un robot industrial, un dron, un coche autónomo, una granja de servidores o una tarjeta electrónica dotada de una TPU.

Johautt Hernández — jhernandez@innotica.net

Referencias bibliográficas

  1. Canal dot csv en YouTube (especializado en inteligencia artificial)
  2. Modelos y Machine Learning
  3. Inteligencia artificial — Computer Hoy
  4. Alan Turing — Wikipedia
  5. Test de Turing — Wikipedia
  6. Máquina de Turing — Wikipedia
  7. Perceptrón — Wikipedia
  8. BJT — Wikipedia
  9. Historia de la IA — National Geographic
  10. Historia de la IA (2) — TICbeat
  11. Algunos usos de la IA — Computer Hoy
  12. Función de activación — Diego Calvo
  13. Función de activación (2) — Towards Data Science
  14. Libro de ML gratuito
  15. Algunos conceptos — Universidad de Sevilla
  16. Algunos conceptos (2) — iArtificial.net
  17. CS50's Introduction to Artificial Intelligence with Python — edX

Escrito por:

Johautt Hernández

Etiquetas

¿Te ha gustado este artículo?

Suscríbete y recibe contenido sobre automatización, sostenibilidad y tecnología directamente en tu correo.

¿Tiene un proyecto en mente?

Cuéntenos sobre su próximo proyecto y descubra cómo podemos ayudarle con automatización, sostenibilidad y digitalización.