Глава 2.

 

АППАРАТ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ (ИНС)

 

В этой главе дано краткое описание аппарата искусственных нейронных сетей. Мы не ставили целью дать исчерпывающее описание этого достаточно эффективного инструмента, пригодного для моделирования не только в психологии, но и в естественных науках, медицине, экономике, исследовании социальных процессов и т.д. По этой проблеме, начиная с 1949 года, когда Д. Хэбб продемонстрировал, что сеть нейронов может обучаться, имеется большое количество работ. Кроме того, такие известные программные продукты, как MatLab и Statistica имеют встроенные пакеты для работы с нейронными сетями. Мы ограничимся в этой небольшой книге лишь краткими сведениями об аппарате ИНС и его возможностях.
 
2.1. Что привело к разработке ИНС?

 

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

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

Поэтому было естественно создать некую модель, аналогичную биологической нейронной сети на компьютере. Такое направление в науке, использующее аналогии с природными объектами, называют бионикой.

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

Основные идеи аппарата ИНС как инструмента заключаются в следующем:

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

- поскольку каждый элемент ИНС является относительно простым, использование их в качестве аппарата не ассоциируется у пользователя со сложными математическими методами, что бывает удобно во многих случаях, например, когда пользователь является специалистом в гуманитарной области;

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

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

В настоящее время ведется поиск приложения аппарата ИНС в самых различных дисциплинах, в том числе и в психологии.

 

 

 

 

2.2. Мозг человека – прототип ИНС

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

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

Наиболее важными свойствами биологических нейронных сетей являются.

1. Параллельность обработки информации.

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

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

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

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

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

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

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

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

 

2.3. Формальный аппарат искусственных

        нейронных сетей

 

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

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

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

На входы такого искусственного нейрона поступает множество сигналов от выходов других нейронов. Уровень активации нейрона (его текущее состояние) определяется взвешенным суммированием входных сигналов, т.е. каждый входной сигнал x1, x2, …, xn умножается на соответствующий вес w1, w2, …, wn, аналогичный синаптической силе:

Далее сигнал S преобразуется активационной функцией f и дает сигнал y, являющийся выходом нейрона:

y=f(S)

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

 

 

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

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

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

На n входов поступают сигналы, проходящие по синапсам на m нейронов (рис 2.3). Текущее состояние каждого нейрона определяется формулой:

 

,       j=1…m

 

Выходами этой нейронной сети будут значения:

 

, j=1…m

Рис. 2.1. Искусственный нейрон.

 

 

                         a)

                             b)

 

 

 

Рис. 2.2. Наиболее часто используемые виды активационных функциий: a) - пороговая функция; b) – сигмоид; c) – гиперболический тангенс.

 

                            c)           

 

 

 

Рис. 2.3. Однослойная искусственная нейронная сеть.

 

Если весовые коэффициенты синапсов одного слоя нейронов свести в матрицу W, состоящую из n строк и m столбцов и элементы wij которой задают величину синаптической связи i-го входа с j-ым нейроном, то процесс, происходящий в нейронной сети, можно записать в матричной форме:

Y=F(XW)

где X - входной вектор, Y - выходной вектор.

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

 

Рис. 2.4. Двухслойная ИНС.

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

Среди разнообразных структур ИНС можно выделить две основные архитектуры - слоистые и полносвязные сети.

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

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

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

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

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

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

 

 

2.4. Обучение ИНС

 

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

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

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

Для минимизации ошибок (функций невязки) часто используют Различные методы нелинейного программирования. Иллюстрация работы некоторых таких алгоритмов показана на рис. 2.5.

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

 

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

 

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

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

 

2.5. Компьютерные среды для реализации моделей с

       использованием ИНС 

 

Теория аппарата искусственных нейронных сетей в настоящее время является хорошо развитой благодаря работам (Кохонен 1980, Горбань и Россиев 1996, Уоссермен 1992, Минский и Пейперт 1971, Веденов 1988, Мкртчян 1971, Горбань 1990, Галушкин 1974, Шеперд 1987, Блум и др. 1988, Caudill 1989, Charalambous 1992, Hagan and Demuth 1994, 1996, 1999,  Hunt 1992, Kohonen 1987, 1997, Wasserman 1993 и др.).  Многие производители программного обеспечения включили их как специализированные пакеты в свои программные продукты. Среди известных программ такого рода MatLab и Statistica. Так, на рис. 2.6. показана реализация ИНС в среде MatLab и результат обучения сети.

Существует также множество программ-оболочек, позволяющих быстро конструировать модели на ИНС, содержащих встроенные алгоритмы обучения (Арзамасцев и Зубаков 2003). Одной из таких реализаций является программа NNC (автор Крепец В.В.), описание которой дано в главе 5.

 

 

Рис. 2.6. Пример реализации ИНС в среде MatLab.

 

 

 

Hosted by uCoz