заглушки Що таке RNN і LSTM у Deep Learning? - Об'єднуйтесь.AI
Зв'язатися з нами
Майстер-клас ШІ:

AI 101

Що таке RNN і LSTM у Deep Learning?

mm
оновлений on

Багато з найбільш вражаючих досягнень у обробці природної мови та чат-ботах штучного інтелекту ґрунтуються на цьому Повторювані нейронні мережі (RNN) і мережі довгострокової короткочасної пам'яті (LSTM). RNN і LSTM це спеціальні архітектури нейронної мережі, які здатні обробляти послідовні дані, дані, у яких важливий хронологічний порядок. LSTM є істотно вдосконалені версії RNN, здатний інтерпретувати довші послідовності даних. Давайте подивимося, як структуровані RNN і LSTMS і як вони дозволяють створювати складні системи обробки природної мови.

Що таке нейронні мережі прямого зв’язку?

Отже, перш ніж говорити про те, як працюють довготривала короткочасна пам’ять (LSTM) і згорточні нейронні мережі (CNN), ми повинні обговорити формат нейронної мережі загалом.

Нейронна мережа призначена для вивчення даних і вивчення відповідних шаблонів, щоб ці шаблони можна було застосувати до інших даних і класифікувати нові дані. Нейронні мережі поділяються на три частини: вхідний рівень, прихований рівень (або кілька прихованих шарів) і вихідний рівень.

Вхідний рівень — це те, що вводить дані в нейронну мережу, тоді як приховані рівні — це те, що вивчає шаблони в даних. Приховані шари в наборі даних пов’язані з вхідним і вихідним шарами за допомогою «ваг» і «зміщень», які є лише припущеннями про те, як точки даних пов’язані одна з одною. Ці ваги коригуються під час тренувань. Під час навчання мережі припущення моделі щодо даних навчання (вихідні значення) порівнюються з фактичними мітками навчання. Під час навчання мережа (сподіваємося) стане точнішою у прогнозуванні зв’язків між точками даних, щоб вона могла точно класифікувати нові точки даних. Глибокі нейронні мережі – це мережі, які мають більше проміжних/більш прихованих шарів. Чим більше прихованих шарів і більше нейронів/вузлів має модель, тим краще модель може розпізнавати шаблони в даних.

Звичайні нейронні мережі прямого зв’язку, як ті, що я описав вище, часто називають «щільними нейронними мережами». Ці щільні нейронні мережі поєднуються з різними мережевими архітектурами, які спеціалізуються на інтерпретації різних типів даних.

Що таке RNN (рекурентні нейронні мережі)?

Повторювані нейронні мережі використовують загальний принцип прямої нейронної мережі та дозволяють їм обробляти послідовні дані за допомогою надання моделі внутрішньої пам’яті. «Рекурентна» частина назви RNN походить від того факту, що вхід і вихід циклічні. Після створення вихідних даних мережі вони копіюються та повертаються в мережу як вхідні дані. При прийнятті рішення аналізуються не тільки поточний вхід і вихід, але також враховується попередній вхід. Іншими словами, якщо початковим входом для мережі є X, а виходом є H, і H, і X1 (наступний вхід у послідовності даних) подаються в мережу для наступного циклу навчання. Таким чином, контекст даних (попередні вхідні дані) зберігається під час навчання мережі.

Результатом цієї архітектури є те, що RNN здатні обробляти послідовні дані. Однак RNN страждають від кількох проблем. RNN страждають від проблеми зі зникаючим градієнтом і вибуховим градієнтом.

Довжина послідовностей, які може інтерпретувати RNN, досить обмежена, особливо в порівнянні з LSTM.

Що таке LSTM (мережі довгострокової пам’яті)?

Мережі довготривалої короткочасної пам’яті можна вважати розширенням RNN, ще раз застосовуючи концепцію збереження контексту вхідних даних. Однак LSTM були модифіковані кількома важливими способами, які дозволяють їм інтерпретувати минулі дані кращими методами. Зміни, внесені до LSTM, стосуються проблеми зникнення градієнта та дозволяють LSTM розглядати набагато довші вхідні послідовності.

Моделі LSTM складаються з три різні компоненти, або ворота. Є вхідні ворота, вихідні ворота та ворота забуття. Подібно до RNN, LSTM враховують вхідні дані з попереднього часового кроку під час модифікації пам’яті моделі та вагових коефіцієнтів. Вхідні ворота приймають рішення про те, які значення є важливими та повинні бути пропущені через модель. У вхідному шлюзі використовується сигмоїдна функція, яка визначає, які значення передавати через рекурентну мережу. Нуль відкидає значення, тоді як 1 зберігає його. Тут також використовується функція TanH, яка визначає, наскільки важливі для моделі вхідні значення в діапазоні від -1 до 1.

Після врахування поточних вхідних даних і стану пам’яті вихідний вентиль вирішує, які значення перенести на наступний часовий крок. У вихідному схемі значення аналізуються та призначаються важливість у діапазоні від -1 до 1. Це регулює дані перед тим, як вони передаються до наступного розрахунку за часом. Нарешті, завдання шлюзу забути полягає у видаленні інформації, яку модель вважає непотрібною для прийняття рішення щодо природи вхідних значень. Ворота забуття використовує сигмоїдну функцію для значень, виводячи числа від 0 (забути) до 1 (зберегти).

Нейронна мережа LSTM складається як зі спеціальних рівнів LSTM, які можуть інтерпретувати дані послідовних слів, так і зі щільно зв’язаних, як описано вище. Коли дані проходять через шари LSTM, вони переходять до щільно з’єднаних шарів.

Блогер і програміст зі спеціальностями в машинне навчання та Глибоке навчання теми. Деніел сподівається допомогти іншим використовувати силу ШІ для суспільного блага.