До́вга короткоча́сна па́м'ять (ДКЧП, ) — це архітектура рекурентних нейронних мереж (РНМ, штучна нейронна мережа), запропонована 1997 року та Юргеном Шмідгубером. Як і більшість РНМ, мережа ДКЧП є універсальною в тому сенсі, що за достатньої кількості вузлів мережі вона може обчислювати будь-що, що може обчислювати звичайний комп'ютер, за умови, що вона має належну матрицю , що може розглядатися як її програма. На відміну від традиційних РНМ, мережа ДКЧП добре підходить для навчання з досвіду з метою класифікації, обробки або передбачення часових рядів в умовах, коли між важливими подіями існують часові затримки невідомої тривалості. Відносна нечутливість до довжини прогалин дає ДКЧП перевагу в численних застосуваннях над альтернативними РНМ, прихованими марковськими моделями та іншими методами навчання послідовностей. Серед інших успіхів, ДКЧП досягла найкращих з відомих результатів у стисненні тексту природною мовою, розпізнаванні несегментованого неперервного рукописного тексту,A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, J. Schmidhuber. A Novel Connectionist System for Improved Unconstrained Handwriting Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 5, 2009. і 2009 року виграла змагання з розпізнавання рукописного тексту . Мережі ДКЧП також застосовувалися до автоматичного розпізнавання мовлення, і були головною складовою мережі, яка 2003 року досягла рекордного 17.7-відсоткового рівня пофонемних помилок на класичному наборі даних природного мовлення . Станом на 2016 рік основні технологічні компанії, включно з Google, Apple, Microsoft та Baidu, використовували мережі ДКЧП як основні складові нових продуктів.

Архітектура Мережа ДКЧП є штучною нейронною мережею, яка містить вузли ДКЧП замість, або на додачу, до інших вузлів мережі. Вузол ДКЧП — це вузол рекурентної нейронної мережі, який виділяється запам'ятовуванням значень для довгих, або коротких проміжків часу. Ключем до цієї здатності є те, що він не використовує функції активації в межах своїх рекурентних складових. Таким чином, значення, що зберігається, не розплющується ітеративно з плином часу, і член градієнту або вини () не має схильності розмиватися, коли для його тренування застосовується зворотне поширення в часі.

Вузли ДКЧП часто втілюють у «блоках» (), які містять декілька вузлів ДКЧП. Така конструкція є типовою для «глибоких» багатошарових нейронних мереж, і сприяє реалізаціям на паралельному апаратному забезпеченні. В наведених нижче рівняннях кожна змінна курсивом у нижньому регістрі представляє вектор, що має розмір, який дорівнює числу вузлів ДКЧП у блоці.

Блоки ДКЧП містять три або чотири «вентилі» (), які вони використовують для керування плином інформації до або з їхньої пам'яті. Ці вентилі реалізують із застосуванням логістичної функції для обчислення значень між 0 та 1. Для часткового дозволяння або заборони плину інформації до або з цієї пам'яті застосовується множення на це значення. Наприклад, «входовий вентиль» () керує мірою, до якої нове значення входить до пам'яті. «Забувальний вентиль» () керує мірою, до якої значення залишається в пам'яті. А «виходовий вентиль» () керує мірою, до якої значення в пам'яті використовується для обчислення активування виходу блоку. (В деяких втіленнях входовий та забувальний вентилі об'єднують в один. Ідея їхнього об'єднання полягає в тому, що час забувати настає тоді, коли з'являється нове значення, варте запам'ятовування.)

Єдині ваги, що є в блоці ДКЧП ( та ), використовуються для спрямовування дії вентилів. Ці ваги застосовуються між значеннями, які надходять до блоку (включно з входовим вектором та виходом з попереднього моменту часу ) та кожним із вентилів. Отже, блок ДКЧП визначає, яким чином підтримувати свою пам'ять як функцію від цих значень, і тренування ваг блока ДКЧП спричиняє його навчання такої функції, яка мінімізує втрати. Блоки ДКЧП зазвичай тренують за допомогою зворотного поширення в часі.

Традиційна ДКЧП Традиційна ДКЧП із забувальними вузлами. і . позначає добуток Адамара (поелементний добуток).

Змінні

: входовий вектор : виходовий вектор : вектор стану комірки , і : матриці та вектор параметрів (W від , вага, U від ?, уточнення, b від ?, упередження) , і : вектори вентилів : Вектор забувального вентиля. Вага пам'ятання старої інформації. : Вектор входового вентиля. Вага отримання нової інформації. : Вектор виходового вентиля. Кандидатність на вихід.

Функції активації

: В оригіналі є сигмоїдною функцією. : В оригіналі є гіперболічним тангенсом. : В оригіналі є гіперболічним тангенсом, але праця з вічкових ДКЧП радить .

