Enseñanza automática con Project Bonsai de Microsoft
Por Simon Bisson, columnista de InfoWorld |
Dado que el aprendizaje automático (ML) es el núcleo de gran parte de la informática moderna, la pregunta interesante es: ¿cómo aprenden las máquinas? Hay mucha informática profunda en el aprendizaje automático, que produce modelos que utilizan técnicas de retroalimentación para mejorar y entrena con conjuntos de datos masivos para construir modelos que pueden usar técnicas estadísticas para inferir resultados. Pero, ¿qué sucede cuando no se tienen los datos para construir un modelo utilizando estas técnicas? ¿O cuando no tienes las habilidades en ciencia de datos disponibles?
No todo lo que queremos gestionar con aprendizaje automático genera grandes cantidades de big data o tiene el etiquetado necesario para que esos datos sean útiles. En muchos casos, es posible que no tengamos los conjuntos de datos históricos necesarios. Quizás estemos automatizando un proceso de negocio que nunca ha sido instrumentado o trabajado en un área donde la intervención humana es crítica. En otros casos, podríamos estar intentando defender un sistema de aprendizaje automático de ataques adversarios, encontrando formas de evitar datos envenenados. Aquí es donde entra en juego la enseñanza automática, guiando los algoritmos de aprendizaje automático hacia un objetivo y trabajando con expertos.
Microsoft ha estado a la vanguardia de la investigación de IA durante algún tiempo y las API de servicios cognitivos resultantes están integradas en la plataforma de Azure. Ahora ofrece herramientas para desarrollar y entrenar sus propios modelos utilizando big data almacenados en Azure. Sin embargo, esas plataformas y herramientas tradicionales de aprendizaje automático no son la única oferta de Microsoft, ya que su herramienta de desarrollo de código bajo Project Bonsai ofrece una forma sencilla de utilizar la enseñanza automática para impulsar el desarrollo de aprendizaje automático para la IA industrial.
Presentado como parte de la suite de sistemas autónomos de Microsoft, Project Bonsai es una herramienta para construir y entrenar modelos de aprendizaje automático, utilizando un simulador con participación humana para permitir a los expertos construir modelos sin necesidad de programación o experiencia en aprendizaje automático. Funciona como una herramienta para ofrecer IA explicable, ya que la fase de enseñanza automática del proceso muestra cómo el sistema de aprendizaje automático subyacente tomó una decisión.
En el corazón del Proyecto Bonsai se encuentra el concepto de simulación de entrenamiento. Estos implementan un sistema del mundo real que desea controlar con su aplicación de aprendizaje automático, por lo que debe construirlo utilizando un software de simulación de ingeniería familiar, como Simulink de MATLAB o código personalizado que se ejecuta en un contenedor. Si ya está utilizando simuladores como parte de un entorno de desarrollo de sistemas de control o como herramienta de capacitación, puede reutilizarlos para usarlos con Project Bonsai.
Los simuladores de formación que tienen una interfaz de usuario son una herramienta útil en este caso, ya que pueden capturar las aportaciones del usuario como parte del proceso de formación. Los simuladores deben dejar muy claro cuándo falló una operación, por qué falló y cómo ocurrió. Esta información se puede utilizar como entrada para la herramienta de capacitación, ayudando a enseñar al modelo dónde pueden ocurrir errores y permitiéndole encontrar señales de que se está produciendo el error. Por ejemplo, un simulador que se utiliza para entrenar un modelo del Proyecto Bonsai para controlar el sistema de equipaje de un aeropuerto podría indicar cómo hacer funcionar los transportadores demasiado rápido hará que el equipaje se caiga, y hacerlo demasiado lento puede causar cuellos de botella. Luego, el sistema aprende a encontrar una velocidad óptima para lograr el máximo rendimiento de bolsas.
Existe un vínculo estrecho entre el Proyecto Bonsai y los sistemas de control, especialmente aquellos que aprovechan la teoría de control moderna para gestionar sistemas dentro de un conjunto de límites. Para funcionar bien con modelos de ML, un simulador debe brindar una buena imagen de cómo el objeto o servicio simulado responde a las entradas y entrega los resultados adecuados. Debe poder establecer un estado de inicio específico, permitiendo que el simulador y el modelo ML se adapten a las condiciones cambiantes. Las entradas deben cuantificarse para que su sistema ML pueda realizar cambios discretos en el simulador, por ejemplo, acelerar nuestro sistema de equipaje simulado en 1 m/s.
Conseguir el simulador adecuado es probablemente el aspecto más difícil de trabajar con Project Bonsai. Puede que no necesites habilidades en ciencia de datos, pero definitivamente necesitas habilidades de simulación. Es una buena idea trabajar con expertos en la materia y en simulación para crear su simulador y hacerlo lo más preciso posible. Una simulación que se aparte del sistema del mundo real que pretende gestionar con ML dará como resultado un modelo mal entrenado.
Una vez que tenga una simulación, puede comenzar a enseñar su modelo Project Bonsai ML en Training Engine. Microsoft llama a estos modelos "cerebros", ya que se basan en redes neuronales. Hay cuatro módulos: un arquitecto, un instructor, un alumno y un predictor. El arquitecto utiliza el plan de estudios de capacitación para elegir y optimizar un algoritmo de aprendizaje (actualmente usa una de tres opciones diferentes: Red Distributed Deep Q, Optimización de Política Proximal o Actor Crítico Suave).
Una vez que el arquitecto ha seleccionado un modelo de aprendizaje, el instructor ejecuta el plan de capacitación, maneja interactivamente el simulador y responde a los resultados del alumno. Quizás pueda pensar en el instructor y el alumno como una pareja, siendo el alumno donde se entrena el modelo de ML utilizando el algoritmo elegido y utilizando datos del simulador con entradas del instructor. Una vez que se completa el proceso de aprendizaje, el sistema entregará un predictor, que es un algoritmo entrenado con un punto final API que se ejecuta como un motor de inferencia, en lugar de entrenamiento. Los resultados del predictor se pueden comparar con los resultados del alumno para probar si los cambios mejoran el modelo.
La enseñanza automática, al menos en Project Bonsai, se centra en alcanzar objetivos específicos. Puede pensar en estas como las condiciones de contorno de un modelo de control. Los objetivos disponibles son relativamente simples, por ejemplo, establecer algo que se debe evitar o establecer un objetivo que se debe alcanzar lo más rápido posible. Otros objetivos incluyen establecer valores máximos o mínimos y mantener un sistema cerca de un valor objetivo específico. El motor de capacitación funcionará para respaldar tantos objetivos como establezca en su plan de estudios de capacitación. Objetivos como estos simplifican considerablemente el aprendizaje automático. No es necesario crear algoritmos de entrenamiento complejos; todo lo que es necesario es definir los objetivos que su modelo de ML deberá alcanzar y Project Bonsai se encarga del resto por usted.
El resultado de Project Bonsai es un modelo de aprendizaje automático con los puntos finales necesarios para que su código funcione. El modelo se puede actualizar con el tiempo, agregando nuevos objetivos y refinando la capacitación según sea necesario, comparando los resultados previstos con las operaciones reales.
El plan de estudios de enseñanza está escrito en un idioma llamado Inkling. Es un lenguaje de dominio específico que toma objetos con nombre de un simulador, vinculando sensores y actuadores. Inkling utiliza sensores para obtener estados y actuadores para impulsar acciones, con lo que llama "nodos conceptuales" para describir los objetivos. No es difícil aprender Inkling y la mayoría de los expertos en la materia deberían poder escribir un módulo de capacitación sencillo muy rápidamente. Se pueden construir modelos más complejos agregando más funciones a una aplicación Inkling. Microsoft proporciona una referencia completa del lenguaje Inkling y debería ayudarle a empezar a escribir la formación Project Bonsai.
Project Bonsai se ejecuta en Azure y necesitarás presupuestar sus operaciones. Los modelos y simuladores se almacenan en Azure Container Registry y utilizan contenedores para ejecutar simulaciones. Los registros se administran mediante Azure Monitor y Azure Storage contiene simuladores archivados. Los costos no deberían ser demasiado altos, pero vale la pena monitorearlos y eliminar grupos de recursos no deseados una vez que haya entrenado sus modelos.
La enseñanza automática proporciona un enfoque alternativo para el desarrollo de ML que funciona bien con problemas de control, como el trabajo con equipos industriales. Evita la necesidad de grandes cantidades de datos y, al utilizar objetivos para enseñar un modelo, cualquier persona que comprenda el problema y tenga habilidades básicas de programación puede entrenarlo. No es un sistema sin código, ya que la capacitación debe escribirse en Inkling y se necesita el aporte de expertos para escribir e instrumentar un simulador para ejecutarlo dentro del entorno de capacitación de Project Bonsai. Con un plan de estudios de capacitación bien diseñado y una simulación precisa, debería poder construir lo que solían ser modelos de aprendizaje automático muy complejos con una rapidez sorprendente, trasladando el aprendizaje automático de las predicciones al control.
A continuación lee esto:
Autor del blog Enterprise Microsoft de InfoWorld, Simon Bisson ha trabajado en investigación académica y de telecomunicaciones, ha sido director de tecnología de una startup, ha dirigido la parte técnica de UK Online y ha realizado consultoría y estrategia tecnológica.
Copyright © 2021 IDG Communications, Inc.
A continuación lee esto: