Bewerken

Share via


Machine teaching met autonome Project Bonsai-systemen

Azure Container Instances
Azure Container Registry
Azure Storage

Oplossingsideeën

Dit artikel is een oplossingsidee. Als u wilt dat we de inhoud uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsrichtlijnen, laat het ons dan weten door GitHub-feedback te geven.

Ontdek hoe Project Bonsai autonome systemen bouwt en implementeert met behulp van machine teaching, deep reinforcement learning en simulaties.

Architectuur

Project Bonsai versnelt het maken van ai-automatisering. Ontwikkeling en implementatie hebben drie fasen: Bouwen, Trainen en Implementeren.

Diagram that shows the architecture of Project Bonsai.

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

  1. De buildfase bestaat uit het schrijven van het machine teaching-programma en het verbinden met een domeinspecifieke trainingssimulator. Simulators genereren voldoende trainingsgegevens voor experimenten en machinepraktijk.

    Deskundigen zonder AI-achtergrond kunnen hun expertise uitdrukken als stappen, taken, criteria en gewenste resultaten. Technici bouwen autonome systemen door nauwkeurige, gedetailleerde modellen van systemen en omgevingen te maken en de systemen intelligent te maken met behulp van methoden zoals deep learning, imitatie learning en versterkingsleer.

  2. In de trainfase automatiseert de trainingsengine het genereren en trainen van DRL-modellen door domeinmodellen op hoog niveau te combineren met de juiste DRL-algoritmen en neurale netwerken.

    Simulaties trainen de modellen in verschillende soorten omgevingsomstandigheden en scenario's veel sneller en veiliger dan haalbaar is in de echte wereld. Experts kunnen de agents controleren terwijl ze werken om problemen in gesimuleerde omgevingen op te lossen en feedback en richtlijnen te geven waarmee de agents dynamisch kunnen worden aangepast binnen de simulatie.

  3. De implementatiefase implementeert de getrainde hersenen naar de doeltoepassing in de cloud, on-premises of ingesloten op de site. Specifieke SDK's en implementatie-API's implementeren getrainde AI-systemen in verschillende doeltoepassingen, voeren machineafstemming uit en beheren van de fysieke systemen.

    Nadat de training is voltooid, implementeren technici deze getrainde agents in de echte wereld, waar ze hun kennis gebruiken om autonome systemen aan te zetten.

Onderdelen

  • Project Bonsai vereenvoudigt machine learning met DRL om slimme autonome systemen te trainen en te implementeren.

  • Azure Container Registry is een beheerde, persoonlijke Docker-registerservice die wordt gebruikt voor het opslaan en beheren van containerinstallatiekopieën en artefacten voor alle typen containerimplementaties. Installatiekopieën worden veilig opgeslagen en kunnen worden gerepliceerd naar andere regio's om de implementatie te versnellen. U kunt builds op aanvraag bouwen of automatiseren met triggers, zoals doorvoeringen van broncode en updates van basisinstallatiekopieën. Container Registry is gebaseerd op opensource Docker Registry 2.0

    Deze architectuur maakt gebruik van de basic-laag van Container Registry om geëxporteerde hersenen en geüploade simulators op te slaan.

  • Azure Container Instances voert containers op aanvraag uit in een serverloze Microsoft Azure-omgeving. Container Instances is de snelste en eenvoudigste manier om een container uit te voeren in Azure en u hoeft geen virtuele machines in te richten of een service op een hoger niveau te gebruiken.

    Deze architectuur maakt gebruik van Container Instances om simulaties uit te voeren.

  • Azure Storage is een cloudopslagoplossing die object-, blob-, bestands-, schijf-, wachtrij- en tabelopslag omvat.

    Deze architectuur maakt gebruik van Storage voor het opslaan van geüploade simulatoren als ZIP-bestanden.

Scenariodetails

Kunstmatige intelligentie (AI) en machine learning bieden unieke kansen en uitdagingen voor het automatiseren van complexe industriële systemen. Machine teaching is een nieuw paradigma voor het bouwen van machine learning-systemen die de focus verplaatsen van algoritmen en naar succesvolle generatie en implementatie van modellen.

Machine teaching zorgt voor expertise op het gebied van geautomatiseerde AI-systeemtraining met deep reinforcement learning (DRL) en simulaties. Door AI-complexiteit weg te abstraheren om zich te richten op expertise en praktijkomstandigheden, worden modellen gemaakt die geautomatiseerde controlesystemen omzetten in autonome systemen.

