Назад

Проблематика адаптивности системы поддержки принятия решений в области нейросетевых технологий

А.Д. Стальнов*1, А.В. Григорьев*2

*1 студент, Донецкий национальный технический университет, anton.stalnov2000@mail.ru

*2 доцент, Донецкий национальный технический университет, grigorievalvl@gmail.com

Стальное А.Д., Григорьев А.В. Проблематика адаптивности системы поддержки принятия решений в области нейросетевых технологий. В данной статье рассмотрены базовые понятия, связанные с искусственными нейронными сетями. На основе данных, полученных в ходе анализа предметной области, был сформирован перечень ключевых критериев, которые необходимо учитывать при разработке адаптивной системы помощи принятия решений в области нейросетевых технологий. Определён набор принципов и технологических решений, способствующих адаптивности системы помощи.

Ключевые слова: искусственная нейронная сеть, адаптивность, искусственный нейрон, функция активации, слой, топология, перцептрон, система помощи принятия решений.

Введение

Изучая историю искусственных нейронных сетей, можно выделить ряд причин, которые снизили интерес научного сообщества к развитию данной отрасли. Основной причиной, вероятно, можно считать критику Марвином Минским самой модели перцептрона и демонстрация ограниченности его возможностей в книге «Перцептроны: введение в вычислительную геометрию» [1]. Кроме того, отсутствие внушительного количества данных для обучения моделей и ограниченность вычислительных мощностей также имели влияние.

В настоящее время ситуация обстоит куда лучше: разработаны более эффективные модели, многократно возросли вычислительные мощности и сформировались достаточные для обучения наборы данных. Потому неудивительно, что в настоящее время мы можем наблюдать бурное развитие нейросетевых технологий и их повсеместное внедрение во многие сферы деятельности человека.

Из-за огромного числа разнообразных реализаций и невозможности объективно оценить эффективность какой-либо из них, рядовые пользователи сталкиваются с трудностями в выборе программного обеспечения, которое могло бы решить поставленную перед пользователями задачу. Зачастую пользователь не разбирается в особенностях выбранного программного продукта и, опираясь на общие сведения (назначение сети), выбирает случайную нейронную технологию.

Следует отметить большую трудоемкость и сложность процессов подбора архитектуры нейронных сетей под специфику предметной области, в которой планируется применение нейронной сети, включая такие аспекты как: функция активации, топология сети, количество скрытых слоев, количество нейронов во входном слое и т.д.

Учитывая описанную выше ситуацию, возникает необходимость в разработке системы, позволяющей пользователю с меньшей трудоемкостью и пониженными требованиями к квалификации пользователя в области нейронных сетей, определиться с выбором архитектуры нейронной сети под задачу пользователя, т.е. – специфику предметной области.

Т.о., это делает актуальной задачу разработки методов и программных средств решения данной задачи.

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

Для достижения цели предполагается выполнение следующих действий:

Анализ технологии искусственных нейронных сетей

Адаптация – это способность приспосабливаться к условиям переменчивости окружающей среды. Транслируя данное понятие на пользовательский интерфейс, получаем следующее: способность пользовательского интерфейса приспосабливаться к условиям переменчивости набора данных, описываемых интерфейсом. Т.е. другими словами – возможность перестраиваться в случае, если пользователь внесёт какие-либо изменения в набор данных, которым оперирует данный интерфейс.

Искусственная нейронная сеть (ИНС), представляет собой математическую модель, основная идея которой – предоставить системе возможность самообучаться, посредством изменения внутреннего устройства системы. Идея модели навеяна биологическими нейронными сетями. ИНС это набор связанных искусственных нейронов.

Круглов В.В. и Борисов В.В. в своей книге «Искусственные нейронные сети: Теория и практика. – 2-е изд.» пишут об искусственном нейроне следующее: «Нейрон является составной частью нейронной сети. Он состоит из элементов трех типов: умножителей (синапсов), сумматора и нелинейного преобразователя» [2]. Таким образом, искусственные нейроны представляют собой вычислительные единицы, задача которых принимать данные (сигналы) от т.н. входных нейронов, связанных с ними синаптическими связями, производить вычисление и передавать сигнал, в случае необходимости. Каждая синаптическая связь обладает т.н. синапсом, который выступает в качестве веса связи. Решение об отправке сигнала зависит от т.н. нелинейного преобразователя – функции активации (иначе придаточной функции нейрона).

