Pamięć krótkotrwała długotrwała - Long short-term memory

Komórka pamięci długoterminowej (LSTM) może przetwarzać dane sekwencyjnie i zachowywać swój ukryty stan w czasie.

Pamięć krótkotrwała długotrwała ( LSTM ) to architektura sztucznej sieci neuronowej (RNN) wykorzystywana w dziedzinie głębokiego uczenia . W przeciwieństwie do standardowych sieci neuronowych ze sprzężeniem do przodu LSTM ma połączenia sprzężenia zwrotnego. Może przetwarzać nie tylko pojedyncze punkty danych (takie jak obrazy), ale także całe sekwencje danych (takie jak mowa lub wideo). Na przykład, LSTM ma zastosowanie do takich zadań jak niesegmentowanej, podłączonego rozpoznawania pisma ręcznego , rozpoznawania mowy oraz wykrywanie anomalii w ruchu sieciowym lub IDS (systemy wykrywania włamań).

Wspólna jednostka LSTM składa się z komórką , w bramie wejściowej , w bramie wyjściowej i bramy zapomnieć . Komórka zapamiętuje wartości w dowolnych odstępach czasu, a trzy bramki regulują przepływ informacji do iz komórki.

Sieci LSTM dobrze nadają się do klasyfikowania , przetwarzania i prognozowania na podstawie danych szeregów czasowych , ponieważ między ważnymi zdarzeniami w szeregu czasowym mogą występować opóźnienia o nieznanym czasie trwania. LSTM zostały opracowane, aby poradzić sobie z problemem zanikającego gradientu, który można napotkać podczas uczenia tradycyjnych RNN. Względna niewrażliwość na długość przerwy jest przewagą LSTM nad RNN, ukrytymi modelami Markowa i innymi metodami uczenia sekwencji w wielu zastosowaniach.

Pomysł

Teoretycznie klasyczne (lub „waniliowe”) RNN mogą śledzić dowolne długoterminowe zależności w sekwencjach wejściowych. Problem z waniliowymi RNN ma charakter obliczeniowy (lub praktyczny): podczas trenowania waniliowej RNN za pomocą wstecznej propagacji , długoterminowe gradienty, które są wstecznie propagowane, mogą „zniknąć” (czyli mogą dążyć do zera) lub „ eksplodować” (czyli mogą dążyć do nieskończoności), z powodu obliczeń zaangażowanych w proces, które wykorzystują liczby o skończonej precyzji . RNN używające jednostek LSTM częściowo rozwiązują problem zanikającego gradientu , ponieważ jednostki LSTM pozwalają również na niezmieniony przepływ gradientów . Jednak sieci LSTM mogą nadal cierpieć z powodu problemu eksplodującego gradientu.

Warianty

W poniższych równaniach zmienne pisane małymi literami reprezentują wektory. Macierze i zawierają odpowiednio wagi połączeń wejściowych i rekurencyjnych, gdzie indeks dolny może być albo bramką wejściową , bramką wyjściową , bramką zapominania lub komórką pamięci , w zależności od obliczonej aktywacji. W tej sekcji używamy więc „notacji wektorowej”. Na przykład nie jest to tylko jedna komórka jednej jednostki LSTM, ale zawiera komórki jednostki LSTM.

LSTM z zapomnianą bramą

Zwarte postacie równań dla przejścia do przodu jednostki LSTM z bramką zapominania to:

gdzie wartości początkowe to i, a operator oznacza iloczyn Hadamarda ( iloczyn pierwiastkowy). Indeks dolny indeksuje krok czasu.

Zmienne

  • : wektor wejściowy do jednostki LSTM
  • : zapomnij o wektorze aktywacji bramki
  • : wejście/aktualizacja wektora aktywacji bramki
  • : wektor aktywacji bramki wyjściowej
  • : wektor stanu ukrytego znany również jako wektor wyjściowy jednostki LSTM
  • : wektor aktywacji wejścia komórki
  • : wektor stanu komórki
  • , oraz : macierze wagi i parametry wektora obciążenia, których należy się nauczyć podczas treningu

gdzie indeksy górne i odnoszą się odpowiednio do liczby funkcji wejściowych i liczby jednostek ukrytych.

