Нейрокомпьютеры, нейронные сети — что это, модное увлечение или новое прорывное направление? Однозначного ответа на данный вопрос нет. Как заметил один из наиболее авторитетных специалистов в этой области А. Горбань, “вступая в творческую игру, мы не можем знать, чем она кончится, иначе это не Игра” [1]. Однако ряд практических результатов, полученных отечественными исследователями, позволяет надеяться на то, что достигнутые успехи — не улыбка Фортуны, а закономерный результат.
История развития искусственных нейронных сетей (ИНС) знает три периода. Возникновение нейроматематики связывают с опубликованной в 1943 году работой МакКаллока и Питтса [2]. Однако практическая реализация ИНС стала возможной спустя почти 20 лет — перцептрон Розенблатта [3], “Адалин” Уидроу, система “Альфа” Ивахненко и др. Тогда же появляется работа Минского и Пейперта [4], показавших ограниченные возможности простейшего перцептрона. Выводы Минского и Пейперта погасили энтузиазм большинства исследователей, да и чиновников, ведавших финансированием исследований. Затишье, продлившееся до начала 80-х годов, было нарушено моделью Хопфилда (1982 год) [5] и алгоритмом обратного распространения для обучения многослойного перцептрона (многослойные сети прямого распространения), впервые предложенным Вербосом [6] и независимо разработанным рядом других авторов. Алгоритм получил известность благодаря Румельхарту [7] в 1986 году.
Объем статьи не позволяет подробно рассказать о нейросетевых технологиях. Определим лишь основные положения. Под нейронными сетями понимают некую вычислительную структуру, состоящую из множества простых вычислителей, объединенных системой связи той или иной топологии. Подобные структуры отличаются такими свойствами, как массовый параллелизм, распределенное представление информации и вычисления, способность к обучению и обобщению, адаптивность, устойчивость к неточной обучающей информации.
Основные задачи, решаемые ИНС, — классификация образов, кластеризация/категоризация (классификация образов “без учителя”), предсказание/прогнозирование, оптимизация и управление, построение ассоциативной памяти (память, адресуемая по содержанию) и многое другое.
Модель нейрона
В качестве модели нейрона МакКаллок и Питтс [1] предложили использовать бинарный пороговый элемент. Этот математический нейрон вычисляет взвешенную сумму n входных сигналов xj, j = 1, 2... n, и формирует на выходе сигнал “1”, если эта сумма превышает определенный порог Т, и “0” — в противном случае. Положительные веса соответствуют возбуждающим связям, а отрицательные — тормозящим. МакКаллок и Питтс доказали, что при соответствующим образом подобранных весах совокупность параллельно функционирующих нейронов подобного типа способна выполнять универсальные вычисления. Здесь наблюдается определенная аналогия (на уровне представлений 40-х годов) с биологическим нейроном: передачу сигнала и взаимосвязи имитируют аксоны и дендриты, веса связей соответствуют синапсам, а пороговая функция отражает активность сомы.
В современном представлении нейронные сети — это объединение типовых элементов обработки (нейронов) в соответствии с неким правилом, называемым парадигмой. Нейрон характеризуется вектором весовых коэффициентов и видом активационной функции (рис. 1).
Вектор входных сигналов x=(х1,...хn) перемножается с вектором весовых коэффициентов wj и преобразуется в соответствии с функцией активации f(·). Иногда в схеме присутствует дополнительный параметр Tj, связанный с весовым коэффициентом woj. Обычно woj считают неотъемлемой частью вектора весовых коэффициентов wj. Тогда алгоритм функционирования нейрона можно записать в виде
В качестве активационной часто применяют сигмоидальные (вида f(x)=(1+e-ax)-1) и пороговые функции (рис. 2).
Нейронные сети
ИНС может рассматриваться как направленный граф со взвешенными связями, в котором искусственные нейроны являются узлами. По архитектуре связей ИНС делятся на два класса: сети прямого распространения, в которых графы не имеют петель, и рекуррентные сети, или сети с обратными связями. К первому классу относятся, например, одно- и многослойные перцептроны. Представители второго класса — сети Хопфилда, Кохонена, Гроссберга... Сейчас описано более 30 различных нейросетевых парадигм. Кратко остановимся лишь на некоторых из них.
Среди наиболее популярных сетей — многослойные перцептроны (рис. 3). Они состоят из слоя входных узлов, скрытых слоев и выходного слоя, соединенных последовательно в прямом направлении и не содержащих связей между элементами внутри слоя, а также обратных связей между слоями.
Многие задачи, решаемые ИНС, сводятся к классификации входных данных по заданному набору классов. Геометрически интерпретируя работу ИНС, можно увидеть, что фактически они разбивают пространство возможных решений (или пространство признаков) некими гиперплоскостями (для однослойного перцептрона они описываются выражением S xiwij=Tj). Области, ограниченные этими гиперплоскостями, являются областями определения отдельных классов. Например, для однонейронного перцептрона с двумя входами гиперплоскостью является прямая x1w1+x2w2=T. Из рис. 4 видно, что такой перцептрон не способен разделить плоскость на две полуплоскости так, чтобы для входов x1 и x2 реализовать логическую функцию “исключающее ИЛИ”. Для однослойных перцептронов это — неразрешимая проблема. Чтобы формы выделяемых областей были более сложными, необходимо увеличивать число нейронных слоев.
Результат работы ИНС зависит от весовых коэффициентов синаптических связей. Процедуру определения этих коэффициентов называют обучением. Обучение может проводиться с помощью специальной учебной информации и без нее. В первом случае для ряда входных наборов данных известен правильный ответ сети. В простейшем алгоритме обучения перцептрона начальные веса связей задаются случайным образом. На вход подается один из “учебных” векторов xp и анализируется выходной вектор yp. Если yp не совпадает с правильным ответом dp, вычисляется разница D=dp-yp и модифицируются веса всех связей: wij(t+1)=wij(t)+kЧDЧxi, где t и t+1 — номер итерации, i — номер входа нейрона, j — номер нейрона в слое, k — коэффициент скорости обучения (обычно 0<1). После этого на вход снова подается один из векторов обучающей выборки {xp}. Процедура повторяется до тех пор, пока выходные векторы не станут достаточно близки к эталонным.
Очевидно, что данный механизм не применим для многослойного перцептрона, поскольку не известны оптимальные выходные значения нейронов скрытых слоев. Это существенно сдерживало развитие многослойных ИНС, так как возможности однослойных сетей прямого распространения довольно ограниченны. Однако с появлением алгоритма обучения с обратным распространением [5, 8] многослойные перцептроны стали весьма популярны. Сущность данного алгоритма — вычисление среднеквадратичной ошибки сети для некоторой выборки из входных векторов xp: E=0,5S(yjp-djp)2 и ее минимизация методом градиентного спуска. Веса подстраиваются как ..., где wij — вес связи i-го нейрона слоя n с j-м нейроном слоя n+1, k — коэффициент обучения. При обучении на вход сети подают вектор x, и на основании отклика сети определяют поправку к весам для выходного слоя нейронов
где sl — функция состояния l-го нейрона выходного слоя (sl=S xilwil). Затем рекурсивно вычисляют поправки для каждого слоя:
где индекс (n) — номер слоя. После этого на вход снова подают вектор из обучающей выборки {x} и, если ожидаемый результат не получен, повторяют процедуру. Отметим, что dy/ds=df(s)/ds, т.е является производной функции активации от ее аргумента. Следовательно, для многослойных перцептронов предпочтительны гладкие функции активации — гиперболический тангенс, гауссиана и т.п.
Алгоритм обратного распространения не лишен недостатков. Так, большие значения весовых коэффициентов могут сместить рабочую точку на сигмоидах ряда нейронов в области насыщения — при малых изменениях весов сеть перестанет обучаться. При градиентном спуске возможно попадание в область локального, а не глобального минимума функции среднеквадратичной ошибки. Чтобы алгоритм сходился, приращения весов, а следовательно, и скорость обучения, должны быть малы — но тогда сеть будет обучаться слишком долго. Чрезмерно большая скорость обучения приводит к неустойчивости процесса (обычно выбирают k»0,1, уменьшая его в ходе обучения).
Другой способ борьбы с локальными минимумами — применение стохастических алгоритмов, например механизма Больцмана [9, 10]. В его основе — вероятностный анализ работы сети в режиме нормального функционирования и при фиксации состояния входных нейронов. Изменение веса определяется как Dwij=k(p*ij-pij), где p*ij и pij — корреляция между состояниями i-го и j-го нейронов в фиксированном и свободном режимах функционирования.
Однако обучение ИНС может происходить и без обучающей информации [11]. Это отражает важнейшее свойство естественных систем, в том числе и нервных клеток, — способность к самоорганизации. В отношении искусственных сетей самоорганизация означает изменение весовых коэффициентов связей, а также число нейронов и топологию сети. В простейших случаях, как и при обучении с учителем, речь идет о модификации весов синапсов.
Один из таких подходов — метод Хебба [12]. Он отражает известный в нейробиологии факт: если два связанных нейрона возбуждаются одновременно и регулярно, их синаптическая связь усиливается. Математически это выражается как wij(t+1)=wij(t)+kyj(t)xi(t), где t — номер итерации, k — скорость обучения, yj и xi — выход j-го и вход i-го нейронов. На каждой итерации веса модифицируют у всех нейронов сети. Обучение продолжается до тех пор, пока процесс не стабилизируется.
Другой не менее известный способ обучения прослеживается в алгоритмах Кохонена [11]. Он сводится к минимизации разницы между входным сигналом нейрона и весом синаптической связи, по которой данный сигнал поступает: wij(t+1)=wij(t)+k(xi(t)–wij(t)). В отличие от алгоритма Хебба, веса связей изменяются не у всех нейронов, а лишь у того, входной сигнал которого наиболее силен. Это может быть нейрон, у которого расстояние dj между вектором входных сигналов и весовых коэффициентов минимально: d2j =S (xi–wij)2. Подобный принцип — когда модифицируется только один, наиболее активный, нейрон, – называют обучением методом соревнования.
На алгоритме обучения Кохонена строятся так называемые самоорганизующиеся карты (self-organizing feature maps, SOM), или сети Кохонена [13] (рис. 5). В этих сетях изменяют веса не только у “победившего” нейрона , но и у нейронов из некоторой окружающей его окрестности. Эта окрестность сначала достаточно велика — до 2/3 всей сети, но впоследствии сокращается до одного нейрона. В результате близким входным сигналам соответствуют близкие нейроны выходного слоя. Поэтому сети данного типа называют также сетями с сохранением топологии.
В известном смысле сети Кохонена явились расширением парадигмы адаптивного резонанса (ART, Adaptive Resonance Theory) [14], предложенной Гроссбергом и Карпентером. Сеть ART имеет достаточно много выходных нейронов, однако используется только часть из них. В сети хранится набор образцов для сравнения с входным сигналом. Если входной сигнал достаточно похож на один из эталонных образцов (находится с ним в резонансе), усиливается вес для синапса нейрона, отвечающего за данную категорию. Если же в сети нет схожих с входным вектором образцов, ему в соответствие ставится один из незадействованных выходных нейронов.
Особое положение занимают нейронные сети Хопфилда [5, 10]. Они имеют эпохальное значение — именно с этой модели в 80-х годах, после 20-летнего перерыва, началось возрождение интереса к нейросетевым технологиям. Одно из основных применений сети данного типа — ассоциативная память. В этом случае весовые коэффициенты синапсов задаются один раз и уже не изменяются. Кроме того, сети Хопфилда позволяют решать задачи классификации и оптимизации.
Сеть Хопфилда — однослойная полносвязная структура (рис. 6). Поначалу использовалась пороговая функция активации нейронов (f(s)=-1 при x<0; f(s)=1 при x>0). Стартовые веса задаются как
где xik, xjk – i-й и j-й элементы вектора k-го образца, m — число запоминаемых в сети образцов. Сеть должна отнести поданный на вход сигнал к одному из хранимых векторов xk либо дать ответ, что подобных образцов в сети нет. Алгоритм работы сводится к итерационному расчету состояний выходов нейронов:..., где f — функция активации. Итерационный процесс повторяется до тех пор, пока не перестанут изменяться выходы нейронов. При функционировании сети происходит минимизация “энергетической” функции Е=0,5S wijxixj — система стремится к ближайшему устойчивому состоянию (аттрактору) с минимумом потенциальной энергии. В результате достигается высокая скорость стабилизации системы и, следовательно, отождествления информации.
Из недостатков сети следует отметить проблему емкости — до сих пор не удавалось реализовать сеть, где число хранимых образцов составляет более 15% от числа всех нейронов. При классификации похожих образцов возможны сбои. Поскольку размерность входного сигнала совпадает с размерностью выходного, применение сети в задачах распознавания ограничено. Однако на идеях Хопфилда впоследствии были построены более совершенные нейросетевые парадигмы (например, сеть Хемминга [10, 11]).
Мы упомянули лишь несколько из десятков описанных нейросетевых парадигм. С начала 90-х годов исследования в области нейросетевых технологий переживают весьма бурный период развития [15], что подтверждается размерами их финансирования: в США, программа DARPA (1987–1995) — 400 млн. долл.; в Японии, программа HumanFrontier (1988–1996) — 6,6 млрд. долл.; в станах ЕЭС, проект BRAIN, Basic Reseach on Adaptive Inteligence — базовые исследования адаптивного интеллекта (1988–1996) — 1,2 млн. долл. ежегодно [16]. И темпы нарастают. По оценке компании Business Communications, к концу 1992 года объем рынка нейрокомпьютеров составлял 170 млн. долл. (120 — аппаратное обеспечение и 50 — программное). Аналитики полагали, что в 2000 году эти цифры вырастут до 790 и 260 млн. долл., соответственно. Прогноз оказался неверным — уже в 1997 году объем рынка нейротехнологий составил 2 млрд. долл. — на 40% больше, чем в 1996-м [17].
Нейрокомпьютинг в России
В России сложилась своя школа теории нейронных сетей, на счету которой ряд удачных работ. Слово — известному специалисту в области нейротехнологий А. Галушкину (Научный центр нейрокомпьютеров, Москва) [18]: “Общая методика синтеза многослойных нейронных сетей была разработана сотрудниками Научного центра нейрокомпьютеров еще в конце 60-х годов и постоянно развивалась в течение 30 лет. В результате в России сформировалось направление в области теории нейрокомпьютерных сетей, которое по ряду параметров превосходит уровень зарубежных работ. Например, были разработаны методы адаптивной настройки нейронных сетей с произвольным видом нейрона и произвольным числом слоев; с различными видами связей между слоями; с различными видами критериев оптимизации; с различными ограничениями на весовые коэффициенты нейронных сетей... Определенная общность отечественных методов развития теории нейронных сетей позволила создать единый подход к разработке нейросетевых алгоритмов решения самых разнообразных задач...” По словам А. Галушкина, когда в связи с публикацией работы Минского и Пейперта [4] исследования за рубежом почти полностью прекратились, российские специалисты, владея общей методикой настройки многослойных нейронных сетей, продолжали работы в данной области.
Значимые работы проводились в Институте высшей нервной деятельности (проф. Фролов) , в Красноярске (группа “НейроКомп”, А.И Горбань), в Ростове (НИИ Кибернетики), в Таганроге. Заметную роль играют работы сотрудников Института кибернетики им. Глушкова (Киев). Отметим такие имена, как проф. Смоленский (Санкт-Петербург), академик Красовский (Екатеринбург), проф. Сухомлин, Широков (Москва). Перечень можно продолжать долго.
Каждый, кто сегодня в России работает в области нейросетевых вычислений, испытывает те же трудности, что и вся отечественная наука — отсутствие государственного финансирования фундаментальных исследований. Это особенно страшно для нейросетевых технологий – одного из наиболее бурно развиваемых во всем цивилизованном мире направлений. Застой в данной области может предопределить ситуацию на многие десятилетия. И не в лучшую для России сторону.
Работы НТЦ “Модуль”
На общем фоне заметно выделяется московская фирма НТЦ “Модуль” (www.module.vympel.msk.ru), достойно развивающая российскую школу нейроматематики. Научно-технический центр “Модуль” учрежден в 1989 году известными предприятиями военно-промышленного комплекса — межгосударственной корпорацией “Вымпел” и НИИ Радиоприборостроения. В настоящее время 99,9% акций НТЦ принадлежит его сотрудникам. Нейросетевая проблематика — одна из приоритетных для фирмы. Несмотря на отсутствие бюджетного финансирования, в “Модуле” проводятся фундаментально-поисковые исследования, приносящие принципиально новые научные результаты. Это стало возможным благодаря комплексному подходу к нейрокомпьютингу: работы ведутся на всех уровнях, от теоретической проработки до решения прикладных задач и создания программно-аппаратных комплексов. В результате на основе ИНС созданы такие программно-аппаратные комплексы, как система выделения и классификации движущихся объектов, системы распознавания гидроакустических и радиолокационных сигналов, система обнаружения и классификации целей по акустическому сигналу, системы автоматической классификации факсимильных сообщений и нечеткого поиска в базе данных, а также набор программ для решения задач дискретной оптимизации (целераспределение, задачи о назначениях, маршрутизации и т.д.).
Остановимся на одной из разработок фирмы “Модуль” — построителе классификаторов широкого применения (Neural Network Pattern Recognation Engine of General Purpose) (первая версия — свидетельства о регистрации № 980635, 980636). Отличительная особенность продукта — способность работать с достаточно крупным классом задач, связанных с распознаванием и классификацией.
Из основных элементов построителя классификатора выделим механизм обучения (построитель распознавателя) и собственно распознающую структуру — нейронную сеть (рис.7). Задача построителя распознавателя — правильно сконфигурировать эту сеть. ИНС имеет модульную архитектуру (рис. 8). Входная информация поступает на ряд модулей, каждый из которых соответствует какому-либо классу объектов. Модуль, отклик которого максимален, считается “победившим”, а объект — распознанным (относящимся к данному классу). Каждый модуль, в свою очередь, является нейронной сетью, архитектура которой может не соответствовать архитектуре сети верхнего уровня. Модули (нейронные ансамбли) субсети также представляют собой нейронную сеть. Таких вложений может быть несколько. На самом нижнем уровне — простой искусственный нейрон. Число модулей в субсетях различно и зависит от решаемой задачи.
Существенное ограничение описанной структуры — статичность, т.е невозможность изменить параметры сети в процессе ее работы. Однако от этого недостатка избавлена новая версия распознавателя, находящегося на стадии бета-тестирования. В его сети присутствуют обратные связи, что позволяет динамически изменять как весовые коэффициенты связей, так и число модулей в субсетях. Состояние весов такой сети зависит от входящей информации. Это полезно при решении многих задач, например при анализе речи.
В целом, благодаря выбору модульной архитектуры и, что не менее важно, оригинальной организации механизма обучения, построитель классификатора способен работать в режиме реального времени при решении многих задач. В их числе распознавание акустической информации (к ним же можно отнести ряд задач анализа ИК-излучения, сейсмических колебаний и т.п.), изображения (текстурное распознавание, сегментация изображения), анализ информации в виде графиков (медицина, финансы), статистической информации. В этих приложениях не требуется обучать систему в процессе работы. Однако продукт работает и с рядом задач, где необходимо обучение “на лету” (on fly), например слежение за движущимися объектами. Существенно, что заложенные алгоритмы позволяют справляться с большим объемом ложной информации.
С точки зрения решаемых задач с построителем классификаторов фирмы “Модуль” можно сравнить такие нейросетевые парадигмы, как LVQ (Linear Vector Quantization) и самоорганизующиеся карты Кохонена (SOM). Топология сети с парадигмой LVQ аналогична сети Кохонена (рис. 5). Для каждого нейрона выходного слоя вычисляется скалярное произведение вектора весовых коэффициентов связей и вектора исходных данных. Нейрон с наибольшим значением произведения считается победившим. Проблемы начинаются, когда распознаваемых классов становится слишком много — успешно функционирующую сеть попросту невозможно построить. Болезненно реагируют алгоритмы построения подобных сетей и на увеличение размерности вектора входных данных. Это происходит, если параметры вектора изменяются по разным законам — например линейному и логарифмическому, либо присутствуют малоинформативные параметры. Крайне неприятна при построении сетей и неадекватная обучающая информация (ошибки экспертов). Эти же проблемы характерны для технологии SOM. Кроме того, при построении такие сети имеют тенденцию к “схлопыванию”, когда большая часть сети начинает детализировать небольшой фрагмент входных данных.
Истоки этих проблем становятся понятны, если обратиться к геометрической интерпретации работы сетей. Классификатор разбивает пространство признаков гиперплоскостями. Каждая ограниченная им область соответствует определенному решению. Чем более адекватно такое разбиение условиям задачи, тем лучше работает сеть. Большинство нейросетевых парадигм используют евклидово пространство. В ряде случаев это приводит к неточности выделения областей определения классов, что влечет за собой избыточную детализацию. В итоге при увеличении размерности пространства признаков возникают сложности в построении эффективного классификатора. Нейросетевая парадигма, лежащая в основе распознавателя НТЦ “Модуль”, построена на базе неевклидовых метрик. Благодаря этому удалось избавиться от многих проблем. Кроме того, за счет применения удачных алгоритмических решений в механизме обучения, система справляется даже с ложной обучающей информацией, не сбивается при обилии разнородных и малозначащих признаков, способна к динамической подстройке.
Очевидно, что практическая реализация столь сложной нейросетевой структуры требует существенных аппаратных затрат. Это общая проблема для приложений с ИНС — производительности стандартных вычислительных систем недостаточно для сколь-нибудь эффективных нейросетевых алгоритмов. Приходится использовать специальные ускорительные блоки, адаптированные под реализацию нейросетевых технологий. В ускорителях все чаще применяют специальные нейронные процессоры (нейрочипы). Верный комплексному подходу к решению задач, НТЦ “Модуль” разработал собственный нейропроцессор (NM6401). Архитектура процессора оказалась столь удачной, что его с успехом можно применять в качестве универсального процессора цифровой обработки сигналов. Но об этой разработке мы расскажем в ближайшее время.
Автор признателен сотрудникам НТЦ “Модуль” – В.А. Хамене, В.М. Яфракову, С.В. Сорокину – за помощь в подготовке статьи.
Литература
1. Горбань А. Нейроинформатика и ее приложения. — Открытые системы, 1998, №4.
2. McCulloch W.S. and Pitts W. A Logical Calculus of Ideas Immanent in Nervous Activity. — Bull. Mathematical Biophysics, 1943, Vol. 5, p. 115–133.
3. Rosenblatt R. Principles of Neurodynamics. — Spartan Books, New York, 1962.
4. Minsky M., Papert S. Perceptrons: An Introduction to Computational Geometry. — MIT Press, Cambridge, Mass., 1969.
5. Hopfield J.J. Neural Networks and Physical Systems with Emergent Collective Computational Abilities. — In Proc. National Academy of Sciencies, USA79, 1982, p. 2554–2558.
6. Werbos P. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. — Phd Thesis, Dept. of Applied Mathematics, Harvard University, Cambridge, Mass., 1974.
7. Rumelhart D.E., McClelland J.L. Parallel Distributed Processing: Exploration in the Microstructure of Cognition. — MIT Press, Cambridge, Mass., 1986.
8. Короткий С. Нейронные сети: алгоритм обратного распространения.
9. Anderson J.A., Rosenfeld E. Neurocomputing: Foundation of Research. — MIT Press, Cambridge, Mass., 1988.
10. Копосов А.И., Щербаков И.Б., Кисленко Н.А. и др. Отчет по НИР “Создание аналитического обзора информационных источников по применению нейронных сетей для задач газовой технологии”. — ВНИИГАЗ, 1995.
11. Короткий С. Нейронные сети: обучение без учителя.
12. Hebb D.O. The Organization of Behavior. — John Wiley & Sons, New York, 1949.
13. Kohonen T. SelfOrganization and Associative Memory, Third Edition. — Springer-Verlag, New York, 1989.
14. Carpenter G.A., Grossberg S. Pattern Recognition by SelfOrganizing Neural Networks. — MIT Press, Cambridge, Mass., 1991.
15. Яфраков М.Ф., Корчагина Л.И. Особенности комплексного подхода к нейрокомпьютингу. — Изв. вузов. Приборостроение, 1997, т. 40, №3.
16. Резник А. Нейрокомпьютеры. — Компьютеры+программы, 1999, №1.
17. Гендлин В. Искусственному интеллекту прочистят правое полушарие. — КоммерсантЪ - Деньги, 1998, №19 (173).
18. Галушкин А. Современные направления развития нейрокомпьютерных технологий в России. — Открытые системы, 1997, №4.
Объем статьи не позволяет подробно рассказать о нейросетевых технологиях. Определим лишь основные положения. Под нейронными сетями понимают некую вычислительную структуру, состоящую из множества простых вычислителей, объединенных системой связи той или иной топологии. Подобные структуры отличаются такими свойствами, как массовый параллелизм, распределенное представление информации и вычисления, способность к обучению и обобщению, адаптивность, устойчивость к неточной обучающей информации.
Основные задачи, решаемые ИНС, — классификация образов, кластеризация/категоризация (классификация образов “без учителя”), предсказание/прогнозирование, оптимизация и управление, построение ассоциативной памяти (память, адресуемая по содержанию) и многое другое.
Модель нейрона
В качестве модели нейрона МакКаллок и Питтс [1] предложили использовать бинарный пороговый элемент. Этот математический нейрон вычисляет взвешенную сумму n входных сигналов xj, j = 1, 2... n, и формирует на выходе сигнал “1”, если эта сумма превышает определенный порог Т, и “0” — в противном случае. Положительные веса соответствуют возбуждающим связям, а отрицательные — тормозящим. МакКаллок и Питтс доказали, что при соответствующим образом подобранных весах совокупность параллельно функционирующих нейронов подобного типа способна выполнять универсальные вычисления. Здесь наблюдается определенная аналогия (на уровне представлений 40-х годов) с биологическим нейроном: передачу сигнала и взаимосвязи имитируют аксоны и дендриты, веса связей соответствуют синапсам, а пороговая функция отражает активность сомы.
В современном представлении нейронные сети — это объединение типовых элементов обработки (нейронов) в соответствии с неким правилом, называемым парадигмой. Нейрон характеризуется вектором весовых коэффициентов и видом активационной функции (рис. 1).
Вектор входных сигналов x=(х1,...хn) перемножается с вектором весовых коэффициентов wj и преобразуется в соответствии с функцией активации f(·). Иногда в схеме присутствует дополнительный параметр Tj, связанный с весовым коэффициентом woj. Обычно woj считают неотъемлемой частью вектора весовых коэффициентов wj. Тогда алгоритм функционирования нейрона можно записать в виде
В качестве активационной часто применяют сигмоидальные (вида f(x)=(1+e-ax)-1) и пороговые функции (рис. 2).
Нейронные сети
ИНС может рассматриваться как направленный граф со взвешенными связями, в котором искусственные нейроны являются узлами. По архитектуре связей ИНС делятся на два класса: сети прямого распространения, в которых графы не имеют петель, и рекуррентные сети, или сети с обратными связями. К первому классу относятся, например, одно- и многослойные перцептроны. Представители второго класса — сети Хопфилда, Кохонена, Гроссберга... Сейчас описано более 30 различных нейросетевых парадигм. Кратко остановимся лишь на некоторых из них.
Среди наиболее популярных сетей — многослойные перцептроны (рис. 3). Они состоят из слоя входных узлов, скрытых слоев и выходного слоя, соединенных последовательно в прямом направлении и не содержащих связей между элементами внутри слоя, а также обратных связей между слоями.
Многие задачи, решаемые ИНС, сводятся к классификации входных данных по заданному набору классов. Геометрически интерпретируя работу ИНС, можно увидеть, что фактически они разбивают пространство возможных решений (или пространство признаков) некими гиперплоскостями (для однослойного перцептрона они описываются выражением S xiwij=Tj). Области, ограниченные этими гиперплоскостями, являются областями определения отдельных классов. Например, для однонейронного перцептрона с двумя входами гиперплоскостью является прямая x1w1+x2w2=T. Из рис. 4 видно, что такой перцептрон не способен разделить плоскость на две полуплоскости так, чтобы для входов x1 и x2 реализовать логическую функцию “исключающее ИЛИ”. Для однослойных перцептронов это — неразрешимая проблема. Чтобы формы выделяемых областей были более сложными, необходимо увеличивать число нейронных слоев.
Результат работы ИНС зависит от весовых коэффициентов синаптических связей. Процедуру определения этих коэффициентов называют обучением. Обучение может проводиться с помощью специальной учебной информации и без нее. В первом случае для ряда входных наборов данных известен правильный ответ сети. В простейшем алгоритме обучения перцептрона начальные веса связей задаются случайным образом. На вход подается один из “учебных” векторов xp и анализируется выходной вектор yp. Если yp не совпадает с правильным ответом dp, вычисляется разница D=dp-yp и модифицируются веса всех связей: wij(t+1)=wij(t)+kЧDЧxi, где t и t+1 — номер итерации, i — номер входа нейрона, j — номер нейрона в слое, k — коэффициент скорости обучения (обычно 0<1). После этого на вход снова подается один из векторов обучающей выборки {xp}. Процедура повторяется до тех пор, пока выходные векторы не станут достаточно близки к эталонным.
Очевидно, что данный механизм не применим для многослойного перцептрона, поскольку не известны оптимальные выходные значения нейронов скрытых слоев. Это существенно сдерживало развитие многослойных ИНС, так как возможности однослойных сетей прямого распространения довольно ограниченны. Однако с появлением алгоритма обучения с обратным распространением [5, 8] многослойные перцептроны стали весьма популярны. Сущность данного алгоритма — вычисление среднеквадратичной ошибки сети для некоторой выборки из входных векторов xp: E=0,5S(yjp-djp)2 и ее минимизация методом градиентного спуска. Веса подстраиваются как ..., где wij — вес связи i-го нейрона слоя n с j-м нейроном слоя n+1, k — коэффициент обучения. При обучении на вход сети подают вектор x, и на основании отклика сети определяют поправку к весам для выходного слоя нейронов
где sl — функция состояния l-го нейрона выходного слоя (sl=S xilwil). Затем рекурсивно вычисляют поправки для каждого слоя:
где индекс (n) — номер слоя. После этого на вход снова подают вектор из обучающей выборки {x} и, если ожидаемый результат не получен, повторяют процедуру. Отметим, что dy/ds=df(s)/ds, т.е является производной функции активации от ее аргумента. Следовательно, для многослойных перцептронов предпочтительны гладкие функции активации — гиперболический тангенс, гауссиана и т.п.
Алгоритм обратного распространения не лишен недостатков. Так, большие значения весовых коэффициентов могут сместить рабочую точку на сигмоидах ряда нейронов в области насыщения — при малых изменениях весов сеть перестанет обучаться. При градиентном спуске возможно попадание в область локального, а не глобального минимума функции среднеквадратичной ошибки. Чтобы алгоритм сходился, приращения весов, а следовательно, и скорость обучения, должны быть малы — но тогда сеть будет обучаться слишком долго. Чрезмерно большая скорость обучения приводит к неустойчивости процесса (обычно выбирают k»0,1, уменьшая его в ходе обучения).
Другой способ борьбы с локальными минимумами — применение стохастических алгоритмов, например механизма Больцмана [9, 10]. В его основе — вероятностный анализ работы сети в режиме нормального функционирования и при фиксации состояния входных нейронов. Изменение веса определяется как Dwij=k(p*ij-pij), где p*ij и pij — корреляция между состояниями i-го и j-го нейронов в фиксированном и свободном режимах функционирования.
Однако обучение ИНС может происходить и без обучающей информации [11]. Это отражает важнейшее свойство естественных систем, в том числе и нервных клеток, — способность к самоорганизации. В отношении искусственных сетей самоорганизация означает изменение весовых коэффициентов связей, а также число нейронов и топологию сети. В простейших случаях, как и при обучении с учителем, речь идет о модификации весов синапсов.
Один из таких подходов — метод Хебба [12]. Он отражает известный в нейробиологии факт: если два связанных нейрона возбуждаются одновременно и регулярно, их синаптическая связь усиливается. Математически это выражается как wij(t+1)=wij(t)+kyj(t)xi(t), где t — номер итерации, k — скорость обучения, yj и xi — выход j-го и вход i-го нейронов. На каждой итерации веса модифицируют у всех нейронов сети. Обучение продолжается до тех пор, пока процесс не стабилизируется.
Другой не менее известный способ обучения прослеживается в алгоритмах Кохонена [11]. Он сводится к минимизации разницы между входным сигналом нейрона и весом синаптической связи, по которой данный сигнал поступает: wij(t+1)=wij(t)+k(xi(t)–wij(t)). В отличие от алгоритма Хебба, веса связей изменяются не у всех нейронов, а лишь у того, входной сигнал которого наиболее силен. Это может быть нейрон, у которого расстояние dj между вектором входных сигналов и весовых коэффициентов минимально: d2j =S (xi–wij)2. Подобный принцип — когда модифицируется только один, наиболее активный, нейрон, – называют обучением методом соревнования.
На алгоритме обучения Кохонена строятся так называемые самоорганизующиеся карты (self-organizing feature maps, SOM), или сети Кохонена [13] (рис. 5). В этих сетях изменяют веса не только у “победившего” нейрона , но и у нейронов из некоторой окружающей его окрестности. Эта окрестность сначала достаточно велика — до 2/3 всей сети, но впоследствии сокращается до одного нейрона. В результате близким входным сигналам соответствуют близкие нейроны выходного слоя. Поэтому сети данного типа называют также сетями с сохранением топологии.
В известном смысле сети Кохонена явились расширением парадигмы адаптивного резонанса (ART, Adaptive Resonance Theory) [14], предложенной Гроссбергом и Карпентером. Сеть ART имеет достаточно много выходных нейронов, однако используется только часть из них. В сети хранится набор образцов для сравнения с входным сигналом. Если входной сигнал достаточно похож на один из эталонных образцов (находится с ним в резонансе), усиливается вес для синапса нейрона, отвечающего за данную категорию. Если же в сети нет схожих с входным вектором образцов, ему в соответствие ставится один из незадействованных выходных нейронов.
Особое положение занимают нейронные сети Хопфилда [5, 10]. Они имеют эпохальное значение — именно с этой модели в 80-х годах, после 20-летнего перерыва, началось возрождение интереса к нейросетевым технологиям. Одно из основных применений сети данного типа — ассоциативная память. В этом случае весовые коэффициенты синапсов задаются один раз и уже не изменяются. Кроме того, сети Хопфилда позволяют решать задачи классификации и оптимизации.
Сеть Хопфилда — однослойная полносвязная структура (рис. 6). Поначалу использовалась пороговая функция активации нейронов (f(s)=-1 при x<0; f(s)=1 при x>0). Стартовые веса задаются как
где xik, xjk – i-й и j-й элементы вектора k-го образца, m — число запоминаемых в сети образцов. Сеть должна отнести поданный на вход сигнал к одному из хранимых векторов xk либо дать ответ, что подобных образцов в сети нет. Алгоритм работы сводится к итерационному расчету состояний выходов нейронов:..., где f — функция активации. Итерационный процесс повторяется до тех пор, пока не перестанут изменяться выходы нейронов. При функционировании сети происходит минимизация “энергетической” функции Е=0,5S wijxixj — система стремится к ближайшему устойчивому состоянию (аттрактору) с минимумом потенциальной энергии. В результате достигается высокая скорость стабилизации системы и, следовательно, отождествления информации.
Из недостатков сети следует отметить проблему емкости — до сих пор не удавалось реализовать сеть, где число хранимых образцов составляет более 15% от числа всех нейронов. При классификации похожих образцов возможны сбои. Поскольку размерность входного сигнала совпадает с размерностью выходного, применение сети в задачах распознавания ограничено. Однако на идеях Хопфилда впоследствии были построены более совершенные нейросетевые парадигмы (например, сеть Хемминга [10, 11]).
Мы упомянули лишь несколько из десятков описанных нейросетевых парадигм. С начала 90-х годов исследования в области нейросетевых технологий переживают весьма бурный период развития [15], что подтверждается размерами их финансирования: в США, программа DARPA (1987–1995) — 400 млн. долл.; в Японии, программа HumanFrontier (1988–1996) — 6,6 млрд. долл.; в станах ЕЭС, проект BRAIN, Basic Reseach on Adaptive Inteligence — базовые исследования адаптивного интеллекта (1988–1996) — 1,2 млн. долл. ежегодно [16]. И темпы нарастают. По оценке компании Business Communications, к концу 1992 года объем рынка нейрокомпьютеров составлял 170 млн. долл. (120 — аппаратное обеспечение и 50 — программное). Аналитики полагали, что в 2000 году эти цифры вырастут до 790 и 260 млн. долл., соответственно. Прогноз оказался неверным — уже в 1997 году объем рынка нейротехнологий составил 2 млрд. долл. — на 40% больше, чем в 1996-м [17].
Нейрокомпьютинг в России
В России сложилась своя школа теории нейронных сетей, на счету которой ряд удачных работ. Слово — известному специалисту в области нейротехнологий А. Галушкину (Научный центр нейрокомпьютеров, Москва) [18]: “Общая методика синтеза многослойных нейронных сетей была разработана сотрудниками Научного центра нейрокомпьютеров еще в конце 60-х годов и постоянно развивалась в течение 30 лет. В результате в России сформировалось направление в области теории нейрокомпьютерных сетей, которое по ряду параметров превосходит уровень зарубежных работ. Например, были разработаны методы адаптивной настройки нейронных сетей с произвольным видом нейрона и произвольным числом слоев; с различными видами связей между слоями; с различными видами критериев оптимизации; с различными ограничениями на весовые коэффициенты нейронных сетей... Определенная общность отечественных методов развития теории нейронных сетей позволила создать единый подход к разработке нейросетевых алгоритмов решения самых разнообразных задач...” По словам А. Галушкина, когда в связи с публикацией работы Минского и Пейперта [4] исследования за рубежом почти полностью прекратились, российские специалисты, владея общей методикой настройки многослойных нейронных сетей, продолжали работы в данной области.
Значимые работы проводились в Институте высшей нервной деятельности (проф. Фролов) , в Красноярске (группа “НейроКомп”, А.И Горбань), в Ростове (НИИ Кибернетики), в Таганроге. Заметную роль играют работы сотрудников Института кибернетики им. Глушкова (Киев). Отметим такие имена, как проф. Смоленский (Санкт-Петербург), академик Красовский (Екатеринбург), проф. Сухомлин, Широков (Москва). Перечень можно продолжать долго.
Каждый, кто сегодня в России работает в области нейросетевых вычислений, испытывает те же трудности, что и вся отечественная наука — отсутствие государственного финансирования фундаментальных исследований. Это особенно страшно для нейросетевых технологий – одного из наиболее бурно развиваемых во всем цивилизованном мире направлений. Застой в данной области может предопределить ситуацию на многие десятилетия. И не в лучшую для России сторону.
Работы НТЦ “Модуль”
На общем фоне заметно выделяется московская фирма НТЦ “Модуль” (www.module.vympel.msk.ru), достойно развивающая российскую школу нейроматематики. Научно-технический центр “Модуль” учрежден в 1989 году известными предприятиями военно-промышленного комплекса — межгосударственной корпорацией “Вымпел” и НИИ Радиоприборостроения. В настоящее время 99,9% акций НТЦ принадлежит его сотрудникам. Нейросетевая проблематика — одна из приоритетных для фирмы. Несмотря на отсутствие бюджетного финансирования, в “Модуле” проводятся фундаментально-поисковые исследования, приносящие принципиально новые научные результаты. Это стало возможным благодаря комплексному подходу к нейрокомпьютингу: работы ведутся на всех уровнях, от теоретической проработки до решения прикладных задач и создания программно-аппаратных комплексов. В результате на основе ИНС созданы такие программно-аппаратные комплексы, как система выделения и классификации движущихся объектов, системы распознавания гидроакустических и радиолокационных сигналов, система обнаружения и классификации целей по акустическому сигналу, системы автоматической классификации факсимильных сообщений и нечеткого поиска в базе данных, а также набор программ для решения задач дискретной оптимизации (целераспределение, задачи о назначениях, маршрутизации и т.д.).
Остановимся на одной из разработок фирмы “Модуль” — построителе классификаторов широкого применения (Neural Network Pattern Recognation Engine of General Purpose) (первая версия — свидетельства о регистрации № 980635, 980636). Отличительная особенность продукта — способность работать с достаточно крупным классом задач, связанных с распознаванием и классификацией.
Из основных элементов построителя классификатора выделим механизм обучения (построитель распознавателя) и собственно распознающую структуру — нейронную сеть (рис.7). Задача построителя распознавателя — правильно сконфигурировать эту сеть. ИНС имеет модульную архитектуру (рис. 8). Входная информация поступает на ряд модулей, каждый из которых соответствует какому-либо классу объектов. Модуль, отклик которого максимален, считается “победившим”, а объект — распознанным (относящимся к данному классу). Каждый модуль, в свою очередь, является нейронной сетью, архитектура которой может не соответствовать архитектуре сети верхнего уровня. Модули (нейронные ансамбли) субсети также представляют собой нейронную сеть. Таких вложений может быть несколько. На самом нижнем уровне — простой искусственный нейрон. Число модулей в субсетях различно и зависит от решаемой задачи.
Существенное ограничение описанной структуры — статичность, т.е невозможность изменить параметры сети в процессе ее работы. Однако от этого недостатка избавлена новая версия распознавателя, находящегося на стадии бета-тестирования. В его сети присутствуют обратные связи, что позволяет динамически изменять как весовые коэффициенты связей, так и число модулей в субсетях. Состояние весов такой сети зависит от входящей информации. Это полезно при решении многих задач, например при анализе речи.
В целом, благодаря выбору модульной архитектуры и, что не менее важно, оригинальной организации механизма обучения, построитель классификатора способен работать в режиме реального времени при решении многих задач. В их числе распознавание акустической информации (к ним же можно отнести ряд задач анализа ИК-излучения, сейсмических колебаний и т.п.), изображения (текстурное распознавание, сегментация изображения), анализ информации в виде графиков (медицина, финансы), статистической информации. В этих приложениях не требуется обучать систему в процессе работы. Однако продукт работает и с рядом задач, где необходимо обучение “на лету” (on fly), например слежение за движущимися объектами. Существенно, что заложенные алгоритмы позволяют справляться с большим объемом ложной информации.
С точки зрения решаемых задач с построителем классификаторов фирмы “Модуль” можно сравнить такие нейросетевые парадигмы, как LVQ (Linear Vector Quantization) и самоорганизующиеся карты Кохонена (SOM). Топология сети с парадигмой LVQ аналогична сети Кохонена (рис. 5). Для каждого нейрона выходного слоя вычисляется скалярное произведение вектора весовых коэффициентов связей и вектора исходных данных. Нейрон с наибольшим значением произведения считается победившим. Проблемы начинаются, когда распознаваемых классов становится слишком много — успешно функционирующую сеть попросту невозможно построить. Болезненно реагируют алгоритмы построения подобных сетей и на увеличение размерности вектора входных данных. Это происходит, если параметры вектора изменяются по разным законам — например линейному и логарифмическому, либо присутствуют малоинформативные параметры. Крайне неприятна при построении сетей и неадекватная обучающая информация (ошибки экспертов). Эти же проблемы характерны для технологии SOM. Кроме того, при построении такие сети имеют тенденцию к “схлопыванию”, когда большая часть сети начинает детализировать небольшой фрагмент входных данных.
Истоки этих проблем становятся понятны, если обратиться к геометрической интерпретации работы сетей. Классификатор разбивает пространство признаков гиперплоскостями. Каждая ограниченная им область соответствует определенному решению. Чем более адекватно такое разбиение условиям задачи, тем лучше работает сеть. Большинство нейросетевых парадигм используют евклидово пространство. В ряде случаев это приводит к неточности выделения областей определения классов, что влечет за собой избыточную детализацию. В итоге при увеличении размерности пространства признаков возникают сложности в построении эффективного классификатора. Нейросетевая парадигма, лежащая в основе распознавателя НТЦ “Модуль”, построена на базе неевклидовых метрик. Благодаря этому удалось избавиться от многих проблем. Кроме того, за счет применения удачных алгоритмических решений в механизме обучения, система справляется даже с ложной обучающей информацией, не сбивается при обилии разнородных и малозначащих признаков, способна к динамической подстройке.
Очевидно, что практическая реализация столь сложной нейросетевой структуры требует существенных аппаратных затрат. Это общая проблема для приложений с ИНС — производительности стандартных вычислительных систем недостаточно для сколь-нибудь эффективных нейросетевых алгоритмов. Приходится использовать специальные ускорительные блоки, адаптированные под реализацию нейросетевых технологий. В ускорителях все чаще применяют специальные нейронные процессоры (нейрочипы). Верный комплексному подходу к решению задач, НТЦ “Модуль” разработал собственный нейропроцессор (NM6401). Архитектура процессора оказалась столь удачной, что его с успехом можно применять в качестве универсального процессора цифровой обработки сигналов. Но об этой разработке мы расскажем в ближайшее время.
Автор признателен сотрудникам НТЦ “Модуль” – В.А. Хамене, В.М. Яфракову, С.В. Сорокину – за помощь в подготовке статьи.
Литература
1. Горбань А. Нейроинформатика и ее приложения. — Открытые системы, 1998, №4.
2. McCulloch W.S. and Pitts W. A Logical Calculus of Ideas Immanent in Nervous Activity. — Bull. Mathematical Biophysics, 1943, Vol. 5, p. 115–133.
3. Rosenblatt R. Principles of Neurodynamics. — Spartan Books, New York, 1962.
4. Minsky M., Papert S. Perceptrons: An Introduction to Computational Geometry. — MIT Press, Cambridge, Mass., 1969.
5. Hopfield J.J. Neural Networks and Physical Systems with Emergent Collective Computational Abilities. — In Proc. National Academy of Sciencies, USA79, 1982, p. 2554–2558.
6. Werbos P. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. — Phd Thesis, Dept. of Applied Mathematics, Harvard University, Cambridge, Mass., 1974.
7. Rumelhart D.E., McClelland J.L. Parallel Distributed Processing: Exploration in the Microstructure of Cognition. — MIT Press, Cambridge, Mass., 1986.
8. Короткий С. Нейронные сети: алгоритм обратного распространения.
9. Anderson J.A., Rosenfeld E. Neurocomputing: Foundation of Research. — MIT Press, Cambridge, Mass., 1988.
10. Копосов А.И., Щербаков И.Б., Кисленко Н.А. и др. Отчет по НИР “Создание аналитического обзора информационных источников по применению нейронных сетей для задач газовой технологии”. — ВНИИГАЗ, 1995.
11. Короткий С. Нейронные сети: обучение без учителя.
12. Hebb D.O. The Organization of Behavior. — John Wiley & Sons, New York, 1949.
13. Kohonen T. SelfOrganization and Associative Memory, Third Edition. — Springer-Verlag, New York, 1989.
14. Carpenter G.A., Grossberg S. Pattern Recognition by SelfOrganizing Neural Networks. — MIT Press, Cambridge, Mass., 1991.
15. Яфраков М.Ф., Корчагина Л.И. Особенности комплексного подхода к нейрокомпьютингу. — Изв. вузов. Приборостроение, 1997, т. 40, №3.
16. Резник А. Нейрокомпьютеры. — Компьютеры+программы, 1999, №1.
17. Гендлин В. Искусственному интеллекту прочистят правое полушарие. — КоммерсантЪ - Деньги, 1998, №19 (173).
18. Галушкин А. Современные направления развития нейрокомпьютерных технологий в России. — Открытые системы, 1997, №4.
Отзывы читателей