Вічкова ДКЧП Вічкова ДКЧП із забувальними вентилями. не застосовується, натомість у більшості місць застосовується .

Згорткова ДКЧП Згорткова ДКЧП. позначає оператор згортки.

Тренування Для мінімізації загальної похибки ДКЧП на тренувальних послідовностях може застосовуватися ітеративний градієнтний спуск, такий як зворотне поширення в часі, для зміни кожного вагового коефіцієнту пропорційно до його похідної по відношенню до похибки. Основною проблемою з градієнтним спуском для стандартних РНМ є те, що градієнти похибок зникають експоненційно швидко з розміром часової затримки між важливими подіями, як це було вперше з'ясовано 1991 року.S. Hochreiter. Untersuchungen zu dynamischen neuronalen Netzen. Diploma thesis, Institut f. Informatik, Technische Univ. Munich, 1991. S. Hochreiter, Y. Bengio, P. Frasconi, and J. Schmidhuber. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies. In S. C. Kremer and J. F. Kolen, editors, A Field Guide to Dynamical Recurrent Neural Networks. IEEE Press, 2001. Проте у блоках ДКЧП, коли значення похибки зворотно поширюються з виходу, похибка виявляється в пастці в частині пам'яті блоку. Це називають «каруселлю похибки» (), яка постійно подає похибку назад до кожного з вентилів, поки вони не стають натренованими відсікати це значення. Таким чином, регулярне зворотне поширення є дієвим при тренуванні блоку ДКЧП запам'ятовувати значення для дуже довгих тривалостей.

ДКЧП може також тренуватися поєднанням штучної еволюції для вагових коефіцієнтів прихованих вузлів, і псевдообернення або методу опорних векторів для вагових коефіцієнтів виходових вузлів. У застосуваннях навчання з підкріпленням ДКЧП може тренуватися методами градієнту стратегії, еволюційними стратегіями або генетичними алгоритмами.

Застосування Застосування ДКЧП включають:

H. Mayer, F. Gomez, D. Wierstra, I. Nagy, A. Knoll, and J. Schmidhuber. A System for Robotic Heart Surgery that Learns to Tie Knots Using Recurrent Neural Networks. Advanced Robotics, 22/13–14, pp. 1521–1537, 2008. Прогнозування часових рядівJ. Schmidhuber and D. Wierstra and F. J. Gomez. Evolino: Hybrid Neuroevolution / Optimal Linear Search for Sequence Learning. Proceedings of the 19th International Joint Conference on Artificial Intelligence (IJCAI), Edinburgh, pp. 853–858, 2005. Розпізнавання мовлення S. Fernandez, A. Graves, J. Schmidhuber. An application of recurrent neural networks to discriminative keyword spotting. Intl. Conf. on Artificial Neural Networks ICANN'07, 2007. Навчання ритму Написання музикиD. Eck and J. Schmidhuber. Learning The Long-Term Structure of the Blues. In J. Dorronsoro, ed., Proceedings of Int. Conf. on Artificial Neural Networks ICANN'02, Madrid, pages 284–289, Springer, Berlin, 2002. Навчання граматики Розпізнавання рукописного текстуA. Graves, J. Schmidhuber. Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks. Advances in Neural Information Processing Systems 22, NIPS'22, pp 545–552, Vancouver, MIT Press, 2009. A. Graves, S. Fernandez,M. Liwicki, H. Bunke, J. Schmidhuber. Unconstrained online handwriting recognition with recurrent neural networks. Advances in Neural Information Processing Systems 21, NIPS'21, pp 577–584, 2008, MIT Press, Cambridge, MA, 2008. Розпізнавання людських дійM. Baccouche, F. Mamalet, C Wolf, C. Garcia, A. Baskurt. Sequential Deep Learning for Human Action Recognition. 2nd International Workshop on Human Behavior Understanding (HBU), A.A. Salah, B. Lepri ed. Amsterdam, Netherlands. pp. 29–39. Lecture Notes in Computer Science 7065. Springer. 2011 Виявлення гомології білків

Див. також

Диференційовний нейрокомп'ютер Штучна нейронна мережа

Рекурентна нейронна мережа Вентильний рекурентний вузол Часовий ряд Довготривала потенціація Магістралева мережа

Примітки

Посилання Рекурентні нейронні мережі із понад 30 працями від групи Юргена Шмідгубера в Докторська дисертація Жера про мережі ДКЧП. Праця про виявлення шахрайства з двома главами, присвяченими поясненню рекурентних нейронних мереж, особливо ДКЧП. Праця про високопродуктивне розширення ДКЧП, яке було спрощено до єдиного типу вузла, і яке може тренувати довільні архітектури. Підручник : Як реалізувати ДКЧП в Python за допомогою Theano.