Blogginlägg Volupe

Tidsberoende neurala nätverk med Simcenter Amesims ROM Builder

Det finns många användningsområden för att skapa matematiska modeller för att approximera beteendet i data från simulering eller fältprovningsmätningar. Dessa modeller kan inte bara användas för att på ett smidigt sätt söka information om en viss sensors tillstånd i en stor mängd transienta sensordata, utan också för att bedöma var en simuleringsmodell är känslig för fel. Genom att införliva en matematisk representation av ett testobjekt direkt i Simcenter Amesim kan jämförelser göras omedelbart. Modelleringsmöjligheterna är dock inte begränsade. Den största potentialen ligger förmodligen i det sätt på vilket detta tillvägagångssätt kan kombineras med fysikbaserad modellering för att möjliggöra utvärdering av kontrollstrategier och mjukvarufunktioner i mycket tidiga konstruktionsstadier, i realtid.

I den här bloggartikeln exemplifierar vi processen för ROM-modellering (Reduced Order Modeling). Ett dynamiskt tidsberoende neuralt nätverk konstruerades med hjälp av Simcenter. AmesimROM Builder och baserat på dynamiska simuleringsdata från Simcenter Amesim. Även om vi begränsar oss till systemsimulering i det här inlägget kan data som genereras från andra källor, t.ex. CFD, FEA och testning, också hanteras av verktyget. För en allmän översikt över ROM Builder hänvisas till detta tidigare blogginlägg här.

Modeller av reducerad ordning ses ofta som beräkningsmässigt billiga matematiska representationer som ger möjlighet till drift nära eller i realtid. Även om de flesta av dessa modeller fungerar i realtid kan skapandet av dem dock bli beräkningskrävande eftersom de kräver tillräckliga indata som karakteriserar det underliggande beteendet hos en simulering eller mätning. På grund av den matematiska modellens oförmåga att ta hänsyn till ändringar som görs i testobjekt eller simuleringsmodeller måste ROM:er dessutom vanligtvis rekonstrueras för varje betydande variation.

Dessa två frågor understryker behovet av ett enkelt och mångsidigt ramverk för att snabbt utveckla och distribuera ROMs. Även om det finns många metoder för att skapa matematiska modeller från data, t.ex. Python som används tillsammans med TensorFlow. Alla dessa är inte lätta att hantera och kan kräva omfattande kunskaper för att ställas in på rätt sätt. Genom att arbeta med Simcenter Amesim och dess integrerade ROM Builder kan modeller skapas från simuleringsresultat, utvärderas och sedan exporteras till andra verktyg genom en stegvis process. Om ändringar görs i det underliggande systemet kan tidigare simuleringsinställningar och falldefinitioner återanvändas för att producera en ny uppsättning resultat som senare importeras till ROM Builder.

Processen, steg för steg

För att illustrera de dynamiska modelleringsfunktionerna i Simcenter ROM Builder användes demomodellen "Reduction of an air conditioning system" för att genomföra flera transienta simulations. Följande exempel och alla tillhörande filer finns i verktygets dokumentation.

Dynamiken i AC-systemmodellen undersöktes genom simulering av fordonet. hastighet som en ingång för att påverka lufthastigheten över systemets kondensor. Fordonshastigheten varierades med hjälp av några fördefinierade körcykler som är vanliga inom bilindustrin. Vid sidan av fordonshastigheten användes också följande tre parametrar: Omgivningstemperatur, kompressorhastighet (given av växelprofiler som motsvarar körcyklerna) och kompressorkontroll.

Även om tre utgångar/systemresponser definieras i exemplet fortsätter vi med att endast fokusera på förångarens utloppstemperatur.

Simcenter ROM Builder hittas och startas från menyn App space, och för den här övningen valdes ett tidsseriebaserat projekt. Genom att göra detta konfigureras Simcenter ROM Builder så att det tidsberoende förhållandet mellan in- och utgångar bevaras. Vi fortsätter med att göra lite bokföring och uppdaterar Alias-listan med namnen på körcyklerna för framtida referens innan vi importerar.

NästaDet krävs ett val av vilka dataset/dataset som ska användas för träning, validering eller lämnas oanvända. Eftersom generaliseringen och den resulterande noggrannheten hos ett neuralt nätverk vanligen förbättras genom att träningsprocessen får arbeta med en bredare och mer varierad datamängd, är det lämpligt att investera tid och eftertanke i att ställa in de underliggande experimenten/simulations. Dessutom är det viktigt att fastställa hur ROM är tänkt att användas senare. Liksom för de flesta modelleringar gäller påståendet "garbage in, garbage out", dvs. att dålig input ger dålig output, även för neurala nätverk.

När det gäller modellens input och output rekommenderas återigen att man överväger framtida användning. Eftersom simuleringsresultaten skapades med hjälp av alla fyra ingångarna är det troligt, men inte säkert, att alla fyra behövs för att förklara hur utgångarna fungerar. En förenkling, och eventuellt en minskning av störningar i den slutliga modellen, skulle kunna uppnås om några av ingångarna visar sig ha en veckoliknande koppling till resultatet. Dessutom kan det vara värt att överväga om en enda modell bör förutsäga beteendet hos alla utgångar, eller om man i stället kan skapa flera modeller som endast innehåller en enda utgång vardera. Det senare skulle möjligen förenkla nätkonfigurationen och ge mer exakta förutsägelser, men till priset av att man måste hantera flera neurala nätverk.

För att skapa en modell användes den inbyggda guiden för att rekommendera en arkitektur för det neurala nätverket. Verktyget konfigurerar automatiskt ingångs- och utgångsskikten i enlighet med antalet angivna ingångar och utgångar, och en rekommendation ges för antalet dolda enheter mellan dessa skikt. Dessutom föreslås också inställningar för modellens hyperparametrar, vilket innebär vilken typ av neuralt nätverk som ska användas i varje lager, neuronernas aktiveringsfunktioner och antalet neuroner i varje lager.

I vårt fall föreslås ett djup på tre dolda lager, med två täta lager och ett mellanliggande återkommande neuralt nätverk (RNN). Varje lager innehåller mellan 10 och 20 neuroner. Om man endast använder fullt anslutna lager (täta) skulle man få ett mycket mångsidigt nätverk som är väl lämpat för att approximera och kartlägga nästan alla statiska förhållanden mellan in- och utgångar. Genom att tillämpa ett återkommande neuralt nätverk på dessa lager kan nätverket approximera tidsberoende förhållanden. Detta görs genom att sekventiell information från tidigare inmatningar i en tidsserie används för att påverka den aktuella inmatningen och utmatningen. Nedan följer en illustration av ett RNN.

Förutom RNNs finns andra nätverkstyper som alternativ. Gated Recurrent Unit (GRU) och Long-Short Term Memory (LSTM) kan förbättra ett neuralt nätverks förmåga att förutsäga långsam dynamik om detta beteende förekommer i en datamängd. Dessa kan antingen kombineras med eller användas för att ersätta ett RNN.

Ytterligare en aspekt när man skapar dynamiska neurala nätverk med Simcenter ROM Builder är relaterad till samplingstiden, dvs. tidssteget eller utgångsfrekvensen för det resulterande dynamiska nätverket. För statiska nätverk påverkar valet av samplingstid mängden träningsdata som görs tillgänglig för träning. Om man använder en samplingstid som motsvarar den importerade datamängden, i vårt fall 0,25 [s], skulle man träna med alla tillgängliga data i den mängden. Detta är kanske inte alltid nödvändigt och därför kan man uppnå en nedre provtagning genom att välja en större provtagningstid.

För dynamiska nätverk påverkar tidsprovtagningen inte bara mängden data som används för att korrekt identifiera och fånga dynamiska prestanda, utan även RNN:s återkopplingsslinga. Om man minskar tiden för träningsprov skulle nätverket kunna ta hänsyn till mer information, men det kan leda till ett alltför komplicerat nätverk som fortfarande inte kan förutsäga den övergripande dynamiken i data. Det är värt att överväga om underliggande brus eller högfrekventa dynamiker som inte anses nödvändiga kan minskas för att förenkla träningsprocessen. En startpunkt för provtagningstiden föreslås automatiskt av guiden med hjälp av en process som inbegriper Fast Fourier Transformation (FFT) för att bestämma en lämplig maxfrekvens. Processen beskrivs i figuren nedan.

Till visa resultatet av att arbeta med otillräckliga träningsdata. Datamängden WHFET (EPA Highway Fuel Economy Test Cycle) valdes ut för träning medan de andra datamängderna inte valdes ut. Den nya europeiska körcykeln (NEDC) valdes ut som valideringsuppsättning och användes för senare jämförelser. Begränsningarna med att använda WHFET för att approximera beteendet i NEDC illustreras i följande figur, där ingångsvariabeln Vehicle Speed för båda uppsättningarna anges.

Som framgår är HWFET:s fordonshastighet (i rött) övervägande hög under hela cykeln. Till skillnad från valideringsuppsättningen NEDC (i svart), där en mer begränsad del med hög hastighet finns mot slutet av cykeln. Detta innebär att en modell som tränats med denna uppsättning kommer att prestera dåligt om den används för studier inom NEDC-hastighetsområdet.

