Uczenie maszynowe online — Online machine learning

W informatyce , uczenie maszynowe Internecie jest metodą uczenia maszynowego , w którym dane będzie dostępny w porządku sekwencyjnym i służy do aktualizacji najlepszą prognozą dla danych przyszłych na każdym kroku, w przeciwieństwie do partii naukę technik, które generują najlepszą predyktorem Ucząc na całym zestawie danych treningowych jednocześnie. Nauka online jest powszechną techniką stosowaną w obszarach uczenia maszynowego, w których obliczeniowo niewykonalne jest trenowanie na całym zbiorze danych, co wymaga użycia algorytmów spoza rdzenia . Wykorzystywany jest również w sytuacjach, gdy konieczne jest dynamiczne dostosowywanie się algorytmu do nowych wzorców w danych lub gdy same dane są generowane w funkcji czasu, np . prognoza cen akcji . Algorytmy uczenia się online mogą być podatne na katastrofalne zakłócenia , problem, który można rozwiązać, stosując metody uczenia przyrostowego .

Wstęp

Przy ustalaniu uczenia nadzorowanego , funkcją jest się nauczyć, gdzie jest uważany za przestrzeń wejść i jako przestrzeń wyjść, które przewiduje, że również w instancjach są sporządzone z wspólny rozkład prawdopodobieństwa na . W rzeczywistości uczący się nigdy nie zna prawdziwego podziału na instancje. Zamiast tego uczący się zwykle ma dostęp do zestawu przykładów szkoleniowych . W tym ustawieniu funkcja straty jest podawana jako , tak aby mierzyć różnicę między wartością przewidywaną a wartością rzeczywistą . Idealnym celem jest wybranie funkcji , gdzie jest przestrzenią funkcji zwaną przestrzenią hipotez, tak aby zminimalizować pewne pojęcie całkowitej straty. W zależności od typu modelu (statystyczny lub kontradyktoryjny) można wymyślić różne pojęcia straty, które prowadzą do różnych algorytmów uczenia się.

Statystyczny widok nauki online

W statystycznych modelach uczenia zakłada się , że próba ucząca została wylosowana z rzeczywistego rozkładu, a celem jest zminimalizowanie oczekiwanego „ryzyka”

Powszechnym paradygmatem w tej sytuacji jest szacowanie funkcji poprzez minimalizację ryzyka empirycznego lub uregulowaną minimalizację ryzyka empirycznego (zwykle regularyzacja Tichonowa ). Wybór funkcji straty w tym przypadku daje początek kilku dobrze znanym algorytmom uczenia, takim jak uregulowane najmniejszych kwadratów i maszyny wektorów nośnych . Model czysto online w tej kategorii uczyłby się tylko na podstawie nowych danych wejściowych , bieżącego najlepszego predyktora i pewnych dodatkowych przechowywanych informacji (które zwykle mają wymagania dotyczące pamięci niezależne od rozmiaru danych uczących). W przypadku wielu sformułowań, na przykład nieliniowych metod jądra , prawdziwe uczenie online nie jest możliwe, chociaż forma hybrydowego uczenia online z algorytmami rekurencyjnymi może być stosowana tam, gdzie jest to dozwolone i od wszystkich poprzednich punktów danych . W takim przypadku wymagania dotyczące miejsca nie są już gwarantowane jako stałe, ponieważ wymaga przechowywania wszystkich poprzednich punktów danych, ale obliczenie rozwiązania po dodaniu nowego punktu danych może zająć mniej czasu w porównaniu z technikami uczenia wsadowego.

Powszechną strategią rozwiązywania powyższych problemów jest uczenie się za pomocą mini-partii, które przetwarzają jednocześnie niewielką partię punktów danych, można to uznać za uczenie pseudo-online dla znacznie mniejszej liczby punktów szkoleniowych. Stosowane są techniki mini-partii z wielokrotnym przekazywaniem danych uczących w celu uzyskania zoptymalizowanych, out-of-core wersji algorytmów uczenia maszynowego, na przykład stochastycznego spadku gradientu . W połączeniu z propagacją wsteczną jest to obecnie de facto metoda uczenia sztucznych sieci neuronowych .

