Rekurencyjne sieci neuronowe (Recursive Neural Networks, RNN) wykorzystywane są do modelowania i prognozowania zmiennych ewoluujących w czasie. W odróżnieniu od standardowych sieci neuronowych mają zdolność zapamiętania kontekstu, w którym się znajdują. W przypadku tradycyjnej sieci neuronowej zakłada się, że wszystkie wejścia (i wyjścia) są niezależne od siebie, natomiast sieci RNN wykonują to samo zadanie dla każdego elementu sekwencji, a dane wyjściowe zależą od poprzednich obliczeń. Wiele praktycznych problemów, takich jak rozpoznawanie i przetwarzanie tekstu, mowy, obrazów, są rozwiązywane efektywniej jeśli uwzględniają poprzednie stany zmiennych. Właśnie taką zależność stanu obecnego od stanów poprzednich próbują odtworzyć sieci rekurencyjne. W tym celu w ich strukturę wprowadza się pętle. Tym samym pewne fragmenty sieci się powtarzają. Innymi słowy sieci RNN zawierają sprzężenia zwrotne, czyli połączenia dostarczające sygnały wyjściowe znajdujące się w dalszych warstwach sieci neuronowej do neuronów położonych w warstwie wejściowej lub w bliższych warstwach ukrytych. Umożliwia to wykonywanie bardziej złożonych obliczeń niż w przypadku sieci posiadających jedynie jednokierunkowy przesył informacji.
Rekurencyjność sieci RNN sprowadza się do wykonywania tego samo zadanie dla każdego elementu sekwencji. Odwołując się do intuicji, można myśleć o sieci RNN jako o bycie mającym pamięć przechowującą informację o dotychczasowych obliczeniach.
Rysunek 1. Schemat sieci neuronowej Hopfielda
Źródło: Podstawowe modele sieci neuronowych
http://books.icse.us.edu.pl/runestone/static/ai/SztuczneSieciNeuronowe/PodstawoweModeleSieciNeuronowych.html
Koncepcja sieci RNN nie jest nowa, rekurencyjna architektura została już zaproponowana w latach 80 ubiegłego wieku przez Hopfielda (schemat jej budowy został przedstawiony na rysunku 1). Strukturę sieci Hopfielda można opisać jako układ wielu identycznych elementów połączonych ze sobą na zasadzie każdy z każdym. Wprowadzenie pętli sprzężenia zwrotnego powoduje wielokrotne pobudzanie neuronów w jednym cyklu. Praca Hopfielda przyczyniła się do odrodzenia badań nad sieciami neuronowymi, które po okresie burzliwego rozwoju w latach 50 i 60 zostały gwałtownie zahamowane na początku lat 70. Wspomniane odrodzenie wiązało się z przyspieszeniem badań i rozwojem sieci typu RNN.
Okazało się, że o ile sieci RNN posiadają pamięć, to jest to pamięć dość krótka. Teoretycznie neurony z połączeniami rekurencyjnymi potencjalnie są w stanie modelować relacje występujące z dowolnie długim odstępem czasowym, ale praktyka tego nie potwierdza. Krótka pamięć sieci RNN jest skutkiem stopniowego zanikania pierwszych wejść, w efekcie czego, po pewnym czasie stan RNN nie zawiera praktycznie żadnych śladów początkowych wejść. Z formalnego punktu widzenia krótka pamięć sieci RNN jest związana z zanikającym gradientem dla odległych w czasie relacji, przy czym zanikanie odbywa się wykładniczo wraz z czasem. Nie jest to jedyny problem, bo sieci RNN często zmagają się z niestabilnością uczenia, utożsamianego często z przetrenowniem, a określane również jako eksplodujący gradient. Ten ostatni problem można rozwiązać stosując przycinanie gradientu, czyli ograniczenie wartości gradientu, oraz regularyzację, która jest karą za nadmierne skomplikowanie estymowanego modelu. Natomiast problem zanikania gradientu jest na ogół rozwiązywany przez wprowadzenie różnego rodzaju komórek z długoterminową pamięcią.
Właśnie na takim rozwiązaniu bazuje sieć Long short-term memory (LSTM). Zostały one zaproponowane przez Hochreitera i Schimdhubera w 1997 roku. LSTM oprócz jednostek standardowych posiada również trzy typy specjalnych bramek, których zadaniem jest kontrola zapamiętywanych danych (rysunek 2):
Rysunek 2. Architektura neuronu LSTM
Źródło: https://colah.github.io/posts/2015-08-Understanding-LSTMs/
Dodanie bramek znacząco poprawiło skuteczność sieci rekurencyjnych. Sieci RNN z jednostkami LSTM pozwoliły między innymi na:
Obszary dalszych zastosowań ograniczone są wyłącznie ludzką wyobraźnią.
Niniejszy artykuł powstał dzięki środkom pochodzącym ze współfinansowania przez Unię Europejską Programu Operacyjnego Inteligentny Rozwój 2014-2020, projektu realizowanego w ramach konkursu Narodowego Centrum Badań i Rozwoju: w ramach konkursu „Szybka Ścieżka” dla mikro-, małych i średnich przedsiębiorców – konkurs dla projektów z regionów słabiej rozwiniętych w ramach Działania 1.1: Projekty B+R przedsiębiorstw Poddziałanie 1.1.1 Badania przemysłowe i prace rozwojowe realizowane przez przedsiębiorstwa. Tytuł projektu: „Stworzenie oprogramowania do poprawy trafności prognoz i optymalizacji zapasów z perspektywy odbiorcy i dostawcy współpracujących w ramach łańcucha dostaw przy zastosowaniu rozmytych, głębokich sieci neuronowych.
YouTube, stanowiący największą globalną platformę wideo, codziennie transmituje ponad miliard godzin materiałów filmowych. W celu skutecznego zarządzania tak imponującą ilością treści, YouTube aktywnie wykorzystuje możliwości sztucznej […]
Sztuczna inteligencja (AI) znajduje coraz szersze zastosowanie w różnych sektorach, od medycyny i edukacji po biznes, bezpieczeństwo i rozrywkę. Mimo to, często pozostaje dla nas niejasne, […]
Wirtualną rzeczywistość (VR) definiuje się jako trójwymiarowy cyfrowy krajobraz, który umożliwia użytkownikowi swobodne poruszanie się i interakcje, angażując jeden lub więcej z pięciu zmysłów człowieka. VR […]