2. Нейронные сети

В данной главе мы обсуждаем известные модели НС: модель Маккалоха и Питтса; модель Розенблата; модели Хопфилда и Больцмана; модель на основе обратного распространения. Рассмотрена структура и особенности каждой из моделей. Перечислены основные задачи решаемые на основе НС, описаны способы реализации НС. Проведен анализ известных моделей НС с точки зрения решения решения задачи прогнозирования.

2.1. Нейронные сети - основные понятия и определения

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

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

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

1) нейрон получает от дендридов набор (вектор) входных сигналов;

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

3) нейрон формирует выходной сигнал, интенсивность которого зависит от значения вычисленного скалярного произведения. Если оно не превышает некоторого заданного порога, то выходной сигнал не формируется вовсе - нейрон "не срабатывает";

4) выходной сигнал поступает на аксон и передается дендридам других нейронов.

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

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

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

2.2. Модели нейронных сетей

2.2.1. Модель Маккалоха

Теоретические основы нейроматематики были заложены в начале 40-х годов. В 1943 году У. Маккалох и его ученик У. Питтс сформулировали основные положения теории деятельности головного мозга. Ими были получены следующие результаты:

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

- предложена конструкция сети таких элементов для выполнения логических и арифметических операций;

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

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

Недостатком данной модели является сама модель нейрона - "пороговой" вид переходной функции. В формализме У. Маккалоха и У. Питтса нейроны имеют состояния 0, 1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Пороговый вид функции не предоставляет нейронной сети достаточную гибкость при обучении и настройке на заданную задачу. Если значение вычисленного скалярного произведения, даже незначительно, не достигает до заданного порога, то выходной сигнал не формируется вовсе и нейрон "не срабатывает". Это значит, что теряется интенсивность выходного сигнала (аксона) данного нейрона и, следовательно, формируется невысокое значение уровня на взвешенных входах в следующем слое нейронов.

2.2.2. Модель Розенблата

Серьезное развитие нейрокибернетика получила в работах американского нейрофизиолога Френсиса Розенблата (Корнелльский университет). В 1958 году он предложил свою модель нейронной сети.

Розенблат ввел в модель Маккаллока и Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном [11, 12, 46, 47]. Первоначально персептрон представлял собой однослойную структуру с жесткой пороговой функцией процессорного элемента и бинарными или многозначными входами. Первые персептроны были способны распознавать некоторые буквы латинского алфавита. Впоследствии модель персептрона была значительно усовершенствована [47].

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

Алгоритм обучения персептрона выглядит следующим образом:

1) системе предъявляется эталонный образ;

2) если выходы системы срабатывают правильно, весовые коэффициенты связей не изменяются;

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

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

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

2.2.3. Модель Хопфилда

В 70-е годы интерес к нейронным сетям значительно упал, однако работы по их исследованию продолжались. Был предложен ряд интересных разработок, таких, например, как когнитрон, способный хорошо распознавать достаточно сложные образы (иероглифы и т.п.) независимо от поворота и изменения масштаба изображения. Автором когнитрона является японский ученый И. Фукушима.

Новый виток быстрого развития моделей нейронных сетей, который начался 8-9 лет тому назад, связан с работами Амари, Андерсона, Карпентера, Кохена  и других, и в особенности, Хопфилда, а также под влиянием обещающих успехов оптических технологий  и зрелой фазы развития СБИС для реализации новых архитектур.

Начало современному математическому моделированию нейронных вычислений было положено работами Хопфилда в 1982 году, в которых была сформулирована математическая модель ассоциативной памяти на нейронной сети с использованием правила Хеббиана [36] для программирования сети. Но не столько сама модель послужила толчком к появлению работ других авторов на эту тему, сколько введенная Хопфилдом функция вычислительной энергии нейронной сети. Это аналог функции Ляпунова в динамических системах. Показано, что для однослойной нейронной сети со связями типа "все на всех" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии, содержащей в себе всю структуру взаимосвязей в сети. Понимание такой динамики в нейронной сети было и у других исследователей. Однако, Хопфилд и Тэнк показали как конструировать функцию энергии для конкретной оптимизационной задачи и как использовать ее для отображения задачи в нейронную сеть. Этот подход получил развитие и для решения других комбинаторных оптимизационных задач. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи.

Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная и исследованная Джефери Е. Хинтоном и Р. Земелом. В ней, как и в других моделях, нейрон имеет состояния 1, 0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналог функции энергии). Максимум функции консенсуса соответствует оптимальному решению задачи.

