Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Як працює RNN? | Вступ до RNN
Рекурентні нейронні мережі з Python

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)
    • Де:
      • WW — матриця ваг;
      • bb — вектор зсуву;
      • ff — функція активації.
  3. Генерація виходу: вихід yty_t генерується на основі поточного прихованого стану hth_t за формулою:

    yt=g(Vht+c)

    • Де:
      • VV — матриця ваг виходу;
      • cc — зсув виходу;
      • gg — функція активації, що використовується на вихідному шарі.

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

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

  1. Обчислення помилки: перший крок у BPTT — обчислення помилки на кожному часовому кроці. Зазвичай ця помилка — це різниця між передбаченим виходом і фактичною ціллю;

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

  3. Оновлення ваг: після обчислення градієнтів ваги оновлюються за допомогою методу оптимізації, такого як стохастичний градієнтний спуск (SGD). Ваги коригуються так, щоб помилка зменшувалася у майбутніх ітераціях. Формула для оновлення ваг:

    W:=WηLossW

    • Де:
      • η\eta — швидкість навчання;
      • LossW — градієнт функції втрат відносно матриці ваг.

Підсумовуючи, 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