Connect with us

Co to są RNN i LSTM w głębokim uczeniu?

AI 101

Co to są RNN i LSTM w głębokim uczeniu?

mm

Wiele z najbardziej imponujących postępów w przetwarzaniu języka naturalnego i chatbotach AI jest napędzanych przez sieci neuronowe rekurencyjne (RNN) i sieci pamięci krótkotrwałej (LSTM). RNN i LSTM są specjalnymi architekturami sieci neuronowych, które są w stanie przetwarzać sekwencyjne dane, dane, gdzie chronologiczny porządek ma znaczenie. LSTM są podstawowo ulepszonymi wersjami RNN, zdolnymi do interpretowania dłuższych sekwencji danych. Zobaczmy, jak RNN i LSTM są zbudowane i jak umożliwiają tworzenie zaawansowanych systemów przetwarzania języka naturalnego.

Co to są sieci neuronowe feed-forward?

Przed omówieniem, jak działają sieci pamięci krótkotrwałej (LSTM) i sieci neuronowe konwolucyjne (CNN), powinniśmy omówić format sieci neuronowej w ogóle.

Sieć neuronowa jest przeznaczona do badania danych i uczenia się istotnych wzorców, aby te wzorce mogły być zastosowane do innych danych i nowe dane mogły być sklasyfikowane. Sieci neuronowe są podzielone na trzy sekcje: warstwę wejściową, warstwę ukrytą (lub wiele warstw ukrytych) i warstwę wyjściową.

Warstwa wejściowa jest tym, co wprowadza dane do sieci neuronowej, podczas gdy warstwy ukryte są tym, co uczy się wzorców w danych. Warstwy ukryte w zestawie danych są połączone z warstwami wejściowymi i wyjściowymi za pomocą “wag” i “przesunięć”, które są po prostu założeniami, jak punkty danych są ze sobą powiązane. Te wagi są dostosowywane podczas treningu. Podczas treningu sieci, zgadywania modelu dotyczące danych treningowych (wartości wyjściowe) są porównywane z rzeczywistymi etykietami treningowymi. W trakcie treningu sieć powinna (mogłaby) stać się bardziej dokładna w przewidywaniu relacji między punktami danych, aby mogła dokładnie klasyfikować nowe punkty danych. Głębokie sieci neuronowe są sieciami, które mają więcej warstw w środku/więcej warstw ukrytych. Im więcej warstw ukrytych i węzłów model ma, tym lepiej model może rozpoznać wzorce w danych.

Zwykłe sieci neuronowe feed-forward, takie jak te, które opisałem powyżej, są często nazywane “gęstymi sieciami neuronowymi”. Te gęste sieci neuronowe są łączone z różnymi architekturami sieci, które specjalizują się w interpretowaniu różnych rodzajów danych.

Co to są RNN (sieci neuronowe rekurencyjne)?

Sieci neuronowe rekurencyjne przyjmują ogólny принцип sieci neuronowych feed-forward i umożliwiają im obsługę sekwencyjnych danych, nadając modelowi wewnętrzną pamięć. “Rekurencyjna” część nazwy RNN pochodzi z faktu, że dane wejściowe i wyjściowe tworzą pętle. Gdy dane wyjściowe sieci są wyprodukowane, dane wyjściowe są kopiowane i zwracane do sieci jako dane wejściowe. Podczas podejmowania decyzji, nie tylko bieżące dane wejściowe i wyjściowe są analizowane, ale także poprzednie dane wejściowe są brane pod uwagę. Innymi słowy, jeśli początkowe dane wejściowe dla sieci są X, a dane wyjściowe są H, zarówno H, jak i X1 (następne dane wejściowe w sekwencji danych) są wprowadzane do sieci w następnym cyklu uczenia. W ten sposób kontekst danych (poprzednie dane wejściowe) jest zachowany podczas treningu sieci.

Wynikiem tej architektury jest to, że RNN są w stanie obsługiwać sekwencyjne dane. Jednak RNN cierpią z powodu kilku problemów. RNN cierpią z powodu zjawiska znikającego i eksplodującego gradientu.

Długość sekwencji, które RNN mogą interpretować, jest dość ograniczona, zwłaszcza w porównaniu z LSTM.

Co to są LSTM (sieci pamięci krótkotrwałej)?

Sieci pamięci krótkotrwałej mogą być uważane za rozszerzenia RNN, ponownie stosując pojęcie zachowania kontekstu danych wejściowych. Jednak LSTM zostały zmodyfikowane w kilku ważnych punktach, co pozwala im na lepsze interpretowanie danych z przeszłości. Modyfikacje wprowadzone do LSTM dotyczą problemu znikającego gradientu i umożliwiają LSTM branie pod uwagę znacznie dłuższych sekwencji danych.

Modele LSTM składają się z trzech różnych składników, lub bramek. Jest bramka wejściowa, bramka wyjściowa i bramka zapomnienia. Podobnie jak RNN, LSTM biorą pod uwagę dane wejściowe z poprzedniej jednostki czasu przy modyfikowaniu pamięci modelu i wag wejściowych. Bramka wejściowa podejmuje decyzje o tym, które wartości są ważne i powinny być przepuszczane przez model. Funkcja sigmoidalna jest używana w bramce wejściowej, która podejmuje decyzje o tym, które wartości przekazać przez sieć rekurencyjną. Zero powoduje, że wartość jest odrzucana, podczas gdy 1 ją zachowuje. Funkcja TanH jest również używana tutaj, która decyduje o tym, jak ważne są wartości wejściowe dla modelu, w zakresie od -1 do 1.

Po uwzględnieniu bieżących danych wejściowych i stanu pamięci, bramka wyjściowa decyduje, które wartości powinny być przekazane do następnego kroku czasowego. W bramce wyjściowej wartości są analizowane i przypisuje się im wagę od -1 do 1. To reguluje dane przed ich przekazaniem do następnego kroku obliczeń. Wreszcie, zadaniem bramki zapomnienia jest odrzucenie informacji, które model uważa za niepotrzebne do podjęcia decyzji o charakterze danych wejściowych. Bramka zapomnienia używa funkcji sigmoidalnej na wartościach, zwracając liczby między 0 (zapomnij) a 1 (zachowaj).

Sieć neuronowa LSTM składa się z specjalnych warstw LSTM, które mogą interpretować sekwencyjne dane słów, oraz gęsto połączonych warstw, takich jak te opisane powyżej. Po przepuszczeniu danych przez warstwy LSTM, przechodzą one do gęsto połączonych warstw.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, że pomoże innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.