Przykład: liniowe najmniejszych kwadratów

Prosty przykład liniowych najmniejszych kwadratów służy do wyjaśnienia różnych pomysłów w nauce online. Idee są na tyle ogólne, że można je zastosować w innych ustawieniach, na przykład z innymi wypukłymi funkcjami straty.

Nauka wsadowa

Rozważ ustawienie nadzorowanego uczenia się jako funkcji liniowej, której należy się nauczyć:

gdzie jest wektorem wejść (punktów danych) i jest liniowym wektorem filtra. Celem jest obliczenie wektora filtru . W tym celu kwadratowa funkcja straty

służy do obliczania wektora, który minimalizuje straty empiryczne

gdzie

.

Niech będzie macierzą danych i jest wektorem kolumnowym wartości docelowych po przybyciu pierwszych punktów danych. Zakładając, że macierz kowariancji jest odwracalna (w przeciwnym razie preferowane jest postępowanie w podobny sposób z regularyzacją Tichonowa), najlepszym rozwiązaniem problemu liniowego najmniejszych kwadratów jest równanie

.

Teraz obliczenie macierzy kowariancji zajmuje czas , odwrócenie macierzy zajmuje czas , podczas gdy reszta mnożenia zajmuje czas , co daje całkowity czas . Gdy w zbiorze danych znajduje się całkowita liczba punktów, aby ponownie obliczyć rozwiązanie po przybyciu każdego punktu danych , naiwne podejście będzie miało całkowitą złożoność . Należy pamiętać, że podczas przechowywania macierzy , aktualizowanie jej na każdym etapie wymaga tylko dodania , co zajmuje czas, zmniejszając całkowity czas do , ale z dodatkową przestrzenią do przechowywania .

Nauka online: rekurencyjna metoda najmniejszych kwadratów

Rekurencyjny algorytm najmniejszych kwadratów (RLS) uwzględnia podejście online do problemu najmniejszych kwadratów. Można wykazać, że inicjując i , rozwiązanie liniowego problemu najmniejszych kwadratów podanego w poprzednim podrozdziale można obliczyć za pomocą następującej iteracji:

Powyższy algorytm iteracji można udowodnić za pomocą indukcji na . Dowód również pokazuje, że . Na RLS można spojrzeć również w kontekście filtrów adaptacyjnych (patrz RLS ).

Złożoność kroków tego algorytmu wynosi , co jest o rząd wielkości szybszą niż odpowiadająca im złożoność uczenia wsadowego. Wymagania dotyczące przechowywania na każdym kroku to przechowywanie matrycy , która jest stała na . W przypadku, gdy nie jest odwracalna, rozważ uregulowaną wersję funkcji straty problemu . Następnie łatwo wykazać, że ten sam algorytm działa z , a iteracje przechodzą do dawania .

Stochastyczne zejście gradientowe

Kiedy to

jest zastąpiony przez

lub przez , staje się to algorytmem stochastycznego spadku gradientu. W takim przypadku złożoność kroków tego algorytmu zmniejsza się do . Wymagania dotyczące przechowywania na każdym etapie są stałe w .

Jednak wielkość kroków musi być starannie dobrana, aby rozwiązać oczekiwany problem minimalizacji ryzyka, jak opisano powyżej. Wybierając zanikający rozmiar kroku można udowodnić zbieżność średniej iteracji . To ustawienie jest szczególnym przypadkiem optymalizacji stochastycznej , dobrze znanego problemu w optymalizacji.

Przyrostowy stochastyczny spadek gradientu

W praktyce na danych można wykonać wiele stochastycznych przejść gradientowych (zwanych również cyklami lub epokami). Otrzymany w ten sposób algorytm nazywa się metodą gradientu przyrostowego i odpowiada iteracji

