Ir al contenido
Noticias y Eventos
text

Qué es la Inteligencia artificial y su aplicación en la Ingeniería y la Arquitectura

Inteligencia Artificial 06 julio, 2022

La inteligencia artificial o IA es una de las disciplinas que está a la orden del día, pero una de las dudas que nos surge es ¿Qué tipo de soluciones nos da? o ¿Cómo las podemos aplicar en la construcción o en el diseño?

Todas estas preguntas nos las resolvieron Luis Peña y José María Peña, respectivamente CEO y Director de la empresa Lurtis, que cuenta con más de 15 años de experiencia y que se dedica al desarrollo de la inteligencia artificial a través de diferentes servicios y productos que ofrecen a diferentes industrias para ayudarlas a conseguir todo el potencial que tiene esta tecnología, a través del Workshop “Inteligencia Artificial aplicada a Ingeniería y Arquitectura” que organizó butic The New School. El evento fue privado, existiendo incluso una modalidad de pago, pero con el fin de universalizar este crítico conocimiento, butic ha decidido hacer público en dos entregas semanales, dentro de las cuales se podrá acceder tanto a las 3 horas de cada sesión, como a la documentación de apoyo que se utilizó durante cada una de ellas. Esperamos que sea de gran utilidad para el gran público.

Qué es la Inteligencia Artificial  y cuáles son las diferencias y similitudes entre Machine Learning, Deep Learning, Data Science, Data Mining y Big Data

Para definir la Inteligencia Artificial podemos encontrarnos con diferentes enfoques para su definición;  un primer enfoque objetivo, que estudia los entes inteligentes, un segundo enfoque científico, que se entiende por modelar y describir los entes inteligentes, y por último tendríamos un tercer enfoque de ingeniería, que hace referencia a la construcción de entes inteligentes.

Otras interpretaciones que hacen referencia a ello, hablan de “sistemas que piensan como humanos”, o de “sistemas que actúan como humanos” o pueden ser “sistemas que actúan de forma racional”.

Pero realmente, ¿qué es la Inteligencia Artificial?. Se trata del grupo de tecnologías, disciplinas y metodologías que persigue un objetivo principal: la resolución de problemas de forma automática sin necesidad de decirle cómo tiene que hacerlo.

También tenemos otras áreas del conocimiento que, aunque muy relacionadas entre sí, tienen ciertas diferencias.

 

Una de ellas, el Machine Learning o aprendizaje automático, es un subconjunto de la inteligencia artificial. Es una forma de hacer que las máquinas “piensen” como los humanos. Se utiliza cuando queremos que las máquinas aprendan de la información que les proporcionamos.

Otro término que forma parte de la inteligencia artificial es el Deep Learning o aprendizaje profundo, que es una subdisciplina del Machine Learning que utiliza las redes neuronales, algoritmos inspirados en cómo funciona el cerebro humano diseñados para aprender grandes cantidades de datos.

En cuanto a otras ciencias asociadas, tenemos el Data Science, que es la disciplina en la que se apoya parte de la IA, y que permite resolver un problema de forma simple a través del análisis de datos de modo estructurado o coherente.

Cuando a esa capa de análisis de datos (Data Science) le sumas un conjunto de datos que se recogen en todos los procesos, incrementamos nuestra base de conocimiento y le agrupamos los datos, genera lo que se conoce como Data Mining, también llamado minería de datos, que es el precursor de de la mayor parte de las tecnologías, y que se encarga de recoger todos los datos de nuestros procesos, buscando una forma automatizada de analizarlos.

Por último, hay otro término muy de moda actualmente, el llamado Big Data, que es el sistema que gestiona grandes volúmenes de información o muchas fuentes no estructuradas.

Procesos para implantar tecnologías en la Inteligencia Artificial

Uno de los planteamientos metodológicos relativos al Machine Learning y a la ciencia de datos es el llamado modelo CRISP-DM, que surgió a finales de la segunda mitad de los años 90, y que viene de los grandes grupos industriales, porque querían aplicar técnicas de análisis de datos para la mejora de sus procesos. Se establecen de forma jerárquica una serie de fases, comenzando primero por un nivel de fase, después a unas tareas genéricas, tareas específicas y por último a instancias de proceso.

Modelo CRISP

Las fases serían:

  • Business Understanding: Es el entendimiento de los objetivos del proyecto o los requisitos si se tratase de un negocio para convertir esas necesidades en un plan de Data Mining.
  • Data Understanding: es una recolección inicial de datos para familiarizarse con ellos, y para poder detectar problemas de calidad en los datos, y obtener conclusiones o descubrir datos interesantes.
  • Data Preparation: a partir de datos en bruto, construye conjuntos de datos, que van a alimentar a los modelos. Se incluye aquí la selección de datos, limpieza de datos, transformación, etc.
  • Modeling: es la fase central de este proceso. Consiste en la selección y aplicación de diferentes modelos de Machine Learning / Data Mining. Es bastante frecuente que en esta fase se puede plantear retomar a la anterior fase para poder adaptar o mejorar datos.
  • Evaluation: es la fase en la que se valora si estos modelos construidos van a ser útiles para el negocio. Al final de este proceso, se valorará si los resultados obtenidos van a servir para alcanzar los objetivos que se buscan, y por consiguiente, ponerlos en práctica.
  • Deployment: caracterizada por ser la fase más técnica. Consiste en poner en marcha los modelos que se han definido con anterioridad para que se puedan usar en el proceso de análisis y decisión de la empresa.

Técnicas de la Inteligencia Artificial

  • Búsqueda en Espacios de Estados, el concepto principal de esta técnica es el de realizar una exploración del entorno, por lo que se van a buscar planes o secuencias de acciones para alcanzar un objetivo. Cada uno de estos planes o acciones puede ser la candidata a ser la solución del problema. Está muy orientado a los sistemas de control y gestión porque se quiere obtener una secuencia de acciones para resolver problemas pues son capaces de interactuar con un determinado entorno.

Búsqueda en espacio de estados

Se trata de una técnica basada en las búsquedas, ya que va a depender de la información que tenga disponible para poderla estructurar y diseñar este “Espacio de Estados” para hacerlo de forma correcta, definiendo qué acciones son posibles y cuáles no. Destacan dos características, como la Completitud, en el que el algoritmo siempre va a buscar la solución, y la Optimalidad, que garantiza que la primera solución que encuentra es la mejor.

Esquema búsqueda en espacios de estadosSon técnicas que en los últimos años han evolucionado en entornos de aplicación muy complejos, permitiendo resolver problemas como los algoritmos de búsqueda de Montecarlo (o conocido como el método Montecarlo), en el que dicho algoritmo hace una búsqueda probabilística y heurística, combinando la ejecución de búsqueda de árbol junto a los principios de aprendizaje automático del aprendizaje por refuerzo. En esta búsqueda de árbol, hay que tener en cuenta que siempre va a existir la posibilidad de que la mejor acción actual no va a ser la acción más óptima, por lo que el algoritmo seguirá evaluando otras alternativas. Por tanto, va a explotar las acciones y estrategias que considera mejores hasta ese momento, mientras que sigue explorando otras alternativas para descubrir sí pueden reemplazar a las mejores actuales.

Aplicar técnicas de búsqueda

Para poder aplicar estas técnicas, lo primero que necesito es conocer el espacio de estados, para ser capaz de estructurarlo y poder definir cuál es el estado que yo quiero alcanzar de todos los posibles. Para ello, se requiere la parte analítica o de diseño del modelo y tener un conocimiento bastante profundo de lo que se puede y lo que no se puede, y de cómo va a funcionar en el entorno.

En cuanto a los resultados, cuando se aplican estas técnicas se espera a ser capaces de analizar de una forma más minuciosa, qué proceso usar para resolver el problema, garantizando que la solución que da es la mejor.

