Share via


Deep Learning met AutoML-prognose

Dit artikel is gericht op de deep learning-methoden voor het voorspellen van tijdreeksen in AutoML. Instructies en voorbeelden voor het trainen van prognosemodellen in AutoML vindt u in ons artikel over het instellen van AutoML voor het voorspellen van tijdreeksen .

Deep Learning heeft talloze use cases in velden, variërend van taalmodellering tot eiwitvouwen, en nog veel meer. Het voorspellen van tijdreeksen profiteert ook van recente ontwikkelingen in deep learning-technologie. DNN-modellen (Deep Neural Network) zijn bijvoorbeeld prominent aanwezig in de best presterende modellen uit de vierde en vijfde iteraties van de high-profile Makridakis voorspellende concurrentie.

In dit artikel beschrijven we de structuur en werking van het TCNForecaster-model in AutoML, zodat u het model het beste kunt toepassen op uw scenario.

Inleiding tot TCNForecaster

TCNForecaster is een tijdelijk convolutionele netwerk of TCN, dat een DNN-architectuur heeft die is ontworpen voor tijdreeksgegevens. Het model gebruikt historische gegevens voor een doelhoeveelheid, samen met gerelateerde functies, om probabilistische prognoses van het doel tot een opgegeven prognoseperiode te maken. In de volgende afbeelding ziet u de belangrijkste onderdelen van de TCNForecaster-architectuur:

Diagram met de belangrijkste onderdelen van TCNForecaster van AutoML.

TCNForecaster heeft de volgende hoofdonderdelen:

  • Een premixlaag die de invoertijdreeks en functiegegevens combineert in een matrix van signaalkanalen die door de convolutionele stack worden verwerkt.
  • Een stapel verwijde convolutielagen die de kanaalmatrix opeenvolgend verwerkt; elke laag in de stapel verwerkt de uitvoer van de vorige laag om een nieuwe kanaalmatrix te produceren. Elk kanaal in deze uitvoer bevat een combinatie van convolutionele signalen van de invoerkanalen.
  • Een verzameling prognosehoofdeenheden die de uitvoersignalen van de convolutielagen samenvoegen en prognoses genereren van de doelhoeveelheid uit deze latente weergave. Elke hoofdeenheid produceert prognoses tot aan de horizon voor een kwantiel van de voorspellingsdistributie.

Verwijde causale samenvoeging

De centrale werking van een TCN is een verwijde causale convolution langs de tijddimensie van een invoersignaal. Intuïtief combineert convolution waarden van nabijgelegen tijdspunten in de invoer. De verhoudingen in het mengsel zijn de kernel, of de gewichten, van de convolutie terwijl de scheiding tussen punten in het mengsel de dilation is. Het uitvoersignaal wordt gegenereerd op basis van de invoer door de kernel op tijd langs de invoer te schuiven en het mengsel op elke positie te accumuleren. Een causale samenvoeging is een oplossing waarin de kernel alleen invoerwaarden in het verleden combineert ten opzichte van elk uitvoerpunt, waardoor de uitvoer niet in de toekomst kan worden "gekeken".

Door gestapelde verwijde samenvolutions kan de TCN correlaties gedurende lange tijd modelleren in invoersignalen met relatief weinig kernelgewichten. In de volgende afbeelding ziet u bijvoorbeeld drie gestapelde lagen met een kernel met twee gewichten in elke laag en exponentieel toenemende dilationfactoren:

Diagram met gestapelde, verwijde convolutielagen.

De stippellijnen geven paden weer via het netwerk die eindigen op de uitvoer per keer $t$. Deze paden beslaan de laatste acht punten in de invoer, die illustreren dat elk uitvoerpunt een functie is van de acht meest recente punten in de invoer. De lengte van de geschiedenis, of 'terugkijken', die een convolutionele netwerk gebruikt om voorspellingen te doen, wordt het receptieve veld genoemd en wordt volledig bepaald door de TCN-architectuur.

TCNForecaster-architectuur

De kern van de TCNForecaster-architectuur is de stapel convolutionele lagen tussen de premix en de prognosekoppen. De stack is logisch onderverdeeld in herhalende eenheden die blokken worden genoemd die op hun beurt bestaan uit restcellen. Een residuencel past causale samenvoegingen toe bij een ingestelde dilation, samen met normalisatie en niet-lineaire activering. Belangrijk is dat elke restcel de uitvoer toevoegt aan de invoer met behulp van een zogenaamde restverbinding. Deze verbindingen zijn gebleken ten goede te komen aan DNN-training, mogelijk omdat ze een efficiëntere informatiestroom via het netwerk mogelijk maken. In de volgende afbeelding ziet u de architectuur van de convolutionele lagen voor een voorbeeldnetwerk met twee blokken en drie resterende cellen in elk blok:

Diagram met blok- en celstructuur voor TCNForecaster-convolutionele lagen.

Het aantal blokken en cellen, samen met het aantal signaalkanalen in elke laag, bepaalt de grootte van het netwerk. De architectuurparameters van TCNForecaster worden samengevat in de volgende tabel:

Parameter Description
$n_{b}$ Aantal blokken in het netwerk; ook wel de diepte genoemd
$n_{c}$ Aantal cellen in elk blok
$n_{\text{ch}}$ Aantal kanalen in de verborgen lagen

Het receptief veld is afhankelijk van de diepteparameters en wordt gegeven door de formule,

$t_{\text{rf}} = 4n_{b}\left(2^{n_{c}} - 1\right) + 1.$

We kunnen een nauwkeurigere definitie geven van de TCNForecaster-architectuur in termen van formules. Laat $X$ een invoermatrix zijn waarin elke rij functiewaarden van de invoergegevens bevat. We kunnen $X$ verdelen in numerieke en categorische functiematrices, $X_{\text{num}}$ en $X_{\text{cat}}$. Vervolgens wordt de TCNForecaster gegeven door de formules,

Vergelijkingen die TCNForecaster-bewerkingen beschrijven.

Waar $W_{e}$ een insluitmatrix is voor de categorische functies, geeft $n_{l} = n_{b}n_{c}$ het totale aantal resterende cellen aan, de $H_{k}$ duiden verborgen laaguitvoer aan en de $f_{q}$ zijn prognose-uitvoer voor bepaalde kwantielen van de voorspellingsdistributie. Om inzicht te krijgen, staan de dimensies van deze variabelen in de volgende tabel:

Variabele Beschrijving Dimensies
$X$ Invoermatrix $n_{\text{input}} \times t_{\text{rf}}$
$H_{i}$ Uitvoer van verborgen laag voor $i=0,1,\ldots,n_{l}$ $n_{\text{ch}} \times t_{\text{rf}}$
$f_{q}$ Uitvoer voorspellen voor kwantiel $q$ $h$

In de tabel $n_{\text{input}} = n_{\text{features}} + 1$, het aantal voorspeller-/functievariabelen plus de doelhoeveelheid. De prognosekoppen genereren alle prognoses tot aan de maximale horizon, $h$, in één pas, dus TCNForecaster is een directe prognose.

TCNForecaster in AutoML

TCNForecaster is een optioneel model in AutoML. Zie Deep Learning inschakelen voor meer informatie over het gebruik ervan.

In deze sectie beschrijven we hoe AutoML TCNForecaster-modellen bouwt met uw gegevens, waaronder uitleg van gegevensvoorverwerking, training en modelzoekopdrachten.

Stappen voor het vooraf verwerken van gegevens

AutoML voert verschillende voorverwerkingsstappen uit op uw gegevens om u voor te bereiden op modeltraining. In de volgende tabel worden deze stappen beschreven in de volgorde waarin ze worden uitgevoerd:

Stap Beschrijving
Ontbrekende gegevens doorvoeren Ontbrekende waarden en observatiegaten invoeren en eventueel korte tijdreeksen opvullen of verwijderen
Agendafuncties maken Vergroot de invoergegevens met functies die zijn afgeleid van de kalender , zoals de dag van de week en eventueel feestdagen voor een specifiek land/specifieke regio.
Categorische gegevens coderen Labelcodetekenreeksen en andere categorische typen; dit omvat alle tijdreeks-id-kolommen.
Doeltransformatie U kunt eventueel de natuurlijke logaritmefunctie toepassen op het doel, afhankelijk van de resultaten van bepaalde statistische tests.
Normalisatie Z-score normaliseert alle numerieke gegevens; normalisatie wordt uitgevoerd per functie en per tijdreeksgroep, zoals gedefinieerd door de kolommen met tijdreeks-id's.

Deze stappen worden opgenomen in de transformatiepijplijnen van AutoML, zodat ze automatisch worden toegepast wanneer dat nodig is tijdens deductietijd. In sommige gevallen wordt de inverse bewerking naar een stap opgenomen in de deductiepijplijn. Als AutoML bijvoorbeeld tijdens de training een $\log$-transformatie heeft toegepast op het doel, worden de onbewerkte prognoses weergegeven in de deductiepijplijn.

Training

TcNForecaster volgt aanbevolen procedures voor DNN-training die gebruikelijk zijn voor andere toepassingen in afbeeldingen en talen. AutoML verdeelt vooraf verwerkte trainingsgegevens in voorbeelden die in willekeurige volgorde worden verdeeld en gecombineerd in batches. Het netwerk verwerkt de batches opeenvolgend, waarbij gebruik wordt gemaakt van achterdoorgifte en stochastische gradiëntafname om de netwerkgewichten te optimaliseren met betrekking tot een verliesfunctie. Training kan veel doorvoeren vereisen door de volledige trainingsgegevens; elke pas wordt een tijdsperiode genoemd.

