Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Як Працює RNN? | Розділ
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Моделювання Послідовних Даних

bookЯк Працює RNN?

Свайпніть щоб показати меню

Note
Визначення

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

Вимірювання відстані
  • Послідовна обробка: RNN обробляє дані крок за кроком, відстежуючи попередню інформацію;
  • Завершення речення: при незавершеному реченні "My favourite dish is sushi. So, my favourite cuisine is _____." RNN обробляє слова по черзі. Після слова "sushi" мережа прогнозує наступне слово як "Japanese" на основі попереднього контексту;
  • Пам'ять у RNN: на кожному кроці RNN оновлює свій внутрішній стан (пам'ять) новою інформацією, зберігаючи контекст для наступних кроків;
  • Навчання RNN: RNN навчаються за допомогою зворотного поширення через час (BPTT), коли помилки передаються назад через кожен часовий крок для коригування ваг з метою покращення прогнозів.

Пряме поширення

Під час прямого поширення RNN обробляє вхідні дані крок за кроком:

  1. Вхід на часовому кроці tt: мережа отримує вхід xtx_t на кожному часовому кроці;
  2. Оновлення прихованого стану: поточний прихований стан hth_t оновлюється на основі попереднього прихованого стану ht1h_{t-1} та поточного входу xtx_t за наступною формулою:
ht=f(W[ht1,xt]+b) h_t = f \left( W \cdot \left[ h_{t-1},x_t \right] + b \right)
  • Де:
    • WW — матриця ваг;
    • bb — вектор зсуву;
    • ff — функція активації.
  1. Генерація виходу: вихід yty_t генерується на основі поточного прихованого стану hth_t за формулою:
yt=g(Vht+c)y_t = g(V \cdot h_t + c)
  • Де:
    • VV — матриця ваг виходу;
    • cc — зсув виходу;
    • gg — функція активації на вихідному шарі.

Процес зворотного поширення

Зворотне поширення в RNN є ключовим для оновлення ваг і покращення моделі. Процес модифікується з урахуванням послідовної природи RNN через зворотне поширення у часі (BPTT):

  1. Обчислення помилки: перший крок у BPTT — обчислення помилки на кожному часовому кроці. Зазвичай ця помилка — це різниця між передбаченим виходом і фактичною ціллю;
  2. Обчислення градієнта: у рекурентних нейронних мережах градієнти функції втрат обчислюються шляхом диференціювання помилки відносно параметрів мережі та поширюються назад у часі від останнього до початкового кроку, що може призводити до зникнення або вибуху градієнтів, особливо на довгих послідовностях;
  3. Оновлення ваг: після обчислення градієнтів ваги оновлюються за допомогою методу оптимізації, такого як стохастичний градієнтний спуск (SGD). Ваги коригуються так, щоб помилка зменшувалася у майбутніх ітераціях. Формула для оновлення ваг:
W:=WηLossW W := W - \eta \frac{\partial \text{Loss}}{\partial W}
  • Де:
    • η\eta — швидкість навчання;
    • LossW\frac{\partial \text{Loss}}{\partial W} — градієнт функції втрат відносно матриці ваг.

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

question mark

Яка роль функції gg у рівнянні виходу yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 2
some-alt