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 має можливість читати, записувати та видаляти дані зі своєї пам'яті.