Hloubkové učení s využitím prognózování automatického strojového učení

Tento článek se zaměřuje na metody hlubokého učení pro prognózování časových řad v AutoML. Pokyny a příklady pro trénování modelů prognóz v AutoML najdete v našem článku o nastavení autoML pro prognózování časových řad .

Hluboké učení má významný dopad v oblastech od jazykového modelování až po skládání proteinů, mimo jiné. Prognózování časových řad také těží z nedávných pokroků v technologiích hlubokého učení. Například modely hlubokých neurálních sítí (DNN) jsou výrazně zastoupeny v nejvýkonnějších modelech ze čtvrté a páté iterace vysoce profilované předpovědí Makridakise.

V tomto článku popíšeme strukturu a fungování modelu TCNForecaster v AutoML, abychom vám pomohli model co nejlépe použít ve vašem scénáři.

Úvod do TCNForecaster

TCNForecaster je dočasná konvoluční síť neboli TCN, která má architekturu DNN speciálně navrženou pro data časových řad. Model používá historická data pro cílové množství spolu se souvisejícími funkcemi k vytvoření pravděpodobnostních předpovědí cíle až do zadaného horizontu prognózy. Následující obrázek ukazuje hlavní součásti architektury TCNForecaster:

Diagram znázorňující hlavní komponenty TCNForecasteru automatizovaného strojového učení

TCNForecaster má následující hlavní komponenty:

  • Předběžná vrstva, která kombinuje vstupní časovou řadu a data funkcí do pole kanálů signálu, které bude konvoluční zásobník zpracovávat.
  • Zásobník dilatovaných konvoluční vrstvy, které postupně zpracovávají pole kanálů; Každá vrstva v zásobníku zpracuje výstup předchozí vrstvy a vytvoří nové pole kanálů. Každý kanál v tomto výstupu obsahuje kombinaci signálů filtrovaných konvolucí ze vstupních kanálů.
  • Kolekce hlavních jednotek prognózy , které sdružují výstupní signály z vrstev konvoluce a generují prognózy cílového množství z této latentní reprezentace. Každá hlavní jednotka vytváří prognózy až do horizontu pro kvantil rozdělení predikce.

Dilovaná kauzální konvoluce

Centrální operace TCN je rozšířená kauzální konvoluce podél časového rozměru vstupního signálu . Konvoluce intuitivně kombinuje hodnoty z blízkých časových bodů ve vstupu. Poměry ve směsi jsou jádro nebo váhy konvoluce, zatímco rozdělení mezi body ve směsi je dilatace. Výstupní signál se generuje ze vstupu posunutím jádra v čase podél vstupu a shromážděním směsi v každé poloze. Kauzální konvoluce je ta, při které jádro kombinuje vstupní hodnoty pouze v minulosti vzhledem ke každému výstupnímu bodu, což brání tomu, aby se výstup "podíval" do budoucnosti.

Stacking dilated convolutions dává TCN možnost modelovat korelace po dlouhou dobu ve vstupních signálech s relativně malými váhami jádra. Například následující obrázek znázorňuje tři vrstvy s jádrem se dvěma váhami v každé vrstvě a exponenciálně zvyšujícími se faktory dilatace:

Diagram znázorňující skládané, rozšířené konvoluční vrstvy

Přerušované čáry zobrazují cesty v síti, které končí na výstupu v čase $t$. Tyto cesty pokrývají posledních osm bodů ve vstupu a ilustrují, že každý výstupní bod je funkcí osmi relativně nejnovějších bodů ve vstupu. Délka historie neboli "ohlédni se zpět", kterou konvoluční síť používá k vytváření předpovědí, se nazývá vnímavé pole a je zcela určeno architekturou TCN.

Architektura TCNForecaster

Základem architektury TCNForecaster je zásobník konvolučních vrstev mezi pre-mixem a hlavami prognózy. Zásobník je logicky rozdělen na opakující se jednotky označované jako bloky , které se zase skládají ze zbytkových buněk. Reziduální buňka používá kauzální konvoluce při nastavené dilataci spolu s normalizací a nelineární aktivací. Důležité je, že každá reziduální buňka přidá svůj výstup do svého vstupu pomocí takzvaného zbytkového připojení. Ukázalo se, že tato připojení jsou přínosná pro trénování DNN, třeba proto, že usnadňují efektivnější tok informací v síti. Následující obrázek znázorňuje architekturu konvolučních vrstev pro ukázkovou síť se dvěma bloky a třemi zbytkovými buňkami v každém bloku:

