Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
5.2.5 Рекуррентные нейронные сети
5.2.5.1 Обсуждение теоретической возможности
Возможность создания рекуррентных нейронных сетей, то есть таких сетей, в которых цепи распространения сигнала могут образовывать петли, рассматривалась ещё Мак-Каллоком и Питтсом. Рекуррентная нейронная сеть, по сути дела, обладает памятью, а значит, удобна для обработки последовательностей стимулов. Получая стимул на вход, рекуррентная нейронная сеть использует для вычисления выходного сигнала не только входные сигналы, соответствующие данному импульсу, но и сигналы, циркулирующие в контурах сети. Можно сказать, что под влиянием входных сигналов рекуррентная сеть может изменять своё внутреннее состояние, которое влияет затем на выходы сети.
Всё это довольно сильно напоминает работу конечного автомата, и неслучайно. Стивен Клини, один из пионеров теории конечных автоматов, был хорошо знаком с работами Мак-Каллока и Питтса и использовал их идеи в качестве отправной точки собственных исследований. Клини формализовал наборы входных последовательностей, которые приводили сеть Мак-Каллока — Питтса в заданное состояние, а позже Минский показал, что любой конечный автомат
1483
Arbib M. Review of “Computation: Finite and Infinite Machines” (Minsky, Marvin; 1967) / IEEE Transactions on Information Theory, 1968; 14:354–355 // https://doi.org/10.1109/TIT.1968.1054133
Сети с рекуррентными связями упоминаются в работах классиков коннекционистского подхода, например у Розенблатта и Галушкина, причём у первого их анализу посвящена значительная часть его основного теоретического труда. Однако на практике рекуррентные сети в 1960-е и 1970-е гг. использовались крайне редко. Действительно, довольно очевидно, что естественные нейронные сети содержат циклы. Но как должен выглядеть эффективный способ обучения такой сети, если даже для нерекуррентных глубоких сетей он на тот момент не был известен? Для реализации механизма памяти вполне подходят изменяемые синаптические веса. При обработке последовательностей в большинстве случаев можно использовать фиксированное окно (т. е. на каждом шаге обработки на вход модели подаётся фрагмент последовательности фиксированной длины, заканчивающийся текущей позицией), охватывающее достаточный по длине фрагмент последовательности, как это делается, например, в TDNN. И тем не менее рекуррентные нейронные сети привлекали внимание коннекционистов с самого начала — благодаря своей универсальности.
В «Принципах нейродинамики» Розенблатт вводит понятие перцептрона с перекрёстными связями [cross-coupled], то есть такого перцептрона, в котором некоторые связи соединяют нейроны одного и того же типа (S, A или R), находящиеся на одинаковом «логическом расстоянии» от S– блоков, причём все другие соединения относятся к последовательному типу. Это определение допускает наличие циклов распространения сигнала в пределах одного слоя (сигнал не может вернуться из A– слоя в S– слой, но может циркулировать между нейронами A– слоя, однако в такой сети понятие A– слоя становится достаточно условным, поскольку этот слой топологически может объединять в себе произвольное число слоёв нерекуррентной сети). По этому поводу Розенблатт пишет следующее: «Наиболее интересными свойствами перцептронов с перекрёстными связями являются те, которые возникают в результате возможности создания замкнутых цепей обратной связи (циклов) в сети». Он также отмечает, что при наличии циклов состояние сети в каждый момент времени становится функцией не только текущего сенсорного входа и сигналов, передаваемых в моменте, но и предыдущей последовательности входов и прошлых состояний активности. В свете этого становится важным вопрос о стабильности сети: некоторые подобные сети, единожды получив на вход стимул, перейдут в состояние полной активности, которая не даст каким-либо дополнительным стимулам произвести какое-либо воздействие на них, другие будут порождать колебания, а третьи придут в стабильное неизменное состояние. Изучению адаптивных процессов в перцептронах с перекрёстными связями и замкнутыми цепями Розенблатт посвящает всю 19-ю главу «Принципов нейродинамики». И это не всё — в тексте упомянуты ещё и перцептроны с обратными связями [back-coupled], в которых сигнал может возвращаться в предшествующие слои сети [1484] . Вообще, книга Розенблатта прекрасна тем, что её автор в некотором роде изобрёл практически всё, что только можно. Здесь вы найдёте и идею внимания [attention], благодаря развитию которой в последние годы удалось продвинуться в решении многих сложных задач искусственного интеллекта, и рекуррентные сети, и сети с изменяемой топологией, и зачатки идей о свёрточных сетях и обратном распространении ошибки, и даже бимодальные перцептроны, получающие на вход одновременно визуальные и звуковые стимулы [1485] . Многие идеи Розенблатта всё ещё ждут тех, кто изучит их с применением современных методов и аппаратных ресурсов и, возможно, найдёт в них зачатки новых, более продвинутых нейросетевых моделей и методов.
1484
Rosenblatt F. (1961). Principles of Neurodynamics. Perceptrons and the Theory of Brain Mechanisms. Cornell aeronautical lab inc., Buffalo, New York. Defense Technical Information Center // https://books.google.ru/books?id=Tk2tDAEACAAJ
1485
Rosenblatt F. (1961). Principles of Neurodynamics. Perceptrons and the Theory of Brain Mechanisms. Cornell aeronautical lab inc., Buffalo, New York. Defense Technical Information Center // https://books.google.ru/books?id=Tk2tDAEACAAJ
Самому Розенблатту не довелось на практике продвинуться в изучении рекуррентных сетей, и в этой сфере на многие годы воцарилось относительное затишье, нарушенное только в 1980-е гг.
К тому времени исследования первой волны коннекционистов были во многом забыты. Некоторые специалисты в области нейронных сетей считали тогда, что вклад Розенблатта ограничивался созданием лишь однослойного перцептрона. Весьма характерна переписка на Stack Exchange по поводу истоков рекуррентных нейронных сетей. Один из пользователей жалуется, что может найти исходную публикацию по одной из современных рекуррентных нейросетевых архитектур, но никак не может отыскать работу, которая ввела в оборот стандартную («ванильную», vanilla)
1486
Tarique A. (2018). Where can I find the original paper that introduced RNNs? / StackExchange: Artificial Intelligence // https://ai.stackexchange.com/questions/8190/where-can-i-find-the-original-paper-that-introduced-rnns
Если не принимать в расчёт Фукусиму, у которого при описании архитектуры когнитрона упоминается механизм обратного латерального торможения [backward lateral inhibition] (когда активация нейрона вызывает ослабление сигнала в смежных нейронах предыдущего слоя) лишь для того, чтобы получить немедленную замену в виде прямого [forward] латерального торможения (когда активация нейронов вызывает ослабление сигнала в соседних нейронах того же слоя) в целях ускорения вычислений, то серьёзные исследования в отношении рекуррентных нейронных сетей были предприняты лишь через два десятилетия после выхода в свет «Принципов нейродинамики». Ими заинтересовалась исследовательская группа PDP Румельхарта, в которую среди прочих входили психолингвист Джеффри Элман и когнитивист Майкл Джордан [1487] .
1487
Nilsson N. J. (2009). The Quest for Artificial Intelligence. Cambridge University Press // https://books.google.ru/books?id=nUJdAAAAQBAJ
5.2.5.2 Предложения и проблемы
В университетском курсе по искусственному интеллекту две фамилии непрестанно следуют друг за другом: Элман и Джордан, Джордан и Элман. Прямо как Бивис и Баттхед — в наши дни их почти невозможно встретить поодиночке. О сетях Элмана и Джордана, в силу их архитектурного сходства, всегда рассказывают в одной лекции, для них даже изобретено обобщающее название — простые рекуррентные нейронные сети (Simple recurrent neural network, SRNN).
И всё-таки, несмотря на название, сети Элмана и Джордана не так уж просты, в их основе лежит определённая регулярная структура. От простой рекуррентной сети можно было бы ожидать наличия у неё полносвязной рекуррентной архитектуры — например, это могла бы быть полносвязная сеть с одним промежуточным слоем, в которой каждый нейрон промежуточного слоя, помимо связи с нейронами выходного слоя, имел бы рекуррентную связь с каждым другим нейроном промежуточного слоя. Такая сеть вполне ожидаемо называется полносвязной рекуррентной нейронной сетью (Fully connected recurrent neural network, FCRNN). Эти сети обычно не представляют особого интереса для исследователей, и из редких исследований, посвящённых полносвязной рекуррентной архитектуре, мы можем узнать немногим более одного вполне очевидного факта — обучение такой сети требует очень больших вычислительных затрат [1488] .
1488
Dobnikar A., Ster B. (2009). Structural Properties of Recurrent Neural Networks / Neural Processing Letters, Vol. 29, pp. 75—88 // https://doi.org/10.1007/s11063-009-9096-2
Идея сети Элмана заключается в том, чтобы к обычной нерекуррентной полносвязной сети с l нейронами (и Элман и Джордан используют для нейронов термин «единицы», «блоки» [units], что подчёркивает тот факт, что речь в данном случае идёт не о биологических нейронах) в ассоциативном слое добавить ещё l специальных нейронов состояния [state neurons]. Каждый из этих нейронов связан с соответствующим ему нейроном ассоциативного слоя парой связей — прямой и обратной. Таким образом, на каждом шаге каждый ассоциативный нейрон будет с некоторым весом получать вход от соединённого с ним нейрона состояния, а затем с некоторым весом передавать в него свой выход. Фактически нейроны состояния в данном случае выполняют роль памяти модели [1489] .
1489
Elman J. (1990). Finding structure in time / Cognitive Science, 14(2), pp. 179–211 //90002-e
Сеть Джордана отличается от сети Элмана только тем, что нейроны рекуррентного слоя получают входы не от нейронов ассоциативного слоя, а от нейронов выходного слоя сети. Таким образом, в рекуррентный контур включаются не два нейрона (ассоциативный и рекуррентный), а три (ассоциативный, выходной и рекуррентный).
Важно отметить, что сети Элмана и Джордана часто изображают в виде неполных диаграмм, включающих в себя не все имеющиеся в них связи. Начало этой порочной практике положили сами авторы — диаграмма, приведённая в статье Джордана, содержит в подписи соответствующее предупреждение. Чтобы избежать путаницы, автор приводит отдельную табличку, в которой перечислены все имеющиеся в сети связи. Все нейроны сети Джордана (как и сети Элмана) разделены на четыре группы: плановые [plan], нейроны состояния [state], скрытые [hidden] и выходные [output]. Плановые нейроны и нейроны состояния в сумме составляют входные нейроны сети, такая группировка использована, по всей видимости, для того, чтобы подчеркнуть порядок выполняемых сетью вычислений. Давайте вместе попробуем разобраться в табличке Джордана.
Сумеречный Стрелок 2
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
рейтинг книги
Завод 2: назад в СССР
2. Завод
Фантастика:
попаданцы
альтернативная история
фэнтези
рейтинг книги
Измена
Любовные романы:
современные любовные романы
рейтинг книги
Звездная Кровь. Изгой II
2. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
рейтинг книги
Надуй щеки! Том 5
5. Чеболь за партой
Фантастика:
попаданцы
дорама
рейтинг книги
На границе империй. Том 4
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
рейтинг книги
Беглец
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
рейтинг книги
Зауряд-врач
1. Зауряд-врач
Фантастика:
альтернативная история
рейтинг книги
Бывшие. Война в академии магии
2. Измены
Любовные романы:
любовно-фантастические романы
рейтинг книги
Бастард Императора. Том 2
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Адвокат империи
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
рейтинг книги
Товарищ "Чума" 2
2. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
рейтинг книги
Адептус Астартес: Омнибус. Том I
Warhammer 40000
Фантастика:
боевая фантастика
рейтинг книги