De volgende tabel bevat en beschrijft invoerinstellingen en -parameters voor TCNForecaster-training:

Trainingsinvoer Beschrijving Waarde
Validatiegegevens Een deel van de gegevens die uit de training worden gehouden om de netwerkoptimalisatie te begeleiden en te beperken over passend maken. Geleverd door de gebruiker of automatisch gemaakt op basis van trainingsgegevens, indien niet opgegeven.
Primaire metrische gegevens Metrische gegevens berekend op basis van mediaanwaardeprognoses op de validatiegegevens aan het einde van elk trainingstijdperk; wordt gebruikt voor vroege stop- en modelselectie. Gekozen door de gebruiker; genormaliseerde wortel gemiddelde kwadratische fout of genormaliseerde gemiddelde absolute fout.
Trainingstijdvakken Maximum aantal tijdvakken dat moet worden uitgevoerd voor optimalisatie van het netwerkgewicht. 100; geautomatiseerde logica voor vroegtijdige beëindiging kan de training op een kleiner aantal tijdvakken beëindigen.
Vroeg stoppen geduld Aantal tijdvakken om te wachten op verbetering van de primaire metrische gegevens voordat de training wordt gestopt. 20
Verliesfunctie De objectieve functie voor optimalisatie van het netwerkgewicht. Kwantielverlies gemiddeld meer dan 10e, 25e, 50e, 75e en 90e percentielprognose.
Batchgrootte Aantal voorbeelden in een batch. Elk voorbeeld heeft dimensies $n_{\text{input}} \times t_{\text{rf}}$ voor invoer en $h$ voor uitvoer. Automatisch bepaald op basis van het totale aantal voorbeelden in de trainingsgegevens; maximumwaarde van 1024.
Dimensies voor insluiten Dimensies van de insluitingsruimten voor categorische functies. Automatisch ingesteld op de vierde hoofdmap van het aantal afzonderlijke waarden in elke functie, afgerond op het dichtstbijzijnde gehele getal. Drempelwaarden worden toegepast op een minimumwaarde van 3 en maximumwaarde van 100.
Netwerkarchitectuur* Parameters waarmee de grootte en vorm van het netwerk worden bepaald: diepte, aantal cellen en het aantal kanalen. Bepaald door modelzoekopdrachten.
Netwerkgewichten Parameters die signaalmengsels beheren, categorische insluitingen, convolutionele kernelgewichten en toewijzingen voor prognosewaarden. Willekeurig geïnitialiseerd en vervolgens geoptimaliseerd met betrekking tot de verliesfunctie.
Leersnelheid* Bepaalt hoeveel de netwerkgewichten kunnen worden aangepast in elke iteratie van gradiëntafname; dynamisch verminderd in de buurt van convergentie. Bepaald door modelzoekopdrachten.
Verhouding tussen vervolgkeuzelijsten* Hiermee bepaalt u de mate van dropout-regularisatie die wordt toegepast op de netwerkgewichten. Bepaald door modelzoekopdrachten.

Invoer die is gemarkeerd met een sterretje (*) wordt bepaald door een zoekactie voor hyperparameters die in de volgende sectie wordt beschreven.

AutoML maakt gebruik van modelzoekmethoden om waarden te vinden voor de volgende hyperparameters:

  • Netwerkdiepte of het aantal convolutionele blokken,
  • Aantal cellen per blok,
  • Aantal kanalen in elke verborgen laag,
  • Vervolgkeuzelijst voor netwerk regularisatie,
  • Leersnelheid.

Optimale waarden voor deze parameters kunnen aanzienlijk variëren, afhankelijk van het probleemscenario en trainingsgegevens, dus AutoML traint verschillende modellen binnen de ruimte van hyperparameterwaarden en kiest het beste op basis van de primaire metrische score op de validatiegegevens.

Het zoeken naar modellen heeft twee fasen:

  1. AutoML voert een zoekopdracht uit over 12 oriëntatiepuntenmodellen. De oriëntatiepuntenmodellen zijn statisch en gekozen om de ruimte voor hyperparameters redelijk te omvatten.
  2. AutoML blijft zoeken in de hyperparameterruimte met behulp van een willekeurige zoekopdracht.

De zoekopdracht wordt beëindigd wanneer aan de criteria wordt voldaan. De stopcriteria zijn afhankelijk van de configuratie van de prognosetrainingstaak, maar enkele voorbeelden zijn tijdslimieten, limieten voor het aantal zoekproeven dat moet worden uitgevoerd en vroege stoplogica wanneer de metrische waarde voor validatie niet wordt verbeterd.

Volgende stappen