Зміст :
- Архітектура одного шару
- Архітектура стекованих шарів
Архітектура одного шару
Архітектура RNN
Припустимо, у вас є набір даних X з N ознак і M точок даних, тоді архітектура RNN виглядатиме ось так
L (гіперпараметр) => позначає приховані нейрони, які повинні бути однаковими для всіх FFNN, інакше вони не з'єднаються між собою || K => позначає вихідні нейрони, які можуть бути будь-якими, залежно від кількості класів, які потрібно класифікувати
Варто зазначити, що в наведеній архітектурі ваги W, U і V однакові на всіх відмітках часу, оскільки це очевидно: в FFNN однакові ваги застосовуються до всіх вхідних даних, і тому, коли ви розгортаєте FFNN, щоб отримати RNN, ваги повинні залишатися тими самими!! Дослідники називають це спільним використанням ваг
Тепер ми розуміємо, що одношарові RNN — це нічого інше, як кілька одношарових FFNN, з'єднаних у послідовність за допомогою прихованих станів
Оскільки ми займаємось багатокласовою класифікацією, ми додаємо softmax в кінці
У багатьох статтях ви знайдете дослідників, які використовують наступну коротку нотацію для RNN (узагальнюючи її для відмітки часу t)
Наступне відео показує анімацію того, як RNN виконує обчислення всередині!!
Анімація RNN
Навчання в RNN
Оскільки ми використовуємо RNN для вирішення задачі класифікації, ми можемо використовувати функцію втрат перехресної ентропії для навчання мережі, як показано нижче
Тепер ця оптимізація може бути вирішена за допомогою будь-якого оптимізатора, наприклад, градієнтного спуску / Adam / AdaGrad / … (стохастична або міні-батч версія). Давайте спробуємо вирішити це за допомогою градієнтного спуску
Тепер для обчислення цих похідних ми скористаємося обчислювальним графом для цієї архітектури RNN, який показано нижче
Обчислювальний граф для RNN
Обчислення dE / dB
Обчислення dE / dV
Обчислення dE / dW
Обчислення dE / dU
Обчислення dE / db
Як RNN вирішує недоліки FFNN?
Ми бачили тут деякі проблеми з FFNN, через які дослідники винайшли RNN, але чи вирішили RNN ці проблеми? ТАК, вони вирішують обидві проблеми FFNN, як показано нижче
1.
1. В RNN ми враховуємо всю послідовну інформацію для здійснення прогнозу, оскільки ми передаємо приховані стани, які містять усю попередню послідовну інформацію (тобто про X1, X2, … Xi-1) до наступного прихованого елемента в прихованому шарі, тим самим вирішуючи проблему.
2. Оскільки в RNN ми маємо спільні матриці ваг, це дозволяє RNN також приймати змінні за розміром вхідні дані під час інференції, тим самим вирішуючи проблему змінних розмірів вхідних даних!!
Проблеми з RNN:
У RNN є дві проблеми: Зникнення градієнтів і Вибух градієнтів. Щоб зрозуміти ці проблеми, ознайомтесь з рівнянням dE / dW
Ідеї для вирішення проблем RNN
Ці проблеми можна вирішити наступними способами:
- Зникнення градієнтів : Це можна вирішити, впровадивши пропуски зв'язків / прямих зв'язків (зокрема, highway connection) в мережу.
- Вибух градієнтів : Це можна вирішити за допомогою техніки обрізки градієнтів.
Стекована архітектура
Стековані RNN
Математичні деталі в Стекованих RNN
Скорочена нотація
Перекладено з: Recurrent Neural Networks(RNNs) for Sequence Classification