Funkcje aktywacji

  • : funkcja sigmoidalna .
  • : hiperboliczna funkcja styczna .
  • : hiperboliczna funkcja tangensa lub, jak sugeruje praca z wizjerem LSTM, .

Wizjer LSTM

Wizjer LSTM jednostka z wejścia (tj ), wyjście (tj ) i zapomnieć (tj ) Bramy.

Rysunek po prawej to graficzna reprezentacja jednostki LSTM z połączeniami typu wizjer (tj. wizjer LSTM). Połączenia wizjerowe umożliwiają bramkom dostęp do stałej karuzeli błędów (CEC), której aktywacją jest stan komórki. nie jest używany, jest używany zamiast tego w większości miejsc.

Każda z bramek może być traktowana jako „standardowy” neuron w sieci neuronowej ze sprzężeniem do przodu (lub wielowarstwowej): to znaczy, że obliczają one aktywację (za pomocą funkcji aktywacji) sumy ważonej. i reprezentują aktywacje odpowiednio bramek wejściowych, wyjściowych i zapominania w kroku czasowym .

3 strzałki wyjścia z komórki pamięci do 3 bramek i reprezentują połączenia wizjera . Te połączenia wizjerowe faktycznie oznaczają wkład aktywacji komórki pamięci w kroku czasowym , tj. wkład (a nie , jak może sugerować obrazek). Innymi słowy, bramki i obliczają ich aktywacje w kroku czasowym (tj. odpowiednio i ) również z uwzględnieniem aktywacji komórki pamięci w kroku czasowym , tj . .

Pojedyncza strzałka od lewej do prawej wychodząca z komórki pamięci nie jest połączeniem z wizjerem i oznacza .

Małe kółka zawierające symbol reprezentują mnożenie elementów między jego danymi wejściowymi. Duże koła zawierające krzywą podobną do S reprezentują zastosowanie funkcji różniczkowalnej (takiej jak funkcja sigmoidalna) do sumy ważonej.

Wizjer splotowy LSTM

Judasz splotowego LSTM. Oznacza splot operatora.

Szkolenie

RNN korzystający z jednostek LSTM może być trenowany w sposób nadzorowany, na zestawie sekwencji treningowych, przy użyciu algorytmu optymalizacji, takiego jak zejście gradientowe , w połączeniu z propagacją wsteczną w czasie w celu obliczenia gradientów potrzebnych podczas procesu optymalizacji, w celu zmiany każdej wagi sieci LSTM proporcjonalnie do pochodnej błędu (w warstwie wyjściowej sieci LSTM) w odniesieniu do odpowiedniej wagi.

Problem z wykorzystaniem gradientu zejścia dla standardowych RNN polega na tym, że gradienty błędów znikają wykładniczo szybko wraz z wielkością opóźnienia między ważnymi zdarzeniami. Wynika to jeśli promień spektralny od jest mniejszy niż 1.

Jednak w przypadku jednostek LSTM, gdy wartości błędów są propagowane wstecznie z warstwy wyjściowej, błąd pozostaje w komórce jednostki LSTM. Ta „karuzela błędów” nieprzerwanie przesyła błąd z powrotem do każdej z bramek jednostki LSTM, dopóki nie nauczą się one odcinać wartości.

Funkcja punktacji CTC

Wiele aplikacji używa stosów RNN LSTM i trenuje je przez koneksjonistyczną klasyfikację czasową (CTC), aby znaleźć macierz wag RNN, która maksymalizuje prawdopodobieństwo sekwencji etykiet w zestawie uczącym , biorąc pod uwagę odpowiednie sekwencje wejściowe. CTC osiąga zarówno wyrównanie, jak i rozpoznanie.

Alternatywy

Czasami może być korzystne szkolenie (części) LSTM za pomocą neuroewolucji lub metod gradientu polityki, zwłaszcza gdy nie ma „nauczyciela” (to znaczy etykiet szkoleniowych).

Powodzenie

Było kilka udanych historii szkolenia, w sposób nienadzorowany, RNN z jednostkami LSTM.

W 2018 roku Bill Gates nazwał to „ogromnym kamieniem milowym w rozwoju sztucznej inteligencji”, gdy boty opracowane przez OpenAI były w stanie pokonać ludzi w grze Dota 2. OpenAI Five składa się z pięciu niezależnych, ale skoordynowanych sieci neuronowych. Każda sieć jest szkolona zgodnie z metodą gradientu polityki bez nadzoru nauczyciela i zawiera jednowarstwową pamięć długo-krótkoterminową zawierającą 1024 jednostki, która widzi bieżący stan gry i wysyła akcje za pośrednictwem kilku możliwych głowic akcji.