Otra de las técnicas de la Inteligencia Artificial es la Planificación de Procesos, que igual que la Búsqueda de Espacios de Estados, es una búsqueda ordenada de acciones, pero habla de acciones que yo produzco, propongo o ejecuto, y en qué orden las tengo que hacer para poder alcanzar una meta. Se aplica aquí cuando resulta un problema complicado para la Búsqueda de Espacios de Estados, por lo que a través de la Planificación de Procesos, descomponemos los problemas en tareas y estados específicos. Por lo tanto, estos algoritmos lo que intentarán es trabajar los estados en aspectos específicos que quiero alcanzar.

En cuanto a las ventajas que tiene destaca la descomposición de tareas, ya que se trata de un proceso muy intuitivo para la resolución de problemas. Otra ventaja es que permite la flexibilización de la solución, en base a los parámetros de entrada y salida esperados, por lo que automatiza el procedimiento de la toma de decisiones, ya que cuenta con un mecanismo para resolver los problemas buscando la solución del mismo, a través de una secuenciación de acciones hasta alcanzar ese objetivo último.

Aplicar técnicas de Planificación de Procesos

Para su aplicación, necesitaremos definir el estado de forma correcta, modelar el conocimiento experto para poder descomponer las tareas y debilitar el criterio de optimalidad.

Son buenos en obtener resultados en entornos en tiempo real o en entornos reactivos. Al ser una secuencia de acciones, nos va a permitir analizar todas las soluciones que nos ofrece el entorno, así como ser capaces de poder procesar o de deducir cada una de ellas, para poder alcanzar más detalle o especificación.

Por último, tenemos como técnica de la Inteligencia Artificial:

Los Sistemas Multiagentes 

Hace referencia a un conjunto de agentes autónomos inteligentes, es decir, se tratan de piezas de software que son capaces de resolver determinadas tareas de forma autónoma. Estos agentes autónomos se van a caracterizar por tomar iniciativas y negociar, por compartir conocimiento y por alcanzar objetivos comunes.

Estos sistemas se pueden aplicar en muchos entornos, ya que se pueden incluir desde elementos físicos o virtuales. Un ejemplo de ello sería un sistema de reservas automatizado de viajes, en el que cada uno de los agentes puede mandar una reserva, habiendo en estos sistemas autogestionados un mecanismo de arbitraje.

Como ventajas, estos sistemas van a poder desarrollarse una simulación de escenarios, van a poder crear entornos modulares colaborativos, y van a poder explorar multitud de soluciones en paralelo y poderlas combinar.

Los requisitos que van a precisar son, que si los agentes son distintos, hay que modelarlos por separado y saber cuál es el objetivo común (diferenciando cuál es el objetivo común y cuál es en el que compiten).

Las técnicas basadas en los datos: Machine Learning

Anteriormente, nos hemos referido a las técnicas basadas en la descripción del problema, ahora nos vamos a centrar en las técnicas de datos. Una de ellas es el Machine Learning, y se trata del núcleo primordial de determinadas técnicas de la Inteligencia Artificial.

Cuando tenemos datos, hay dos cuestiones fundamentales que tenemos que tener en cuenta: qué clase de datos tienes y para qué quieres usarlos.

Esos datos los voy a poder analizar de 3 formas:

  • Análisis Predictivo, en el se van a contemplar sucesos pasados para poder predecir lo que puede ocurrir en el futuro. Lo que quiere decir es que nos va a aportar una información valiosa porque de esta forma nos podemos plantear futuras acciones porque nos da la respuesta a lo que probablemente pueda ocurrir.
  • Análisis Descriptivo, es uno de los más frecuentes. Lo que hace es utilizar datos históricos o presentes para describirnos los resultados de algo que ya ha pasado o que está pasando en ese momento, ofreciéndonos la respuesta para tomar la decisión que me lleve al éxito.
  • Análisis causal, en la que la información que obtengo viene asociada a unas series (temporales o de elementos concurrentes de eventos), que lo más importante aquí es establecer relaciones.

A su vez, se clasifican en Modelos de Aprendizaje Supervisado, y  en Modelos de Aprendizaje No Supervisado.

  1. Los Modelos de Aprendizaje Supervisado,  en los que los algoritmos están basados en un sistema de etiquetas asociadas a unos datos que les permiten tomar decisiones o hacer predicciones.
  2.  Los Modelos de Aprendizaje No Supervisado, son aquellos en los que los algoritmos no tienen conocimiento previo. Tienen como objetivo el de encontrar patrones que les permitan organizarse de alguna forma.

Otra clasificación sería por las tipologías de los atributos:

  • Según su cardinalidad: continuos, que habla sobre cualquier variable que implique un rango continuo de valores (coste, temperatura, duración, etc.), categóricos, los cuales implican las etiquetas (provincia, material, tipo…) u ordinal, que tienen una ordenación dentro de ellos (calificación energética, fiabilidad, categorías…).
  • Según su naturaleza: estructurado, de esta forma están estructurados la mayor parte de ellos (en formato tabla), semiestructurado, que se refiere a la información que tiene una determinada estructura pero que tiene mucha más información interna (normativas, informes…) o de tipo multimedia (imagen, vídeo, audio).
  • Según sus dependencias: series temporales, cualquier dato que viene secuenciado, es decir, que un dato esté relacionado con otro anterior (consumos, temperaturas…), datos asociados a formato grafos (redes sociales, relaciones, jerarquías…) o  datos de tipo taxonómicos (agrupaciones, tipos, subtipos…).

Tipos de técnicas del Machine Learning

La primera de las técnicas del Machine Learning sería el llamado Análisis de Asociaciones, cuyo objetivo sería la búsqueda de eventos o cosas que ocurren de forma conjunta, pudiendo ser por una situación causal (implica que una acción sea la causa de otra), y que haya una correlación entre esas 2 cosas (2 cosas que ocurran a la vez).

Un ejemplo de esta técnica sería el análisis de la cesta de la compra, dónde establezco cuáles son los patrones comunes en lo que compran los clientes. Este tipo de datos se analizan a través de “itemset” , cuya finalidad es encontrar qué productos son lo que más demanda el cliente, y cómo puedo utilizar esa información para mis propias metas como dueño de supermercado. En este ejemplo, una cesta de la compra habitual está compuesta por dos artículos muy dispares, como son los pañales y las cervezas. Estaría ante el hecho de, ¿Cómo puedo utilizar esta información para mejorar mi negocio? pues por ejemplo, podría poner cada artículo en un extremo del supermercado, para que de esa forma, el consumidor añada artículos nuevos a su cesta de la compra.

Otra técnica sería el Análisis de series temporales, muy relacionado con la domótica, es decir, a los llamados edificios inteligentes. Se asocia a dos modelos diferentes, por un lado, patrones que se repiten con bastante frecuencia, y por otra parte, relacionado con patrones temporales, que ocurren de forma eventual. Es muy útil para analizar el comportamiento de los sistemas autónomos o de los sistemas sensorizados.

Variantes del Análisis de Asociaciones

Hay que diferenciar 3 tipos:

  1. Las técnicas de asociaciones son las que, sin establecer una relación temporal, encuentran tipos de patrones recurrentes en varios casos. Se utiliza para la segmentación de los clientes, llamado “collaborative filtering”, que es cuando por ejemplo, una marca como Amazon, me sugiere una serie de productos relacionados con lo que estoy buscando.
  2. Los patrones secuenciales, con una relación temporal fija. Hace referencia a dos modelos que están juntos en intervalos de tiempo o en secuencias temporales. Un ejemplo claro sería para la planificación del stock.
  3. Las secuencias similares, con una relación temporal variable. Este fenómeno es similar al anterior, pero se desarrolla en un espacio de tiempo más largo. Un ejemplo de ello sería para la detección de anomalías o para una inspección basada en riesgos.

Cómo aplicar el Análisis de Asociaciones

Dependiendo de cómo estén organizados o empaquetados los datos, lo primero es tener un listado de transacciones (por ejemplo de ítems que ha comprado alguien o de eventos que se han producido en un espacio de tiempo) o secuencias temporales, es decir, un sistema de sensorización continuo en el que no necesitas identificar valores de predicción, y funciona con datos diversos. Se requiere una gran número elevado de datos, y para su aplicación, se debe fijar el umbral de relevancia y después establecer o una jerarquía o a través del tratamiento de series temporales.

Los resultados que se pueden obtener al aplicar este Análisis de Asociaciones serían:

  • Patrones que pueden ser válidos o no, dependiendo de la acción o habilidad de los mismos, y que sirven para establecer correlaciones.
  • Los resultados que no estén muy claros, por lo que puedes encontrarte con que sean triviales (son conocidos por todos, predecibles), útiles (son desconocidos por todos) o que sean inexplicables (carentes de explicación).

Cuando dispones de este tipo de patrones, puedes hacer un análisis comparativo entre pares, determinar la estacionalidad y los aspectos de tipo georreferenciado (cuál es la relación espacial que existen en esos elementos).

Machine Learning: Segmentación 

Las técnicas de Clustering o de Segmentación consisten en generar grupos (subpoblaciones de datos similares) a partir de un conjunto de componentes, que aunque tienen distintas características o variables, y que se pueden agrupar.

Un ejemplo de ello sería la segmentación de clientes por datos de compra. Para ello, tendría que determinar una serie de aspectos como:

  • Los criterios de similitud, analizando qué aspectos tienen valores más o menos parecidos. Un ejemplo sería la edad.
  • Qué escala y qué importancia tienen los atributos.
  • Comparación de rasgos categóricos.
  • Análisis de los segmentos por: tamaño, similitud/diferencia, etc.

Qué técnicas de segmentación se aplican en el Machine Learning

El siguiente paso que tenemos que dar es conocer cuáles son las mejores técnicas de segmentación que se pueden aplicar en el Machine Learning. La primera de ellas sería la Segmentación jerárquica, que es la técnica que clasifica a los elementos en clases o categorías organizadas de forma jerárquica, la cual se parece a la estructura de un árbol, denominada dendrograma. Tiene como desventaja que no es conveniente para grandes grupos de datos.

El otro segmento es el conocido como Biclustering, y se trata de la generación de agrupaciones, tanto en las instancias (filas) como en las columnas. Un ejemplo de este tipo sería una selección musical en una fiesta, en el que en cada estancia vas a poner un tipo de música, y las personas se agruparán en función de sus gustos musicales, por lo tanto, estarás ordenando de esa forma, por un lado a las personas, y por otro al tipo de música.

Cómo aplicar las técnicas de Segmentación

Para poderlas aplicar, lo primero que necesitas hacer es agrupar todos los atributos que consideras relevantes y atribuir qué características en común tienen. Después, fijar una serie de criterios, como el número de grupos que quiero crear, cómo son de similares o diferentes estos grupos o el número mínimo de elementos por segmento. Esta técnica es muy útil para encontrar valores atípicos o para detectar información errónea.

Los resultados que puedes obtener son:

  • Puede servir como fase previa para otras técnicas.
  • Como herramienta descriptiva.
  • Se utiliza para la visualización de datos.

Machine Learning: Clasificación

La clasificación es una subcategoría del Aprendizaje Supervisado, y cuyo objetivo es predecir datos etiquetados (discretos, valores no ordenados, pertenecientes a un grupo) de las nuevas instancias, basándonos en datos pasados.  Un ejemplo de esto sería si una persona compra o no, ya que a través de la información de esos clientes, voy a poder determinar si se tratan de compradores potenciales o no. Otro ejemplo común sería el detectar si es correo es spam o no, dónde el algoritmo de Machine Learning sólo tiene que determinar dos clases: spam o no-spam.

Entrenamiento vs Inferencia

Dos aspectos fundamentales de este tipo de técnicas serían el Entrenamiento y la Inferencia.

Cuando hablamos de Entrenamiento hacemos referencia a la construcción de un modelo de inferencia para resolver un problema concreto. Para poderlo resolver, se utilizarán tres tipos de tareas como: clasificación de la información, búsqueda de patrones y conducción automática.

Por otra parte, tengo la Inferencia, en el que el modelo será utilizado para resolver y/o clasificar el problema.

Regresión vs Clasificación 

Estos dos conceptos pertenecen al Machine Learning supervisado. Cuando hablamos de un sistema de clasificación, hace referencia a la predicción de una categoría, y la Regresión es cuando realiza una predicción de un número.

