stub Czym są RNN i LSTM w Deep Learning? - Unite.AI
Kontakt z nami
Kurs mistrzowski AI:

AI 101

Czym są RNN i LSTM w Deep Learning?

mm
Zaktualizowano on

Napędzanych jest wieloma najbardziej imponującymi postępami w przetwarzaniu języka naturalnego i chatbotach AI Powtarzające się sieci neuronowe (RNN) oraz sieci pamięci długoterminowej (LSTM). RNN i LSTM to specjalne architektury sieci neuronowych, które są w stanie przetwarzać dane sekwencyjne, czyli dane, w przypadku których liczy się porządek chronologiczny. LSTM są zasadniczo ulepszone wersje RNN, zdolne do interpretacji dłuższych ciągów danych. Przyjrzyjmy się strukturze sieci RNN i LSTMS oraz sposobowi, w jaki umożliwiają one tworzenie wyrafinowanych systemów przetwarzania języka naturalnego.

Co to są sieci neuronowe ze sprzężeniem zwrotnym?

Zanim więc porozmawiamy o działaniu długiej pamięci krótkotrwałej (LSTM) i konwolucyjnych sieci neuronowych (CNN), powinniśmy ogólnie omówić format sieci neuronowej.

Sieć neuronowa ma na celu badanie danych i uczenie się odpowiednich wzorców, aby można było zastosować te wzorce do innych danych i klasyfikować nowe dane. Sieci neuronowe są podzielone na trzy sekcje: warstwę wejściową, warstwę ukrytą (lub wiele warstw ukrytych) i warstwę wyjściową.

Warstwa wejściowa pobiera dane do sieci neuronowej, natomiast warstwy ukryte uczą się wzorców zawartych w danych. Warstwy ukryte w zbiorze danych są połączone z warstwami wejściowymi i wyjściowymi za pomocą „wag” i „obciążeń”, które stanowią jedynie założenia dotyczące wzajemnego powiązania punktów danych. Ciężary te są dostosowywane podczas treningu. W trakcie uczenia sieci domysły modelu dotyczące danych uczących (wartości wyjściowych) są porównywane z rzeczywistymi etykietami szkoleniowymi. W trakcie uczenia sieć powinna (miejmy nadzieję) dokładniej przewidywać relacje między punktami danych, aby móc dokładniej klasyfikować nowe punkty danych. Głębokie sieci neuronowe to sieci, które mają więcej warstw środkowych/bardziej ukrytych. Im więcej ukrytych warstw i więcej neuronów/węzłów ma model, tym lepiej model może rozpoznawać wzorce w danych.

Regularne sieci neuronowe ze sprzężeniem zwrotnym, takie jak te, które opisałem powyżej, są często nazywane „gęstymi sieciami neuronowymi”. Te gęste sieci neuronowe są połączone z różnymi architekturami sieciowymi, które specjalizują się w interpretacji różnych rodzajów danych.

Co to są RNN (rekurencyjne sieci neuronowe)?

Rekurencyjne sieci neuronowe wykorzystują ogólną zasadę sieci neuronowych ze sprzężeniem zwrotnym i umożliwiają im obsługę danych sekwencyjnych poprzez nadając modelowi pamięć wewnętrzną. Część „Recurrent” nazwy RNN wynika z faktu, że wejście i wyjście jest zapętlone. Po wytworzeniu danych wyjściowych w sieci, są one kopiowane i zwracane do sieci jako dane wejściowe. Podejmując decyzję, analizowane jest nie tylko bieżące wejście i wyjście, ale także poprzednie wejście. Inaczej mówiąc, jeśli początkowym wejściem sieci jest X, a wyjściem H, zarówno H, jak i X1 (następne wejście w sekwencji danych) są wprowadzane do sieci w następnej rundzie uczenia się. W ten sposób kontekst danych (poprzednie dane wejściowe) zostaje zachowany podczas pociągania sieci.

Rezultatem tej architektury jest to, że sieci RNN są w stanie obsługiwać dane sekwencyjne. Jednak sieci RNN borykają się z kilkoma problemami. RNN cierpią na Problemy ze znikającym gradientem i eksplodującym gradientem.

Długość sekwencji, które RNN może zinterpretować, jest raczej ograniczona, szczególnie w porównaniu z LSTM.

Co to są LSTM (sieci pamięci długoterminowej)?

Sieci długiej pamięci krótkotrwałej można uznać za rozszerzenie RNN, ponownie stosując koncepcję zachowania kontekstu danych wejściowych. Jednak LSTM zostały zmodyfikowane na kilka ważnych sposobów, które pozwalają im interpretować przeszłe dane za pomocą lepszych metod. Zmiany wprowadzone w LSTM rozwiązują problem zanikającego gradientu i umożliwiają LSTM uwzględnianie znacznie dłuższych sekwencji wejściowych.

Modele LSTM składają się z trzy różne komponenty lub bramy. Jest bramka wejściowa, bramka wyjściowa i bramka zapominająca. Podobnie jak RNN, LSTM uwzględniają dane wejściowe z poprzedniego kroku czasowego podczas modyfikowania pamięci modelu i wag wejściowych. Bramka wejściowa podejmuje decyzje o tym, które wartości są ważne i powinny zostać przepuszczone przez model. W bramce wejściowej używana jest funkcja sigmoidalna, która określa, które wartości należy przekazać przez sieć rekurencyjną. Zero obniża wartość, a 1 ją zachowuje. Wykorzystywana jest tu również funkcja TanH, która decyduje o tym, jak ważne dla modelu są wartości wejściowe, z zakresu od -1 do 1.

Po uwzględnieniu bieżących wejść i stanu pamięci bramka wyjściowa decyduje, które wartości należy przekazać do następnego kroku czasowego. W bramce wyjściowej wartości są analizowane i przypisuje się im wagę w zakresie od -1 do 1. Reguluje to dane przed przeniesieniem ich do obliczenia następnego kroku czasowego. Wreszcie zadaniem bramki zapominania jest usunięcie informacji, które model uważa za niepotrzebne do podjęcia decyzji o charakterze wartości wejściowych. Bramka zapominania wykorzystuje funkcję sigmoidalną na wartościach, wypisując liczby od 0 (zapomnij o tym) do 1 (zachowaj to).

Sieć neuronowa LSTM składa się zarówno ze specjalnych warstw LSTM, które potrafią interpretować sekwencyjne dane słowne, jak i gęsto połączonych warstw, takich jak te opisane powyżej. Gdy dane przechodzą przez warstwy LSTM, trafiają do gęsto połączonych warstw.

Bloger i programista specjalizujący się w Nauczanie maszynowe i głęboki Learning tematy. Daniel ma nadzieję pomóc innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.