Autonome systemen zijn geautomatiseerde controlesystemen die:

  • Machine teaching gebruiken om kennis van menselijk domein te combineren met AI en machine learning.
  • Automatiseer het genereren en beheren van DRL-algoritmen en -modellen.
  • Integreer simulaties voor modeloptimalisatie en schaalbaarheid tijdens de training.
  • Implementeren en schalen voor praktijkgebruik.

Potentiële gebruikscases

Deze oplossing is ideaal voor het onderwijs, faciliteiten, onroerend goed, productie, overheid, automotive en media- en entertainmentindustrie. Project Bonsai versnelt het maken van ai-automatisering om de productkwaliteit en efficiëntie te verbeteren en tegelijkertijd downtime te verminderen. Het is nu beschikbaar in preview en u kunt het gebruiken om systemen te automatiseren. Overweeg Bonsai wanneer u problemen ondervindt, zoals:

  • Bestaande besturingssystemen zijn kwetsbaar wanneer ze worden geïmplementeerd.
  • Machine learning-logica heeft niet voldoende betrekking op alle scenario's.
  • Het beschrijven van het gewenste systeemgedrag vereist deskundigen die het probleemdomein begrijpen.
  • Het genereren van voldoende echte gegevens om alle scenario's te behandelen, is moeilijk of onmogelijk.
  • Traditionele besturingssystemen zijn moeilijk te implementeren en te schalen naar de echte wereld.

Machine teaching overbrugt AI-wetenschap en software met traditionele technische en domeinexpertise. Voorbeelden van toepassingen zijn:

  • Bewegingsbesturing
  • Machinekalibratie
  • Slimme gebouwen
  • Industriële robotica
  • Procesbeheer

Dit scenario implementeren

De volgende implementaties zijn voorbeeldimplementaties. U kunt de resources volgen om te begrijpen hoe deze oplossingen zijn ontworpen. Gebruik Project Bonsai om uw eigen oplossing te bouwen en te implementeren.

Machine teaching-service

U kunt Bonsai gebruiken om:

  • Leer adaptieve hersenen met intuïtieve doelen en leerdoelen, realtime succesbeoordelingen en automatische versiebeheer.
  • Integreer trainingssimulaties die echte problemen implementeren en realistische feedback geven.
  • Exporteer getrainde hersenen en implementeer ze on-premises, in de cloud of op IoT Edge-apparaten of ingesloten apparaten.

Dit is de Bonsai-gebruikersinterface:

Bonsai user interface

In Bonsai voeren beheerde GPU-clusters (Graphics Processing Unit) van Azure AI-training uit op complexe neurale netwerken op schaal, met ingebouwde ondersteuning voor het opnieuw trainen en analyseren van AI-systeemversies. Het pakket met implementatie- en runtimeframeworks en implementeert de resulterende AI-systeemmodellen op schaal.

Het Bonsai-platform wordt uitgevoerd op Azure en brengt resourcekosten in rekening voor uw Azure-abonnement.

Inkling

Inktling is een declaratieve, statisch getypte programmeertaal voor het trainen van AI in Bonsai. Met inktling worden de dynamische AI-algoritmen weggenomen die expertise in machine learning vereisen, waardoor meer ontwikkelaars AI kunnen programmeren. Een inkling-bestand definieert concepten die nodig zijn om de AI en het curriculum te leren, of methoden voor het onderwijzen van de concepten.

Inkling example

Trainingsengine

De trainingsengine in Bonsai compileert machine teaching-programma's om automatisch AI-systemen te genereren en te trainen. Dit doet het volgende:

  • Automatiseert het genereren, beheren en afstemmen van modellen.
  • Definieert de neurale netwerkarchitectuur. Het specificeert kenmerken zoals het aantal lagen en topologie, selecteert het beste DRL-algoritme en tunest de hyperparameters van het model.
  • Verbinding maken s naar de simulator en organiseert de training.

Net zoals een taalcompilator de machinecode van de programmeur verbergt, verbergt de trainingsengine de details van de machine learning-modellen en DRL-algoritmen. Naarmate er nieuwe algoritmen en netwerktopologieën worden uitgevonden, kan de trainingsengine dezelfde machine teaching-programma's opnieuw compileren om ze te exploiteren.

Cartpole-voorbeeld

Bonsai bevat twee machine learning samples, Cartpole en Moab.

Het Cartpole-monster heeft een paal bevestigd aan een karretje door een niet-geactiveerde verbinding. De kar beweegt langs een rechte wrijvingloze baan en de paal beweegt vooruit en achteruit, afhankelijk van de bewegingen van de kar. De beschikbare sensorinformatie omvat de karpositie en snelheid en poolhoek en hoeksnelheid. De ondersteunde agentacties zijn het pushen van de winkelwagen naar links of naar rechts.