Główna różnica w stosunku do metody gradientu stochastycznego polega na tym, że tutaj wybierana jest sekwencja, która decyduje, który punkt treningowy jest odwiedzany w -tym kroku. Taka sekwencja może być stochastyczna lub deterministyczna. Liczba iteracji jest następnie oddzielona od liczby punktów (każdy punkt można rozpatrywać więcej niż raz). Można wykazać, że metoda gradientu przyrostowego zapewnia minimalizację ryzyka empirycznego. Techniki przyrostowe mogą być korzystne przy rozpatrywaniu funkcji celu składających się z sumy wielu terminów, np. błąd empiryczny odpowiadający bardzo dużemu zbiorowi danych.

Metody jądra

Kernels można wykorzystać do rozszerzenia powyższych algorytmów na modele nieparametryczne (lub modele, w których parametry tworzą przestrzeń nieskończenie wymiarową). Odpowiednia procedura nie będzie już prawdziwie online i zamiast tego będzie obejmować przechowywanie wszystkich punktów danych, ale nadal będzie szybsza niż metoda brute force. Ta dyskusja ogranicza się do przypadku straty kwadratowej, chociaż można ją rozszerzyć na dowolną stratę wypukłą. Za pomocą łatwej indukcji można wykazać, że jeśli jest macierzą danych i jest wyjściem po krokach algorytmu SGD, to

gdzie i sekwencja spełnia rekurencję:

oraz

Zauważ, że tutaj jest tylko standardowe jądro włączone , a predyktor ma postać

.

Teraz, jeśli zamiast tego zostanie wprowadzone ogólne jądro i niech predyktor będzie

wtedy ten sam dowód pokaże również, że predyktor minimalizujący stratę najmniejszych kwadratów uzyskuje się zmieniając powyższą rekurencję na

Powyższe wyrażenie wymaga przechowywania wszystkich danych do aktualizacji . Całkowita złożoność czasowa dla rekurencji podczas oceny dla -tego punktu danych wynosi , gdzie jest kosztem oceny jądra na pojedynczej parze punktów. Zatem użycie jądra umożliwiło przejście od skończenie wymiarowej przestrzeni parametrów do możliwie nieskończenie wymiarowej cechy reprezentowanej przez jądro poprzez wykonanie rekurencji w przestrzeni parametrów , której wymiar jest taki sam jak rozmiar zbioru danych treningowych . Generalnie jest to konsekwencja twierdzenia o reprezentatorze .

Optymalizacja wypukła online

Optymalizacja wypukła online (OCO) to ogólne ramy podejmowania decyzji, które wykorzystują optymalizację wypukłą, aby umożliwić wydajne algorytmy. Struktura polega na powtarzaniu gry w następujący sposób:

Do

  • Uczeń otrzymuje dane wejściowe
  • Wyjścia ucznia ze stałego zestawu wypukłego
  • Natura odsyła z powrotem wypukłą funkcję straty .
  • Uczeń ponosi stratę i aktualizuje swój model

Celem jest zminimalizowanie żalu , czyli różnicy między skumulowaną stratą a utratą najlepszego stałego punktu z perspektywy czasu. Jako przykład rozważmy przypadek regresji liniowej metodą najmniejszych kwadratów online. Tutaj wektory wag pochodzą ze zbioru wypukłego , a natura odsyła wypukłą funkcję utraty . Zwróć uwagę, że jest to niejawnie wysyłane z .

Niektóre problemy z prognozowaniem online nie mieszczą się jednak w ramach OCO. Na przykład w klasyfikacji online domena predykcji i funkcje straty nie są wypukłe. W takich scenariuszach stosuje się dwie proste techniki wypukłości: randomizację i zastępcze funkcje straty.

Niektóre proste algorytmy optymalizacji wypukłej online to:

Podążaj za liderem (FTL)