Производимые вычисление просты. Входное значение сигнала xn умножается на синапс wn, полученное произведение передаётся на вход, где складывается со всеми полученными ранее входными значениями. Далее сумма этих произведений передаётся в функцию активации, результат которой, в зависимости от вида функции, может быть как действительным, так и целым числом.

Рисунок 1 – Схема искусственного нейрона и одна из популярных функций активации

Для нашей задачи важно определить функцию активации искусственного нейрона, так по большей части именно от данной функции зависит поведение и обучаемость модели. В упомянутой ранее книге Круглов В.В. и Борисов В.В. приводят ряд примеров функций активации: линейная, полулинейная (иначе выпрямитель нейронной сети), логистическая (сигмоидальная), гиперболический тангенс (сигмоидальная), экспоненциальная, синусоидальная, сигмоидальная (рациональная), шаговая (линейная с насыщением), пороговая, модульная, знаковая (сигнатурная), квадратичная; особое внимания уделяя нелинейной функции активации с насыщением, так называемой логистической функции или сигмоиду (функция S-образного вида), поскольку функция возвращает значение в промежутке от 0 до 1, что делает данную функцию наиболее популярной (см. рис. 1).

Искусственные нейроны, собранные в сеть, представляют собой топологию сети (или архитектуру, если рассматривать уникальную топологию в качестве модели). Однако, прежде чем приступать к рассмотрению топологий, необходимо описать основные принципы нейропарадигм.

Парадигма (παραδειγμα) переводиться с греческого, как пример, модель, образец. Научная парадигма — принятая научным сообществом модель рациональной научной деятельности. Таким образом нейропарадигма является примером новой идеи механизма работы и обучения разума, и на практике представляет собой образец, состоящий из уникальной архитектуры искусственной нейронной сети и алгоритма её обучения.

Основные свойства нейропарадигм, сводятся к следующим принципам:

  1. Коннекционизм, принцип которого представлен в идее, из которой следует, что мыслительные процессы могут быть описаны сетями из взаимосвязанных простых элементов, поскольку механизмы работы разума схожи с обработкой знакового языка средствами цифровой вычислительной машиной. Формы связей зависят от конкретной модели. В рамках искусственных нейронных сетей элементами сети выступают искусственные нейроны, а связями — синапсы. В результате следования данному принципу в сети возникает нелинейность, которая разрушает линейную суперпозицию, из-за чего возможности сети многократно превосходят возможности отдельных искусственных нейронов, а специализация сетей не заложена заранее и обретается в ходе обучения, что обуславливает универсальность архитектур искусственных нейронных сетей.
  2. Локальность и параллелизм вычислений — основной принцип, который заключается в том, что искусственные нейроны реагируют на поступающие в данный момент времени сигналы от связанных с ними элементов сети без привязки к общему жизненному циклу системы, как это обычно происходит в ЭВМ.
  3. Программирование — обучение сети на основе поступающих данных. Данный принцип заключается в возможности изменять весовые значения связей, опираясь на результаты оценки эффективности системы, что в конечном счёте приводит к минимизации ошибок. Данный принцип увеличивает универсальность системы, поскольку позволяет формировать алгоритм в ходе самообучения с учётом специфики поставленной задачи.
  4. Универсальность обучающих алгоритмов. Принцип заключается в общем назначении обучающих алгоритмов — минимизации эмпирической ошибки. Регулирующее значение задаётся извне в зависимости от целей обучения. В ходе обучения значения весов синаптических связей корректируется с целью минимизировать ошибку.

Fjodor Van Veen в своей статье «THE NEURAL NETWORK ZOO» [3], собрал, изучил и описал внушительное количество уникальных архитектур нейронных сетей. Внешний вид архитектур и краткие пояснения к элементам он запечатлел в виде диаграммы графов. Конечно, данный список не может считаться исчерпывающим, так как сфера нейросетевых технологий развивается и возникают новые идеи и реализации. Однако, этого достаточно, чтобы сформировать полноценное представление о том, с чем зачастую сталкивается пользователь при выборе нейросетевой технологии, и — с чем предстоит справиться при создании адаптивной системы помощи в выборе нейросетевой технологии. Рассмотрим некоторые из архитектур, которые привёл Fjodor.

