Volupe logo

Blog berichten Volupe

Tijdsafhankelijke neurale netwerken met Simcenter Amesim's ROM Builder

De toepassingen voor het opstellen van wiskundige modellen om het gedrag van gegevens uit simulatie- of veldtestmetingen te benaderen zijn talrijk. Niet alleen kunnen deze modellen worden gebruikt om op een handige manier informatie op te vragen over de toestand van een bepaalde sensor in een grote reeks van voorbijgaande sensorgegevens, maar zij bieden ook een middel om te beoordelen waar een simulatiemodel foutgevoelig is. Door een wiskundige voorstelling van een testobject rechtstreeks in Simcenter Amesim op te nemen, kunnen onmiddellijk vergelijkingen worden gemaakt. De modelleermogelijkheden zijn echter niet beperkt. Het grootste potentieel ligt wellicht in de manier waarop deze aanpak kan worden gecombineerd met het gebruik van op fysica gebaseerde modellering om de evaluatie van regelstrategieën en software-eigenschappen in een zeer vroeg ontwerpstadium, in real time, mogelijk te maken.

In dit blogartikel geven we een voorbeeld van het proces van Reduced Order Modeling (ROM). Een dynamisch tijdsafhankelijk neuraal netwerk werd geconstrueerd met behulp van Simcenter AmesimROM Builder en gebaseerd op dynamische simulatiegegevens die door Simcenter Amesim worden geleverd. Hoewel we ons in dit bericht beperken tot systeemsimulatie, kunnen ook gegevens uit andere bronnen, zoals CFD, FEA en testen, met de tool worden beheerd. Voor een algemeen overzicht van de ROM Builder verwijzen we naar deze eerdere blog post hier.

Reduced Order Models worden vaak gezien als computationeel goedkope wiskundige voorstellingen die de mogelijkheid bieden tot bijna of real time werking. Hoewel de meeste van deze modellen in real time werken, kan het maken ervan echter rekenintensief worden, aangezien zij voldoende invoergegevens vereisen die het onderliggende gedrag van een simulatie of meting karakteriseren. Omdat het wiskundige model bovendien geen rekening kan houden met veranderingen in testobjecten of simulatiemodellen, moeten ROM's meestal voor elke significante variatie opnieuw worden samengesteld.

Deze twee zaken benadrukken de behoefte aan een eenvoudig en veelzijdig raamwerk om snel ROMs te ontwikkelen en in te zetten. Hoewel er veel benaderingen bestaan voor het maken van wiskundige modellen uit gegevens, bijvoorbeeld Python gebruikt in combinatie met TensorFlow. Deze zijn niet allemaal even gemakkelijk te beheren en vereisen soms uitgebreide knowhow om goed op te zetten. Door te werken met Simcenter Amesim, en de geïntegreerde ROM Builder, kunnen modellen worden gemaakt op basis van simulatieresultaten, worden geëvalueerd en vervolgens via een stapsgewijs proces worden geëxporteerd naar andere tools. Als wijzigingen worden aangebracht in het onderliggende systeem, kunnen eerdere simulatie-instellingen en casusdefinities opnieuw worden gebruikt om een nieuwe reeks resultaten te produceren die later in ROM Builder worden geïmporteerd.

Het proces, stap voor stap

Ter illustratie van de dynamische modelleerfuncties in Simcenter ROM Builder is het demo-model "Reductie van een airconditioningsysteem" gebruikt om verschillende transiënte simulations uit te voeren. Het volgende voorbeeld, en alle bijbehorende bestanden, zijn te vinden in de documentatie van het instrument.

De dynamica van het AC-systeemmodel werd onderzocht door simulatie van voertuig snelheid als input om de luchtsnelheid over de condensor van het systeem te beïnvloeden. De snelheid van het voertuig werd gevarieerd aan de hand van een aantal vooraf gedefinieerde rijcycli die gebruikelijk zijn in de automobielindustrie. Naast de voertuigsnelheid werden ook de volgende drie parameters gebruikt: Omgevingstemperatuur, compressorsnelheid (gegeven door versnellingsprofielen die overeenkomen met de rijcycli), en compressorkracht.

Hoewel in het voorbeeld drie outputs/systeem-responsen zijn gedefinieerd, concentreren wij ons alleen op de uitlaattemperatuur van de verdamper.

Simcenter ROM Builder wordt gevonden en gestart via het menu App space, en voor deze oefening werd een op tijdreeksen gebaseerd project geselecteerd. Hierdoor wordt Simcenter ROM Builder geconfigureerd om de tijdsafhankelijke relatie tussen inputs en outputs te behouden. We gaan verder met het bijhouden van de boekhouding en het bijwerken van de Alias lijst met de namen van de rijcycli voor toekomstige referentie voordat we importeren.

Volgendemoet worden gekozen welke dataset(s) voor training, validatie of ongebruikt moet(en) worden gebruikt. Aangezien de generalisatie en de daaruit voortvloeiende nauwkeurigheid van een neuraal netwerk gewoonlijk worden verbeterd door het opleidingsproces te laten werken met een bredere en meer gevarieerde dataset, is het raadzaam tijd en aandacht te investeren in het opzetten van de onderliggende experimenten/simulations. Bovendien is het van belang vast te stellen hoe het ROM later zal worden gebruikt. Zoals bij de meeste modellering geldt ook voor neurale netwerken de uitspraak: "garbage in, garbage out", oftewel slechte input levert slechte output op.

Wat de modelinputs en -outputs betreft, wordt opnieuw aanbevolen rekening te houden met toekomstig gebruik. Aangezien de simulatieresultaten tot stand zijn gekomen met gebruikmaking van alle vier de inputs, is het waarschijnlijk, maar niet zeker, dat alle vier vereist zijn om het gedrag van de outputs te verklaren. Vereenvoudiging, en mogelijk vermindering van de verstoringen in het uiteindelijke model, zou kunnen worden bereikt indien zou blijken dat sommige van de inputs een wekelijks verband hebben met de output. Voorts zou het de moeite waard kunnen zijn na te gaan of één enkel model het gedrag van alle outputs moet voorspellen, dan wel of in plaats daarvan verschillende modellen kunnen worden opgesteld die elk slechts één output bevatten. Het laatste zou wellicht de netwerkconfiguratie vereenvoudigen en preciezere voorspellingen opleveren, maar tegen de prijs van het beheer van verschillende neurale netwerken.

Bij de creatie van het model werd de ingebouwde wizard gebruikt om een neurale netwerk architectuur aan te bevelen. De tool configureert automatisch de input en output lagen overeenkomstig het aantal gespecificeerde inputs en outputs, en er wordt een aanbeveling gegeven voor het aantal verborgen eenheden tussen deze lagen. Daarnaast worden ook instellingen voor de hyperparameters van het model voorgesteld, die betrekking hebben op het type neuraal netwerk dat in elke laag moet worden gebruikt, de activeringsfuncties van de neuronen en het aantal neuronen in elke laag.

In ons geval wordt een diepte van drie verborgen lagen voorgesteld, bestaande uit twee dichte lagen met een tussenliggend recurrent neuraal netwerk (RNN). Elke laag bevat tussen 10 en 20 neuronen. Het gebruik van alleen volledig aangesloten lagen (dichte) zou resulteren in een zeer veelzijdig netwerk, dat zeer geschikt is voor het benaderen en in kaart brengen van vrijwel elke statische relatie tussen inputs en outputs. Door een recurrent neuraal netwerk op deze lagen toe te passen, kan het netwerk tijdsafhankelijke relaties benaderen. Dit gebeurt door sequentiële informatie van vroegere inputs in een tijdreeks te gebruiken om de huidige input en output te beïnvloeden. Hieronder volgt een illustratie van een RNN.

