Неклассические искусственные нейронные сети

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

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

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

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

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

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

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

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

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

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

Идея очень красивая, и, на первый взгляд, может показаться, что она решает все проблемы. Но остается основной вопрос: как должны вести себя нейроны, чтобы правильно настроить свои связи? Попытка построения искусственной системы на основе данных принципов описана в книге 1990 года «Интеллектуальная квазибиологическая система: Индуктивный автомат» Леонида Борисовича Емельянова-Ярославского, который, в частности, использовал опорный тезис: «разряд в нейроне нужен самому нейрону», считая, что «понять работу мозга можно, только ответив на вопрос: зачем мозг составляющим его нейронам?» — и пытался из слабоорганизованного множества нейронов, поставленных в условия ограниченного питания, получить нейронную сеть, обеспечивающую адекватное поведение организма в целом. На сходных принципах основана идея активных нейронов, описанная Александром Львовичем Шамисом в книге 2006 года «Пути моделирования мышления: Активные синергетические нейронные сети, мышление и творчество, формальные модели поведения и „распознавание с пониманием”» и дополненная некоторыми идеями синергетики. Причем, по заверению автора, именно эти идеи доведены до практической реализации в прикладных программах Графит, FineReader-рукопись и FormReader (ABBYY), хотя насколько в чистом виде они там применены, сказать трудно.

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

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

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

Во-первых, нейроны отличаются между собой морфологически и функционально (существует множество достаточно четко различающихся между собой типов нервных клеток), и даже тем, какие медиаторы они используют. Видимо, в  таком делении должен быть глубокий смысл, но он остается пока не до конца понятым. Во-вторых, существуют глиальные клетки, о которых кратко упоминалось ранее. Напомним, что глиальных клеток на порядок больше, чем нейронов. До недавнего времени большинством ученых считалось, что глиальные клетки выполняют лишь вспомогательные функции, например, разделяют нейроны между собой и служат для них опорой. Было известно о том, что именно глия обеспечивает питание нейронов. Но неужели основная часть (примерно 90 %) клеток в мозге не участвует в мышлении? В ряде недавних экспериментов было установлено, что между нейронами и глиальными клетками действительно идет двунаправленный обмен сигналами. Имеющиеся данные позволили создать модель трехстороннего синапса, образованного двумя нейронами (пре- и постсинаптическим) и астроцитом (зведообразной клеткой, относящейся к отдельному подтипу глиальных клеток). В отличие от нейронов астроциты передают медленно меняющиеся сигналы большой длительности (до десятков секунд) на малые расстояния. Эти сигналы могут влиять на проводимость трехстороннего синапса путем высвобождения дополнительных нейромедиаторов. Значит, вполне возможно, что глиальные клетки участвуют в обеспечении пластичности межнейронных связей, т. е. в процессе научения. Отсутствие описания именно этого процесса делает модели нейронных сетей столь неполными.

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

formula_22

 

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

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

Это очень важный для теории искусственных нейронных сетей результат. Ведь до этого ИНС не были самостоятельными, они опирались на традиционные алгоритмы именно в той части, в которой должны были их превосходить, — в обучении. Относительно ИНГС можно, по крайней мере, сказать, что они учатся сами.

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

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

Итак, прохождение сигнала через некоторые синапсы влияет не на активность нейронов, а на проводимость других синапсов! Это означает, что «веса связей» между нейронами могут меняться не только медленно в процессе обучения, но и динамически, под влиянием текущей информации. Но кто знает, насколько большую роль это играет в пластичности нервной системы? И сколько всего мы еще не знаем про нейроны! Ведь все, о чем шла речь, касалось лишь корректировки имеющихся связей. А как аксоны или дендриты нейронов растут и устанавливают «нужные» контакты? В ИНС же рассматриваются либо полносвязные сети, либо фиксированные архитектуры. Первое нереалистично для большого числа нейронов, а второе накладывает существенные ограничения на возможности обучения. Сейчас накапливаются данные о том, что глия также направляет и рост дендритов нейронов, т. е. управляет не только проводимостью имеющихся синапсов, но и образованием новых связей.

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

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