Uczenie głębokie z prognozowaniem rozwiązania AutoML
Ten artykuł koncentruje się na metodach uczenia głębokiego na potrzeby prognozowania szeregów czasowych w rozwiązaniu AutoML. Instrukcje i przykłady dotyczące modeli prognozowania trenowania w rozwiązaniu AutoML można znaleźć w artykule dotyczącym konfigurowania rozwiązania AutoML na potrzeby prognozowania szeregów czasowych.
Uczenie głębokie ma wiele przypadków użycia w polach, od modelowania języka po składanie białek, między innymi. Prognozowanie szeregów czasowych przynosi również korzyści z ostatnich postępów w technologii uczenia głębokiego. Na przykład modele głębokiej sieci neuronowej (DNN) są dobrze wyposażone w modele o najwyższej wydajności z czwartej i piątej iteracji wysokiego profilu makridakis prognozowania konkurencji.
W tym artykule opisano strukturę i działanie modelu TCNForecaster w rozwiązaniu AutoML, aby ułatwić najlepsze zastosowanie modelu do danego scenariusza.
Wprowadzenie do TCNForecaster
TCNForecaster to tymczasowa sieć splotowa lub TCN, która ma architekturę sieci DNN przeznaczoną dla danych szeregów czasowych. Model używa danych historycznych dla ilości docelowej wraz z powiązanymi funkcjami, aby przewidywać probabilistyczne wartości docelowej do określonego horyzontu prognozy. Na poniższej ilustracji przedstawiono główne składniki architektury TCNForecaster:
TCNForecaster ma następujące główne składniki:
- Warstwa wstępna, która łączy wejściowe szeregi czasowe i dane funkcji w tablicę kanałów sygnału, które przetwarza stos konwolucyjny.
- Stos warstw konwoju rozszerzanego, który przetwarza tablicę kanałów sekwencyjnie. Każda warstwa w stosie przetwarza dane wyjściowe poprzedniej warstwy w celu utworzenia nowej tablicy kanałów. Każdy kanał w tych danych wyjściowych zawiera mieszaninę sygnałów filtrowanych przez konwolucję z kanałów wejściowych.
- Kolekcja jednostek głównych prognozy, które łączą sygnały wyjściowe z warstw konwoju i generują prognozy ilości docelowej z tej ukrytej reprezentacji. Każda jednostka główna generuje prognozy aż do horyzontu dla kwantylu rozkładu przewidywania.
Zrozwojenie przyczynowe z rozwagą
Centralna operacja TCN jest rozszerzana, przyczynowa zbieżność wraz z wymiarem czasu sygnału wejściowego. Intuicyjnie konwolucja łączy ze sobą wartości z pobliskich punktów czasowych w danych wejściowych. Proporcje w mieszaninie to jądro lub wagi konwoju, podczas gdy separacja między punktami w mieszaninie jest dylatacją. Sygnał wyjściowy jest generowany na podstawie danych wejściowych przez przesunięcie jądra w czasie wzdłuż danych wejściowych i gromadzenie mieszaniny w każdej pozycji. Przyczynowa konwolucja jest jednym, w którym jądro miesza tylko wartości wejściowe w przeszłości względem każdego punktu wyjściowego, uniemożliwiając wyjście "patrząc" w przyszłość.
Skumulowane sploty rozszerzane dają TCN możliwość modelowania korelacji w długich okresach trwania sygnałów wejściowych z stosunkowo kilkoma wagami jądra. Na przykład na poniższej ilustracji przedstawiono trzy skumulowane warstwy z dwuważnym jądrem w każdej warstwie i wykładniczo zwiększające się czynniki dilacji:
Linie przerywane pokazują ścieżki przez sieć, która kończy się na danych wyjściowych w czasie $t$. Te ścieżki obejmują ostatnie osiem punktów w danych wejściowych, co pokazuje, że każdy punkt wyjściowy jest funkcją ośmiu stosunkowo ostatnich punktów w danych wejściowych. Długość historii lub "spójrz wstecz", że sieć konwolucyjna używa do przewidywania jest nazywana polem otwartym i jest określana całkowicie przez architekturę TCN.
Architektura TCNForecaster
Podstawą architektury TCNForecaster jest stos warstw splotowych między pre-mix a głowami prognoz. Stos jest logicznie podzielony na powtarzające się jednostki nazywane blokami , które z kolei składają się z komórek reszt. Komórka reszt stosuje konwolucje przyczynowe w określonym dilacji wraz z normalizacją i aktywacją nieliniową. Co ważne, każda komórka reszt dodaje swoje dane wyjściowe do danych wejściowych przy użyciu tak zwanego połączenia reszt. Te połączenia okazały się korzystne dla trenowania sieci rozproszonej, być może dlatego, że ułatwiają one bardziej wydajny przepływ informacji przez sieć. Na poniższej ilustracji przedstawiono architekturę warstw konwolucyjnych dla przykładowej sieci z dwoma blokami i trzema komórkami reszt w każdym bloku:
Liczba bloków i komórek wraz z liczbą kanałów sygnałowych w każdej warstwie kontroluje rozmiar sieci. Parametry architektury TCNForecaster zostały podsumowane w poniższej tabeli:
Parametr | Opis |
---|---|
$n_{b}$ | Liczba bloków w sieci; nazywana również głębokością |
$n_{c}$ | Liczba komórek w każdym bloku |
$n_{\text{ch}}$ | Liczba kanałów w ukrytych warstwach |
Pole otwarte zależy od parametrów głębokości i jest podane przez formułę,
$t_{\text{rf}} = 4n_{b}\left(2^{n_{c}} - 1\right) + 1,$
Możemy podać bardziej precyzyjną definicję architektury TCNForecaster pod względem formuł. Pozwól $X$ na tablicę wejściową, w której każdy wiersz zawiera wartości funkcji z danych wejściowych. Możemy podzielić $X$ na tablice cech liczbowych i kategorycznych, $X_{\text{num}}$ i $X_{\text{cat}}$. Następnie TCNForecaster jest podawany przez formuły,
Gdzie $W_{e}$ jest macierzą osadzania dla funkcji kategorycznych, $n_{l} = n_{b}n_{c}$ jest całkowitą liczbą komórek reszt, $H_{k}$ oznacza ukryte dane wyjściowe warstwy, a $f_{q}$ są prognozami dla danych kwantyli rozkładu przewidywania. Aby ułatwić zrozumienie, wymiary tych zmiennych znajdują się w poniższej tabeli:
Zmienna | opis | Wymiary |
---|---|---|
$X$ | Tablica wejściowa | $n_{\text{input}} \times t_{\text{rf}}$ |
$H_{i}$ | Ukryte dane wyjściowe warstwy dla $i=0,1,\ldots,n_{l}$ | $n_{\text{ch}} \times t_{\text{rf}}$ |
$f_{q}$ | Prognozowanie danych wyjściowych kwantylu $q$ | $h$ |
W tabeli $n_{\text{input}} = n_{\text{features}} + 1$, liczba zmiennych prognostyk/cech oraz ilość docelowa. Głowy prognozy generują wszystkie prognozy do maksymalnego horyzontu, $h$, w jednym przebiegu, więc TCNForecaster jest bezpośrednim prognostykiem.
TCNForecaster w rozwiązaniu AutoML
TCNForecaster jest opcjonalnym modelem w rozwiązaniu AutoML. Aby dowiedzieć się, jak z niego korzystać, zobacz Włączanie uczenia głębokiego.
W tej sekcji opisano, jak rozwiązanie AutoML kompiluje modele TCNForecaster z danymi, w tym wyjaśnienia dotyczące wstępnego przetwarzania danych, trenowania i wyszukiwania modeli.
Kroki przetwarzania wstępnego danych
Rozwiązanie AutoML wykonuje kilka kroków przetwarzania wstępnego na danych w celu przygotowania do trenowania modelu. W poniższej tabeli opisano te kroki w kolejności, w której są wykonywane:
Krok | opis |
---|---|
Wypełnianie brakujących danych | Uzupełnij brakujące wartości i luki obserwacji oraz opcjonalnie uzupełnij lub upuść krótki szereg czasowy |
Tworzenie funkcji kalendarza | Rozszerz dane wejściowe za pomocą funkcji pochodzących z kalendarza , takiego jak dzień tygodnia, i opcjonalnie dni wolne dla określonego kraju/regionu. |
Kodowanie danych kategorii | Zakoduj ciągi etykiet i inne typy kategorii. Obejmuje to wszystkie kolumny identyfikatorów szeregów czasowych. |
Transformacja docelowa | Opcjonalnie zastosuj funkcję logarytmu naturalnego do celu w zależności od wyników niektórych testów statystycznych. |
Normalizacja | Wynik Z normalizuje wszystkie dane liczbowe; normalizacja jest wykonywana na funkcję i grupę szeregów czasowych zgodnie z definicją w kolumnach identyfikatorów szeregów czasowych. |
Te kroki są uwzględniane w potokach przekształcania rozwiązania AutoML, więc są one automatycznie stosowane w razie potrzeby w czasie wnioskowania. W niektórych przypadkach operacja odwrotna do kroku jest zawarta w potoku wnioskowania. Jeśli na przykład rozwiązanie AutoML zastosowało przekształcenie $\log$ do celu podczas trenowania, nieprzetworzone prognozy są wykładniczo w potoku wnioskowania.
Szkolenia
TCNForecaster jest zgodny z najlepszymi rozwiązaniami dotyczącymi trenowania sieci DNN typowymi dla innych aplikacji na obrazach i języku. Rozwiązanie AutoML dzieli wstępnie przetworzone dane treningowe na przykłady , które są mieszane i łączone w partie. Sieć przetwarza partie sekwencyjnie, używając propagacji wstecznej i stochastycznego spadku gradientu, aby zoptymalizować wagi sieci w odniesieniu do funkcji utraty. Trenowanie może wymagać wielu przejść przez pełne dane szkoleniowe; każda passa jest nazywana epoką.
W poniższej tabeli wymieniono i opisano ustawienia danych wejściowych oraz parametry trenowania TCNForecaster:
Dane wejściowe trenowania | Opis | Wartość |
---|---|---|
Dane weryfikacji | Część danych, która jest przechowywana od szkolenia, aby kierować optymalizacją sieci i ograniczać ich dopasowanie. | Jeśli nie zostanie podana, podana przez użytkownika lub automatycznie utworzona na podstawie danych szkoleniowych. |
Metryka podstawowa | Metryka obliczana na podstawie prognoz wartości mediany na danych walidacji na końcu każdej epoki trenowania; służy do wczesnego zatrzymywania i wybierania modelu. | Wybrany przez użytkownika; znormalizowany błąd średniokwadratowy lub znormalizowany średni błąd bezwzględny. |
Epoki trenowania | Maksymalna liczba epok do uruchomienia na potrzeby optymalizacji wagi sieci. | 100; automatyczna logika wczesnego zatrzymywania może zakończyć trenowanie w mniejszej liczbie epok. |
Wczesna cierpliwość | Liczba epok oczekiwania na poprawa podstawowej metryki przed zatrzymaniem trenowania. | 20 |
Loss, funkcja | Funkcja celu optymalizacji wagi sieci. | Strata kwantylu średnio ponad 10, 25, 50, 75 i 90. percentyl prognozy. |
Rozmiar partii | Liczba przykładów w partii. Każdy przykład ma wymiary $n_{\text{input}} \times t_{\text{rf}}$ dla danych wejściowych i $h$ dla danych wyjściowych. | Określana automatycznie z łącznej liczby przykładów w danych treningowych; wartość maksymalna 1024. |
Osadzanie wymiarów | Wymiary miejsc osadzania dla cech kategorii. | Ustawienie automatycznie czwartego katalogu głównego liczby unikatowych wartości w każdej funkcji zaokrąglonej do najbliższej liczby całkowitej. Progi są stosowane przy wartości minimalnej 3 i maksymalnej 100. |
Architektura sieci* | Parametry kontrolujące rozmiar i kształt sieci: głębokość, liczba komórek i liczba kanałów. | Określana przez wyszukiwanie modelu. |
Wagi sieci | Parametry kontrolujące mieszaniny sygnałów, osadzanie podzielone na kategorie, wagi jądra konwolucji i mapowania na wartości prognozy. | Losowo zainicjowane, a następnie zoptymalizowane pod kątem funkcji straty. |
Szybkość nauki* | Określa, ile wag sieci można dostosować w każdej iteracji spadku gradientu; dynamicznie zmniejszane w pobliżu zbieżności. | Określana przez wyszukiwanie modelu. |
Współczynnik porzucania* | Steruje stopniem uregulowania listy rozwijanej zastosowanym do wag sieci. | Określana przez wyszukiwanie modelu. |
Dane wejściowe oznaczone gwiazdką (*) są określane przez wyszukiwanie hiperparametrów opisane w następnej sekcji.
Wyszukiwanie modelu
Rozwiązanie AutoML używa metod wyszukiwania modelu do znajdowania wartości następujących parametrów hiperparatek:
- Głębokość sieci lub liczba splotowych bloków,
- Liczba komórek na blok,
- Liczba kanałów w każdej ukrytej warstwie,
- Współczynnik porzucania dla uregulowania sieci,
- Szybkość nauki.
Optymalne wartości tych parametrów mogą się znacznie różnić w zależności od scenariusza problemu i danych treningowych, dlatego rozwiązanie AutoML trenuje kilka różnych modeli w przestrzeni wartości hiperparametrów i wybiera najlepszy według podstawowego wyniku metryki na danych walidacji.
Wyszukiwanie modelu ma dwie fazy:
- Rozwiązanie AutoML wykonuje wyszukiwanie na 12 "przełomowych" modelach. Modele punktów orientacyjnych są statyczne i wybierane w rozsądnym zakresie przestrzeni hiperparametrów.
- Rozwiązanie AutoML kontynuuje przeszukiwanie przestrzeni hiperparametrów przy użyciu wyszukiwania losowego.
Wyszukiwanie kończy się po spełnieniu kryteriów zatrzymania. Kryteria zatrzymywania zależą od konfiguracji zadania trenowania prognozy, ale niektóre przykłady obejmują limity czasu, limity liczby prób wyszukiwania do wykonania i wczesną logikę zatrzymywania, gdy metryka walidacji nie poprawia się.
Następne kroki
- Dowiedz się, jak skonfigurować rozwiązanie AutoML do trenowania modelu prognozowania szeregów czasowych.
- Dowiedz się więcej o metodologii prognozowania w rozwiązaniu AutoML.
- Przejrzyj często zadawane pytania dotyczące prognozowania w rozwiązaniu AutoML.