Представлення періодичних нейронних мереж (RNN)

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

Робота періодичних нейронних мереж

Коли ми говоримо про традиційні нейронні мережі, всі виходи та входи не залежать один від одного, як показано на схемі нижче:

Але у випадку періодичних нейронних мереж, вихід з попередніх кроків подається на вхід поточного стану. Наприклад, щоб передбачити наступну букву будь-якого слова або передбачити наступне слово речення, потрібно запам'ятати попередні букви або слова та зберегти їх у якійсь формі пам'яті.

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

Ілюстрація типової моделі RNN наведена нижче:

Моделі RNN мають пам'ять, яка завжди запам'ятовує, що було зроблено в попередніх кроках і що було розраховано. На всіх входах виконується однакове завдання, і RNN використовує один і той же параметр для кожного з входів. Оскільки традиційна нейронна мережа має незалежні набори вводу та виводу, вони складніші за RNN.

Тепер спробуємо розібратися у періодичній нейронній мережі за допомогою прикладу.

Скажімо, у нас є нейронна мережа з 1 вхідним шаром, 3 прихованими шарами та 1 вихідним шаром.

Коли ми говоримо про інші або традиційні нейронні мережі, вони матимуть власні набори ухилів і ваг у своїх прихованих шарах, таких як (w1, b1) для прихованого шару 1, (w2, b2) для прихованого шару 2 та (w3, b3 ) для третього прихованого шару, де: w1, w2, w3 - ваги, а b1, b2 і b3 - зміщення.

З огляду на це, ми можемо сказати, що кожен шар не залежить від будь-якого іншого і що вони не можуть нічого запам'ятати про попереднє введення:

Тепер, що буде робити RNN, це наступне:

  • Незалежні шари будуть перетворені на залежний шар. Це робиться, забезпечуючи однакові ухили та ваги для всіх шарів. Це також зменшує кількість параметрів і шарів у періодичній нейронній мережі, і це допомагає RNN запам'ятовувати попередній вихід, виводячи попередній висновок як вхід до майбутнього прихованого рівня.
  • Підводячи підсумок, всі приховані шари можна об'єднати в один повторюваний шар таким чином, щоб ваги та зміщення були однаковими для всіх прихованих шарів.
    Отже, періодична нейронна мережа буде виглядати приблизно так:

Тепер настав час розібратися з деякими рівняннями для моделі RNN.

  • Для обчислення поточного стану,

h t= f (h t-1, x t ),

Де:

x t - стан вводу
h t-1 - попередній стан,
h t - поточний стан.

  • Для обчислення функції активації

h t= tanh (W hh h t-1 +W xh x t ),

Де:
W xh - вага на вхідному нейроні,

W hh - вага рецидивуючого нейрона.

  • Для розрахунку виходу:

Y t =W hy h t.

Де,
Y t - вихід і,
W hy - вага на вихідному шарі.

Кроки для навчання періодичної нейронної мережі

  1. У шарах введення вихідний вхід надсилається з усіма, що мають однакову вагу та функцію активації.
  2. Використовуючи поточний вхід та вихідний попередній стан, обчислюється поточний стан.
  3. Тепер поточний стан h t стане другим кроком h t-1 .
  4. Це повторюється для всіх етапів і щоб вирішити будь-яку конкретну проблему, можна продовжити стільки разів, щоб приєднатися до інформації з усіх попередніх кроків.
  5. Заключний крок потім обчислюється поточним станом кінцевого стану та всіма іншими попередніми кроками.
  6. Тепер помилка генерується, обчислюючи різницю між фактичним виходом та виходом, генерованим нашою моделлю RNN.
  7. Останнім кроком є ​​те, коли відбувається процес зворотного розповсюдження, коли помилка поширюється для оновлення ваг.

Переваги періодичних нейронних мереж

  1. RNN може обробляти входи будь-якої довжини.
  2. Модель RNN змодельована для запам'ятовування кожної інформації протягом усього часу, що дуже корисно для будь-якого прогнозованого часового ряду.
  3. Навіть якщо розмір вводу більший, розмір моделі не збільшується.
  4. Ваги можна розділити протягом кроків часу.
  5. RNN може використовувати свою внутрішню пам’ять для обробки довільних рядів входів, що не стосується подальших нейронних мереж.

Недоліки періодичних нейронних мереж

  1. Через свою періодичність, обчислення відбуваються повільно.
  2. Навчання моделей RNN може бути важким.
  3. Якщо ми використовуємо relu або tanh як функції активації, обробляти дуже довгі послідовності стає дуже важко.
  4. Схильний до таких проблем, як вибух та зникнення градієнта.

Висновок

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

Рекомендовані статті

Це посібник з періодичними нейронними мережами. Тут ми обговорюємо вступ, як він працює, кроки, переваги та недоліки RNN тощо. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -
  1. Що таке нейронні мережі?
  2. Рамки машинного навчання
  3. Вступ до штучного інтелекту
  4. Вступ до Big Data Analytics
  5. Впровадження нейронних мереж

Категорія: