Inicio rápido: Equilibrio de una bola con IA (Moab)
- Duración total estimada: 20 minutos
- Tiempo activo: 5 minutos
- Tiempo de entrenamiento de la máquina: 15 minutos
Enseñar a una inteligencia artificial a equilibrar una bola en el centro de una placa con , un Bonsai simulador predefinido y código de ejemplo.
Antes de comenzar
Para completar esta demostración, debe tener una cuenta válida de Microsoft o Azure y un área de trabajo Bonsai válida aprovisionada en Azure. Si necesita una cuenta o una versión de prueba de Azure, siga las instrucciones de Microsoft account setup for Bonsai .
Paso 1: Carga del cerebro de Moab
Bonsai proporciona un simulador empaquetado previamente y código de ejemplo para el problema de equilibrio de bola (Moab). Para crear el cerebro:
- Sign into the Bonsai UI.
- Seleccione Moab en la lista de cerebros de demostración del cuadro de diálogo Getting Started (Introducción).
- Asigne un nombre al nuevo cerebro (por ejemplo, "Demostración de Moab").
- Haga clic en Create Brain (Crear cerebro) para cargar el cerebro de ejemplo y el simulador.
Captura de pantalla parcial de la pantalla "Crear cerebro" con el cerebro de ejemplo de Moab resaltado.
Paso 2: Inspección del plan de estudios
Bonsai abre la interfaz de usuario de enseñanza cuando se carga el cerebro de demostración. La interfaz de usuario de enseñanza incluye un panel de codificación y un panel de grafos. El panel de codificación muestra el código de enseñanza (el plan de estudios) escrito en un lenguaje propietario llamado Inkling. El grafo del panel de grafos representa el proceso de aprendizaje iterativo definido por el código Inkling.
Bonsai
Teaching UI" aria-describedby="50-0" data-linktype="relative-path">
Captura de pantalla anotada de la interfaz de usuario de Bonsai enseñanza dividida en tres paneles horizontales (izquierda, centro y derecha). En el panel izquierdo se muestran los cerebros y simuladores disponibles. El panel central tiene la anotación "Panel de codificación" y muestra el código Inkling de ejemplo. El panel derecho tiene la anotación "Panel de grafos" y muestra un grafo de enseñanza. El grafo de enseñanza tiene tres nodos organizados verticalmente (superior, central e inferior). El nodo superior tiene la etiqueta "ObservableState". El nodo central tiene la etiqueta "Concept MoveToCenter". El nodo inferior tiene la etiqueta "SimAction".
Al hacer clic en los distintos nodos del grafo de enseñanza se resalta la sección pertinente en el código de ejemplo:
- Nodo de estado: encapsula la información disponible para el cerebro a medida que se ejecuta la simulación (los estados observables del sensor). Para Moab, los estados observables del sensor son la posición actual y la velocidad de la bola.
- Nodo de concepto: encapsula el concepto que quiere que el cerebro aprenda según lo definido por los objetivos de entrenamiento. Para Moab, el concepto es mover una bola a un destino específico. Los objetivos de Inkling correspondientes son llevar la bola al centro de la bandeja y mantenerla allí (
drive Center Of Plate), y evitar el borde de la bandeja (avoid Fall Off Plate). - Nodo de acción: encapsula el conjunto de acciones válidas que el cerebro puede realizar en respuesta al estado observado. Para Moab, las acciones disponibles son ajustar la inclinación y el balanceo (inclinación) de la bandeja.
Paso 3: Entrenamiento del cerebro
Importante
La ejecución de simulaciones consume recursos de Azure. Al seguir el inicio rápido tal y como está escrito, se cobrarán a la suscripción de Azure aproximadamente 0,50 USD. El entrenamiento repetido o la ejecución del entrenamiento durante más tiempo del recomendado dará como resultado un costo adicional.
Abra la interfaz de usuario de entrenamiento y empiece a entrenar el cerebro; para ello, haga clic en el botón verde Train (Entrenar) del panel de grafos.
La interfaz de usuario de entrenamiento reemplaza el panel de codificación por un panel de datos vacío y muestra un grafo de enseñanza actualizado. Cuando se inicia el entrenamiento, Bonsai se inicia automáticamente una flota de instancias de simulador. La flota aparece en el gráfico actualizado como un nuevo nodo llamado Simulator (Simulador).
El nodo Simulator (Simulador) muestra lo siguiente:
- el nombre del simulador, "MoveToCenterSimulator".
- el número total de instancias de simulador de la flota.
- la velocidad general de la flota en iteraciones por segundo.
Bonsai
Training UI" aria-describedby="98-0" data-linktype="relative-path">
Captura de pantalla de la Bonsai interfaz de usuario de entrenamiento. El panel de datos de la interfaz de usuario muestra un gráfico de rendimiento de ejemplo con tendencia ascendente. El panel de grafos de la interfaz de usuario muestra un grafo de enseñanza actualizado. El grafo de enseñanza ahora incluye el nodo Simulator (Simulador) a la izquierda de los nodos anteriores. El nodo Simulator está conectado al nodo ObservableState y al nodo SimAction. El nuevo nodo tiene la etiqueta "Simulator MoabSim" y se divide en dos secciones. La sección izquierda muestra el número de instancias de simulador conectadas (15) y la sección derecha muestra el nivel actual de satisfacción del objetivo (90,8 %).
Con cada iteración, el cerebro obtiene una puntuación de rendimiento en función de lo bien que resolvió el problema. Bonsai informa del progreso del entrenamiento del cerebro en el panel de datos como un gráfico Bonsai objetivo. Los valores individuales de satisfacción del objetivo indican lo cerca que estuvo el cerebro de lograr el objetivo relacionado para una iteración determinada. El valor de satisfacción del objetivo general más reciente también se notifica en el nodo de concepto del grafo de enseñanza.
Los trazados de satisfacción deben ser ascendentes a medida que el cerebro mejora al equilibrar la bola en el centro de la bandeja.
Paso 4: Inspección del cerebro en acción
El simulador de Moab incluye un visualizador para que pueda ver el cerebro en acción a medida que trabaja en una simulación determinada. Para ver la visualización, desplácese hacia abajo en el panel de datos.
El visualizador representa un modelo 3D del hardware de Moab y una bola. La visualización también muestra:
- la trayectoria estimada de la bola (una flecha azul proyectada en la bandeja).
- la sombra estimada de la bola (un círculo azul proyectado en la bandeja debajo de la bola).
- un grafo en tiempo real de variables de estado cambiantes.
Captura de pantalla de la Bonsai interfaz de usuario de entrenamiento. El panel de datos se ha desplazado hacia abajo para mostrar una representación en 3D del dispositivo Moab equilibrando una pequeña bola naranja. El dispositivo Moab tiene un cuerpo circular con los brazos accionadores en la parte superior. Una placa de equilibrio clara se encuentra encima de los brazos.
Pruebe a hacer clic en los valores ball_x y ball_y. Las dos líneas deben converger en el centro del gráfico (0,00) a medida que la bola se mueve al centro del bandeja.
Paso 5: Detener el entrenamiento
Bonsai detiene automáticamente el entrenamiento cuando se produce alguna de las siguientes situaciones:
- el valor de satisfacción del objetivo general alcanza el 100 %
- las líneas del grafo se convierten en líneas horizontales para un número predefinido de episodios de entrenamiento.
Un valor de satisfacción del 100 % significa que el cerebro ha aprendido completamente el plan de estudios actual. Una línea de trazado horizontal significa que el cerebro ya no mejora. Cuando un cerebro no puede mejorar después de un número determinado de episodios (como se define en ), finaliza el entrenamiento para evitar el desa perder NoProgressIterationLimitBonsai recursos informáticos.
Sugerencia
El cerebro de demostración de Moab normalmente logra un rendimiento óptimo en 200 000 iteraciones.
Si desea detener el entrenamiento antes, haga clic en el botón rojo Stop Training (Detener entrenamiento) situado en la parte superior del panel de grafos.
Pasos siguientes
Felicidades. Ha entrenado correctamente un cerebro para equilibrar una bola en el centro de la placa.
Ahora que comprende los conceptos básicos del cerebro de Moab, pruebe a personalizar el código Inkling para cambiar los objetivos de entrenamiento.