Un ejemplo de clasificación es el ejemplo mencionado con anterioridad, la categorización como correo “spam” o “no spam”. Otro ejemplo sería la predicción de bajas en una compañía de teléfonos, a través del análisis de este tipo de datos, pudiéndose predecir si los clientes se van a ir a la competencia. Se clasificaría en dos categorías: “baja” o “no baja”.

Un ejemplo de una regresión sería el número de reservas se van a realizar en los meses de verano, ya que se trata de una predicción de números.

Los árboles de decisión

Un árbol de decisión es una técnica que emplea algoritmos (en forma de árbol) para que las máquinas aprendan a tomar decisiones y también a resolver problemas de regresión o de clasificación. Como resultado, se va a obtener modelos predictivos precisos y fiables.

El tipo de problemas que va a resolver, puede ser de dos tipos:

  • Variable dependiente: cuando se trata de un problema de regresión.
  • Variable categórica: estaríamos ante un problema de clasificación.

Error en la Predicción discreta

Pero todas estas técnicas que hacen una predicción, pueden tener una tasa de error. Para medir ese error, hay varias formas de hacerlo. Si se trata de una variable binaria o de multi-clase, el error que puede dar es sobre cuántas veces has acertado.

Si se trata de una variable de sensibilidad o de expresividad, no sólo el error determina las veces que te has equivocado en los positivos o en los negativos, sino que puede tener significados diferentes. Un ejemplo sería la medicina, porque si se diagnostica una enfermedad y luego no existe, o si no has diagnosticado una enfermedad porque se te ha pasado, estos dos casos van a tener implicaciones diferentes.

Y si se trata de una variable de Multi-etiquetado, que es usado sobre todo en análisis de texto o de imágenes, en el cual el valor sobre el que decides no es un valor único, sino que pueden ser varios valores. Por ejemplo, en una imagen vas a poder ver diferentes elementos, por eso va a tener distintas etiquetas, por lo tanto, las métricas que vas a usar para medir el error serán diferentes.

Error en la Predicción Continua

Si nos referimos a la Predicción de tipo continuo nos tenemos que basar en unos criterios que determinen que el error se da en términos absolutos, es decir, el error estaría situado dentro de una escala; criterios relativos, que son cuando las predicciones se promedian, teniendo en cuenta su error relativo para poder obtener la predicción final; y el criterio de información de Akaike, el cual estima el error fuera de la muestra.

Error y Sobreajuste

Por último, en los criterios de clasificación se puede dar el Sobreajuste (Overfitting) y que hay que evitar. Se da cuando el modelo se ajusta “muy bien” a los datos existentes”, pero que tiene un rendimiento escaso para predecir nuevos resultados.

Diferencias entre Machine Learning y…

  • Estadística, la principal diferencia es que la estadística requiere de hipótesis, mientras que Machine Learning no la requiere.
  • Reporting, que es el paso preliminar o final del Machine Learning. Se trata de una elaboración de informes que permite entender y mostrar datos, pero no descubrirlos.
  • Simulación, es un modelo basado en entender el problema, y por consiguiente, simplificarlo. Se complementa con el Machine Learning en la parte de identificación de patrones.

Conclusión

En esta primera parte en la hacemos publica la valiosísima información de este Workshop, se realizó una presentación de los diferentes aspectos que tiene la Inteligencia Artificial, aplicándola a sectores como la Arquitectura o las diferentes Ingenierías. En la segunda parte que desvelaremos la próxima semana, veremos cómo se puede aplicar la IA a través de múltiples casos prácticos.

Para terminar, aquí tienes la documentación que soportó la primera sesión en directo que puedes revisar al comienzo de esta entrada:

Así como el vídeo de la misma:

  1. Miércoles 6 de julio de 2022. Inteligencia Artificial aplicada a Ingeniería y a la Arquitectura. Primera Sesión (teórica)
  2. Miércoles, 27 de julio de 2022Inteligencia Artificial aplicada a Ingeniería y a la Arquitectura. Segunda Sesión (práctica).

Esperamos que os sea de enorme utilidad.