Рекурентна нейронна мережа
Рекуре́нтні нейро́нні мере́жі (РНМ, англ. recurrent neural networks, RNN) — це клас штучних нейронних мереж, у якому з'єднання між вузлами утворюють граф орієнтований у часі. Це створює внутрішній стан мережі, що дозволяє їй проявляти динамічну поведінку в часі. На відміну від нейронних мереж прямого поширення, РНМ можуть використовувати свою внутрішню пам'ять для обробки довільних послідовностей входів. Це робить їх застосовними до таких задач, як розпізнавання несегментованого неперервного рукописного тексту[1] та розпізнавання мовлення.[2] АрхітектуриПовнорекурентна мережаЦе — основна архітектура, розроблена в 1980-х роках: мережа нейроноподібних вузлів, кожен з орієнтованим з'єднанням до кожного іншого вузла.[джерело?] Кожен з вузлів має змінну в часі дійснозначну активацію. Кожне з'єднання має змінювану дійснозначну вагу[en]. Деякі з вузлів називаються входовими вузлами, деякі — виходовими, а решта — прихованими вузлами. Більшість із наведених нижче архітектур є окремими випадками. Для постановок керованого навчання з дискретним часом тренувальні послідовності входових векторів стають послідовностями активацій входових вузлів, по одному вектору на кожен момент часу.[прояснити] В кожен заданий момент часу кожен не входовий вузол обчислює свою поточну активацію як нелінійну функцію від зваженої суми активацій всіх вузлів, від яких до нього надходять з'єднання.[прояснити] Для деяких із виходових вузлів на певних тактах можуть бути задані вчителем цільові активації. Наприклад, якщо входова послідовність є мовленнєвим сигналом, що відповідає вимовленій цифрі, то кінцевий цільовий вихід у кінці послідовності може бути міткою, яка класифікує цю цифру. Для кожної послідовності її похибка є сумою відхилень усіх цільових сигналів від відповідних активацій, обчислених мережею. Для тренувального набору численних послідовностей загальна похибка є сумою похибок усіх окремих послідовностей. Алгоритми мінімізації цієї похибки згадано в розділі алгоритмів тренування нижче. У постановках навчання з підкріпленням не існує вчителя, який надавав би цільові сигнали для РНМ, натомість час від часу застосовується функція допасованості або функція винагороди для оцінювання продуктивності РНМ, яка впливає на її входовий потік через виходові вузли, з'єднані з приводами, що впливають на середовище. Знов-таки, зробіть порівняння в розділі про тренувальні алгоритми нижче. Рекурсивні нейронні мережіРекурсивна нейронна мережа[3] створюється рекурсивним застосуванням одного й того ж набору ваг до диференційовної графоподібної структури шляхом обходу цієї структури в топологічній послідовності. Також, такі мережі зазвичай тренують зворотним режимом автоматичного диференціювання.[4][5] Їх було введено для навчання розподілених представлень структури, таких як терміни логіки. Окремим випадком рекурсивних нейронних мереж є самі РНМ, чия структура відповідає лінійному ланцюжкові. Рекурсивні нейронні мережі застосовували до обробки природної мови.[6] Рекурсивна нейронна тензорна мережа (англ. Recursive Neural Tensor Network) використовує функцію компонування на основі тензорів для всіх вузлів дерева.[7] Мережа ХопфілдаМережа Хопфілда становить історичний інтерес, хоч вона й не є загальноприйнятою РНМ, оскільки її побудовано не для обробки послідовностей зразків. Вона натомість вимагає стаціонарних входів. Вона є РНМ, в якій усі з'єднання є симетричними. Винайдена Джоном Хопфілдом 1982 року, вона гарантує, що її динаміка збігатиметься. Якщо з'єднання тренуються із застосуванням геббового навчання, то мережа Хопфілда може працювати як робастна асоціативна пам'ять, стійка до змін з'єднань. Одним із варіантів мережі Хопфілда є двоспрямована асоціативна пам'ять (ДАП, англ. bidirectional associative memory, BAM). ДАП має два шари, кожен з яких можна використовувати як входовий, щоби викликати асоціацію й виробити вихід на іншому шарі.[8] Мережі Елмана та ДжорданаНаступний окремий випадок наведеної вище основної архітектури було застосовано Джеффом Елманом[en]. Використовується тришарова мережа (впорядкована на ілюстрації по горизонталі як x, y та z) з додаванням набору «контекстних вузлів» (англ. context units, на ілюстрації — u). Існують з'єднання з середнього (прихованого) шару з цими контекстними вузлами з незмінними одиничними вагами.[9] На кожному такті вхід поширюється стандартним прямим чином, а потім застосовується правило навчання. Незмінні зворотні з'єднання призводять до того, що контекстні вузли завжди зберігають копію попередніх значень прихованих вузлів (оскільки вони поширюються з'єднаннями до застосування правила навчання). Таким чином, мережа Елмана може зберігати свого роду стан, що дозволяє їй виконувати такі задачі, як передбачення послідовностей, що є за межами можливостей стандартного багатошарового перцептрону. Мережі Джордана, що завдячують своєю назвою Майклові І. Джордану[en], подібні до мереж Елмана. Проте подавання на контекстні вузли йде з виходового шару замість прихованого. Контекстні вузли в мережі Джордана також називають шаром стану, і вони мають рекурентні з'єднання самі з собою, без інших вузлів на цих з'єднаннях.[9] Мережі Елмана та Джордана відомі також як «прості рекурентні мережі» (ПРМ, англ. simple recurrent networks, SRN). Змінні та функції
Резервуарне обчисленняРезервуарне обчислення — особливий підхід у рекурентних нейронних мережах, що використовує фіксовану випадкову структуру, відому як «резервуар», для ефективної обробки тимчасових даних. Резервуар складається з взаємопов'язаних вузлів із випадковими з'єднаннями, що утворюють динамічну систему, здатну вловлювати складні часові закономірності. На відміну від традиційних РНМ, обчислення пластів передбачає навчання лише вихідного рівня, що спрощує процес навчання. Його обчислювальна ефективність, яка пояснюється фіксованою структурою резервуару, робить його вигідним для завдань, що потребують інтенсивної пам'яті. Застосування охоплюють різні сфери, такі як прогнозування часових рядів і розпізнавання мовлення, демонструючи свою ефективність у обробці послідовних даних. Типи, такі як мережа з відлунням стану (Echo State Networks) і рідкий скінченний автомат (Liquid State Machines,) розширюють його застосування в різних контекстах.[12][13] Незважаючи на свої переваги, оптимізація продуктивності пласта для конкретних завдань залишається проблемою. Тим не менш, резервуарні обчислення є перспективною архітектурою в РНМ, пропонуючи обчислювальну ефективність і майстерність в обробці тимчасової інформації. Постійні дослідження спрямовані на підвищення його можливостей і розширення його застосування в різних сферах. Ця парадигма являє собою значний прогрес в архітектурі нейронних мереж, готовий запровадити інновації в часовій обробці даних.[12][13] Мережа з відлунням стануМережа з відлунням стану (англ. echo state network, ESN) — це рекурентна нейронна мережа з розріджено з'єднаним випадковим прихованим шаром. Унікальність цієї мережі полягає у тому, що лише ваги виходних нейронів підлягають змінам та навчанню, тоді як структура та внутрішній стан резервуару залишаються незмінними. Такі мережі є добрими для відтворення певних часових рядів.[14] Основні особливості[15][12][16]:
Рідкий скінченний автоматВаріант для нейронів з потенціалом дії[en] відомий як рідкі скінченні автомати.[17] Ця модифікація мережі дозволяє здійснювати більш точні та гнучкі прогнози в обробці послідовних даних.[18][19][20][21] Нейронний стискач історіїПроблему зникання градієнту[22] автоматичного диференціювання та зворотного поширення в нейронних мережах було частково подолано 1992 року ранньою породжувальною моделлю, названою нейронним стискачем історії, реалізованою як некерована стопка рекурентних нейронних мереж (РНМ).[23] РНМ на входовому рівні навчається передбачувати свій наступний вхід з історії попередніх входів. Лише непередбачувані входи певної РНМ в цій ієрархії стають входами до РНМ наступного вищого рівня, яка відтак переобчислює свій внутрішній стан лише зрідка. Кожна РНМ вищого рівня відтак навчається стисненого представлення інформації в нижчій РНМ. Це здійснюється таким чином, що вхідну послідовність може бути точно відтворено з представлення цієї послідовності на найвищому рівні. Ця система дієво мінімізує довжину опису або від'ємний логарифм імовірності даних.[24] Якщо в послідовності вхідних даних є багато передбачуваності, яка піддається навчанню, то РНМ найвищого рівня може використовувати кероване навчання, щоби легко класифікувати навіть глибокі послідовності з дуже тривалими часовими інтервалами між важливими подіями. 1993 року така система вже розв'язала задачу «дуже глибокого навчання» (англ. Very Deep Learning), яка вимагає понад 1 000 послідовних шарів в розгорнутій у часі РНМ.[25] Також можливо перегнати всю цю ієрархію РНМ в лише дві РНМ, що називають «свідомим» фрагментатором (англ. "conscious" chunker, вищий рівень) та «підсвідомим» автоматизатором (англ. "subconscious" automatizer, нижчий рівень).[23] Щойно фрагментатор навчився передбачувати та стискати входи, які є все ще не передбачуваними автоматизатором, то в наступній фазі навчання можна навантажити автоматизатор передбачуванням або імітуванням через особливі додаткові вузли прихованих вузлів повільніше змінюваного фрагментатора. Це полегшує автоматизаторові навчання доречних рідко змінюваних спогадів протягом дуже тривалих проміжків часу. Це, своєю чергою, допомагає автоматизаторові робити багато з його колись непередбачуваних входів передбачуваними, таким чином, що фрагментатор може зосередитися на решті все ще непередбачуваних подій, щоби стискати дані ще сильніше.[23] Довга короткочасна пам'ятьЧисленні дослідники нині використовують РНМ глибокого навчання, яку називають мережею довгої короткочасної пам'яті (ДКЧП, англ. long short-term memory, LSTM), опубліковану Хохрайтером[en] та Шмідгубером 1997 року.[26] Це система глибокого навчання, яка, на відміну від традиційних РНМ, не має проблеми зникання градієнту (порівняйте в розділі алгоритмів тренування нижче). ДКЧП в нормі є доповненою рекурентними вентилями, які називають забувальними (англ. forget gates).[27] РНМ ДКЧП запобігають зниканню та вибуханню зворотно поширюваних похибок.[22] Натомість похибки можуть плинути в зворотному напрямку крізь необмежене число віртуальних шарів розгорнутої в просторі РНМ ДКЧП. Тобто, ДКЧП може вчитися завдань «дуже глибокого навчання» (англ. Very Deep Learning),[28] які вимагають спогадів про події, що трапилися тисячі або навіть мільйони тактів тому. Можливо розвивати ДКЧП-подібні проблемно-орієнтовані топології.[29] ДКЧП працює навіть за тривалих затримок, і може обробляти сигнали, що мають суміш низько- та високочастотних складових. Нині багато застосунків використовують стопки РНМ ДКЧП[30] і тренують їх нейромережевою часовою класифікацією (НЧК, англ. Connectionist Temporal Classification, CTC)[31] для знаходження такої вагової матриці РНМ, яка максимізує ймовірність послідовностей міток у тренувальному наборі для заданих відповідних вхідних послідовностей. НЧК досягає як вирівнювання, так і розпізнавання. Близько 2007 року ДКЧП почали революціювати розпізнавання мовлення, перевершуючи традиційні моделі в деяких мовленнєвих застосуваннях.[32] 2009 року ДКЧП, тренована НЧК, стала першою РНМ, яка перемогла в змаганнях із розпізнавання образів, коли вона виграла кілька змагань із неперервного рукописного розпізнавання.[28][33] 2014 року китайський пошуковий гігант Baidu застосував РНМ, треновані НЧК, щоби перевершити еталон розпізнавання мовлення Switchboard Hub5'00, без застосування жодних традиційних методів обробки мовлення.[34] ДКЧП також поліпшила велико-словникове розпізнавання мовлення,[35][36] синтез мовлення з тексту,[37] також і для Google Android,[28][38] і фото-реалістичні голови, що розмовляють.[37] 2015 року в розпізнаванні мовлення Google, як повідомляється, стався різкий 49-відсотковий[джерело?] стрибок продуктивності завдяки НЧК-тренованій ДКЧП, яка тепер доступна через Google Voice Search всім користувачам смартфонів.[39] ДКЧП також стала дуже популярною в галузі обробки природної мови. На відміну від попередніх моделей на основі ПММ та подібних понять, ДКЧП може вчитися розпізнавати контекстно-чутливі мови[en].[40] ДКЧП поліпшила машинний переклад,[41] моделювання мов[42] та багатомовну обробку мов.[43] ДКЧП у поєднанні зі згортковими нейронними мережами (ЗНМ) також поліпшила автоматичний опис зображень[44] і безліч інших застосувань. Вентильний рекурентний вузолВентильний рекурентний вузол (англ. gated recurrent unit) є однією з рекурентних нейронних мереж, представлених 2014 року. Двонаправлена РНМВинайдена Шустером та Палівалом 1997 року,[45] двонаправлена РНМ (англ. bi-directional RNN), або ДРНМ (англ. BRNN), використовує скінченну послідовність, щоби передбачувати або мітити кожен елемент цієї послідовності на основі як минулого, так і майбутнього контексту цього елементу. Це здійснюється шляхом з'єднання виходів двох РНМ, одна з яких обробляє послідовність зліва направо, а інша — справа наліво. Поєднані виходи є передбаченнями заданих учителем цільових сигналів. Ця методика виявилася особливо корисною при поєднанні з РНМ ДКЧП.[46] РНМ неперервного часуРекурентна нейронна мережа неперервного часу (РНМНЧ, англ. continuous time recurrent neural network, CTRNN) — це модель динамічних систем біологічних нейронних мереж. Для моделювання впливів на нейрон входового ланцюжка активацій РНМНЧ застосовує систему звичайних диференціальних рівнянь. Для нейрону в мережі з потенціалом дії темп зміни збудження задається як де
РНМНЧ часто застосовували в галузі еволюційної робототехніки[en], де їх використовували, щоби братися за, наприклад, бачення,[47] взаємодію[48] та мінімально пізнавальну поведінку.[49] Зауважте, що за теоремою відліків Шеннона рекурентні нейронні мережі дискретного часу можна розглядати як рекурентні нейронні мережі неперервного часу, в яких диференціальне рівняння було перетворено на рівнозначне різницеве рівняння після того, як функції збудження постсинаптичних вузлів було пропущено через низькочастотний фільтр перед дискретизацією. Ієрархічна РНМІснує багато прикладів ієрархічних РНМ (англ. hierarchical RNN), чиї елементи з'єднано різними способами для розкладу ієрархічної поведінки на корисні підпрограми.[23][50] Рекурентний багатошаровий перцептронЯк правило, рекурентний багатошаровий перцептрон (РБШП, англ. Recurrent Multi-Layer Perceptron, RMLP) складається з ряду каскадованих підмереж, кожна з яких складається з декількох шарів вузлів. Кожна з цих підмереж є мережею прямого поширення повністю, крім останнього шару, який може мати зворотні зв'язки всередині себе. Кожна з цих підмереж під'єднується лише зв'язками прямого поширення.[51] РНМ другого порядкуРНМ другого порядку (англ. second order RNN) використовують ваги вищих порядків замість стандартних вагів , а входи та стани можуть бути добутком. Це уможливлює пряме відображення на скінченний автомат, як у тренуванні, стійкості, так і в представленні.[52][53] Довга короткочасна пам'ять є прикладом цього, крім того, що вона не має таких формальних відображень та доведення стійкості. Модель рекурентної нейронної мережі кількох масштабів часуМодель рекурентної нейронної мережі кількох масштабів часу (англ. multiple timescales recurrent neural network, MTRNN) є можливою обчислювальною моделлю на нейронній основі, яка до деякої міри імітує діяльність головного мозку.[54][55] Вона має здатність імітувати функційну ієрархію головного мозку через самоорганізацію, яка залежить не лише від просторових зв'язків між нейронами, а й від окремих типів нейронної активності, кожного з окремими часовими властивостями. За таких різних нейронних активностей неперервні послідовності будь-якої множини поведінки сегментуються на придатні до повторного використання примітиви, які своєю чергою гнучко вбудовуються до різноманітних послідовностей поведінки. Біологічне підтвердження такого типу ієрархії обговорювалося в теорії пам'яті—передбачування функціювання мозку Джеффом Гокінсом[en] у його книзі «Про інтелект». Послідовні каскадні мережі Поллакаангл. Pollack's sequential cascaded networks Нейронні машини ТюрінгаНейронні машини Тюрінга (НМТ, англ. Neural Turing machine, NTM) — це метод розширення можливостей рекурентних нейронних мереж шляхом з'єднання їх із зовнішніми ресурсами пам'яті, з якими вони можуть взаємодіяти за допомогою процесів зосередження уваги. Така об'єднана система аналогічна машині Тюрінга або архітектурі фон Неймана, але є диференційовною з краю в край, що дозволяє їй продуктивно тренуватися за допомогою градієнтного спуску.[56] Нейромережеві магазинні автоматиНейромережеві магазинні автомати (англ. Neural network pushdown automata, NNPDA) аналогічні НМТ, але стрічки замінюються аналоговими стеками, які є диференційовними, і тренуються для керування. Таким чином, вони подібні за складністю до розпізнавачів контекстно-вільних граматик.[57] Двоспрямована асоціативна пам'ятьПредставлені вперше Бартом Коско,[58] мережі двоспрямованої асоціативної пам'яті (ДАП, англ. bidirectional associative memory, BAM) зберігають асоціативні дані як вектор. Двоспрямованість походить від передавання інформації матрицею та її транспозицією. Як правило, для двійкового кодування пар асоціацій віддають перевагу біполярному кодуванню[en]. Нещодавно стохастичні моделі ДАП з марковським кроком було оптимізовано для вищої стійкості мережі та відповідності для реальних застосувань.[59] ТренуванняГрадієнтний спускЩоби мінімізувати загальну похибку, може застосовуватися градієнтний спуск для зміни кожної ваги пропорційно похідній похибки по відношенню до цієї ваги, за умови, що нелінійні функції активації є диференційовними. Для здійснення цього в 1980-х і на початку 1990-х років було розроблено різні методи Полом Вербосом[en], Рональдом Вільямсом, Тоні Робінсоном, Юргеном Шмідгубером, Зеппом Хохрайтером[en], Бараком Перлмуттером та іншими. Стандартний метод називається «зворотне поширення в часі» (англ. backpropagation through time), або ЗПЧ (англ. BPTT), і є узагальненням зворотного поширення для мереж прямого поширення,[60][61] і, як і той метод, є зразком автоматичного диференціювання в режимі зворотного накопичення, або принципу мінімуму Понтрягіна. Обчислювально більш витратний інтерактивний варіант називається «реальночасове рекурентне навчання» (англ. Real-Time Recurrent Learning), або РЧРН (англ. RTRL),[62][63] і є зразком автоматичного диференціювання в режимі послідовного накопичення зі складеними векторами тангенсів. На відміну від ЗПЧ, цей алгоритм є локальним в часі, але не локальним у просторі. В цьому контексті локальний у просторі означає, що вектор ваг вузла може бути уточнено лише із застосуванням інформації, що зберігається в з'єднаних вузлах та самому вузлі, так що складність уточнення одного вузла є лінійною по відношенню до розмірності вектору ваг. Локальний в часі означає, що уточнення відбуваються неперервно (інтерактивно), і залежать лише від найнещодавнішого такту, а не від декількох тактів у межах заданого обрію часу, як у ЗПЧ. Біологічні нейронні мережі видаються локальними як у часі, так і в просторі.[64][65] Недоліком РНРЧ є те, що для рекурсивного обчислення часткових похідних від має часову складність Ο(кількість прихованих × кількість ваг) на такт для обчислення матриць Якобі, тоді як ЗПЧ займає лише Ο(кількість ваг) на такт, ціною, проте, зберігання всіх прямих активацій в межах заданого обрію часу.[66] Існує також інтерактивний гібрид ЗПЧ і РНРЧ з проміжною складністю,[67][68] і є варіанти для неперервного часу.[69] Головною проблемою градієнтного спуску для стандартних архітектур РНМ є те, що градієнти похибки зникають експоненційно швидко з розміром часової затримки між важливими подіями.[22][70] Як спробу подолання цих проблем було запропоновано архітектуру довгої короткочасної пам'яті разом з гібридним методом навчання ЗПЧ/РНРЧ.[26] Крім того, інтерактивний алгоритм, що називається причинним рекурсивним зворотним поширенням (ПРЗП, англ. causal recursive backpropagation, CRBP), реалізує та поєднує разом парадигми ЗПЧ та РНРЧ для локальної рекурентної мережі.[71] Він працює з найзагальнішими локально рекурентними мережами. Алгоритм ПРЗП може мінімізувати глобальну похибку; цей факт призводить до поліпшеної стійкості алгоритму, забезпечуючи об'єднавчий погляд на методики градієнтних обчислень для рекурентних мереж із локальним зворотним зв'язком. Цікавий підхід до обчислення градієнтної інформації в РНМ довільних архітектур, що запропонували Ван та Буфе,[72] ґрунтується на діаграмному виведенні графів плину сигналу для отримання пакетного алгоритму ЗПЧ, тоді як Камполуччі, Унчіні та Піацца запропонували його швидку інтерактивну версію[73] на основі теореми Лі[74] для обчислення чутливості мереж. Методи глобальної оптимізаціїТренування ваг у нейронній мережі можливо моделювати як нелінійну задачу глобальної оптимізації. Цільову функцію для оцінки допасованості або похибки певного вагового вектора може бути сформовано таким чином: Спершу ваги в мережі встановлюються відповідно до цього вагового вектора. Далі, мережа оцінюється за тренувальною послідовністю. Як правило, для представлення похибки поточного вагового вектора використовують суму квадратів різниць між передбаченнями та цільовими значеннями, вказаними в тренувальній послідовності. Потім для мінімізації цієї цільової функції може бути застосовано довільні методики глобальної оптимізації. Найуживанішим методом глобальної оптимізації для тренування РНМ є генетичні алгоритми, особливо в неструктурованих мережах.[75][76][77] Спочатку генетичний алгоритм кодується вагами нейронної мережі в наперед визначеному порядку, коли один ген у хромосомі представляє одне зважене з'єднання, і так далі; вся мережа представляється єдиною хромосомою. Функція допасованості обчислюється наступним чином: 1) кожна вага, закодована в хромосомі, призначається відповідному зваженому з'єднанню мережі; 2) потім тренувальний набір зразків представляється мережі, яка поширює вхідні сигнали далі; 3) до функції допасованості повертається середньоквадратична похибка; 4) ця функція потім веде процес генетичного відбору. Популяцію складають багато хромосом; таким чином, багато різних нейронних мереж еволюціюють, поки не буде досягнуто критерію зупинки. Поширеною схемою зупинки є: 1) коли нейронна мережа засвоїла певний відсоток тренувальних даних, або 2) коли досягнуто мінімального значення середньоквадратичної похибки, або 3) коли було досягнуто максимального числа тренувальних поколінь. Критерій зупинки оцінюється функцією допасованості при отриманні нею оберненого значення середньоквадратичної похибки з кожної з нейронних мереж під час тренування. Отже, метою генетичного алгоритму є максимізувати функцію допасованості, знизивши таким чином середньоквадратичну похибку. Для пошуку доброго набору ваг можуть застосовуватися й інші методики глобальної (та/або еволюційної) оптимізації, такі як імітація відпалу та метод рою часток. Пов'язані галузі та моделіРНМ можуть поводитися хаотично. В таких випадках для аналізу можна використовувати теорію динамічних систем. Рекурентні нейронні мережі насправді є рекурсивними нейронними мережами з певною структурою: такою, як в лінійного ланцюжка. В той час як рекурсивні нейронні мережі працюють на будь-якій ієрархічній структурі, поєднуючи дочірні представлення в батьківські, рекурентні нейронні мережі діють на лінійній послідовності часу, поєднуючи попередній такт і приховане представлення в представлення поточного такту. Рекурентні нейронні мережі, зокрема, можна представляти як нелінійні версії фільтрів зі скінченною та нескінченною імпульсною характеристикою[en], а також як нелінійну авторегресійну екзогенну модель (англ. nonlinear autoregressive exogenous model, NARX).[78] Поширені бібліотеки РНМ
Додаткова літератураКниги
Статті
Примітки
Посилання
|