W 2018 r. OpenAI przeszkolił również podobny LSTM za pomocą gradientów polityki, aby kontrolować podobną do człowieka rękę robota, która manipuluje obiektami fizycznymi z niespotykaną dotąd zręcznością.

W 2019 roku program AlphaStar firmy DeepMind wykorzystał głęboki rdzeń LSTM, aby osiągnąć sukces w złożonej grze wideo Starcraft II . Uznano to za znaczący postęp w kierunku sztucznej inteligencji ogólnej.

Aplikacje

Zastosowania LSTM obejmują:

Kalendarium rozwoju

1995 - 1997: LSTM został zaproponowany przez Seppa Hochreitera i Jürgena Schmidhubera . Wprowadzając jednostki stałej karuzeli błędów (CEC), LSTM rozwiązuje problem zanikającego gradientu . Pierwotna wersja bloku LSTM zawierała komórki, bramki wejściowe i wyjściowe.

1999: Felix Gers i jego doradca Jürgen Schmidhuber i Fred Cummins wprowadzili bramę zapomnij (zwaną również „zachowaj bramkę”) do architektury LSTM, umożliwiając LSTM zresetowanie własnego stanu.

2000: Gers & Schmidhuber & Cummins dodali do architektury połączenia wizjerowe (połączenia z komórki do bram). Dodatkowo pominięto funkcję aktywacji wyjścia.

2009: Model oparty na LSTM wygrał konkurs rozpoznawania pisma ręcznego ICDAR . Trzy takie modele zostały zgłoszone przez zespół kierowany przez Alexa Gravesa . Jeden był najdokładniejszym modelem w konkursie, a drugi najszybszy.

2013: Sieci LSTM były głównym elementem sieci, która osiągnęła rekordowy poziom błędów fonemów na poziomie 17,7% w klasycznym zestawie danych dotyczących mowy naturalnej TIMIT .

2014: Kyunghyun Cho i in. zaproponował uproszczony wariant o nazwie Gated Recurrent Unit (GRU).

2015: Google zaczął używać LSTM do rozpoznawania mowy w Google Voice. Według oficjalnego wpisu na blogu nowy model zmniejszył błędy w transkrypcji o 49%.

2016: Google zaczęło używać LSTM do sugerowania wiadomości w aplikacji do rozmów Allo. W tym samym roku Google wypuścił system Google Neural Machine Translation dla Tłumacza Google, który wykorzystywał LSTM do zmniejszenia błędów tłumaczenia o 60%.

Apple ogłosił na swojej Worldwide Developers Conference , że zacznie używać LSTM do szybkiego pisania na iPhonie i Siri.

Amazon wypuścił Polly , która generuje głosy stojące za Alexą, używając dwukierunkowego LSTM dla technologii zamiany tekstu na mowę.

2017: Facebook codziennie wykonywał około 4,5 miliarda tłumaczeń automatycznych, korzystając z sieci pamięci krótkotrwałej.

Naukowcy z Michigan State University , IBM Research i Cornell University opublikowali badanie na konferencji Knowledge Discovery and Data Mining (KDD). Ich badanie opisuje nową sieć neuronową, która działa lepiej na niektórych zestawach danych niż szeroko stosowana sieć neuronowa pamięci krótkotrwałej.

Microsoft poinformował o osiągnięciu 94,9% dokładności rozpoznawania w korpusie tablicy rozdzielczej , zawierającej słownictwo 165 000 słów. W podejściu wykorzystano „długotrwałą pamięć długotrwałą opartą na sesjach dialogowych”.

2019: Naukowcy z University of Waterloo zaproponowali powiązaną architekturę RNN, która reprezentuje ciągłe okna czasu. Został wyprowadzony przy użyciu wielomianów Legendre i przewyższa LSTM w niektórych testach porównawczych związanych z pamięcią.

Model LSTM wspiął się na trzecie miejsce w benchmarku kompresji dużego tekstu.

Zobacz też

Bibliografia

Zewnętrzne linki