Conceptos básicos para entender la inteligencia artificial

22 July 2020 10:34 AM por Johautt Hernández

Ciudad inteligente

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

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

Unos de los términos más escuchado 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 que un imitar alguna forma de comportamiento inteligente. No importa si se realiza si esta se realiza mediante un algoritmo que implementa una lógica simple, o sea 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.

Podemos, a partir de aquí clasificar dos tipos de inteligencias artificiales. Una de ellas es la IA débil, la cuál 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 sólo podemos encontrarlos en películas de ciencia ficción futuristas, tales como Terminator o Wall-E.

Para poder implementar correctamente una inteligencia artificial es necesario tener en cuenta su modelo, definido este como una reconstrucción aproximada de un fenómeno que se desea estudiar, del cual se puede limitar el número de variables de entrada y salida a las que afecta significativamente el cambio de comportamiento del fenómeno, según el nivel de detalle que se necesite estudiar y según el caso a considerar. Si este modelo es correcto, se puede 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, tales como 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 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.

Anteriormente se había hablado que la inteligencia artificial también puede realizarla un algoritmo sencillo, que sea 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. Pero 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 cuál puede ser resuelta con Machine Learning (ML), que se refiere a la rama de la inteligencia artificial cuyo propósito es dotar a un sistema con la capacidad para aprender a resolver una tarea por sí sólo a través de la experiencia, o sea, sin que se necesite de una programación específica para resolverla. Debe quedar claro entonces que ML no es igual a IA, si no que ML es un subconjunto de la IA.

Imagen 1

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), que es un modelo computacional de aprendizaje compuesto por unidades que imitan el funcionamiento de una neurona, y que están interconectadas de una manera jerarquizada, habiendo capas de entrada (conectadas a los datos), capas de salida (que ofrecen el resultado procesado por todas las capas), y capas ocultas (que están en medio de las dos anteriores, y cuya profundidad determinan la complejidad de la red).

Cada una de estas neuronas artificiales tiene una o más entradas, y a su vez cada una de dicha entradas es estimulada por los datos del proceso o por la salida de una de las neuronas de una capa anterior y están asociadas a un peso sináptico, el cual regula la intensidad de la señal de entrada. Dicha regulación del peso sináptico es ajustada en la etapa de aprendizaje. A todas estas señales reguladas de estas entradas se les realiza una sumatoria, suma a la cual se resta un valor inhibidor que también es regulable en la etapa de aprendizaje, y es conocido como bias. Todo el conjunto anteriormente descrito también se le conoce como 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 su vez a una función no lineal, cuya salida se conecta a la o las neuronas artificiales de la siguiente capa, y es conocida como función de activación.

Estas funciones de activación pueden ser de varios tipos, tales como función sigmoide, función de tangente hiperbólica, función ReLU (Rectified Linear Unit), función escalón, entre otras.

Una ventaja de las redes neuronales es que se puede agregar la cantidad de capas que sean necesarias para resolver un problema dado, y de manera ilimitada. A medida que se agrega una mayor cantidad de capas a la red neuronal, se le otorga una mayor capacidad de resolver problemas más complejos y abstractos, lo cual permite mayor poder para realizar las cosas a las que estamos acostumbrados hoy, tales como distinguir animales, objetos, plantas y personas. Este intento para agregar capas que permitan resolver problemas de cada vez mayor complejidad se le 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, reconocimiento de rostros, detección de enfermedades mediante la lectura del resultado de exámenes de laboratorio, identificación de música, y en general el reconocimiento de patrones, el cual permite extraer información para la clasificación de objetos, que es posibilitada por un entrenamiento previo.

Imagen 2

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

Hablando sobre la recolección de datos, actualmente el abaratamiento de los medios de almacenamiento de datos, su creciente capacidad y el cada vez mayor poder de cómputo permite que exista la tendencia de acumular una ingente cantidad de datos para procesarlos mediante estos 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 poder ahondar más 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á 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. Estos pueden ser por ejemplo, una laptop, un androide, un robot industrial, un dron, un coche autónomo, una granja de servidores, una tarjeta electrónica dotada de una TPU, etc.

REALIZADO POR
Johautt Hernández
jhernandez@innotica.net

REFERENCIAS BIBLIOGRÁFICAS

  1. Canal dot csv en Youtube (especializado en inteligencia artificial): https://www.youtube.com/c/DotCSV
  2. Modelos y Machine Learning: https://www.youtube.com/watch?v=PCs3vsoMZfY
  3. Inteligencia artificial: https://computerhoy.com/reportajes/tecnologia/inteligencia-artificial-469917
  4. Alan Turing: https://es.wikipedia.org/wiki/Alan_Turing
  5. Test de Turing: https://es.wikipedia.org/wiki/Test_de_Turing
  6. Máquina de Turing: https://es.wikipedia.org/wiki/M%C3%A1quina_de_Turing
  7. Perceptrón: https://es.wikipedia.org/wiki/Perceptr%C3%B3n
  8. BJT: https://es.wikipedia.org/wiki/Transistor_de_uni%C3%B3n_bipolar
  9. Historia: https://www.nationalgeographic.com.es/ciencia/breve-historia-visual-inteligencia-artificial_14419/11
  10. Historia (2): https://www.ticbeat.com/innovacion/la-historia-de-la-inteligencia-artificial-desde-los-origenes-hasta-hoy/
  11. Algunos usos: https://computerhoy.com/noticias/life/10-usos-inteligencia-artificial-que-nadie-hubiera-imaginado-79811
  12. Función de activación: https://www.diegocalvo.es/funcion-de-activacion-redes-neuronales/
  13. Función de activación (2): https://towardsdatascience.com/complete-guide-of-activation-functions-34076e95d044
  14. Libro de ML gratuito: https://riptutorial.com/Download/machine-learning.pdf
  15. Algunos conceptos: http://grupo.us.es/gtocoma/pid/pid10/RedesNeuronales.htm
  16. Algunos conceptos (2): https://iartificial.net/redes-neuronales-desde-cero-i-introduccion/
  17. Un curso muy interesante que estoy realizando actualmente sobre inteligencia artificial (sólo se requiere conocimientos básicos de python, dominio del inglés y ganas de aprender): https://www.edx.org/es/course/cs50s-introduction-to-artificial-intelligence-with-python

*Este blog es de divulgación, por lo tanto Las opiniones expresadas en este artículo son de exclusiva responsabilidad del autor y no necesariamente representan la opinión de la empresa.

Escrito por:


Johautt Hernández

Edificios inteligentes

Sistemas HVAC

Construcción sostenible

Ciudades inteligentes