Изучая архитектуру, изложенную Фрэнком Розенблаттом в своей работе «Перцептрон: вероятностная модель хранения и организации информации в мозгу» [4], Fjodor описывает искусственные нейронные сети с прямой связью (Feed forward neural networks, FF-сети или FFNN) и перцептроны (P), внешний вид которых изображен в рис. 3, как простую и однонаправленную структуру с, как правило, полносвязными элементами соседних слоёв. Слои бывают трёх видов: входные, скрытые и выходные. Достаточное количество скрытых нейронов, в теории позволяет моделировать взаимосвязь между входом и выход, хотя на практике данная архитектура оказывается весьма ограниченной. Fjodor резюмирует, что данный вид архитектуры обычно объединяют с другими сетями, чтобы создавать новые.

Сети с радиальными базисными функциями (Radial basis function, RBF-сети) отличаются от FFNN только функциями активации (используются радиальные базисные функции).

Подобные сети обучают методом обратного распространения ошибки — метод вычисления градиента, который используется при обновлении весов. Данный метод был описан в работах А.И. Галушкина [5] и П.Дж. Вербоса [6]. Сети предоставляются данные о том, что в систему входит и что ожидается на выходе. Идея этого метода заключена в передаче сигналов ошибки от выхода сети к её входам. Подобный метод обучения называют «обучение с учителем».

Рисунок 3 — Искусственные нейронные сети с прямой связью

Ещё одной вариацией FFNN можно считать т.н. «Машину экстремального обучения» [7] (Extreme learning machines, ELM). Данная архитектура выглядит как FFNN, однако связи и значения весов подобраны случайным образом. Метод обратного распространения ошибки не применим. Веса корректируются одним шагом в соответствии с методом наименьших квадратов. Гуан-Бинь Хуанг утверждает, что такой подход позволяет системе обучается намного быстрее, чем при использовании метода обратного распространения ошибки.

Джеффри Элман в своей работе «Поиск структуры во времени» [8] описывает архитектуру рекуррентной нейронной сети (Recurrent neural networks, RNN). Идея архитектуры заключается в том, чтобы предоставить скрытым нейронам возможность сохранять информацию о своём состоянии и обращаться к этим данным в будущем. Применение данного подхода приведёт к тому, что изменение порядок активации искусственных нейронов будет оказывать влияние на результат.

Fjodor Van Veen, описывая данную архитектуру, отмечает, что RNN обладает проблемой т.н. «Взрывающегося градиента» — это ситуация, при которой информация быстро теряется с течением времени. Подобная проблема также свойственна очень глубоким FFNN. И хотя потеря значения весов не столь критична, ведь это не состояние искусственного нейрона, но в RNN все во времени хранит информацию из прошлого, а значит его потеря сделает предыдущее состояние менее информативным.

Майкл Джордан описал [9] схожую рекуррентную структуру. Отличие архитектуры Майкла от той, которую предоставил Джеффри Элман, в том, что памятью обладает вся система в целом. Перед выходом из сети данные сохраняются в памяти и передаются во входные искусственные нейтроны. Изображение сети Элмана и Джордана предоставлено в рис. 4.

Рисунок 4 — Архитектура рекуррентных искусственных нейронных сетей Элмана и Джордана

Найти применение RNN не сложно, в основном данная архитектура используется для областей, в которых данные не привязаны к временной шкале. RNN хорошо показывает себя в задачах генерации изображений и символов, в задачах распознавания образов, в задачах машинного перевода, автокоррекции и дополнения вводимых фраз. Основная сложность применения такой архитектуры в том, что её сложно обучить. Недостатком RNN является малый объём памяти. Ячейка памяти быстро перегружается, что приводит к возникновению ошибок.

С целью обойти упомянутые проблемы, свойственные традиционным рекуррентным сетям в 1997 году Зепп Хохрайтер и Юрген Шмидхубер в своей работе «Long short-term memory» [10] предоставили архитектуру, которая называется «Длинная цепь элементов краткосрочной памяти» (Long short-term memory, LSTM). Основной особенностью новой архитектуры было расширение возможностей ячейки памяти. В архитектуре сети присутствовали LSTM-модули, представляющие собой набор вентилей (иначе врат), которые, по назначению, можно именовать как вентили входа, выхода и забывания. Вентиль входа призван контролировать входящую информацию (решает какое количество информации должно быть сохранено в память), вентиль выхода призван контролировать выходящую информацию (решает какое количество данных необходимо передать следующему искусственному нейрону), а вентиль забывания призван контролировать объём памяти (решает есть ли необходимость помнить информацию). В результате сеть обрела способность запоминать информацию на произвольные промежутки времени, что позволило избавиться от проблемы перегрузки памяти потери градиента при использовании метода обратного распространения ошибки во времени.

