Резервуа́рне обчи́слення (англ.reservoir computing) — це система обчислення, яку можна розглядати як розширення нейронних мереж.[1] Як правило, входовий сигнал подається до незмінної (випадкової) динамічної системи, що називають резервуаром (англ.reservoir), і динаміка резервуара відображує вхід до вищого виміру. Потім простий механізм зчитування (англ.readout) тренують читати стан резервуару й відображувати його на бажаний вихід. Головна перевага полягає в тім, що тренування виконується лише на стадії зчитування, а резервуар є незмінним. Двома основними типами резервуарних обчислень є рідкі скінченні автомати[2] та мережі з відлунням стану.[3][4]
Резервуарне обчислення — це найкращий у своєму класі алгоритм машинного навчання для обробки інформації, створеної динамічними системами, використовуючи спостережувані часові ряди даних. Важливо те, що він вимагає дуже малих наборів даних для навчання, використовує лінійну оптимізацію, а отже, вимагає мінімальних обчислювальних ресурсів. Однак алгоритм використовує матриці випадкової вибірки для визначення базової рекурентної нейронної мережі та має безліч метапараметрів, які необхідно оптимізувати. Останні результати демонструють еквівалентність обчислення пластів нелінійній векторній авторегресії, яка не вимагає випадкових матриць, потребує меншої кількості метапараметрів і забезпечує результати, які можливо інтерпретувати. Нелінійна векторна авторегресія відмінно справляється з контрольними завданнями обчислення пластів і вимагає ще коротших наборів даних для навчання та часу навчання, проголошуючи наступне покоління обчислень для пластів.[5]
Резервуар
Резервуар складається з зібрання рекурентно з'єднаних вузлів. Структура зв'язності, як правило, є випадковою, а вузли, як правило, є нелінійними. Загальна динаміка резервуара задається його входом, а також залежить від минулого. Багате зібрання динамічних відображень входів-виходів є вирішальною перевагою над простими нейронними мережами з часовою затримкою.
Зчитування
Зчитування здійснюється із застосуванням лінійного перетворення виходу резервуару. Це перетворення підлаштовують до потрібної задачі, застосовуючи лінійну або гребеневу регресію з використанням навчального сигналу.
Типи
Контекстно-ревербераційна мережа
Раннім прикладом резервуарних обчислень була контекстно-ревербераційна мережа (англ.context reverberation network).[6] В цій архітектурі входовий шар подається до динамічної системи високої розмірності, яку читають тренованим одношаровим перцептроном. Було описано два види динамічних систем: рекурентна нейронна мережа з незмінними випадковими вагами, і неперервна реакційно-дифузна система[en], натхнена моделлю морфогенезуАлана Тюрінга. У тренованому шарі перцептрон пов'язує поточний вхід із сигналами, які реверберують у динамічній системі; про останню казали, що вона забезпечує динамічний «контекст» для входів. Мовою пізніших праць, реакційно-дифузна система слугувала резервуаром.
Модель деревної мережі з відлунням стану (англ.Tree Echo State Network, TreeESN)[7] являє собою узагальнення системи резервуарного обчислення для деревно структурованих даних.
Органоїдний інтелект
Досліджується апаратний підхід штучного інтелекту, який використовує адаптивне резервуарне обчислення біологічних нейронних мереж в мозкових органоїдах. У цьому підході, який називається Brainoware, обчислення виконуються шляхом надсилання та отримання інформації від органоїда мозку за допомогою матриці мікроелектродів[en] високої щільності. Застосовуючи просторово-часову електричну стимуляцію, досягається нелінійна динаміка та властивості запам’ятовування, а також неконтрольоване навчання на основі тренувальних даних шляхом зміни функціональних зв’язків в органоїдах. Був продемонстрований практичний потенціал цієї методики, використовуючи її для розпізнавання мовлення та прогнозування нелінійних рівнянь у системі резервуарних обчислень.[8]
Застосування
Резервуарні обчислення з їх унікальною архітектурою та адаптивною природою знаходять широке застосування в різних сферах, революціонізуючи спосіб вирішення складних завдань. Його здатність ефективно обробляти інформацію призвела до ефективних застосувань у кількох сферах[9][10]:
Обробка сигналу
Розпізнавання мовлення: Забезпечення точної транскрипції розмовної мови, сприяння роботі віртуальних помічників і голосових систем.[11][12]
Обробка зображень і відео: сприяння розпізнаванню об’єктів, розуміння сцени та аналізу відео в програмах реального часу.[13][14]
Бездротовий зв'язок: покращення обробки сигналу в системах бездротового зв'язку для кращої передачі та прийому даних.[15]
Прогнозування часових рядів
Фінансові ринки: прогнозування коливань фондового ринку та тенденцій для прийняття обґрунтованих інвестиційних рішень.[16][17][18]
↑Schrauwen, Benjamin, David Verstraeten, and Jan Van Campenhout.
«An overview of reservoir computing: theory, applications, and implementations.»
Proceedings of the European Symposium on Artificial Neural Networks ESANN 2007, pp. 471—482. (англ.)
↑Mass, Wolfgang, T. Nachtschlaeger, and H. Markram. «Real-time computing without stable states: A new framework for neural computation based on perturbations.»
Neural Computation 14(11): 2531—2560 (2002). (англ.)
↑Jaeger, Herbert, «The echo state approach to analyzing and training recurrent neural networks.» Technical Report 154 (2001), German National Research Center for Information Technology. (англ.)
↑Kirby, Kevin. «Context dynamics in neural sequential learning.» Proceedings of the Florida Artificial Intelligence Research Symposium FLAIRS (1991), 66-70. (англ.)
↑Gallicchio, Claudio; Micheli, Alessio (2013). Tree Echo State Networks. Neurocomputing. 101: 319—337. (англ.)