Модели ассоциативной памяти

Какое основное ограничение в структуре перцептрона? Число слоев и нейронов в ней не ограничено. Но вот распространение сигнала всегда идет в одном направлении. В результате сеть работает по принципу «стимул—реакция», а ее обучение в чем-то похоже на модель формирования рефлекторной дуги. Почему бы ни сделать сеть с более сложными связями? Конечно, какие-то нейроны в сети должны быть входными, а какие-то — выходными, иначе сеть нельзя будет поместить в некоторую среду или использовать при решении задач. Но все остальные связи между «внутренними» нейронами можно было бы сделать произвольными.

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

Как же будет вести себя такая сеть? В случае прямого распространения сигнала все выглядит достаточно просто: стимул один раз проходит через сеть, преобразуясь и вызывая какой-то отклик на выходе. Но при наличии обратных связей активация нейронов второго слоя вызовет обратное распространение сигнала к нейронам первого слоя, активность которых в результате этого изменится, они станут посылать новые сигналы на нейроны второго слоя и так далее. Если же и между нейронами одного и того же слоя есть связи, то ситуация еще больше усложнится. Видно, что активность всех нейронов, в том числе и выходных, все время будет меняться, тогда как в перцептроне (сети прямого распространения) сигнал лишь один раз проходит через сеть, на чем работа этой сети заканчивается, пока не изменится входной сигнал.

Если считать, что обычный перцептрон реализует некоторую функцию — логическую (предикат) или вещественную, то сеть с обратными связями будет воплощать функцию (или систему функций), которая вызывает сама себя, т. е. рекурсивную функцию. Такие сети по аналогии называются рекуррентными.

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

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

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

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

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

Интересна возможность использования сети Хопфилда в задачах оптимизации — при поиске приближенных решений NP-полных задач. Об этом типе задач мы много говорили ранее при обсуждении методов эвристического программирования. Использовать данные сети для игры в шахматы затруднительно, но некоторые более простые и в то же время полезные задачи с их помощью решать удается. Итеративная релаксация сети соответствует поиску решения. Это весьма интересно, поскольку показывает возможности применения ИНС и в задачах, традиционно решавшихся в рамках символьных вычислений. Однако обсуждение задач поиска и оптимизации уведет нас в сторону от проблемы обучения, тем более что при решении этих задач нейронные сети не обучаются, а связи в них жестко выбираются на основе исходных данных задачи.

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

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

Из-за широкого использования компьютеров мы привыкли называть памятью различные устройства хранения информации и считать, что человеческая память работает аналогичным образом. Такая компьютерная метафора распространена не только в быту; еще раньше она возникла (и до сих пор нередко используется) в когнитивной психологии, занимающейся изучением познавательных (когнитивных) способностей человека. Конечно, на «аппаратном» уровне память человека и компьютера устроена совершенно по-разному, но функцию она выполняет как будто одну и ту же — сохранение информации. И даже традиционное для когнитивной психологии разделение памяти на кратковременную и долговременную сходно с разделением в компьютерах оперативной памяти и носителей информации. Такое разделение иногда критикуется психологами, но оно обосновано нейрофизиологически: кратковременная память не связана с синаптической пластичностью, блокирующейся некоторыми веществами, введение которых мешает долговременному, но не кратковременному запоминанию. Оперативная память, как правило, быстрее, но меньше по объему, и является энергозависимой. Между кратковременной и долговременной памятью есть такие же различия, правда, объем кратковременной памяти человека делает ее больше похожей на кэш-память (ее иногда называют сверхоперативной памятью).

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

Искусственные нейронные сети не раскрывают тайн человеческой памяти, но некоторые интересные наблюдения позволяют сделать. К примеру, в нейросетевых моделях ассоциативной памяти образы хранятся распределенно: каждая связь в такой сети содержит крупицу информации обо всем образе (и обо всех запомненных образах) сразу. Если бы образы покомпонентно хранились в последовательных ячейках памяти, стирание одной ячейки приводило бы к повреждению одной конкретной компоненты одного образа, а зашумление некоторого количества подряд идущих ячеек приведет к полной потере одного из образов. В случае же с ИНС все образы сохранятся, хотя и в немного искаженном виде. Это чем-то похоже на голограмму, даже с помощью небольшого кусочка которой можно воспроизвести записанное изображение целиком, хотя и заметно менее четкое. Аналогию между человеческой памятью и голограммой высказывал К. Прибрам еще в начале 1970-х годов в книге «Языки мозга».

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

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

Другой интересной особенностью нейросетевых моделей ассоциативной памяти является их способность «самостоятельно» делать ошибки. Что же в этом хорошего? Представьте, что испытуемым предъявляют какие-то объекты, которые им нужно запомнить, а потом воспроизвести, а нам нужно промоделировать ошибки при воспроизведении. Если бы мы писали компьютерную программу, которая запоминала те же объекты, что и человек, то для того, чтобы добиться ошибок воспроизведения от этой программы, нам бы пришлось как-то искусственно эти ошибки вводить (на аппаратные сбои памяти при этом вряд ли стоит надеяться). Сети Хопфилда или Коско совершают ошибки в основном из-за своей ограниченной емкости. Если же ограничение на объем памяти ввести в обычной компьютерной программе, она будет запоминать ограниченное число объектов, но не ошибаться при воспроизведении так же, как человек. Однако эта особенность — тоже следствие различий между распределенными и локальными представлениями. В локальных представлениях при нехватке памяти новый образ может просто записывать поверх старого. В распределенных представлениях образы будут как бы накладываться друг на друга.

Интересно также, что при совершении ошибки рекуррентная ИНС сходится к состоянию релаксации в среднем дольше обычного. Нейронная сеть как бы «сомневается» в своем решении. Сходные сомнения часто испытывает и человек. Возможно, ошибки, совершаемые человеком при запоминании, неплохо описываются моделями с распределенным хранением информации. Но ведь причиной ошибок в нейросетевых моделях является не само распределенное хранение информации, а очень небольшой объем памяти из-за малого числа нейронов. Неужели и у человека причиной ошибок является ограниченный объем памяти? Это представляется весьма сомнительным с учетом миллиардов нейронов, которые могли бы участвовать в организации памяти (в том числе и кратковременной, объем которой считается смехотворно малым — 7±2 элемента).

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