Najprostszą zasadą uczenia się do wypróbowania jest wybranie (na obecnym etapie) hipotezy, która ma najmniejszą stratę we wszystkich poprzednich rundach. Ten algorytm nazywa się Podążaj za liderem i jest po prostu podawany przez:

Metodę tę można zatem uznać za algorytm zachłanny . W przypadku optymalizacji kwadratowej online (gdzie funkcją straty jest ) można wykazać granicę żalu, która rośnie jako . Jednak podobnych ograniczeń nie można uzyskać dla algorytmu FTL dla innych ważnych rodzin modeli, takich jak optymalizacja liniowa online. W tym celu modyfikuje się FTL, dodając regularyzację.

Podążaj za regularyzowanym liderem (FTRL)

Jest to naturalna modyfikacja FTL, która służy do stabilizacji rozwiązań FTL i uzyskania lepszych granic żalu. Funkcja regularyzacji jest wybierana i uczenie odbywa się w rundzie t w następujący sposób:

Jako szczególny przykład rozważmy przypadek optymalizacji liniowej online, tj. gdzie natura odsyła funkcje strat postaci . Niech też . Załóżmy, że funkcja regularyzacji jest wybrana dla pewnej liczby dodatniej . Wtedy można pokazać, że żal minimalizujący iterację staje się

Zauważ, że można to przepisać jako , co wygląda dokładnie tak, jak gradient online.

Jeśli S jest zamiast tego jakąś wypukłą podprzestrzenią , S musiałby być rzutowany na, prowadząc do zmodyfikowanej reguły aktualizacji

Algorytm ten jest znany jako projekcja leniwa, ponieważ wektor akumuluje gradienty. Jest również znany jako algorytm podwójnego uśredniania Niestierowa. W tym scenariuszu liniowych funkcji straty i kwadratowej regularyzacji żal jest ograniczony przez , a zatem średni żal osiąga wartość 0 zgodnie z potrzebami.

Online subgradient down (OSD)

Powyższe okazało się żalem związanym z liniowymi funkcjami strat . Aby uogólnić algorytm na dowolną wypukłą funkcję straty, podgradient z jest używany jako przybliżenie liniowe do near , co prowadzi do internetowego algorytmu opadania podgradientu:

Zainicjuj parametr

Do

  • Przewiduj używając , otrzymuj od natury.
  • Wybierać
  • Jeśli , zaktualizuj jako
  • Jeśli , rzutuj skumulowane gradienty na ie

Można użyć algorytmu OSD, aby wyznaczyć granice żalu dla wersji online SVM do klasyfikacji, które wykorzystują utratę zawiasów

Inne algorytmy

Algorytmy FTRL uregulowane kwadratowo prowadzą do leniwie rzutowanych algorytmów gradientowych, jak opisano powyżej. Aby użyć powyższego do dowolnych funkcji wypukłych i regulatorów, używa się funkcji lustra online. Optymalną regularyzację z perspektywy czasu można wyprowadzić dla liniowych funkcji straty, co prowadzi do algorytmu AdaGrad . Dla regularyzacji euklidesowej można wykazać granicę żalu , która może być dalej poprawiona do funkcji straty silnie wypukłej i ex-wklęsłej.

Ciągła nauka

Ciągłe uczenie się oznacza ciągłe doskonalenie wyuczonego modelu poprzez przetwarzanie ciągłych strumieni informacji. Możliwości ciągłego uczenia się są niezbędne dla systemów oprogramowania i autonomicznych agentów współdziałających w stale zmieniającym się świecie rzeczywistym. Jednak ciągłe uczenie się jest wyzwaniem dla uczenia maszynowego i modeli sieci neuronowych, ponieważ ciągłe pozyskiwanie przyrostowo dostępnych informacji z niestacjonarnych dystrybucji danych zazwyczaj prowadzi do katastrofalnego zapominania .

Interpretacje nauki online