Имеется следующая информация о результатах моделирования на ЭВМ работы нейронной сети. Моделировалась асинхронная работа сети Хопфилда. Сеть работает хорошо, т.е. без ошибок восстанавливает эталонные образы из случайных, если в нее записывается не более 15 % эталонных образов. Испытания проводились для 30 нейронов и для 100 нейронов в сети. Бралось некоторое количество случайных векторов в качестве эталонных и строилась соответствующая матрица весов связей. Моделирование при 100 нейронах было существенно более медленным процессам, чем при 30 нейронах, хотя качественная картина и в том и в другом случаях была одна и та же. Приблизительно 88 % испытаний заканчивались в эталонных состояниях, 10 % - в устойчивых состояниях, близких к эталонным. При расстоянии <= 5 между начальным и эталонным векторами, эталонное состояние достигалось в 90 % случаев. С увеличением расстояния, вероятность попадания в наиболее близкое эталонное состояние гладко падала.

При расстоянии 12 вероятность была равна 0.2. Устойчивые состояния, слишком близкие друг к другу, имеют тенденцию "сливаться", они попадают в одну впадину на энергетической поверхности. Программировалась задача коммивояжера на основе сети Хопфилда. Сетью из 100 нейронов для 20 различных случайных начальных состояний были определены маршруты, 16 из которых были приемлемыми, 50% попыток дали 2 пути 2.83 и 2.71 (цифры приводятся, чтобы показать как они близки) при кратчайшем 2.67. Это результаты моделирования работы сети с непрерывной моделью нейрона. Моделировалась также задача коммивояжера, но для сети типа машина Больцмана, проводилась при следующих значениях управляющих параметров: A = 0.95, L = 10, M = 100 (A - положительное число меньше единицы, но близкое к ней, L - число испытаний, которые проводятся без изменений, M - число последовательных испытаний, не приводящих к изменению состояния машины, как критерия завершения процесса). Процесс запускался 100 раз для n = 10 (всего в сети N = n^2 нейронов) и 25 раз для n = 30 при различных нормальных состояниях машины Больцмана.

Для n = 10 получился оптимальный результат, для n = 30 - решение на 14 % хуже оптимального. Отметим, что вероятностный механизм функционирования машины Больцмана дает возможность получить на ней несколько лучшие результаты оптимизации, чем на модели Хопфилда.

2.2.4. Модель сети с обратным распространением

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

Принцип обучения такой нейронной сети базируется на вычислении отклонений значений сигналов на выходных процессорных элементах от эталонных и обратном "прогоне" этих отклонений до породивших их элементов с целью коррекции ошибки. Еще в 1974 году Поль Дж. Вербос изобрел значительно более эффективную процедуру для вычисления величины, называемой производной ошибки по весу, когда работал над своей докторской диссертацией в Гарвардском университете. Процедура, известная теперь как алгоритм обратного распространения, стала одним из наиболее важных инструментов в обучении нейронных сетей. Однако этому алгоритму свойственны и недостатки, главный из которых - отсутствие сколько-нибудь приемлемых оценок времени обучения. Понимание, что сеть в конце концов обучится, мало утешает, если на это могут уйти годы. Тем не менее, алгоритм обратного распространения имеет широчайшее применение. Например, успех фирмы NEC в распознавании букв, был достигнут именно благодаря алгоритму обратного распространения. Подробнее метод обратного распространения описан в главе 3.

2.3. Задачи, решаемые на основе нейронных сетей

В литературе встречается значительное число признаков, которыми должна обладать задача, чтобы применение НС было оправдано и НС могла бы ее решить:

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

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

Банки и страховые компании:

- автоматическое считывание чеков и финансовых документов;
- проверка достоверности подписей;
- оценка риска для займов;
- прогнозирование изменений экономических показателей.

Административное обслуживание:

- автоматическое считывание документов;
- автоматическое распознавание штриховых кодов.

Нефтяная и химическая промышленность:

- анализ геологической информации;
- идентификация неисправностей оборудования;
- разведка залежей минералов по данным аэрофотосъемок;
- анализ составов примесей;
- управление процессами.

Военная промышленность и аэронавтика:

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

Промышленное производство:

- управление манипуляторами;
- управление качеством;
- управление процессами;
- обнаружение неисправностей;
- адаптивная робототехника;
- управление голосом.

Служба безопасности:

- распознавание лиц, голосов, отпечатков пальцев.

Биомедицинская промышленность:

- анализ рентгенограмм;
- обнаружение отклонений в ЭКГ.

Телевидение и связь:

- адаптивное управление сетью связи;
- сжатие и восстановление изображения.

Представленный перечень далеко не полон. Ежемесячно западные средства массовой информации сообщают о новых коммерческих продуктах на базе нейронных сетей. Так, фирма LIAC выпускает аппаратуру для контроля качества воды. Нейросистемы фирмы SAIC находят пластиковые бомбы в багаже авиапассажиров. Специалисты инвестиционного банка Citicomp (Лондон) с помощью программного нейропакета делают краткосрочные прогнозы колебаний курсов валют.

2.4. Способы реализации нейронных сетей

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

Основными коммерческими аппаратными изделиями на основе НС являются и, вероятно, в ближайшее время будут оставаться нейроБИС. Сейчас выпускаются более 20 типов нейроБИС, параметры которых порой различаются на несколько порядков. Среди них - модель ETANN фирмы Intel. Эта БИС, выполненная по микронной технологии, является реализацией НС с 64т нейронами и 10240 синапсами. Ее цена 2000 долл.

К числу самых дешевых нейроБИС (41 долл.) относится модель MD 1220 фирмы Micro Devices. Эта БИС реализует НС с 8 нейронами и 120 синапсами.

Среди разрабатываемых в настоящее время нейро БИС выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония). НейроБИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленная скорость обработки составляет 1,2 млрд. соединений / с. (НС содержит 64 нейрона и 262144 синапса).

НейроБИС фирмы Hitachi позволяет реализовать НС, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий.

Большинство сегодняшних нейрокомпьютеров представляют собой просто персональный компьютер или рабочую станцию, в состав которых входит дополнительная нейроплата. К их числу относятся, например, компьютеры серии FMR фирмы Fujitsu. Такие системы имеют бесспорное право на существование, поскольку их возможностей вполне достаточно для разработки новых алгоритмов и решения большого числа прикладных задач методами нейроматематики. Однако наибольший интерес представляют специализированные нейрокомпьютеры, непосредственно реализующие принципы НС. Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация персептрона, разработанная Розенблатом, называлась Mark I). Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений/с.

Mark IV - это однопроцессорный суперкомпьютер с конвейерной архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений/с.

Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment), обеспечивающую программную совместимость моделей. Помимо указанных моделей фирмы TRW предлагает также пакет Mark II - программный эмулятор НС.

Другой интересной моделью является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета. Его топология представляет собой трехмерную решетку стандартных вычислительных узлов на базе процессоров 80188. Компьютер NETSIM используется для моделирования таких моделей НС, как сеть Хопфилда - Кохонена и НС с обратным распространением. Его производительность достигает 450 млн. межсоединений/с.

Фирма Computer Recognitiion Systems (CRS) продает серию нейрокомпьютеров WIZARD/CRS 1000, предназначенных для обработки видеоизображений. Размер входной изображения 512 x 512 пикселей.

Модель CRS 1000 уже нашла применение в промышленных системах автоматического контроля.

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

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

ВЫВОДЫ

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

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

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

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

Подходы к обучению однослойных и многослойных сетей различны. Обучение многослойных сетей состоит в том, что на основе набора примеров {входное состояние -> выходное состояние} постепенно подбираются веса всех связей так, чтобы каждое входное состояние вызывало соответствующее выходное. Обучающие алгоритмы представляют собою итерационные процедуры с медленным приближением к окончательным значениям весов связей. Этот способ впервые был реализован в персептроне Розенблата и локальных правилах обучения на основе модели Хебба. В последующие годы этот подход получил дальнейшее развитие в алгоритмах типа обратного распространения.

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

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

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

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