В 2014 году ряд учёных: Chung Junyoung, Gulcehre Caglar, Cho KyungHyun и Bengio Yoshua, в своей работе «Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling» [11] предоставили вариацию LSTM, которую назвали «Управляемые рекуррентные блоки» (Gated Recurrent Units, GRU). В сравнении с LSTM, архитектура GRU быстрее, с ней проще работать, так как она имеет меньшее число параметров. Был пересмотрен механизм вентилей — вентили входа и выхода заменены вентилем обновления, а вентиль забывания заменён вентилем сброса. При этом, согласно приведенной информации, было доказано, что эффективность данной модели в задачах моделирования музыкальных и речевых сигналов сопоставима с LSTM.

Ещё одним из способов интерпретации FFNN выступает архитектура под названием «Автокодировщик» [12] (Autoencoder, AE). Основным отличием данной архитектуры от перцептрона является симметричность входа и выхода. Внешне топология данной архитектуры напоминает песочные часы. Подобная топология имеет чётко обозначенную задачу — заставить сеть выделять общие признаки из данных. Суть в том, чтобы получить на выходе отклик наиболее близкий ко входу. Для того, чтобы задача не была тривиальной, была изменена топология и введено ограничение на размерность данных. В скрытых слоях данные кодируются (сжимаются), при этом чем ближе к центру, тем более сжаты данные. Сеть можно обучить методом обратного распространения ошибки без учителя (что более естественно с точки зрения биологических сетей), если задавать ошибку равной разнице между входными и выходными данными. На рис. 5 предоставлено изображение описанной архитектуры, на котором X – входные данные, Z – сжатые данные, a X' – результат наиболее приближенные к значениям входа.

Рисунок 5 — Архитектура автокодировщика

В статье «Extracting and composing robust features with denoising autoencoders» [13] авторы описывают принцип работы т.н. «Шумоподавляющего автокодировщика» (Denoising autoencoders, DAE). Описанная архитектура является AE, на вход которого отправляют «зашумлённые» данные. Принцип обучения не меняется, т.е. данные выходного слоя сравниваются с подаваемыми на вход искаженными данными. Данный подход обладает некоторыми преимуществами — сеть учиться замечать более общие признаки, так как мелкие признаки теряются в «шуме».

Глубокая сеть доверия (Deep belief networks, DBN) — это многослойная глубокая нейросетевая архитектура, состоящая в основном из блоков AE или RBM (ограниченные машины Больцмана), соединённых между собой. В статье 2007 года «Greedy layer-wise training of deep networks» [14] была продемонстрирована эффективность поблочного обучения, причём каждый последующий блок должен лишь уметь кодировать (сжимать) предыдущий блок. Такой способ обучения называется методом жадного обучения, и заключается в выборе локальных оптимальных решений, что не может гарантировать оптимальный конечный результат. Сеть такой архитектуры можно обучить методом обратного распространения ошибки без учителя, что в конечном счёте позволит использовать сеть для генерации новых данных.

Рисунок 6 — «A mostly complete chart of Neural Networks»

Проблематика адаптивности системы помощи принятия решения в области искусственных нейронных технологий

В результате анализа технологий искусственных нейронных сетей было классифицировано некоторое множество популярных архитектур искусственных нейронных сетей. Информация, полученная в ходе классификации, позволяет выделить ряд структурных особенностей (признаков), однозначно характеризующих архитектуры. Таким образом, мы можем выделить следующий набор критериев, которые будут учитываться при разработке системы поддержки принятия решения в области нейросетевых технологий: архитектура, функция активации, метод обучения, количество скрытых слоёв, количество входных искусственных нейронов, количество скрытых искусственных нейронов, количество выходных искусственных нейронов, тип связиости.

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