Paradygmat uczenia się online ma różne interpretacje w zależności od wyboru modelu uczenia się, z których każdy ma inne implikacje dotyczące predykcyjnej jakości sekwencji funkcji . W tej dyskusji wykorzystano prototypowy algorytm stochastycznego spadku gradientu. Jak wspomniano powyżej, jego rekurencja jest podana przez

Pierwsza interpretacja uwzględnia metodę stochastycznego spadku gradientu w zastosowaniu do problemu minimalizacji oczekiwanego ryzyka określonego powyżej. Rzeczywiście, w przypadku nieskończonego strumienia danych, ponieważ zakłada się , że przykłady są wyciągane iid z rozkładu , ciąg gradientów w powyższej iteracji jest iid próbką stochastycznych oszacowań gradientu oczekiwanego ryzyka, a zatem można zastosować wyniki złożoności dla metody stochastycznego spadku gradientu do ograniczenia odchylenia , gdzie jest minimalizatorem . Ta interpretacja obowiązuje również w przypadku skończonego zbioru uczącego; chociaż przy wielokrotnych przejściach przez dane gradienty nie są już niezależne, nadal można uzyskać wyniki złożoności w szczególnych przypadkach.

Druga interpretacja dotyczy przypadku skończonego zbioru uczącego i traktuje algorytm SGD jako przykład metody incremental gradient descent. W tym przypadku zamiast tego przyjrzymy się ryzyku empirycznemu:

Ponieważ gradienty w iteracjach incremental gradient descent są również stochastycznymi oszacowaniami gradientu , interpretacja ta jest również związana z metodą stochastic gradient descent, ale stosowana w celu zminimalizowania ryzyka empirycznego w przeciwieństwie do ryzyka oczekiwanego. Ponieważ ta interpretacja dotyczy ryzyka empirycznego, a nie oczekiwanego, wielokrotne przechodzenie przez dane jest łatwo dozwolone i faktycznie prowadzi do ściślejszego ograniczenia odchyleń , gdzie jest minimalizacją .

Realizacje

Zobacz też

Paradygmaty uczenia się

Ogólne algorytmy

Modele uczenia się

Bibliografia

  1. ^ B c d e f g L. Rosasco T. Poggio, urządzenia do nauki: podejście regulacyjnymi, MIT 9,520 Wykłady zauważa rękopis, grudzień 2015. Rozdział 7 - nauki online
  2. ^ Yin, Harold J. Kushner, G. George (2003). Aproksymacja stochastyczna i algorytmy i aplikacje rekurencyjne (druga red.). Nowy Jork: Springer. s.  8-12 . Numer ISBN 978-0-387-21769-7.
  3. ^ B Bertsekas DP (2011). Gradient przyrostowy, podgradientowy i proksymalny do optymalizacji wypukłej: ankieta. Optymalizacja dla uczenia maszynowego, 85.
  4. ^ Hazan Elad (2015). Wprowadzenie do optymalizacji wypukłej online (PDF) . Podstawy i trendy w optymalizacji.
  5. ^ Parisi, niemiecki I.; Kemkera, Ronalda; Część, Jose L.; Kanana, Christophera; Wermtera, Stefana (2019). „Ciągłe uczenie się przez całe życie z sieciami neuronowymi: przegląd” . Sieci neuronowe . 113 : 54–71. arXiv : 1802.07569 . doi : 10.1016/j.neunet.2019.01.012 . ISSN  0893-6080 .
  6. ^ Bottou, Leon (1998). „Algorytmy online i aproksymacje stochastyczne”. Nauka online i sieci neuronowe . Wydawnictwo Uniwersytetu Cambridge. Numer ISBN 978-0-521-65263-6.
  7. ^ Algorytmy aproksymacji stochastycznej i aplikacje , Harold J. Kushner i G. George Yin, New York: Springer-Verlag, 1997. ISBN  0-387-94916-X ; Wyd. 2, zatytułowane Stochastic Aproksymacja i Rekursywne Algorytmy i Zastosowania , 2003, ISBN  0-387-00894-2 .

Linki zewnętrzne