Рекурентне неуронске мреже¶
Рекурентне неуронске мреже (енг. recurrent neural networks) су тип неуронских мрежа које се примарно користе за обраду секвенцијалних података. Секвенцијални подаци или секвенце се састоје из елемената који следе један за другим. Такви су, рецимо, текстуални подаци (елементи су појединачне речи), аудио-записи (елементи су појединачни семплови), временске серије (елементи су појединачна мерења), генетске секвенце (елементи су појединачни нуклеотиди) и многи други. Рекурентне мреже обрађују елемент по елемент секвенце. Да би могао да се обради елемент на позицији t, морају да се обраде сви елементи који му претходе, а да би елементи секвенце могли да се повежу у једну целину, између обраде узастопних елемената улаза деле се вредности скривених слојева. То се обично приказује графички као на доњој слици.

Рекурентна неуронска мрежа
(слика је преузета са https://d2l.ai/chapter_recurrent-neural-networks/index.html)
Рекурентне неуронске мреже због свог дизајна хипотетички могу да обрађују бесконачно дуге секвенце: обрађује се елемент по елемент. Ипак, приликом обучавања оваквих мрежа примећено је да заборављају. Уколико су секвенце превише дуге, мрежа почиње да заборавља шта је видела на почетку и на нивоу скривених слојева чува скорије виђене информације. Ово запажање је довело до дизајнирања специјалних неурона који се зову LSTM (енг. Long Short Term Memory) и GRU (енг. Gated Recurrent Unit), а у чије детаље због комплексности нећемо залазити. Још једна досетка за решење овог проблема су двосмерне рекурентне неуронске мреже (енг. bidirectional recurrent neural networks): у овим мрежама се, са једне стране, секвенца обрађује од почетка ка крају, а са друге стране од краја ка почетку. Репрезентација улаза појединачних елемената представља надовезане репрезентације ових пролаза, илустративно приказано као на доњој слици.

Двосмерна рекурентна неуронска мрежа - узастопни елементи
(слика је преузета са https://www.arxiv-vanity.com/papers/1506.00019/)
Постоји неколико популарних архитектура рекурентних неуронских мрежа. У доњој табели ћемо кратко проћи кроз неке најпопуларније примере тако што ћемо их приказати графички у левој колони и описати мрежу и области примене у десној колони.
АРХИТЕКТУРА |
ПОЈАШЊЕЊЕ И ПРИМЕРИ ПРИМЕНЕ |
---|---|
Овај тип мреже одговара задацима у којима је улаз секвенца а излаз векторска репрезентација фиксне дужине. Мреже овог типа називамо енкодерима (енг. encoders) а добијене векторе фиксних дужина контекстом. Задаци у којима сусрећемо овај тип мрежа су разни задаци класификације попут класификације аудио-записа или класификације текста. |
|
За разлику од претходног примера, улаз за овај тип мреже је векторска репрезентација фиксне дужине а излаз секвенца. Овакав тип мрежа називамо декодерима (енг. decoders). Задаци у којима сусрећемо декодере су генерисање наслова слика. |
|
Овај тип мреже представља комбинацију претходна два типа и назива се енкодер-декодер архитектура. Задатак енкодера је да на основу улазне секвенце креира репрезентацију (контекст) коју декодер може да искористи за генерисање нове излазне секвенце. Овај тип мрежа сусрећемо у задацима машинског превођења или генерисања сажетака. |
|
Овај тип мреже омогућава генерисање излаза за сваки елемент улаза. Као што можемо да видимо, и на улазу и на излазу су секвенце. Задаци у којима сусрећемо овај тип мрежа су, рецимо, задаци тагирања (обележавања) појединачних елемената. |
|
Један велики недостатак рекурентних неуронских мрежа је немогућност паралелизације: да би се обрадио елемент на позицији t, морају се обрадити сви елементи који му претходе. Зато тренирање неуронских мрежа изискује много више времена и ресурса него обучавање конволутивних неуронских мрежа које смо упознали у претходној лекцији. Ове околности су довеле до појаве механизма пажње и трансформера, типа неуронских мрежа о којима ће бити више речи у наредној лекцији.
Аудио-записи се могу обрађивати и применом конволутивних неуронских мрежа. Наиме, аудио-запис се може поделити на фрагменте, краће делове који трају неколико секунди, а затим се за сваки део могу креирати спектрограми. Спектрограм је графички приказ свих фреквенција звука присутних у аудио-запису. Овако добијене слике се даље могу прослеђивати као улази конволутивним неуронским мрежама и користити за анализу аудио-записа.

Пример једног спектрограма