Однако, даже для самого базового уровня помощи, когда система должна помочь определиться с оптимальной топологией (архитектурой) сети, система должна уметь охарактеризовать цель, которую преследует пользователь. Нельзя абстрагироваться от задач пользователя, сформировав только базу характерных «технических» особенностей архитектур искусственных нейронных сетей, поскольку эффективность архитектур разнится от задачи к задаче.

К примеру, в задачах классификации образов свёрточные сети проявляют себя гораздо лучше, чем любая из классических RNN. Очевидно, что подобные знания играет важную роль и умение оперировать ими необходимо для эффективности и адекватности выдаваемых системой результатов. Тем не менее, факт того, что свёрточная сеть имеет большую эффективность в задачах классификации образов, не позволяет игнорировать другие архитектуры. Пользователь должен иметь возможность выбора и, в случае возникновения неоднозначности, пользователя необходимо каким-либо образом подтолкнуть к правильному выбору. К примеру, можно внедрить в систему какой-либо отличительный маркер, указывающий на наиболее эффективное решение и добавить возможность сортировать список моделей по эффективности. Ещё одним вариантом стимуляции пользователя может выступать система сбора статистики использования моделей или система отзывов, в которой пользователи смогут описать свой опыт в использовании выбранной модели.

Таким образом, основной задачей разработчика системы помощи является необходимость сформировать мощную базу знаний. Важно, чтобы база знаний была актуальна, потому необходимо разработать методы, позволяющие легко пополнять базу новыми решениями. Такими методами могут выступать регулярные выражения поиска данных в структурированных (иерархичных) файлах формата XML, JSON, HDF и прочих подобных форматов. В таких файлах могут содержаться «технические» данные искусственной нейронной сети (функция активации, количество слоёв, метод обучения и прочие). Автоматизировать сбор «специфических» данных сложнее. У некоторых готовых продуктов может быть пользовательский интерфейс, который можно обработать синтаксическими анализаторами с целью получить назначение системы и перечень параметров, характеризующих особенности возвращаемого моделью результата. Хорошо, когда вместе с программным решением разработчик или генератор сети формирует и предоставляет файл или набор файлов со всеми искомыми данными. В крайнем случае, подобные файлы придётся формировать вручную для заполнения базы знаний.

Очевидно, что подобная система помощи должна обладать не менее мощным пользовательским интерфейсом. Интерфейс должен обладать системой поиска, которая должна пополнятся новыми параметрами с ростом базы знаний. Существует множество разнообразных способов визуализировать модуль поиска, однако наиболее оптимальными, вероятно, можно считать следующие модели:

  1. Диалоговый интерфейс: Помощь в выборе происходит посредством диалога с пользователем. Пользователю поэтапно предлагается определить спецификацию сети и технические характеристики. В ходе диалога пользователь выбирает предложенные варианты, которые хранятся в базе знаний, а не задаёт собственноручно, что увеличивает вероятность получить желаемый результат и снижает количество ошибок. Пользователь должен иметь возможность свободно перемещаться между этапами диалога, чтобы иметь возможность изменить свой выбор в любой момент. Как вариант, можно демонстрировать пользователю перечень выбранных критериев отдельно от диалога и предоставить возможность быстро переместиться в этап, соответствующий критерию, путём нажатия на него. Наличие возможности частично изменить набор параметров в модуле поиска неминуемо влечет возникновение исключительных ситуаций, связанных с необходимостью отменить выбор более поздних критериев. Конфликтующие параметры должны сбрасываться.
  2. Интерфейс с выбором критериев: Помощь в выборе происходит путём выбора (активации чекбоксов) необходимых критериев из кучи. Пользователю предоставлены абсолютно все критерии. Их количество зависит от мощности базы знаний, что может дезориентировать пользователя. Потому все критерии должны быть организованы в группы, например: назначение, специфика, размеры, методы обучения, функции активации и другие группы, в которых стандартным значением будет «не выбрано». Определённые критерии (например количество слоёв), должны сопровождаться списками, в которых можно будет выбрать доступное числовое значение. Конфликтующие критерии должны деактивироваться, если не использовались пользователем ранее или сбрасывать значение, в случае списков со значениями. Каждый деактивированный параметр, который ранее был использован пользователем должен подсвечиваться или выделяться каким-либо другим образом до тех пор, пока пользователь не обратит на него внимание.

