Sammen med en av verdens største aktører innen metallproduksjon utvikler vi maskinlæringsmodeller som er i stand til å detektere data-avvik i fysiske produksjonslinjer. Les hvordan virksomheten kommer i gang.
Metallproduksjon er en komplisert av natur og sensorer brukes aktivt for å overvåke prosessene. Det er fremdeles vanlig å bruke terskelbaserte metoder for å indikere avvik i produksjonsdata. Svakheten med disse metodene er at de ikke er i stand til, på en robust måte, å fange opp data-outliers og gradvise endringer i den underliggende prosessen. Videre er det vanskelig å predikere kommende avvik, selv om historiske data er tilgjengelig
Ved bruk av maskinlæring er det nå mulig å fange opp både outliers og gradvise endringer – og kommende avvik. Godt implementerte løsninger vil redusere mengden falske negativer og positiver sammenlignet med terskelbaserte metoder.
Falsk negativ = Et avvik som ved en feil ikke blir oppdaget
Falsk positiv = En korrekt dataverdi som ved en feil blir klassifisert som et avvik
Hvordan komme i gang?
Aktuelle målepunkter
Første steg er å identifisere målepunkter som kan indikerer tilstand på en fysisk prosesslinje. Her må vi spille på fagpersoner med god kjennskap til de underliggende prosessene. Praktisk erfaring og god forståelse av aktuelt maskineri er en nøkkelfaktor når vi skal bruke maskinlæring.
Historisk data
For å best utnytte potensialet som ligger i maskinlæring trenger du sannsynligvis store mengder historiske data fra prosessen. Jo større datasettene er, jo mer sannsynlig er det at vi kan fange opp mønster og sykluser som oppstår i de fysiske prosesslinjene.
Det er nødvendig med egne datasett fra perioder når du er relativt sikker på at linjene har produsert uten feil og avvik.
Du må også ha datasett fra perioder der du er sikker på at det har oppstått feil og avvik.
Pipeline for preprosessering
Selv om du er flink til å lagre historisk data på en strukturert måte er det ofte nødvendig med en del preprosessering før den kan brukes til trening av maskinlæringsmodeller. Eksempelvis kan det for enkelte perioder mangle data, frekvenser og tid kan være usynkront og den kan inneholde korrupte sensorverdier.
En pipeline for preprosessering i KI involverer følgende trinn:
- Datainnsamling
- Datarengjøring
- Datautforsking
- Datatransformasjon
- Feature engineering
- Feature selection
- Resampling
- Generering av tidsseriedata
- Dataframe transformasjon (Spark to Pandas)
- Imputering
Struktur
Når dataen er på plass kan vi dele den opp i trening, validering og test.
Trening: Dette er dataen vi bruker for å utvikle maskinlæringsmodellene.
Validering: Underveis, når vi utvikler, validerer vi resultater fra treningsdataen mot et referanse-datasett. Dette gjør vi for å sikre at maskinlæringsmodellene utviklet på treningsdata også fungerer på datasett (validering) som den ikke har sett før.
Test: Helt til slutt, når vi mener modellene er gode nok, kan vi validere de mot test-datasettet. Denne dataen skal være fullstendig ukjent for de utviklede maskinlæringsmodellene. Målet er at modellene presterer like bra på testdata som på trening og validering.
Imputering av data
Når en KI-løsning blir trent, bruker den vanligvis store mengder data for å lære mønstre og trekk som kan brukes til å ta beslutninger og gi resultater. Imidlertid kan dataene som brukes til å trene en KI-løsning være mangelfulle, unøyaktige eller skjevt fordelt, noe som kan føre til at løsningen gir feilaktige eller fordomsfulle resultater.
Imputering av data refererer til prosessen med å fylle inn manglende eller ufullstendige datapunkter ved hjelp av ulike teknikker, for eksempel gjennomsnittsverdier eller prediksjon av manglende verdier basert på andre tilgjengelige data.
En grundig og effektiv imputering av data er derfor en viktig forutsetning for å oppnå en rettferdig, sikker og pålitelig KI-løsning. Dette bidrar til å minimere muligheten for feilaktige beslutninger og redusere påvirkning av fordommer som kan påvirke resultatene av KI-løsningen.
Metode 1: Gjennomsnittsverdi-imputering: Erstatter manglende verdier med gjennomsnittsverdien for variabelen.
Metode 2: Regresjon-imputering: Predikerer manglende verdier basert på andre tilgjengelige variabler i datasettet ved hjelp av en regresjonsmodell.
Metode 3: Multippel imputering: Oppretter flere imputerte datasett og kombinerer dem for å få et samlet estimat.
Metode 4: Klyngeringsbasert imputering: Grupperer datapunkter som er mest like hverandre og erstatter manglende verdier med gjennomsnittsverdien til datapunktene i den tilsvarende klyngen.
Metode for å utvikle gode modeller
Hvordan går vi frem for å lage gode modeller?
Det er viktig å merke seg at KI-modeller aldri er perfekte og alltid kan forbedres. Å lage gode KI-modeller kan være en kompleks og tidkrevende prosess, men her er noen trinn som kan hjelpe til med å bygge en effektiv KI-modell:
Forstå problemet og datakravene, integrere fysiske modeller med KI-modeller, inkludere de riktige funksjonene (features) og gjøre feature engineering, få kunnskap om forskjellige modeller (dens, gjentakende, konvolusjonell,…) og velg en passende modell, juster modellen etter behov, og optimalisere modellen ved å velge beste hyperparametrene.
Hvilke teknologier er aktuelle?
Autoencoder: Autoencoderen består av en encoder-funksjon som konverterer inndataene til en kode, og en dekoder-funksjon som rekonstruerer inndataene fra koden. Ved å trene en autoencoder kan man redusere dimensjoner til dataene, og samtidig bevare de viktigste egenskapene til dataene.
Variabels autoencoder (VAE): VAE er en type generative nevrale nettverk som brukes til å lære latente representasjoner av data, og kan frembringe nye eksempler på data som ligner på treningseksemplene, VAE er kjent for å kunne lære en kompakt representasjon av data, som kan være nyttig for å redusere dimensjoner og gjøre dataene mer håndterlige.
Diffusjonsmodell: I maskinlæring kan diffusjonsmodellen brukes til å lære en sannsynlighetsfordeling over data, ved å simulere spredning av partikler fra en starttilstand til en slutt tilstand.
Isolation forest: Isolation forest er en type anomali deteksjonsmetode som brukes til å oppdage uvanlige eller anomale datapunkter i et datasett. Metoden bruker en tilfeldig skog av beslutningstrær til å identifisere og isolere anomale datapunkter som en del av en mindre grenseklynge enn normale datapunkter.
Pipeline for kontinuerlig retrening
Når en maskinlæringsmodell deployeres til et produksjonsmiljø er det fordelaktig om den kontinuerlig forbedrer seg selv! Vi lukker altså loopen slik at den kan fungere over tid - selv om karakteristikker i prosesslinjer forandrer seg.
Hvordan gjøres dette i Azure:
- Velg en KI-tjeneste: Azure tilbyr en rekke tjenester for å utvikle KI-modeller, inkludert Azure Machine Learning Studio, Azure Databricks og Azure Cognitive Services.
- Datainnsamling og -forberedelse: Før man kan bygge en KI-modell, må data samles inn og forberedes. Azure tilbyr tjenester for databehandling og lagring, som Azure Blob Storage og Azure Data Lake Storage, Azure Databricks. Data view kan bli lagret i feature store og brukt når det er nødvendig.
- Bygg modellen: Bruk Azure Machine Learning Studio eller Azure Databricks og andre åpen kildekode biblioteker til å bygge og trene KI-modellen.
- Registering av modellen: Azure Machine Learning Studio og MLflow tilbyr funksjonalitet for å registrere modeller, slik at man enkelt kan gjenbruke dem senere eller dele dem med andre. Når modellen er registrert, kan man også distribuere den på en effektiv måte ved å innpasse den i en applikasjon eller gjøre den tilgjengelig som en webtjeneste.
- Drift og overvåking: Etter at modellen er distribuert, bør den overvåkes og vedlikeholdes for å sikre at den gir nøyaktige resultater over tid. Bruk MLflow til å spore modellens ytelse og feil under drift, og juster modellparametrene og -oppsettet etter behov.