Рекурентні нейронні мережі (RNN) для класифікації послідовностей

Зміст :

- Архітектура одного шару

  1. Архітектура RNN
  2. Навчання в RNN
  3. Як RNN вирішує проблеми FFNN
  4. Проблеми з RNN
  5. Рішення проблем RNN

- Архітектура стекованих шарів

pic

Архітектура одного шару

pic

Архітектура RNN

Припустимо, у вас є набір даних X з N ознак і M точок даних, тоді архітектура RNN виглядатиме ось так

pic

L (гіперпараметр) => позначає приховані нейрони, які повинні бути однаковими для всіх FFNN, інакше вони не з'єднаються між собою || K => позначає вихідні нейрони, які можуть бути будь-якими, залежно від кількості класів, які потрібно класифікувати

Варто зазначити, що в наведеній архітектурі ваги W, U і V однакові на всіх відмітках часу, оскільки це очевидно: в FFNN однакові ваги застосовуються до всіх вхідних даних, і тому, коли ви розгортаєте FFNN, щоб отримати RNN, ваги повинні залишатися тими самими!! Дослідники називають це спільним використанням ваг

Тепер ми розуміємо, що одношарові RNN — це нічого інше, як кілька одношарових FFNN, з'єднаних у послідовність за допомогою прихованих станів

pic
Оскільки ми займаємось багатокласовою класифікацією, ми додаємо softmax в кінці

У багатьох статтях ви знайдете дослідників, які використовують наступну коротку нотацію для RNN (узагальнюючи її для відмітки часу t)

pic

pic

pic

Наступне відео показує анімацію того, як RNN виконує обчислення всередині!!

Анімація RNN

pic

Навчання в RNN

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

pic

Тепер ця оптимізація може бути вирішена за допомогою будь-якого оптимізатора, наприклад, градієнтного спуску / Adam / AdaGrad / … (стохастична або міні-батч версія). Давайте спробуємо вирішити це за допомогою градієнтного спуску

pic

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

pic

pic

pic

Обчислювальний граф для RNN

Обчислення dE / dB

pic

Обчислення dE / dV

pic

Обчислення dE / dW

pic

Обчислення dE / dU

pic

Обчислення dE / db

pic

pic

Як RNN вирішує недоліки FFNN?

Ми бачили тут деякі проблеми з FFNN, через які дослідники винайшли RNN, але чи вирішили RNN ці проблеми? ТАК, вони вирішують обидві проблеми FFNN, як показано нижче

1.
1. В RNN ми враховуємо всю послідовну інформацію для здійснення прогнозу, оскільки ми передаємо приховані стани, які містять усю попередню послідовну інформацію (тобто про X1, X2, … Xi-1) до наступного прихованого елемента в прихованому шарі, тим самим вирішуючи проблему.
2. Оскільки в RNN ми маємо спільні матриці ваг, це дозволяє RNN також приймати змінні за розміром вхідні дані під час інференції, тим самим вирішуючи проблему змінних розмірів вхідних даних!!

pic

Проблеми з RNN:

У RNN є дві проблеми: Зникнення градієнтів і Вибух градієнтів. Щоб зрозуміти ці проблеми, ознайомтесь з рівнянням dE / dW

pic

pic

Ідеї для вирішення проблем RNN

Ці проблеми можна вирішити наступними способами:

  • Зникнення градієнтів : Це можна вирішити, впровадивши пропуски зв'язків / прямих зв'язків (зокрема, highway connection) в мережу.

pic

  • Вибух градієнтів : Це можна вирішити за допомогою техніки обрізки градієнтів.

pic

pic

Стекована архітектура

pic

Стековані RNN

pic

Математичні деталі в Стекованих RNN

pic

Скорочена нотація

Перекладено з: Recurrent Neural Networks(RNNs) for Sequence Classification

Leave a Reply

Your email address will not be published. Required fields are marked *