Diagram znázorňující strukturu bloků a buněk pro konvoluční vrstvy TCNForecaster

Velikost sítě určuje počet bloků a buněk spolu s počtem kanálů signálu v každé vrstvě. Parametry architektury TCNForecaster jsou shrnuty v následující tabulce:

Parametr Popis
$n_{b}$ Počet bloků v síti; označuje se také jako hloubka
$n_{c}$ Počet buněk v každém bloku
$n_{\text{ch}}$ Počet kanálů ve skrytých vrstvách

Vnímavé pole závisí na parametrech hloubky a je dáno vzorcem,

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

Z hlediska vzorců můžeme poskytnout přesnější definici architektury TCNForecaster. Nechť $X$ je vstupní pole, ve kterém každý řádek obsahuje hodnoty funkcí ze vstupních dat. $X$ můžeme rozdělit na číselná pole a pole funkcí kategorií, $X_{\text{num}}$ a $X_{\text{cat}}$. Potom je TCNForecaster dán vzorcem,

Rovnice popisující operace TCNForecaster.

kde $W_{e}$ je matice vložení pro funkce kategorií, $n_{l} = n_{b}n_{c}$ je celkový počet zbytkových buněk, $H_{k}$ označuje skryté výstupy vrstvy a $f_{q}$ jsou výstupy prognózy pro dané kvantantily distribuce předpovědi. Pro pomoc při pochopení jsou dimenze těchto proměnných v následující tabulce:

Proměnná Popis Dimenze
$X$ Vstupní pole $n_{\text{input}} \times t_{\text{rf}}$
$H_{i}$ Skrytý výstup vrstvy pro $i=0,1,\ldots,n_{l}$ $n_{\text{ch}} \times t_{\text{rf}}$
$f_{q}$ Výstup prognózy pro kvantilové $q$ $h$

V tabulce $n_{\text{input}} = n_{\text{features}} + 1$, počet proměnných prediktoru/funkce plus cílové množství. Hlavy prognóz generují všechny prognózy až do maximálního horizontu, $h$, v jednom průchodu, takže TCNForecaster je přímý prognostik.

TCNForecaster v AutoML

TCNForecaster je volitelný model v autoML. Informace o tom, jak ho používat, najdete v tématu Povolení hlubokého učení.

V této části popíšeme, jak AutoML vytváří modely TCNForecaster s vašimi daty, včetně vysvětlení předběžného zpracování dat, trénování a vyhledávání modelů.

Kroky předběžného zpracování dat

AutoML provede u vašich dat několik kroků předběžného zpracování, aby se připravilo na trénování modelu. Následující tabulka popisuje tyto kroky v pořadí, v jakém jsou provedeny:

Krok Description
Vyplnění chybějících dat Přičítá chybějící hodnoty a mezery v pozorování a volitelně vysunout nebo zahodit krátké časové řady
Vytvoření funkcí kalendáře Rozšiřte vstupní data o funkce odvozené z kalendáře , jako je den v týdnu a případně svátky pro určitou zemi nebo oblast.
Kódování dat kategorií Popisek kódovat řetězce a jiné kategorické typy; to zahrnuje všechny sloupce ID časové řady.
Cílová transformace Volitelně můžete v závislosti na výsledcích určitých statistických testů použít na cíl funkci přirozeného logaritmu.
Normalizace Skóre Z normalizuje všechna číselná data; normalizace se provádí pro jednotlivé funkce a skupiny časových řad, jak jsou definovány sloupci ID časové řady.

Tyto kroky jsou součástí kanálů transformace AutoML, takže se automaticky použijí v době odvozování. V některých případech je inverzní operace ke kroku součástí kanálu odvozování. Pokud například AutoML během trénování použilo na cíl transformaci $\log$, nezpracované prognózy se v kanálu odvozování exponentiují.

Školení