Resultatet från ett nätverk som endast innehåller förångarens utloppstemperatur som utgång visas nedan. Modellen tränades i 500 epoker, dvs. iterationer som innehåller hela datasetet i varje steg, och standardinställningar för träning användes.

Grafen längst till vänster visar träningsresultat genom att jämföra modellens förutsägelser (röd) med de verkliga värdena i HWFET. Träningsdatans beteende replikerades till viss del av nätverket. Detsamma kan dock inte sägas om valideringen i den högra figuren. Det framgår av det tränade nätverkets oförmåga att förutsäga de lägre temperaturer som hittas i NEDC, och av att det kämpar med den övergripande dynamiken i svaret. Det är bara den höghastighetsdel som ligger i slutet av cykeln som i viss mån ligger inom intervallet.

Jämförelsen mellan HWFET och NEDC är ett mycket enkelt exempel på att otillräcklig information används för att konstruera en ROM, och vanligtvis måste fler överväganden göras när man fastställer indata. Förutom ett varierat utbud är det också viktigt att begränsa upprepningen eftersom det resulterande nätverket kommer att bli mer viktat mot upprepade datapunkter. Detta är vanligtvis oönskat i ett neuralt nätverk eftersom generaliseringen, och därmed dess allmänna tillämplighet, minskar. Att införa tidsberoende beteende i ett neuralt nätverk innebär också att man undersöker de dynamiska egenskaperna hos en datamängd. Som ett exempel kan man ta förändringshastigheten för fordon Speed ovan. Här är det klokt att se till att det förväntade intervallet för både acceleration och retardation är väl representerat i träningsdata.

Fortsättning. Det neurala nätverket återtränades med hjälp av alla återstående träningsuppsättningar, och som vi kommer att se förbättras förutsägelserna drastiskt genom att göra detta. Nedan visas fordonshastigheterna för alla dataset för att visualisera den ökade variationen under träningen.

I de tre följande diagrammen visas en jämförelse mellan modellens förutsägelser och de verkliga utgångsvärdena för NEDC. Grafen längst till vänster innehåller resultat från modellen som tränats enbart med HWFET-uppsättningen och är samma diagram som tidigare. Den mellersta figuren är resultatet av träning med alla tillgängliga träningsuppsättningar, och den sista figuren innehåller förutsägelser som gjorts av ett nätverk som tränats med alla data samt modifierade hyperparametrar.

När fler dataset lades till i träningen förbättrades nätverkets förmåga att fånga dynamiken avsevärt. Detta syns tydligt genom att jämföra förutsägelsen i figuren längst till vänster med förutsägelsen i figuren i mitten.

För att ytterligare förbättra modellen genomfördes en kort undersökning av modellens hyperparametrar. Samplingsfrekvensen minskades, ett ytterligare fullt sammankopplat lager lades till framför RNN och antalet neuroner i varje lager fördubblades. Om man jämför mellan den mellersta figuren och den högra figuren kan man se en viss förbättring i det låga temperaturområdet. Det är dock rimligt att misstänka att de underliggande uppgifterna inte innehåller tillräckligt med uppgifter om låga temperaturer för att fullt ut beskriva detta beteende, och att ytterligare hyperparameterinställningar endast kommer att resultera i marginella förbättringar.

Avslutande kommentarer

Att skapa dynamiska neurala nätverk med hjälp av ett lätthanterligt gränssnitt som Simcenter ROM Builder ger flera fördelar. Rimliga resultat kan uppnås utan att det krävs stora ansträngningar, och anslutningen till Simcenter Amesim gör det möjligt att snabbt träna om nätverken när nya data blir tillgängliga. Dessutom, och även om det inte diskuteras i det här inlägget, kan man också exportera modeller till andra verktyg genom att använda ramarna FMI och ONNX.

I takt med att fler och fler kontrollprogram och produktfunktioner kommer in i våra produkter blir det allt viktigare med tidig programvarutestning under produktutvecklingen. Ett realistiskt sätt att uppnå detta är att utnyttja de dynamiska neurala nätverkens realtidsfunktioner med den underliggande flexibiliteten och noggrannheten hos fysikbaserade modeller.

Förhoppningsvis hittade du det här inlägget intressant. IOm du har några frågor eller kommentarer om ämnet., eller . om simulering i allmänt, du är välkommen att ta kontakt med oss.. 

Författare

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

Fler blogginlägg

sv_SESwedish