Naast RNN's worden ook andere netwerktypes als optie gegeven. Gated Recurrent Unit (GRU) en Long-Short Term Memory (LSTM) kunnen een neuraal netwerk beter in staat stellen trage dynamiek te voorspellen indien dit gedrag in een dataset aanwezig is. Deze kunnen worden gecombineerd met of gebruikt ter vervanging van een RNN.

Een bijkomend aspect bij het maken van dynamische neurale netwerken met Simcenter ROM Builder heeft betrekking op de sampletijd, d.w.z. de tijdstap of uitvoerfrequentie van het resulterende dynamische netwerk. Voor statische netwerken is de keuze van de sample tijd van invloed op de hoeveelheid trainingsdata die beschikbaar wordt gesteld voor training. Het gebruik van een bemonsteringstijd die overeenkomt met de ingevoerde gegevensverzameling, in ons geval 0,25 [s], zou resulteren in training met alle beschikbare gegevens in die verzameling. Dit is niet altijd nodig en daarom kan downsampling worden bereikt door een grotere sample-tijd te kiezen.

Voor dynamische netwerken beïnvloedt het bemonsteren in de tijd niet alleen de hoeveelheid gegevens die wordt gebruikt om de dynamische prestaties correct te identificeren en vast te leggen, maar beïnvloedt het ook de terugkoppelingslus van het RNN. Als de tijd voor het bemonsteren van de training wordt verkort, kan het netwerk meer informatie in aanmerking nemen, maar dat kan resulteren in een te gecompliceerd netwerk dat nog steeds niet in staat is de algehele dynamiek in de gegevens te voorspellen. Het is de moeite waard te overwegen of onderliggende ruis, of hoogfrequente dynamiek die niet noodzakelijk wordt geacht, kan worden verminderd om het trainingsproces te vereenvoudigen. De wizard stelt automatisch een beginpunt voor de bemonsteringstijd voor, waarbij gebruik wordt gemaakt van Fast Fourier Transformation (FFT) om een geschikte maximumfrequentie te bepalen. Het proces wordt in de onderstaande figuur geschetst.

Naar laten zien wat het resultaat is van het werken met onvoldoende trainingsgegevens. De dataset WHFET (EPA Highway Fuel Economy Test Cycle) werd geselecteerd voor training, terwijl de andere datasets ongeselecteerd werden gelaten. De NEDC-test (New European Driving Cycle) werd geselecteerd als validatieset en gebruikt voor latere vergelijking. De beperkingen van het gebruik van WHFET om het gedrag in NEDC te benaderen, worden geïllustreerd in de volgende figuur, waarin de inputvariabele Vehicle Speed van beide reeksen wordt gegeven.

Zoals te zien is, is de voertuigsnelheid van HWFET (in rood) gedurende de hele cyclus overwegend hoog. In tegenstelling tot de validatieset NEDC (in het zwart), waar een beperkter gedeelte met hoge snelheid zich tegen het einde van de cyclus bevindt. Dit heeft tot gevolg dat een model dat met deze set is getraind, slecht zal presteren als het wordt gebruikt voor studies in het NEDC-snelheidsgebied.

Het resultaat van een netwerk met alleen de verdamperuitlaattemperatuur als output staat hieronder. Het model werd getraind voor 500 epochs, d.w.z. iteraties met de volledige dataset in elke stap, en gebruikte standaard trainingsinstellingen.

De meest linkse grafiek hierboven toont de trainingsresultaten door de modelvoorspellingen (rood) te vergelijken met de werkelijke waarden in HWFET. Het gedrag van de trainingsgegevens werd tot op zekere hoogte gerepliceerd door het netwerk. Hetzelfde kan echter niet worden gezegd van de validatie in de meest rechtse figuur. Dit blijkt uit het onvermogen van het getrainde netwerk om de lagere temperaturen te voorspellen die in NEDC worden aangetroffen, en uit de moeite die het heeft met de algemene dynamiek van de respons. Alleen het gedeelte met hoge snelheid aan het einde van de cyclus ligt enigszins binnen bereik.