Первая модель интерфейса более предпочтительна, поскольку имеет более строгую последовательность выбора и пользователю проще обратить внимание на сброс какого-либо критерия. Также можно выделить третий тип интерфейса, который будет совмещать описанные выше особенности, например, критерии в диалоге будет располагаться в виде кучи, соответствующей этапу диалога.

Заключение

В данной статье был проведен анализ технологий искусственных нейронных сетей, в ходе которого были рассмотрены основные понятия и некоторые архитектуры искусственных нейронных сетей. На основе полученных в результате анализа данных был сформирован ряд критериев, которые можно использовать в системе помощи принятия решений в области искусственных нейронных технологий в качестве характеристики нейропарадигм.

Фактически сформирован ряд структурных особенностей архитектур нейронных сетей, отличающихся функционалом, что открывает возможность выбора той или иной архитектуры, имеющей те или иные структурные особенности, исходя из значений ряда признаков предметной области.

В этом случае становится необходимым инструментарий сравнения тех или признаков предметных областей, характеризующих те или иные архитектуры нейронных сетей с целью свести выбор нейронных сетей к специфике предметной областей.

В случае неоднозначности выбора архитектуры нейронной сети необходимо обеспечить оптимизацию выбора по тем или иным критериям (быстродействие, минимальное число нейронов и т.д.).

Был сформирован ряд принципов, которые необходимо учитывать при создании адаптивной системы помощи принятия решений.

Для поддержания адаптивности было предложено несколько моделей пользовательского интерфейса и несколько способов автоматизировать поиск данных, характеризующих нейронные сети.

Результаты анализа и предложенные решения можно использовать при создании новых или модификации существующих редакторов искусственных нейронных сетей, что позволит потенциально повысить их эффективность и снизить требования к квалификации пользователя в области искусственных нейронных сетей.

Список литературы

1. Минский М., Пейнерт С. Перцептроны / пер. с англ. Г. Л. Гимельфарба, В. М. Шарыпанова ; под ред. В. А. Ковалевского. – М. : Мир, 1971. – 261 с.
2. Круглов В. В., Борисов В. В. Искусственные нейронные сети: Теория и практика. – 2-е изд. – М. : Горячая линия – Телеком, 2002. – 382 с.
3. Van Veen F. The Neural Network Zoo [Электронный ресурс]. – 2016. – URL: https://www.asimovinstitute.org/neural-network-zoo/
4. Rosenblatt F. The perceptron: a probabilistic model for information storage and organization in the brain // Psychological Review. – 1958. – Vol. 65, № 6. – P. 386–408.
5. Галушкин А. И. Синтез многослойных систем распознавания образов. – М. : Энергия, 1974. – 368 с.
6. Werbos P. J. Beyond regression: New tools for prediction and analysis in the behavioral sciences : дис. … д-ра философии. – Harvard University, 1974. – 454 p.
7. Huang G.-B., Zhu Q.-Y., Siew C.-K. Extreme learning machine: theory and applications // Neurocomputing. – 2006. – Vol. 70, № 1. – P. 489–501.
8. Elman J. L. Finding structure in time // Cognitive Science. – 1990. – Vol. 14, № 2. – P. 179–211.
9. Jordan M. I. Serial Order: A Parallel Distributed Processing Approach : технич. отчет № ICS-8604. – University of California, San Diego, 1986. – 61 p.
10. Hochreiter S., Schmidhuber J. Long short-term memory // Neural Computation. – 1997. – Vol. 9, № 8. – P. 1735–1780.
11. Chung J., Gulcehre C., Cho K., Bengio Y. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling : препринт arXiv:1412.3555. – 2014. – 9 p.
12. Bourlard H., Kamp Y. Auto-association by multilayer perceptrons and singular value decomposition // Biological Cybernetics. – 1988. – Vol. 59, № 4–5. – P. 291–294.
13. Vincent P., Larochelle H., Bengio Y. Extracting and composing robust features with denoising autoencoders // Proceedings of the 25th International Conference on Machine Learning (ICML). – 2008. – P. 1096–1103.
14. Bengio Y., Lamblin P., Popovici D., Larochelle H. Greedy layer-wise training of deep networks // Advances in Neural Information Processing Systems (NIPS). – 2007. – Vol. 19. – P. 153–160.