Connect with us

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 Recurrent Neural Networks (RNNs) i Long Short-Term Memory (LSTM) sieci. RNNs i LSTMs są specjalnymi architekturami sieci neuronowych, które są w stanie przetwarzać sekwencyjne dane, dane, gdzie chronologiczne uporządkowanie ma znaczenie. LSTMs są podstawowo ulepszonymi wersjami RNNs, zdolnymi do interpretowania dłuższych sekwencji danych. Zobaczmy, jak RNNs i LSTMS 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 Long Short-Term Memory (LSTM) i Convolutional Neural Networks (CNN) działają, powinniśmy omówić format sieci neuronowej w ogóle.

Sieć neuronowa ma na celu zbadanie danych i nauczenie się istotnych wzorców, tak 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 to to, co wprowadza dane do sieci neuronowej, podczas gdy warstwy ukryte to to, 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 szkolenia. Podczas szkolenia sieci, zgadywania modelu dotyczące danych szkoleniowych (wartości wyjściowe) są porównywane z rzeczywistymi etykietami szkoleniowymi. W trakcie szkolenia sieć powinna (mogłaby) stać się bardziej dokładna w przewidywaniu relacji między punktami danych, tak aby mogła dokładnie sklasyfikować nowe punkty danych. Głębokie sieci neuronowe to sieci, 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, 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ą RNNs (Recurrent Neural Networks)?

Recurrent Neural Networks przyjmują ogólny princip sieci neuronowych Feed-Forward i umożliwiają im radzenie sobie z sekwencyjnymi danymi, nadając modelowi wewnętrzną pamięć. “Recurrent” część nazwy RNN pochodzi z faktu, że wejścia i wyjścia są pętlą. Gdy wyjście sieci jest wytworzone, wyjście jest kopiowane i zwracane do sieci jako wejście. Podczas podejmowania decyzji, nie tylko bieżące wejście i wyjście są analizowane, ale także poprzednie wejście jest brane pod uwagę. Innymi słowy, jeśli początkowe wejście dla sieci to X, a wyjście to H, zarówno H, jak i X1 (następne wejście w sekwencji danych) są wprowadzane do sieci w następnym cyklu uczenia. W ten sposób kontekst danych (poprzednie wejścia) jest zachowany podczas szkolenia sieci.

Wynikiem tej architektury jest to, że RNNs są w stanie radzić sobie z sekwencyjnymi danymi. Jednak RNNs cierpią z powodu kilku problemów. RNNs cierpią z powodu zanikającego gradientu i eksplodującego gradientu.

Długość sekwencji, które RNN może interpretować, jest dość ograniczona, zwłaszcza w porównaniu z LSTMs.

Co to są LSTMs (Long Short-Term Memory Networks)?

Long Short-Term Memory sieci mogą być uważane za rozszerzenia RNNs, ponownie stosując pojęcie zachowania kontekstu wejść. Jednak LSTMs zostały zmodyfikowane w kilku ważnych ways, które pozwalają im interpretować poprzednie dane w lepszy sposób. Modyfikacje wprowadzone do LSTMs dotyczą problemu zanikającego gradientu i umożliwiają LSTMs branie pod uwagę znacznie dłuższych sekwencji wejściowych.

LSTM modele składają się z trzech różnych komponentów, lub bramek. Jest bramka wejściowa, bramka wyjściowa i bramka zapomnienia. Podobnie jak RNNs, LSTMs biorą pod uwagę poprzednie wejścia w czasie modyfikowania 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 przekazywać dalej przez sieć rekurencyjną. Zero upuszcza wartość, 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 wejść 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 im się ważność w zakresie od -1 do 1. To reguluje dane przed ich przekazaniem do następnego kroku obliczeniowego. Wreszcie, zadaniem bramki zapomnienia jest upuszczanie informacji, które model uważa za niepotrzebne do podjęcia decyzji o charakterze wartości 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, jak opisano powyżej. Po przejściu 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.