De paal begint rechtop en het doel is om het rechtop te houden terwijl de kar beweegt. Er wordt een beloning gegenereerd voor elk tijdsinterval dat de pool rechtop blijft staan. Een trainingsaflevering eindigt wanneer de paal meer dan 15 graden van verticaal is of wanneer de kar meer dan een vooraf gedefinieerd aantal eenheden verplaatst vanuit het midden van het spoor.

Het voorbeeld maakt gebruik van inkling-taal om het machine teaching-programma te schrijven en de meegeleverde Cartpole-simulator om de training te versnellen en te verbeteren.

A depiction of the Cartpole simulator, and some Inkling code

In de volgende Bonsai-schermopname ziet u de voortgang van de Cartpole-training, met de tevredenheid van het doel op de y-as en trainingsiteraties op de x-as. Het dashboard toont ook het percentage van de tevredenheid van het doel en de totale verstreken trainingstijd.

Bonsai dashboard showing the Cartpole training example

Zie voor meer informatie over het Cartpole-voorbeeld of om het zelf te proberen:

Simulators

Simulaties modelleren een systeem in een virtuele weergave van de beoogde fysieke omgeving. Simulaties zijn een alternatieve benadering voor het maken van leerbeleid met de hand of het verzamelen van grote hoeveelheden echte trainingsgegevens. Met simulaties kunt u trainen in gevaarlijke omgevingen of in omstandigheden die moeilijk te reproduceren zijn in de echte wereld.

Simulaties zijn de ideale trainingsbron voor DRL omdat ze:

  • Kan flexibel aangepaste omgevingen maken.
  • Zijn veilig en rendabel voor het genereren van gegevens.
  • Kan gelijktijdig worden uitgevoerd op meerdere trainingsmachines om de training te versnellen.

Simulaties zijn beschikbaar in een breed scala aan branches en systemen, zoals mechanische en elektrotechniek, autonome voertuigen, beveiliging en netwerken, transport en logistiek en robotica.

Simulatiehulpprogramma's zijn onder andere:

  • Simulink, een grafisch programmeerprogramma dat is ontwikkeld door MathWorks om dynamische systemen te modelleren, simuleren en analyseren.
  • Gazebo, die populaties van robots simuleert in complexe binnen- en buitenomgevingen.
  • Microsoft AirSim, een opensource-simulatieplatform voor robotica.

Het Bonsai-platform bevat Simulink- en AnyLogic-simulators. U kunt anderen toevoegen.

AirSim

Microsoft AirSim (Luchtfoto-informatica en roboticasimulatie) is een opensource-simulatieplatform voor robotica dat is ontworpen om autonome systemen te trainen. AirSim biedt een realistisch simulatieprogramma voor ontwerpers en ontwikkelaars om de grote hoeveelheden gegevens te genereren die ze nodig hebben voor modeltraining en foutopsporing.

AirSim kan gegevens vastleggen van grondvoertuigen, gewielde robotica, lucht drones en zelfs statische IoT-apparaten, en dit doen zonder kostbare veldbewerkingen.

AirSim screenshot

AirSim werkt als een invoegtoepassing voor de Unreal Engine-editor van Epic Games, met controle over bouwomgevingen en het simuleren van moeilijk te reproduceren, echte gebeurtenissen om zinvolle gegevens vast te leggen. AirSim maakt gebruik van de huidige berekening van de game-engine, fysica en perceptie om een nauwkeurige, echte simulatie te maken.

Dit realisme, gebaseerd op efficiënt gegenereerde grondwaargegevens, maakt het onderzoek en de uitvoering van complexe missies mogelijk die tijdrovend of riskant zijn in de echte wereld. AirSim biedt bijvoorbeeld realistische omgevingen, voertuigdynamiek en multimodale detectie voor onderzoekers die autonome voertuigen bouwen. Botsingen in een simulator kosten vrijwel niets, maar bieden bruikbare informatie om het ontwerp van het systeem te verbeteren.

U kunt een ARM-sjabloon (Azure Resource Manager) gebruiken om automatisch een ontwikkelomgeving te maken en code te maken en fouten op te sporen in een Python-toepassing die is verbonden met AirSim in Visual Studio Code. Zie AirSim Development Environment in Azure voor meer informatie.

Bijdragers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Hoofdauteur:

Jose Contreras | Principal Software Engineering Manager

Volgende stappen