De vergelijking HWFET - NEDC is een zeer eenvoudig voorbeeld van het gebruik van ontoereikende informatie voor het construeren van een ROM, en typisch moeten er meer overwegingen in aanmerking worden genomen bij het bepalen van de invoergegevens. Naast een gevarieerd bereik is ook het beperken van herhalingen van belang, omdat het resulterende netwerk zwaarder zal gaan wegen op herhalende datapunten. Dit is meestal ongewenst in een neuraal netwerk omdat de generalisatie, en daarmee de algemene toepasbaarheid, afneemt. Het introduceren van tijdsafhankelijk gedrag in een neuraal netwerk impliceert ook het onderzoeken van de dynamische eigenschappen van een gegevensverzameling. Neem als voorbeeld de veranderingssnelheid voor voertuig Speed hierboven. Hier is het verstandig ervoor te zorgen dat het verwachte bereik voor zowel acceleratie als deceleratie goed vertegenwoordigd is in de trainingsgegevens.

We gaan verder. Het neurale netwerk werd opnieuw getraind met alle resterende trainingssets, en zoals zal blijken, verbeteren de voorspellingen drastisch door dit te doen. Hieronder worden de voertuigsnelheden van alle datasets gegeven om de toename in variatie tijdens de training te visualiseren.

In de volgende drie grafieken wordt een vergelijking gegeven tussen de voorspelling van het model en de werkelijke outputwaarden van NEDC. De meest linkse grafiek bevat de resultaten van het model dat alleen met de HWFET-set is getraind, en is dezelfde grafiek als eerder is getoond. De middelste grafiek is het resultaat van training met alle beschikbare trainingssets, en de laatste grafiek bevat voorspellingen van een netwerk dat is getraind met alle gegevens en met aangepaste hyperparameters.

Zodra meer datasets aan de training werden toegevoegd, werd het vermogen van het netwerk om de dynamiek vast te leggen sterk verbeterd. Dit is duidelijk te zien door de voorspelling in de meest linkse figuur te vergelijken met de voorspelling in de middelste figuur.

Om het model verder te verbeteren, werd een kort onderzoek naar de hyperparameters van het model uitgevoerd. De bemonsteringsfrequentie werd verlaagd, een extra volledig aangesloten laag werd vóór het RNN toegevoegd, en het aantal neuronen in elke laag werd verdubbeld. Bij vergelijking tussen de middelste figuur en de meest rechtse figuur is enige verbetering te zien in het lage temperatuurbereik. Redelijkerwijs kan echter worden aangenomen dat de onderliggende gegevens niet voldoende gegevens over lage temperaturen bevatten om dit gedrag volledig te beschrijven, en dat een verdere afstemming van de hyperparameters slechts een marginale winst zal opleveren.

Afsluitende opmerkingen

Het maken van dynamische neurale netwerken met behulp van een gemakkelijk te beheren interface zoals Simcenter ROM Builder biedt verschillende voordelen. Er kunnen redelijke resultaten worden bereikt zonder dat dit veel inspanning vergt, en de verbinding met Simcenter Amesim biedt de mogelijkheid om netwerken snel te hertrainen zodra nieuwe gegevens beschikbaar komen. Bovendien, en hoewel niet besproken in deze post, kan het exporteren van modellen naar andere tools ook worden gedaan door het gebruik van de FMI en ONNX frameworks.

Naarmate meer en meer controle software en producteigenschappen hun weg vinden in onze producten, wordt vroegtijdig software testen tijdens de productontwikkeling steeds belangrijker. Een realistische manier om dit te bereiken is gebruik te maken van de real time mogelijkheden van dynamische neurale netwerken met de onderliggende flexibiliteit en nauwkeurigheid van op fysica gebaseerde modellen.

Hopelijk vond je deze post interessant. IAls u vragen of opmerkingen heeft over dit onderwerp, of betreffende simulatie in algemeen, voel je vrij om contact op te nemen. 

Auteur

Fabian Hasselby, M.sc.
+46733661021
fabian.hasselby@volupe.com

Meer blogberichten

nl_BEDutch