Recurrent Neural Network
Оновлено: 31.07.2023
Що таке рекурентні нейронні мережі?
ШНМ - це різновид нейронних мереж, які є одночасно потужними та надійними, і є одними з найперспективніших алгоритмів, оскільки вони єдині мають внутрішню пам'ять.
Рекурентні нейронні мережі, як і багато інших методів глибокого навчання, є відносно новими. Вперше вони були розроблені у 1980-х роках, але лише нещодавно ми усвідомили весь їхній потенціал.
ШНМ набули популярності завдяки зростанню потужності комп'ютерів, величезним обсягам даних, з якими нам доводиться мати справу, і появі довготривалої короткочасної пам'яті (LSTM) у 1990-х роках.
- Рекурентні штучні нейронні мережі можуть пригадувати важливі деталі про вхідні дані, які вони отримують, завдяки своїй внутрішній пам'яті, що дозволяє їм з великою точністюпередбачати, що станеться далі.
Саме тому їх обирають для обробки тексту, мови, фінансових даних, відео, аудіо та багатьох інших типів послідовних даних. У порівнянні з іншими алгоритмами, рекурентні нейронні мережі можуть набагато глибше зрозуміти послідовність та її контекст.
- Рекурентні нейронні мережі в машинному навчанні часто з'являються в повсякденному житті, оскільки вони використовуються в програмному забезпеченні, яке забезпечує роботу Siri та Google Translate.
Як це працює?
Вам знадобляться практичні знання "звичайних" нейронних мереж прямого поширення та послідовних даних, щоб повністю зрозуміти ШНМ.
Послідовні дані - це просто впорядковані дані, в яких пов'язані елементи з'являються один за одним. Фінансові дані або послідовність ДНК - два приклади.
Мабуть, найпоширенішим різновидом послідовних даних є дані часових рядів, які є просто переліком точок даних у хронологічному порядку.
- Спосіб, у який RNN та прямі нейронні мережі передають інформацію, дав їм назву.
Інформація в нейронній мережі прямого поширення рухається лише в одному напрямку: від вхідного шару до вихідного, проходячи через приховані шари. Дані проходять через мережу по прямій лінії, ніколи не проходячи через один і той самий вузол двічі.
Прямі нейронні мережі не запам'ятовують отриману інформацію і погано передбачають, що станеться далі. Пряма нейронна мережа не має поняття часового порядку, оскільки вона аналізує лише поточні вхідні дані. За винятком свого навчання, вона не пам'ятає, що відбувалося в минулому.
Інформація в рекурентній структурі нейронної мережі циклічно передається по колу. Коли вона приймає рішення, вона враховує поточні вхідні дані, а також те, що вона дізналася з попередніх вхідних даних.
- Короткочасна пам'ять присутня у типових RNN. У поєднанні з LSTM вони мають довготривалу пам'ять. Однак завдяки своїй внутрішній пам'яті рекурентна нейронна мережа може згадувати ці символи. Вона генерує вихідні дані, копіює їх, а потім подає назад у мережу. Рекурентні нейронні мережі поєднують інформацію з минулого з інформацією з теперішнього.
Як результат, у RNN є два входи: теперішнє і недавнє минуле. Це важливо, оскільки послідовність даних надає критично важливу інформацію про те, що станеться далі, і саме тому RNN може виконувати завдання, які не під силу іншим алгоритмам.
Варто зазначити, що RNN застосовує ваги як до поточних, так і до попередніх входів. Крім того, рекурентна нейронна мережа коригує ваги з часом за допомогою градієнтного спуску та зворотного поширення (BPTT).
ШНМ можуть відображати один до багатьох, багато до багатьох і багато до одного, тоді як прямі нейронні мережі відображають один вхід на один вихід.
Різні типи рекурентних нейронних мереж
- BRNN - це тип ШНМ з іншим дизайном мережі. Двонаправлені ШНМ залучають майбутні дані для підвищення точності, тоді як однонаправлені використовують лише попередні вхідні дані для створення прогнозів.
- GRUs (gated recurrent units): Ця версія ШНМ схожа на LSTM, оскільки вона також спрямована на вирішення проблем короткочасної пам'яті моделей ШНМ. Вона використовує приховані стани замість "станів комірок" для управління інформацією, і замість трьох вентилів має лише два: вентиль скидання та вентиль оновлення. Ворота скидання і оновлення, як і ворота в LSTM, визначають, скільки і якої інформації зберігається.
- Мережі довготривалої короткочасної пам'яті (LSTM) - це тип рекурентної нейронної мережі, яка розширює ємність пам'яті. Як результат, вони дуже добре підходять для навчання на основі значного досвіду, розділеного тривалими проміжками часу.
Шари RNN, які іноді називають мережею LSTM, будуються з використанням блоків LSTM.
Завдяки LSTM ШНМ можуть запам'ятовувати вхідні дані протягом тривалого часу. Це пов'язано з тим, що LSTM зберігають інформацію в пам'яті подібно до пам'яті комп'ютера. LSTM має можливість читати, записувати та видаляти дані зі своєї пам'яті.