wikiHILL
Pokaż stronę
Menu
przejście do zawartości
Szukaj
Zaloguj
Administracja
Ślad:
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Reservoir computing ====== Nie znalazłem ustalonego tłumaczenia terminu reservoir computing na język polski. Mamy otwarte pole, żeby zaproponować jakąś nazwę. Jest to ogólny termin dla architektur rekurencyjnych sieci neuronowych – takich jak echo state network i liquid state machine – wykorzystujących warstwę neuronów połączonych krawędziami o losowych wagach, które nie ulegają modyfikacji w trakcie nauki sieci. W sieciach typu feed-forward (nie rekurencyjnych) podobną ideę realizują extreme learning machines. ===== Zasada działania ===== {{:800px-freqgenschema.png?400|}} za: [[http://www.scholarpedia.org/article/Echo_state_network]] Sygnał wejściowy przepuszczany jest przez rekurencyjną sieć rzadko połączonych neuronów, w której zaczyna krążyć generując „echa”. Następnie odtwarzamy pożądany sygnał wyjściowy jako liniową kombinację ech. **Wejście:** ciągły sygnał/sekwencja **Wyjście:** pożądany sygnał **Wagi wejściowe:** losowe, niemodyfikowane **Wagi połączeń rekurencyjnych w rezerwuarze:** losowe, niemodyfikowane **Wagi wyjściowe:** uczone regresją liniową Sieć posiada pamięć kontekstu sekwencji ze względu na połączenia rekurencyjne. Jest w stanie klasyfikować nieliniowe wzorce. Nauka jest bardzo szybka, ponieważ modyfikowane są jedynie wagi wyjściowych połączeń. W stosunku do współczesnych sieci rekurencyjnych uczonych propagacją wsteczną (LSTM), sieci echo state network uczą się dużo szybciej i są mniej podatne na przeuczenie przy małej ilości danych. Przy problemach wielowymiarowych i dużych zbiorach danych (np. modele języka) sieci LSTM są skuteczniejsze. ===== Dlaczego to działa? ===== Obrazowo, neurony w sieciach neuronowych pełnią jednocześnie dwie funkcje: 1) kodowania sygnału wejściowego do wielowymiarowej, rozrzedzonej reprezentacji, 2) dekodowania sygnału wyjściowego poprzez składanie wielowymiarowej reprezentacji. W przypadku sieci uczonych propagacją wsteczną można zaobserwować, że różne neurony/warstwy pełnią te dwie role w różnych proporcjach. Schiller i Steil (2005) zauważyli, że w sieciach rekurencyjnych treningowi podlegają głównie wagi połączeń neuronów z ostatniej warstwy. W sieciach rekurencyjnych uczonych propagacją wsteczną pozwalamy, żeby specjalizacja neuronów wyłoniła się w toku nauki, wprowadzając jednocześnie konkretne ograniczenia w postaci topologii sieci (liczba warstw, połączenia). Generalnie rzecz biorąc neurony w głębszych warstwach specjalizują się rozrzedzaniu sygnału, a te w warstwach wyjściowych w składaniu sygnału. W sieciach reservoir computing z góry zakładamy, że część neuronów będzie używana jedynie do rozrzedzonej reprezentacji sygnału (poprzez losową projekcję), a część do składania sygnału (neurony wyjściowe). Upraszczamy w ten sposób problem nauki sieci. Schiller U.D. and Steil J. J. (2005) Analyzing the weight dynamics of recurrent learning algorithms. Neurocomputing, 63C:5-23 ---- **Luźna hipoteza:** Przyjmijmy na chwilę grubymi nićmi szytą analogię między reservoir computing a budową mózgu. Wyobraźmy sobie, że mózg musi pełnić bardzo wiele funkcji przy ograniczonej liczbie neuronów, z czego wynika, że te same grupy neuronów są wykorzystywane w różnych zadaniach do budowania pośrednich reprezentacji sygnału. Im bardziej różnorodne są zadania, tym bardziej uniwersalne (=mniej wyspecjalizowane) muszą być reprezentacje sygnałów tworzone przez te neurony. Przy nieograniczonej różnorodności zadań nie ma określonej optymalnej reprezentacji – najskuteczniejszą strategią jest losowa, wielowymiarowa projekcja jak przy reservoir computing. Obserwacja: grupa neuronów budująca pośrednią reprezentacją optymalną dla zadania A może być jednocześnie wykorzystywana do budowania suboptymalnej losowej reprezentacji dla zadania B. Innymi słowy, nawet jeśli pewne struktury neuronalne są wyspecjalizowane pod konkretne funkcje, mogą być równolegle wykorzystywane w sposób bardziej uniwersalny na zasadzie reservoir computing. --- //[[j.zubek@uw.edu.pl|Julian Zubek]] 2021/12/07 23:10//
Back to Top