¿Qué es la inteligencia artificial (IA)?
Tres cosas que es necesario saber
La inteligencia artificial, o IA, es una simulación del comportamiento humano inteligente. Se trata de un ordenador o un sistema diseñado para percibir su entorno, entender su comportamiento y realizar acciones. Tomemos como ejemplo los vehículos autónomos: los sistemas basados en IA como estos integran algoritmos de IA, como machine learning y deep learning, en entornos complejos que permiten la automatización.
Se estima que la IA creará 13 billones de dólares en valor económico en todo el mundo para 2030, según un pronóstico de McKinsey.
Esto se debe a que la IA está transformando la ingeniería en casi todas las industrias y áreas de aplicación. Más allá de la conducción autónoma, la IA también se utiliza en modelos que predicen los fallos de las máquinas, indicando cuándo requerirán mantenimiento; en análisis y sensores relacionados con la salud, como los sistemas de monitorización de pacientes; y en sistemas robóticos que aprenden y mejoran directamente mediante la experiencia.
El éxito del trabajo con la IA requiere más que entrenar un modelo de IA, especialmente en los sistemas basados en IA que toman decisiones y realizan acciones. Un flujo de trabajo de IA sólido implica la preparación de los datos, la creación de un modelo, el diseño del sistema en el que se ejecutará el modelo y el despliegue en el hardware o en los sistemas de la empresa.
Los pasos del flujo de trabajo de IA.
Preparación de datos
Tomar los datos en bruto y hacerlos útiles para un modelo preciso, eficiente y significativo es un paso crucial. De hecho, representa la mayor parte del esfuerzo en relación con la IA.
La preparación de los datos requiere conocimientos especializados, como experiencia en señales de voz y audio, navegación y fusión de sensores, procesamiento de imagen y vídeo, y radar y LiDAR. Los ingenieros de estos campos son los más indicados para determinar cuáles son las características críticas de los datos, cuáles no son importantes y qué eventos excepcionales hay que tener en cuenta.
La IA también conlleva cantidades ingentes de datos. Sin embargo, etiquetar los datos y las imágenes es tedioso y requiere mucho tiempo. A veces, no hay suficientes datos, especialmente en el caso de los sistemas esenciales para la seguridad. La generación de datos sintéticos precisos puede mejorar sus conjuntos de datos. En ambos casos, la automatización es fundamental para cumplir con los plazos.
Modelado de IA
Los factores clave para tener éxito en el modelado de sistemas de IA son:
- Comenzar con un conjunto completo de algoritmos y modelos predefinidos para machine learning, deep learning, reinforcement learning y otras técnicas de IA.
- Usar apps para el diseño y el análisis productivos.
- Trabajar en un ecosistema abierto donde las herramientas de IA como MATLAB®, PyTorch y TensorFlow™ se puedan usar conjuntamente.
- Gestionar la complejidad de los cálculos con la aceleración mediante GPU y el escalado a servidores paralelos y en la nube, así como a centros de datos locales.
Diseño de sistemas
Los modelos de IA existen dentro de un sistema completo. En los sistemas de conducción autónoma, la IA para la percepción debe integrarse con algoritmos para la localización y la planificación de la trayectoria, así como con controles para el frenado, la aceleración y el giro.

Uso de IA en un escenario de conducción autónoma.
Consideremos la IA para el mantenimiento predictivo de los parques eólicos y los controles de piloto automático de las aeronaves actuales.
Los sistemas complejos basados en IA como estos requieren integración y simulación.
Despliegue
Los modelos de IA se deben desplegar en las CPU, GPU y/o FPGA de su producto final, ya sea que formen parte de un dispositivo embebido o edge, un sistema empresarial o la nube. Los modelos de IA que se ejecutan en el dispositivo embebido o edge proporcionan los resultados rápidos necesarios en el campo, mientras que los modelos de IA que se ejecutan en los sistemas empresariales y en la nube proporcionan resultados de los datos recopilados a través de muchos dispositivos. Con frecuencia, los modelos de IA se despliegan en una combinación de estos sistemas.
El proceso de despliegue se acelera cuando se genera código a partir de los modelos y se ajusta a los dispositivos. Mediante técnicas de optimización de generación de código y librerías optimizadas para el hardware, se puede ajustar el código para que se adapte al perfil de bajo consumo requerido por los dispositivos embebidos y edge o a las necesidades de alto rendimiento de los sistemas empresariales y la nube.
Existe una escasez de habilidades relacionadas con IA ampliamente documentada. Sin embargo, los ingenieros y los científicos que utilizan MATLAB o Simulink® tienen las habilidades y las herramientas necesarias para crear sistemas basados en IA en sus áreas de especialización.
Preprocesamiento de datos con MATLAB
Dedicará menos tiempo a preprocesar datos. Desde datos de sensores de series temporales hasta imágenes o texto, las apps y los tipos de datos de MATLAB reducen significativamente el tiempo necesario para preprocesar los datos. Las funciones de alto nivel hacen que sea sencillo sincronizar series temporales dispares, sustituir valores atípicos por otros interpolados, filtrar señales con ruido, separar texto sin procesar en palabras y muchas más cosas. Puede visualizar los datos con rapidez para comprender las tendencias y detectar problemas de calidad de los datos mediante gráficos y Live Editor.
Las apps de MATLAB automatizan el etiquetado de validación (ground-truth) de datos de imagen, vídeo y audio.
Para probar los algoritmos antes de que estén disponibles los datos de los sensores u otros equipos, puede generar datos sintéticos mediante Simulink. Este enfoque se utiliza habitualmente en los sistemas de conducción autónoma, como el control de crucero adaptativo, la asistencia para el mantenimiento de carril y el frenado de emergencia automático.

Utilice apps de etiquetado para flujos de trabajo de deep learning como la segmentación semántica.
Interoperación con marcos de deep learning.
Modelado de IA con MATLAB
Las técnicas de modelado de IA varían según la aplicación.
Machine learning
Los usuarios de MATLAB han desplegado miles de aplicaciones para mantenimiento predictivo, análisis de sensores, finanzas y electrónica de comunicaciones. Statistics and Machine Learning Toolbox™ facilita las partes difíciles de machine learning con apps para entrenamiento y comparación de modelos, procesamiento avanzado de señales y algoritmos de extracción, clasificación, regresión y agrupación de características para el aprendizaje supervisado y no supervisado.
ASML, un fabricante de semiconductores, utilizó técnicas de machine learning para crear tecnología de metrología virtual para mejorar la alineación de la superposición en las complejas estructuras que componen un chip. “Como ingeniero de procesos, no tenía experiencia con redes neuronales ni machine learning. He trabajado con los ejemplos de MATLAB para encontrar las mejores funciones de machine learning para generar metrología virtual. No podría haberlo hecho con C o Python; habría tardado demasiado en localizar, validar e integrar los paquetes correctos”, afirma el ingeniero Emil Schmitt-Weaver.
Los modelos de MATLAB también presentan una ejecución más rápida que con código abierto en la mayor parte de los cálculos estadísticos y de machine learning.

La app Classification Learner, que permite probar diferentes clasificadores y encontrar el que mejor se adapta a su conjunto de datos.
Deep learning
Los ingenieros utilizan las capacidades de deep learning de MATLAB para la conducción autónoma, la visión artificial, el procesamiento del habla y el lenguaje natural y otras aplicaciones. Deep Learning Toolbox™ permite crear, interconectar, entrenar y evaluar las capas de una red neuronal profunda. Los ejemplos y las redes previamente entrenadas facilitan el uso de MATLAB para deep learning, incluso sin conocimiento de los algoritmos avanzados de visión artificial o de las redes neuronales.
MATLAB permite a los ingenieros trabajar juntos en diferentes marcos de deep learning. Con soporte para ONNX, MATLAB permite importar y exportar los modelos más recientes con origen y destino en otros marcos soportados, incluido TensorFlow.

La app Deep Network Designer, que permite crear, visualizar y editar redes de deep learning.
Reinforcement learning
En los sistemas de control que se benefician de un aprendizaje basado en la recompensa acumulativa, reinforcement learning es una técnica ideal. Reinforcement Learning Toolbox™ permite entrenar políticas usando DQN, A2C, DDPG y otros algoritmos de reinforcement learning. Estos métodos se pueden emplear a fin de implementar controladores y algoritmos de toma de decisiones para sistemas complejos, tales como robots y sistemas autónomos. Las políticas se pueden implementar mediante redes neuronales profundas, polinomios o tablas de búsqueda.

Uso de Reinforcement Learning Toolbox para diseñar y entrenar políticas.
Procesamiento del lenguaje natural
Con frecuencia se utilizan modelos de procesamiento del lenguaje natural para el análisis de sentimiento, el mantenimiento predictivo y el modelado de temas. Text Analytics Toolbox™ proporciona algoritmos y visualizaciones para preprocesar, analizar y modelar datos textuales. Permite extraer y procesar texto de orígenes tales como registros de equipos, fuentes de noticias, encuestas, informes de operadores y redes sociales.
Mediante técnicas de machine learning tales como LSA, LDA y word embedding, es posible localizar agrupaciones y crear funcionalidades a partir de conjuntos de datos textuales altamente dimensionales. Las funcionalidades creadas con Text Analytics Toolbox se pueden combinar con funcionalidades de otras fuentes de datos para crear modelos de machine learning que utilicen datos textuales, numéricos y de otros tipos.

Identificación de temas en datos de informes sobre tormentas.
Diseño de sistemas
Los sistemas complejos basados en IA deben integrarse con otros algoritmos. El diseño y la simulación del sistema son importantes porque el sistema en general afecta a la eficacia de los modelos de IA. Los ingenieros utilizan Simulink para la iteración rápida del diseño y las pruebas de bucle cerrado.
Por ejemplo, en un sistema de conducción autónoma, se utiliza la IA y la simulación para diseñar el controlador de frenado, aceleración y giro. Se utiliza Simulink para diseñar y simular el modelo del sistema, y MATLAB para el modelo de IA. Se puede usar software como Unreal Engine para sintetizar la imagen ideal de la cámara para alimentar el modelo de IA.
Voyage, que fabrica taxis autónomos para comunidades de jubilados, desplegó un vehículo autónomo de nivel 3 en menos de tres meses. El modelo integrado aceleró el proceso desde la idea hasta las pruebas de carretera. Simulink permitió realizar pruebas de forma segura en condiciones peligrosas.
Simulink también permite generar datos de fallos a partir de condiciones de fallo conocidas. En un parque eólico, se podrían agregar los datos de fallo sintéticos a los datos medidos de las turbinas eólicas. Puede perfeccionar el modelo de su sistema para obtener un predictor preciso de los futuros fallos en los equipos.

Aplicación de control de mantenimiento de carril con percepción de cámara monocular creada con MATLAB y Simulink.

Uso de datos sintéticos de fallos del modelo junto con datos medidos para crear un predictor potente de fallos futuros.
Despliegue
Los modelos de IA de MATLAB se pueden desplegar en placas o dispositivos embebidos, dispositivos edge en el campo, sistemas empresariales o la nube.
En el caso de los modelos de deep learning, puede utilizar GPU Coder™ para generar y desplegar GPU NVIDIA® CUDA®. O bien generar código C con MATLAB Coder™ para el despliegue en placas Intel® y ARM®. Las librerías optimizadas por los proveedores crean modelos desplegables con una velocidad de inferencia de alto rendimiento.
Con MATLAB Production Server™, es posible realizar el despliegue y la integración de forma segura con sistemas de TI empresariales, orígenes de datos y tecnologías operativas.
Integración directa con sistemas y datos existentes, incluidos Tableau®, TIBCO® Spotfire®, Power BI y otros sistemas analíticos modernos.