TCNForecaster se řídí osvědčenými postupy trénování DNN, které jsou běžné pro jiné aplikace v imagích a jazyce. AutoML rozděluje předzpracovaná trénovací data na příklady , které se prohazují a kombinují do dávek. Síť zpracovává dávky postupně pomocí zpětného šíření a stochastického gradientního sestupu za účelem optimalizace hmotnosti sítě s ohledem na ztrátovou funkci. Trénování může vyžadovat mnoho průchodů úplnými trénovacími daty. každému průchodu se říká epocha.

Následující tabulka uvádí a popisuje vstupní nastavení a parametry trénování TCNForecaster:

Trénovací vstup Description Hodnota
Ověřovací data Část dat, která se uchovávají z trénování, aby se proběhla optimalizace sítě a zmírnění problémů s přizpůsobením. Poskytuje ho uživatel nebo se automaticky vytvoří z trénovacích dat, pokud nejsou k dispozici.
Primární metrika Metrika vypočítaná z prognóz mediánové hodnoty na základě ověřovacích dat na konci každé epochy trénování; používá se k počátečnímu zastavení a výběru modelu. Zvolen uživatelem; normalizovaná odmocněná střední kvadratická chyba nebo normalizovaná střední absolutní chyba.
Epochy trénování Maximální počet epoch, které se mají spustit pro optimalizaci váhy sítě. 100; Logika automatizovaného předčasného zastavení může trénování ukončit v menším počtu epoch.
Předčasné zastavení trpělivosti Počet epoch čekání na zlepšení primární metriky před zastavením trénování 20
Loss – funkce Cílová funkce pro optimalizaci hmotnosti sítě. Průměrná ztráta kvantilu překročila předpověď 10., 25., 50., 75. a 90. percentilu.
Velikost dávky Počet příkladů v dávce Každý příklad má rozměry $n_{\text{input}} \times t_{\text{rf}}$ pro vstup a $h$ pro výstup. Určuje se automaticky z celkového počtu příkladů v trénovacích datech; maximální hodnota je 1024.
Vkládání dimenzí Rozměry vložených prostorů pro kategorické prvky Automaticky se nastaví na čtvrtou odmocninu počtu jedinečných hodnot v každé funkci a zaokrouhlí se nahoru na nejbližší celé číslo. Prahové hodnoty se používají při minimální hodnotě 3 a maximální hodnotě 100.
Síťová architektura* Parametry, které řídí velikost a tvar sítě: hloubka, počet buněk a počet kanálů. Určeno vyhledáváním modelu.
Váhy sítě Parametry řídící kombinace signálů, kategorické vkládání, váhy konvolučního jádra a mapování na hodnoty prognózy Náhodně inicializováno, poté optimalizováno s ohledem na ztrátovou funkci.
Rychlost učení* Řídí, kolik váhy sítě lze upravit v každé iteraci gradientního sestupu; dynamicky redukovaná blízkou konvergenci. Určeno vyhledáváním modelu.
Poměr rozevíracích výpadek* Řídí míru regularizace vyřazení použitého na váhy sítě. Určeno vyhledáváním modelu.

Vstupy označené hvězdičkou (*) jsou určeny vyhledáváním hyperparametrů, které je popsáno v další části.

AutoML používá metody vyhledávání modelů k vyhledání hodnot pro následující hyperparametry:

  • Hloubka sítě nebo počet konvolučních bloků,
  • Počet buněk na blok
  • Počet kanálů v každé skryté vrstvě,
  • Poměr výpadek pro regularizaci sítě,
  • Rychlost učení.

Optimální hodnoty pro tyto parametry se můžou výrazně lišit v závislosti na problémovém scénáři a trénovacích datech, takže AutoML trénuje několik různých modelů v prostoru hodnot hyperparametrů a vybere ten nejlepší podle skóre primární metriky na ověřovacích datech.

Vyhledávání modelu má dvě fáze:

  1. AutoML prohledává 12 "orientačních" modelů. Modely orientačních bodů jsou statické a zvolené tak, aby přiměřeně zasahují do prostoru hyperparametrů.
  2. AutoML pokračuje v prohledávání prostoru hyperparametrů pomocí náhodného hledání.

Hledání se ukončí při splnění kritérií zastavení. Kritéria pro zastavení závisí na konfiguraci úlohy trénování prognózy, ale některé příklady zahrnují časové limity, limity počtu pokusů vyhledávání, které se mají provést, a logiku předčasného zastavení, když se metrika ověřování nezlepšuje.

Další kroky