Топ питань
Часова шкала
Чат
Перспективи
Довга короткочасна пам'ять
архітектура штучної рекурентної нейронної мережі, що використовується в глибокому навчанні З Вікіпедії, вільної енциклопедії
Remove ads
До́вга короткоча́сна па́м'ять (ДКЧП, англ. long short-term memory, LSTM) — це архітектура рекурентних нейронних мереж (РНМ, штучна нейронна мережа), запропонована 1997 року Зеппом Хохрайтером[en] та Юргеном Шмідгубером.[2] Як і більшість РНМ, мережа ДКЧП є універсальною в тому сенсі, що за достатньої кількості вузлів мережі вона може обчислювати будь-що, що може обчислювати звичайний комп'ютер, за умови, що вона має належну матрицю вагових коефіцієнтів[en], що може розглядатися як її програма. На відміну від традиційних РНМ, мережа ДКЧП добре підходить для навчання з досвіду з метою класифікації, обробки або передбачення часових рядів в умовах, коли між важливими подіями існують часові затримки невідомої тривалості. Відносна нечутливість до довжини прогалин дає ДКЧП перевагу в численних застосуваннях над альтернативними РНМ, прихованими марковськими моделями та іншими методами навчання послідовностей. Серед інших успіхів, ДКЧП досягла найкращих з відомих результатів у стисненні тексту природною мовою,[3] розпізнаванні несегментованого неперервного рукописного тексту,[4] і 2009 року виграла змагання з розпізнавання рукописного тексту ICDAR[en]. Мережі ДКЧП також застосовувалися до автоматичного розпізнавання мовлення, і були головною складовою мережі, яка 2003 року досягла рекордного 17.7-відсоткового рівня пофонемних помилок на класичному наборі даних природного мовлення TIMIT[en].[5] Станом на 2016 рік основні технологічні компанії, включно з Google, Apple, Microsoft та Baidu, використовували мережі ДКЧП як основні складові нових продуктів.[6][7]

Remove ads
Архітектура
Узагальнити
Перспектива
Мережа ДКЧП є штучною нейронною мережею, яка містить вузли ДКЧП замість, або на додачу, до інших вузлів мережі. Вузол ДКЧП — це вузол рекурентної нейронної мережі, який виділяється запам'ятовуванням значень для довгих, або коротких проміжків часу. Ключем до цієї здатності є те, що він не використовує функції активації в межах своїх рекурентних складових. Таким чином, значення, що зберігається, не розплющується ітеративно з плином часу, і член градієнту або вини (англ. blame) не має схильності розмиватися, коли для його тренування застосовується зворотне поширення в часі.
Вузли ДКЧП часто втілюють у «блоках» (англ. blocks), які містять декілька вузлів ДКЧП. Така конструкція є типовою для «глибоких» багатошарових нейронних мереж, і сприяє реалізаціям на паралельному апаратному забезпеченні. В наведених нижче рівняннях кожна змінна курсивом у нижньому регістрі представляє вектор, що має розмір, який дорівнює числу вузлів ДКЧП у блоці.
Блоки ДКЧП містять три або чотири «вентилі» (англ. gates), які вони використовують для керування плином інформації до або з їхньої пам'яті. Ці вентилі реалізують із застосуванням логістичної функції для обчислення значень між 0 та 1. Для часткового дозволяння або заборони плину інформації до або з цієї пам'яті застосовується множення на це значення. Наприклад, «входовий вентиль» (англ. input gate) керує мірою, до якої нове значення входить до пам'яті. «Забувальний вентиль» (англ. forget gate) керує мірою, до якої значення залишається в пам'яті. А «виходовий вентиль» (англ. output gate) керує мірою, до якої значення в пам'яті використовується для обчислення активування виходу блоку. (В деяких втіленнях входовий та забувальний вентилі об'єднують в один. Ідея їхнього об'єднання полягає в тому, що час забувати настає тоді, коли з'являється нове значення, варте запам'ятовування.)
Єдині ваги, що є в блоці ДКЧП ( та ), використовуються для спрямовування дії вентилів. Ці ваги застосовуються між значеннями, які надходять до блоку (включно з входовим вектором та виходом з попереднього моменту часу ) та кожним із вентилів. Отже, блок ДКЧП визначає, яким чином підтримувати свою пам'ять як функцію від цих значень, і тренування ваг блока ДКЧП спричиняє його навчання такої функції, яка мінімізує втрати. Блоки ДКЧП зазвичай тренують за допомогою зворотного поширення в часі.
Традиційна ДКЧП
Традиційна ДКЧП із забувальними вузлами.[2][8] і . позначає добуток Адамара (поелементний добуток).
Змінні
- : входовий вектор
- : виходовий вектор
- : вектор стану комірки
- , і : матриці та вектор параметрів (W від англ. weight, вага, U від англ. update?, уточнення, b від англ. bias?, упередження)
- , і : вектори вентилів
- : Вектор забувального вентиля. Вага пам'ятання старої інформації.
- : Вектор входового вентиля. Вага отримання нової інформації.
- : Вектор виходового вентиля. Кандидатність на вихід.
- : В оригіналі є сигмоїдною функцією.
- : В оригіналі є гіперболічним тангенсом.
- : В оригіналі є гіперболічним тангенсом, але праця з вічкових ДКЧП радить .[9][10]
Вічкова ДКЧП
Вічкова ДКЧП із забувальними вентилями.[9][10] не застосовується, натомість у більшості місць застосовується .
Згорткова ДКЧП
Згорткова ДКЧП.[11] позначає оператор згортки.
Remove ads
Тренування
Узагальнити
Перспектива
Для мінімізації загальної похибки ДКЧП на тренувальних послідовностях може застосовуватися ітеративний градієнтний спуск, такий як зворотне поширення в часі, для зміни кожного вагового коефіцієнту пропорційно до його похідної по відношенню до похибки. Основною проблемою з градієнтним спуском для стандартних РНМ є те, що градієнти похибок зникають експоненційно швидко з розміром часової затримки між важливими подіями, як це було вперше з'ясовано 1991 року.[12][13] Проте у блоках ДКЧП, коли значення похибки зворотно поширюються з виходу, похибка виявляється в пастці в частині пам'яті блоку. Це називають «каруселлю похибки» (англ. "error carousel"), яка постійно подає похибку назад до кожного з вентилів, поки вони не стають натренованими відсікати це значення. Таким чином, регулярне зворотне поширення є дієвим при тренуванні блоку ДКЧП запам'ятовувати значення для дуже довгих тривалостей.
ДКЧП може також тренуватися поєднанням штучної еволюції для вагових коефіцієнтів прихованих вузлів, і псевдообернення або методу опорних векторів для вагових коефіцієнтів виходових вузлів.[14] У застосуваннях навчання з підкріпленням ДКЧП може тренуватися методами градієнту стратегії, еволюційними стратегіями або генетичними алгоритмами.
Remove ads
Застосування
Застосування ДКЧП включають:
Див. також
- Диференційовний нейрокомп'ютер[en]
- Штучна нейронна мережа
- Робоча пам'ять префронтальної кори та базальних гангліїв (PBWM)[en]
- Рекурентна нейронна мережа
- Вентильний рекурентний вузол
- Часовий ряд
- Довготривала потенціація
- Магістралева мережа
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads