
- •Глава 1
- •1.1. Обобщенное описание задачи
- •1.2. Объекты управления
- •1.3. Принципы цифрового управления
- •1.4. Математические модели цифровых систем управления
- •1.5. Вычислительные методы решения задач
- •4. Ос рв с полным сервисом.
- •Глава 3
- •Глава 4
- •4.3. Нанокомпьютеры
- •5Л. Микропроцессорная система управления электродвигателем
- •5.2. Нечеткая адаптивная система
- •Получим выражение для уравнения движения атс. Для разложим в ряд Тейлора и используем линейные члены:
- •При малых отклонениях (в установившемся режиме)
- •Представим это выражение в безразмерном виде:
- •Поэтому передаточная функция атс при управлении скоростью с помощью механизма топливоподачи будет
- •5.3. Нечеткая система управления
- •Структурная схема системы управления атс будет выглядеть, как показано на рис. 5.43.
- •Окончание табл. 5.3
- •5.4. Управляющий вычислительный комплекс радиотелескопа
Глава 3
УПРАВЛЕНИЕ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННЫХ СЕТЕЙ
3.1. Обобщенное описание
! С первых дней появления компьютеров в конце 1940-х и на¬
чале 50-х существует два подхода к проблеме разработки машин, демонстрирующих "разумное" поведение. Один из них пытается | хранить информацию в виде набора атомарных семантических объектов или символов и манипулировать ею согласно набору формальных алгоритмических правил. Эта символьно-алгоритми- ческая модель, которая на протяжении последних двадцати лет представляет основное направление исследований в области Ис-кусственного Интеллекта (ИИ), да и сам термин ИИ обычно используется для обозначения именно этого направления.
Однако параллельно с этим направлением существует еще одно направление исследований, использующее машины с ар¬хитектурой, отдаленно напоминающей устройство мозга, кото¬рые назвали нейронными сетями. Работа с такими нейронными сетями была очень активна в 1960-х, пережила потерю популяр¬ности в 1970-х и начале 1980-х, но сейчас наблюдается возоб¬новление интереса. В последние десять лет во всем мире наблю- | дается резко возросший объем научных исследований в теории | и практике искусственных нейронных сетей. По этой тематике I ежегодно проводится большое количество конференций и сим- | позиумов. Появилось большое число новых журналов, в частно- j сти, журналы "Neural Networks" (с 1983 года) и "IEEE Transactions
зволяют подключать любые устройства, оснащенные портами Ethernet, к сетям стандарта 802.1ib. Они предоставляют возмож¬ность создания беспроводных сетей и могут выполнять роль адап¬тера 802.11b для компьютеров всех видов (драйверы устройству не требуются) в корпоративных сетях. Возможно применение моста для создания временного беспроводного соединения между различными Ethernet-устройствами, например между маршру¬тизаторами. Подключив мост к концентратору, можно соеди¬нить с беспроводной сетью до 30 клиентов.
Используя антенны и антенные усилители диапазона 2,4 ГГц для компенсации потерь в кабеле между антенной и приемопередатчиком, увеличивая выходную мощность пере-датчика до 500 МВт, повышая стабильности работы приемни¬ка, можно обеспечить для любой точки доступа увеличение даль-ности действия до 50 км.
Радиошины, помимо обычных возможностей, которыми они располагают как устройства передачи информации, предостав-ляют дополнительные возможности, как, например, в устрой¬стве компании Hitachi. Это система локального позиционирова¬ния, использующая беспроводную сеть передачи данных. Принцип действия данной системы основан на измерении ско¬рости задержки сигнала. Минимальное количество узлов — три, и они должны быть расположены на расстоянии 100—200 м друг от друга. Точность позиционирования составляет 1—3 м. Основ¬ные области применения системы: управление и контроль за перемещением оборудования и продукции на заводах и складах.
поэтому нейронные сети — это скорее адаптивные, нежели за- | программированные системы.
j • Их реакцию на входное воздействие лучше всего представ¬лять, как эволюцию во времени физической динамической си¬стемы и даже может существовать ее явное описание посред¬ством набора дифференциальных уравнений, ! • Они надежны при наличии шума в соединениях между
j нейронами и обладают свойством постепенной деградации при j аппаратном сбое.
• Характерной чертой их работы является то, что они выде- ; ляют статистические закономерности или особенности из набо¬ра обучающих воздействий. Это позволяет сети плодотворно ре-
! агировать на неизвестное входное воздействие, сопоставляя его с уже испытанным воздействием или относя к новому классу.
• В нейронной сети не существует простого соответствия между узлами и высокоуровневыми семантическими объектами. Скорее представление концепции или идеи в сети происходит посредством полной совокупности активностей в нейронах и распределяется по всей сети так, что отдельный модуль может принимать участие в нескольких семантических объектах.
По поводу последнего пункта существует большое расхож¬дение во взглядах. Многие исследователи разработали сети, со¬держащие, по крайней мере, несколько узлов, посвященных высокоуровневым семантическим конструкциям [23]. В своей ра¬боте [24] Смоленский выступает за "Правильный подход к кон- нективизму", при котором сети могут работать только на пред- символическом уровне и где нет локальных высокоуровневых | семантических конструкций. Он отмечает, что в противном слу¬чае коннективизм рискует деградировать в параллельную сим¬вольную модель. И на самом деле высокоуровневые семантиче¬ские сети изучаются за пределами коннективистской модели как | "пульсирующие сети" на взвешенных графах, где никакой ней- I ронной аналогии не применяется.
Идеи по созданию машин с нейронными свойствами всегда развивались параллельно с работой по созданию компьютеров общего назначения, широко используемых сегодня. Фактически аналогия между компьютерными вычислениями и операциями мозга была отмечена в большинстве ранних работ в этой области.
on Neural Networks" (c 1990 года). В России также ведутся значи¬тельные исследования в этой области. Проведены международ¬ные конференции "Нейроинформатика и нейрокомпьютеры" (Ростов-на-Дону, 1992 и 1995 гг.), "Оптическая память и ней¬ронные сети" (Москва, 1994 г.), "Нейрокомпьютеры и их при¬менение" (Москва, 1995, 1996, 1997 гг.). Начиная с 1992 года издается журнал "Нейрокомпьютер".
Центральная идея этого подхода заключена в том, что для того чтобы воссоздать некоторые из возможностей мозга по об -работке информации, необходимо воссоздать некоторые из его архитектурных особенностей. Поэтому коннекционная машина, или нейронная сеть, должна состоять из сети с множеством со-единений сравнительно простых процессоров (узлов, устройств или искусственных нейронов), каждый из которых имеет много входов и один выход. В биологических нейронах производитель-ная способность каждого нейрона зависит от электрохимиче¬ских характеристик его синапса. Во многих коннекционных мо¬делях это достигается путем назначения весового коэффициента каждому входу.
В динамике, биологические нейроны общаются путем пере-дачи электрических импульсов. Они непрерывно суммируют или интегрируют их и в зависимости от результата — положительно-го (возбуждающего) или отрицательного (тормозящего) выход-ной импульс генерируется либо нет. В искусственных сетях, каж-дый узел непрерывно обновляет свое состояние путем генерации внутренней активационной величины, которая является функ¬цией от входных и внутренних параметров. Затем эта величина используется для генерации выходного импульса посредством некоторой активационной выходной функции.
На системном уровне можно составить список особеннос¬тей, характерных для всех нейронных сетей, но коннекционны- ми считается такое большое разнообразие сетей, что любой та¬кой список неизбежно будет справедлив не ко всем из них. Тем не менее, приведем типичный список характеристик:
• Параметры узла формируются путем тренировки до их ко-нечной величины непрерывным воздействием на сеть набора величин или тренировочных векторов, позволяющих сети реа-гировать на каждую величину и соответственно изменять веса,
! К концу 1950-х годов сформировался логико-символьный под ~
| ход к моделированию интеллекта. Его развитие создало такие на- I правления, как эвристическое программирование и машинный j интеллект, и способствовало угасанию интереса к нейронным I сетям. Неблагоприятным моментом, затормозившим развитие J нейросетевой тематики на два с лишним десятилетия, явилось ' опубликование тезиса, выдвинутого авторитетнейшими учеными | 1960-х годов М. Минским и С. Пейпертом о невозможности вос¬произведения произвольной функции нейронной сетью и, сле- ! довательно, о невозможности создания универсального вычис- ! лительного устройства на ее основе. Поэтому, в течение длительного времени основным направлением в развитии искус¬ственного интеллекта являлся логико-символьный подход, кото¬рый может быть реализован на традиционных вычислительных ! системах. Было получено решение многих "интеллектуальных" за- I дач из определенных предметных областей, j В 1969 году после публикации книги Минского и Паперта
j "Персептроны" [30] энтузиазм к изучению нейронных сетей зна¬чительно поутих. Они показали, что существует интересный класс проблем, который нельзя решить путем применения одноуров¬невой персептронной сети, и что практически нет надежды на обучение многоуровневых систем, которые бы успешно справи¬лись с ними. Однако в 1951 году тот же Минский и Дин Эдмондс построили одну из первых обучающихся машин, основанную на нейронной сети, и вопреки персептрону большинство работ в этой области продолжилось, хотя и в тени символьного ИИ: Гросберг заложил основы Теории Адаптивного Резонанса (ТАР) [31]; Фукишима разработал когнитрон [32], Кохонен исследовал сети, которые использовали карту топологических символов [33]; и Александер построил аппаратную имплементацию сетей [34].
К началу 1980-х годов были созданы условия для возрожде- ; ния интереса к нейросетевым моделям. Это было связано с на- | коплением новых данных при экспериментальных исследовани¬ях мозга. Кроме того, были получены важные теоретические результаты, позволившие разработать алгоритмы обучения для различных искусственных нейронных сетей (НС).
В 1982 году Джон Хопфилд показал, что сети с большим ко¬личеством связей между пороговыми логическими устройствами
Так, Ван Ньюман в первом наброске доклада по Эдваку [25] де¬лает несколько сопоставлений между предполагаемыми элемен¬тами схем и биологическими нейронами.
В 1942 году Норберг Винер [26] и его коллеги сформулиро-вали идеи, которые позднее были названы кибернетикой и которые он определил как "управление и коммуникация в животном и машине". Их главной чертой является то, что био-логические организмы могут быть рассмотрены с инженерных и математических позиций. При этом основной упор делался на идеи обратной связи.
С развитием ИИ термин "Кибернетика" стал немодным в последние годы, хотя из-за своей междисциплинарной приро¬ды новую волну коннекционизма было бы правильней назвать подразделом кибернетики: наверняка многие из ранних иссле-дователей нейросетей описали бы свою деятельность именно таким способом.
В том же году, когда Винер сформулировал кибернетику, Мак-Каллок и Пите [27] опубликовали первый формализован¬ный труд по нейронным сетям. Основным его результатом яви¬лось то, что любое хорошо заданное отношение вход-выход мо¬жет быть представлено в виде формальной нейронной сети [28].
Одной из ключевых особенностей сетей является их способ-ность к обучению исходя из опыта, полученного в обучающей среде. В 1949 году Дональд Хеб выявил механизм, посредством которого это происходит в биологическом мозге. Величина си-ноптических сигналов меняется так, чтобы усилить любое одно-временное изменение уровней активности между пресинопти- ческими и постсинаптическими нейронами. Переводя на язык искусственных нейронных сетей, вес на входе должен быть уси-лен, чтобы отразить корреляцию между входом и выходом уст-ройства. Обучающие схемы, основанные на этом "правиле Хеба", всегда играли видную роль.
Следующим заметным шагом является изобретение персеп- трона Розенблатом в 1957 году. Основную часть работы он опи-сал в книге "Принципы нейродинамики" [29]. Одним из наибо¬лее значительных результатов, представленных там, было доказательство того, что простая обучающая процедура сходит-ся, если решение проблемы существует.
j К концу 1950-х годов сформировался логико-символьный под-
| ход к моделированию интеллекта. Его развитие создало такие на- j правления, как эвристическое программирование и машинный | интеллект, и способствовало угасанию интереса к нейронным I сетям. Неблагоприятным моментом, затормозившим развитие I нейросетевой тематики на два с лишним десятилетия, явилось 1 опубликование тезиса, выдвинутого авторитетнейшими учеными ! 1960-х годов М. Минским и С. Пейпертом о невозможности вос- 1 произведения произвольной функции нейронной сетью и, сле- | довательно, о невозможности создания универсального вычис- ! лительного устройства на ее основе. Поэтому, в течение длительного времени основным направлением в развитии искус¬ственного интеллекта являлся логико-символьный подход, кото- j рый может быть реализован на традиционных вычислительных I системах. Было получено решение многих "интеллектуальных" за- { дач из определенных предметных областей. | В 1969 году после публикации книги Минского и Паперта
"Персептроны" [30] энтузиазм к изучению нейронных сетей зна¬чительно поутих. Они показали, что существует интересный класс проблем, который нельзя решить путем применения одноуров¬невой персептронной сети, и что практически нет надежды на обучение многоуровневых систем, которые бы успешно справи¬лись с ними. Однако в 1951 году тот же Минский и Дин Эдмондс построили одну из первых обучающихся машин, основанную на нейронной сети, и вопреки персептрону большинство работ в этой области продолжилось, хотя и в тени символьного ИИ: Гросберг заложил основы Теории Адаптивного Резонанса (ТАР) [31]; Фукишима разработал когнитрон [32], Кохонен исследовал сети, которые использовали карту топологических символов [33]; и Александер построил аппаратную имплементацию сетей [34].
К началу 1980-х годов были созданы условия для возрожде¬ния интереса к нейросетевым моделям. Это было связано с на¬коплением новых данных при экспериментальных исследовани¬ях мозга. Кроме того, были получены важные теоретические результаты, позволившие разработать алгоритмы обучения для различных искусственных нейронных сетей (НС).
В 1982 году Джон Хопфилд показал, что сети с большим ко¬личеством связей между пороговыми логическими устройствами
Так, Ван Ньюман в первом наброске доклада по Эдваку [25] де¬лает несколько сопоставлений между предполагаемыми элемен¬тами схем и биологическими нейронами.
В 1942 году Норберг Винер [26] и его коллеги сформулиро-вали идеи, которые позднее были названы кибернетикой и которые он определил как "управление и коммуникация в животном и машине". Их главной чертой является то, что био-логические организмы могут быть рассмотрены с инженерных и математических позиций. При этом основной упор делался на идеи обратной связи.
С развитием ИИ термин "Кибернетика" стал немодным в последние годы, хотя из-за своей междисциплинарной приро¬ды новую волну коннекционизма было бы правильней назвать подразделом кибернетики: наверняка многие из ранних иссле-дователей нейросетей описали бы свою деятельность именно таким способом.
В том же году, когда Винер сформулировал кибернетику, Мак-Каллок и Пите [27] опубликовали первый формализован¬ный труд по нейронным сетям. Основным его результатом яви¬лось то, что любое хорошо заданное отношение вход-выход мо¬жет быть представлено в виде формальной нейронной сети [28].
Одной из ключевых особенностей сетей является их способ-ность к обучению исходя из опыта, полученного в обучающей среде. В 1949 году Дональд Хеб выявил механизм, посредством которого это происходит в биологическом мозге. Величина си-ноптических сигналов меняется так, чтобы усилить любое одно-временное изменение уровней активности между пресинопти- ческими и постсинаптическими нейронами. Переводя на язык искусственных нейронных сетей, вес на входе должен быть уси-лен, чтобы отразить корреляцию между входом и выходом уст-ройства. Обучающие схемы, основанные на этом "правиле Хеба", всегда играли видную роль.
Следующим заметным шагом является изобретение персеп- трона Розенблатом в 1957 году. Основную часть работы он опи-сал в книге "Принципы нейродинамики" [29]. Одним из наибо¬лее значительных результатов, представленных там, было доказательство того, что простая обучающая процедура сходит-ся, если решение проблемы существует.
ронных систем, кажутся чрезмерным упрощением "биологиче¬ских" моделей.
В нейронных сетях реализуются алгоритмические структуры сильно связанных потоков, которые обеспечивают наибольшие возможности для параллельных вычислений. Принцип вычисле-ний, используюемый в такого рода системах, отличается от фон- неймановского (управление потоком команд) и определяется как управление потоком данных (Data Flow). Этот принцип фор-мулируется следующим образом: все команды выполняются толь¬ко при наличии всех операндов (данных), необходимых для их выполнения. Поэтому в программах, используемых для потоко ¬вой обработки, описывается не поток команд, а поток данных. Отметим следующие особенности управления потоком данных, характерные для Data Flow:
• команду со всеми операндами (с доставленными операн-дами) можно выполнять независимо от состояния других ко¬манд, т. е. появляется возможность одновременного выполне¬ния множества команд (первый уровень параллелизма);
• отсутствует понятие адреса памяти, так как обмен данны¬ми происходит непосредственно между командами;
® обмен данными между командами четко определен, по-этому отношение зависимости между ними обнаруживается легко (функциональная обработка);
• поскольку управление командами осуществляется посред-ством передачи данных между ними, то нет необходимости в управлении последовательностью выполнения программы, т. е. имеет место не централизованная, а распределенная обработка.
Таким образом, параллелизм в таких системах может быть реализован на двух уровнях:
• на уровне команд, одновременно готовых к выполнению и доступных для параллельной обработки многими процессора¬ми (нейронами);
• на уровне транспортировки команд и результатов их вы-полнения через тракты передачи информации (реализуемые в виде сетей).
Большое влияние на разработку теории искусственных ней-ронных сетей оказал коннекционизм — раздел искусственного интеллекта, связанный с созданием, исследованием и развитием могут быть проанализированы с помощью физической динами-ческой модели, обладающей "энергией". Процесс ассоциативных воспоминаний, при котором сеть из некоторого случайного на-чального состояния переходит в некоторое стабильное конечное состояние, подобен поведению физической системы, переходя-щей в состояние с минимальной энергией. Эта книга, приближа-ясь к интерпретации сетей с обратными связями (рекурсивных сетей), оказалась очень плодотворной и повлекла за собой вовле-чение физиков и математиков в эту область. Подобный прорыв произошел и в области нерекурсивных сетей.
Помимо технических успехов в области анализа сетей, ней-ронные сети также являются подсистемой еще более широкого класса систем, которые начала исследовать физика. К ним отно-сятся клеточные автоматы, частицы и хаотический феномен.
Последние годы были отмечены увеличением интереса к нейронным сетям. Интерес к нейронным сетям возродился после получения важных теоретических результатов в начале вось-мидесятых и появления нового аппаратного обеспечения, по-высившего производительность вычислений. Возрождение инте-реса проявилось в увеличении числа ученых, финансирования, количества больших конференций и журналов, посвященных нейронным сетям. В наши дни большинство университетов име-ют группы, занимающиеся нейронными сетями, внутри кафедр психологии, физики, компьютеров или биологии.
Искусственные нейронные сети наиболее адекватно харак-теризуются как "вычислительные модели", обладающие спо-собностями к адаптации или обучению, обобщению или клас-теризации данных, и чье функционирования основано на параллельности вычислений. Тем не менее, многие из пере-численных выше свойств могут быть отнесены к существую¬щим не нейронным моделям, и ответ на интригующий вопрос о том, до какой степени нейронный подход лучше подходит для решения определенных задач, чем существующие модели, до сих пор не найден.
Часто рассматриваются параллели с биологическими систе-мами. Тем не менее, до сих пор так мало известно (даже на са¬мом низком клеточном уровне) о биологических системах, что модели, которые мы используем для наших искусственных ней пополняя знания о нем путем взаимодействия с другими объек¬тами и средой.
Во-вторых, компоненты системы, развиваясь в процессе эволюции, должны быть способны передавать свои характерные черты по наследству, т. е. должен присутствовать механизм по-рождения новых поколений — путем деления, скрещивания либо дублирования существующих объектов.
В-третьих, окружающий мир должен быть достаточно жест-ким, сводящим к минимуму шансы на выживание и появление потомства у слабых и плохо приспособленных особей.
В-четвертых, должен присутствовать механизм порождения новых форм (аналог мутаций в реальном мире), обычно содер-жащий элемент случайности.
При решении реальной задачи методами AL строится дина-мическая модель среды, в которой предстоит существовать уп-равляемому объекту. Среда населяется множеством разновидно-стей управляемого объекта и отводится время для жизни нескольких поколений. В процессе эволюции слабые особи (пло¬хие решения) будут погибать, сильные — скрещиваться, за-крепляя в новых поколениях свои лучшие черты. Через несколько десятков (иногда — сотен и даже тысяч) циклов такая селекция породит "цивилизацию" практически неуязвимых особей, иде¬ально приспособленных к заданной ранее модели среды. Не факт, что результат будет соответствовать вашим представлениям о прекрасном (близок к ожидаемому). Но можно с большой сте¬пенью уверенности сказать, что "жизненная сила" прошедшего жесточайший отбор решения будет достаточной, чтобы успеш¬но противостоять любым действиям конкурентов и изменениям среды.
Методы AL в первую очередь стали применять при создании разнообразных роботов и гибких автоматизированных произ-водств. Одно из определений AL даже трактует ее как теорию управления сообществом роботов, решающих навигационные задачи путем адаптации к внешним условиям. Элементы AL уже десятки лет фактически используются при моделировании ката-строф, чрезвычайных ситуаций и военных конфликтов. Приме-ры таких приложений можно найти на компакт-диске "NASA Nechnology".
Основным компонентом системы AL являются пакеты, ре-ализующие генетические алгоритмы. Наиболее распространены два пакета: Evolver (первый из массовых пакетов GA ), а также более поздний и мощный пакет Gene-Hunter фирмы Ward Systems Group. Последний особенно популярен, поскольку вхо-дит в состав нейросетевого пакета Ward, активно используемого в России. Также используются пакеты, основанные на нечеткой логике. Наиболее известен пакет CubiCalc, позволяющий стро-ить экспертные системы с нечеткими правилами. В задачах си-туационного моделирования наиболее широко применяется па-кет iThink, реализующий методы так называемой "динамики систем" (system dynamics). Кроме того, в Internet можно найти несколько серверов, специализирующихся на AL и GA.
4.2. Управляющие нейрокомпьютеры
Нейрокомпьютеры (НК) — это ЭВМ нового поколения, ка-чественно отличающиеся от классических вычислительных сис-тем параллельного типа тем, что для решения задач они ис-пользуют не заранее разработанные алгоритмы, а специальным образом подобранные примеры, на которых учатся. Их появле-ние обусловлено объективными причинами: значительным раз-витием элементной базы, позволяющим на одной плате реали-зовать матрицу полнофункциональных компьютеров (моделей нейрона), и необходимостью решения важных практических за-дач, поставленных действительностью.
К настоящему времени сформировался обширный рынок нейросетевых продуктов. Подавляющее большинство продуктов представлено в виде моделирующего программного обеспече-ния. Ведущие фирмы разрабатывают также и специализирован-ные нейрочипы или нейроплаты в виде приставок к персональ-ным ЭВМ. При этом программное обеспечение может работать как без нейроприставок, так и с ними. В последнем случае быс-тродействие гибридной ЭВМ возрастает в сотни и тысячи раз. Однако при ближайшем рассмотрении оказывается, что эти приставки представляют собой классические процессоры (уни-версальные или специализированные, например, сигнальные), в некоторых случаях учитывающие специфику НС (например,
за счет аппаратной реализации операции адаптивного суммиро¬вания). При использовании такого подхода представляется про¬блематичным реализация суперЭВМ с "истинным параллелиз¬мом", когда каждый нейрон работает в соответствии с логикой работы НС.
Основываясь на достижениях микроэлектроники, можно реализовать ЭВМ с большим числом элементов — нейронов (порядка тысяч и десятков тысяч). При этом возникает пробле¬ма организации связей между элементами, отвечающих архи¬тектуре НС, которая на сегодняшний момент для произволь¬ных НС пока не решена. Поэтому, как указано в [1.6], современные супернейрокомпьютеры строятся по традицион¬ной архитектуре МКМД (либо комбинированной МКМД + PVP, либо МКМД 4- конвейеризация), но не из стандартных про¬цессоров, а из элементов в виде СБИС-нейрочипов, аппарат- но реализующих фрагмент НС. Наиболее ярким прототипом та¬кого супернейрокомпьютера является система обработки аэрокосмических изображений, разработанная в США по про¬грамме "Силиконовый мозг". Объявленная производительность супернейрокомпьютера составляет 80 флоп при физическом объеме, равном объему человеческого мозга, и потребляемой мощности 20 Вт. Естественно, что такая производительность не может быть обеспечена с помощью рассмотренных тради¬ционных архитектур суперЭВМ.
Основные проблемы создания нейрокомпьютеров — разра-ботка сверхпараллельных нейросетевых алгоритмов формализу- мых задач и их распараллеливание в соответствии с архитекту¬рой коммутационной системы, а также разработка новых методик i решения неформализуемых задач. При этом рассматриваются три вида моделей нейронных сетей: физические, математические, технологические. Львиную долю публикаций по вопросам со¬здания нейросетевых моделей составляют работы по реализации различных видов нейро-процессоров на основе СБИС, опти¬ческой, ПЛИС и т. п. технологий (технологические модели НС). Работы по исследованию физических моделей НС, в которых | отображаются физические принципы функционирования голов- I ного мозга, привели к созданию проекта Кремниевой мозговой j коры (SCX —- Silicon Cortex), возглавляемого немецким биоло-
гом М. Маховальдом. Тем не менее, несмотря на значительные достижения в разработке физических моделей мозга, пока не создано такой модели, которая адекватно отображала бы работу мозга и позволяла генерировать новое знание. Более того, глав ¬ная проблема — моделирование зрения, внимания, координи¬рованного управления поведением — не имеет удовлетворитель¬ного решения в рамках нейросетевой технологии.
Поэтому наиболее важными представляются работы по со¬зданию математических моделей нейросетевых вычислений, ко¬торые позволяют отрабатывать и создавать новые принципы орга¬низации параллельной работы многих вычислительных элементов — формальных нейронов.
До недавнего времени НК использовались в основном для решения неформализуемых задач. Именно необходимость реше¬ния таких задач породила появление реальных НК в бывшем СССР еще 30 лет назад [16]. Однако развитие теории и элемент¬ной базы последних лет позволило разработать методы проекти¬рования НК для решения и формализуемых, и трудно форма¬лизуемых задач. Таким образом, сегодня НК приобретает черты универсальной вычислительной машины.
На рис. 4.1 представлена структурная схема абстрактного НК. Такую схему можно назвать обобщенной, так как она поясняет принцип работы любого НК независимо от его конкретного кон¬структивного исполнения. Эта схема напоминает классическую
Запоминающее устройство
I
Устройство ввода Нейронная сеть Устройство вывода
1
А
1 *
1 1 | ф ф ф ф ф
1 Блок обучения 1
<—* Устройство управления
Рис. 4.1. Структура абстрактного НК
схему однопроцессорной машины Дж. фон Неймана, предло¬женную им еще в 1945 одуг. Однако НК в принципе отличается от этой машины.
Основным операционным блоком НК, его процессором, является искусственная нейронная сеть. В первом, грубом при¬ближении сеть представляет собой совокупность простейших модулей, называемых формальными нейронами, соединенны¬ми каналами передачи информации. Количественная характери¬стика каждого канала определяется решаемой задачей.
Нейронная сеть не производит вычислений, как это делает арифметико-логическое устройство машин фон Неймана. Она трансформирует входной сигнал (входной образ) в выходной в соответствии со своей топологией и значениями коэффициен¬тов межнейронной связи.
В запоминающем устройстве НК хранится не программа ре¬шения задачи, как это имеет место в машинах фон Неймана, а программа изменения коэффициентов связи между нейрона¬ми. Устройства ввода и вывода информации в принципе выпол¬няют те же функции, что и в машине фон Неймана. Устройство управления служит для синхронизации работы всех структурных блоков НК при решении конкретной задачи.
В работе абстрактного НК выделяют два главных режима работы — обучения и рабочий. Для того чтобы НК решал требу¬емую задачу, его НС должна пройти обучение на эту задачу. Суть режима обучения заключается в настройке коэффициентов меж¬нейронных связей на совокупность входных образов этой задачи. Установка коэффициентов осуществляется на примерах, сгруп-пированных в обучающие множества. Такое множество состоит из обучающих пар, в которых каждому эталонному значению входного образа соответствует желаемое (эталонное) значение выходного образа.
При первой подаче очередного эталонного входного образа выходной сигнал отличается от желаемого. Блок обучения оце¬нивает величину ошибки и корректирует коэффициенты меж¬нейронных связей с целью ее уменьшения. При каждой после¬дующей подаче этого же эталонного входного образа ошибка уменьшается. Процесс продолжается до тех пор, пока ошибка не достигнет требуемого значения. С математической точки зре- ронных систем, кажутся чрезмерным упрощением "биологиче¬ских" моделей.
В нейронных сетях реализуются алгоритмические структуры сильно связанных потоков, которые обеспечивают наибольшие возможности для параллельных вычислений. Принцип вычисле¬ний, используюемый в такого рода системах, отличается от фон- неймановского (управление потоком команд) и определяется как управление потоком данных (Data Flow). Этот принцип фор¬мулируется следующим образом: все команды выполняются толь¬ко при наличии всех операндов (данных), необходимых для их выполнения. Поэтому в программах, используемых для потоко ¬вой обработки, описывается не поток команд, а поток данных. Отметим следующие особенности управления потоком данных, характерные для Data Flow:
• команду со всеми операндами (с доставленными операн¬дами) можно выполнять независимо от состояния других ко¬манд, т. е. появляется возможность одновременного выполне¬ния множества команд (первый уровень параллелизма);
• отсутствует понятие адреса памяти, так как обмен данны¬ми происходит непосредственно между командами;
® обмен данными между командами четко определен, по¬этому отношение зависимости между ними обнаруживается легко (функциональная обработка);
• поскольку управление командами осуществляется посред¬ством передачи данных между ними, то нет необходимости в управлении последовательностью выполнения программы, т. е. имеет место не централизованная, а распределенная обработка.
Таким образом, параллелизм в таких системах может быть реализован на двух уровнях:
• на уровне команд, одновременно готовых к выполнению и доступных для параллельной обработки многими процессора¬ми (нейронами);
• на уровне транспортировки команд и результатов их вы¬полнения через тракты передачи информации (реализуемые в виде сетей).
Большое влияние на разработку теории искусственных ней¬ронных сетей оказал коннекционизм — раздел искусственного интеллекта, связанный с созданием, исследованием и развитием
могут быть проанализированы с помощью физической динами¬ческой модели, обладающей "энергией". Процесс ассоциативных воспоминаний, при котором сеть из некоторого случайного на¬чального состояния переходит в некоторое стабильное конечное состояние, подобен поведению физической системы, переходя¬щей в состояние с минимальной энергией. Эта книга, приближа¬ясь к интерпретации сетей с обратными связями (рекурсивных сетей), оказалась очень плодотворной и повлекла за собой вовле¬чение физиков и математиков в эту область. Подобный прорыв произошел и в области нерекурсивных сетей.
Помимо технических успехов в области анализа сетей, ней¬ронные сети также являются подсистемой еще более широкого класса систем, которые начала исследовать физика. К ним отно¬сятся клеточные автоматы, частицы и хаотический феномен.
Последние годы были отмечены увеличением интереса к нейронным сетям. Интерес к нейронным сетям возродился после получения важных теоретических результатов в начале вось¬мидесятых и появления нового аппаратного обеспечения, по¬высившего производительность вычислений. Возрождение инте¬реса проявилось в увеличении числа ученых, финансирования, количества больших конференций и журналов, посвященных нейронным сетям. В наши дни большинство университетов име¬ют группы, занимающиеся нейронными сетями, внутри кафедр психологии, физики, компьютеров или биологии.
Искусственные нейронные сети наиболее адекватно харак¬теризуются как "вычислительные модели", обладающие спо¬собностями к адаптации или обучению, обобщению или клас¬теризации данных, и чье функционирования основано на параллельности вычислений. Тем не менее, многие из пере¬численных выше свойств могут быть отнесены к существую¬щим не нейронным моделям, и ответ на интригующий вопрос о том, до какой степени нейронный подход лучше подходит для решения определенных задач, чем существующие модели, до сих пор не найден.
Часто рассматриваются параллели с биологическими систе¬мами. Тем не менее, до сих пор так мало известно (даже на са¬мом низком клеточном уровне) о биологических системах, что модели, которые мы используем для наших искусственных ней-
Топология простейшей однослойной нейронной сети пока¬зана на рис. 3.1.
Здесь для простоты изображения нейроны представлены в виде кружков и расположены в узлах сети. Линии связи с дву¬сторонними стрелками условно означают передачу информации по двум физически различным каналам. В сетях этого вида лю¬бой из нейронов может быть входным и выходным.
Регулярность сети заключается в строгой определенности числа связей для каждого нейрона. Причем число связей нейро¬на зависит от места его расположения в сети. Так, для сети, приведенной на рис. 3.3, нейроны, расположенные в углах сети, связаны лишь с двумя ближайшими нейронами, расположен¬ными на вертикальной и горизонтальной границе. Пограничные нейроны имеют связи с тремя ближайшими нейронами: с дву¬мя, расположенными вдоль границы, и с одним внутренним. Внутренние нейроны соединены с четырьмя соседними.
Рис. 3.1. Регулярная нейронная сеть: xf— входы, у — выходы
у 1
У4
Возможен случай, когда для сети, представленной на рис. 3.1, пограничные нейроны двух параллельных границ свя¬зывают между собой. Это приводит к трансформации НС из плос¬кости в цилиндр. Если же разработчик считает необходимым, то, соединяя далее пограничные нейроны двух других парал¬лельных границ (т. е. торцов цилиндра), трансформирует цилиндр в тор. Отметим, что у тора все нейроны будут иметь по четыре связи с ближайшими соседними нейронами.
моделей мозга (мышления) человека. С точки зрения коннекцио- низма (connection— связь) в основу концепции НС положена идея о том, что нейроны можно моделировать довольно просты¬ми автоматами, а вся сложность мозга, гибкость его функциони¬рования и другие важнейшие качества определяются связями между нейронами. Каждая связь представляется как простой эле¬мент, служащий для передачи сигнала. При таком подходе для нейросетевой модели характерно следующее:
• однородность системы (элементы нейронной сети одина¬ковы и просты, все определяется структурой связи);
• надежность системы, построенной из ненадежных элемен¬тов, за счет избыточного числа связей;
• "голографичность", предопределяющая, что при разруше¬нии части система сохраняет свои свойства.
Предполагается, что широкие возможности систем связи — демаскирование старых связей и добавление новых — компен¬сируют бедность набора элементов, из которых строится мо¬дель, их ненадежность, а также возможные разрушения части связей. На первых этапах развития нейросетевых моделей кон- некционизм сыграл исключительную роль, поскольку были поняты основные механизмы индуктивного вывода, осуществ¬ляемого НС, позволившие решить множество прикладных за¬дач. Однако для создания математических нейросетевых моде¬лей, адекватных реальным задачам, требуются более глубокие исследования биологических принципов функционирования головного мозга.
3.2. Классификация нейронных сетей
Класификация нейронных сетей по виду топологии
Под топологией нейронной сети будем понимать графиче¬скую иллюстрацию соединения нейронов между собой в этой сети.
По виду топологии нейронные сети разделяют на однослой¬ные и многослойные.
В однослойных сетях нейроны соединяются либо по прин¬ципу каждый с каждым — полносвязанные сети, либо регуляр¬но — регулярные сети.
Скрытый слой
Рис. 3.3. Двухслойная сеть Рис. 3.4. Трехслойная сеть
Сеть с перекрестными связями. В варианте двухслойной сети с перекрестными связями, приведенном на рис. 3.5, нейроны второго слоя имеют настраиваемые синаптические связи как с выходов нейронов первого слоя, так и непосредственно с ус¬тройства ввода НК.
В общем случае в многослойных сетях произвольной струк¬туры возможны различные конфигурации перекрестных связей.
Сеть с обратными связями. Введение обратных связей в НС, как и в любую другую динамическую систему, существенно ме¬няет ее функциональные возможности. Обратной связью можно охватывать как отдельный слой, так и несколько слоев и даже всю сеть. На рис. 3.6 представлена четырехслойная сеть с раз¬личными обратными связями. Наиболее простыми являются сети
х, х2 х3 х4
Рис. 3.5. Сеть с перекрестными связями
Регулярная топология нейронной сети, приведенная на рис. 3.1, не является единственной. Возможно другое число свя¬зей у угловых, граничных и внутренних нейронов. На рис. 3.2 приведен пример регулярной гексагональной топологии. Как видно из этого рисунка, пограничные нейроны в этом случае имеют по четыре связи, а внутренние — по шесть (отсюда и название вида топологии). Для этой сети также может иметь место трансформация плоскости в цилиндр, а далее — в тор.
Рис. 3.2. Гексагональная топология
Характерной особенностью сетей с регулярной топологией является один вид функции активации для всех нейронов этой сети.
В многослойных сетях нейроны группируют по слоям. Вне¬шние слои многослойной сети называют входным и выходным слоями. Внутренние слои называют скрытыми. Число скрытых слоев неограниченно. Известны также двухслойные сети, у ко¬торых имеется только входной и выходной слои.
Наиболее простыми являются сети с прямыми, перекрест¬ными, обратными и латеральными связями. Рассмотрим топо¬логии этих сетей.
Сеть с прямыми связями. Двухслойный и трехслойный вари¬анты сетей с прямыми связями представлены на рис. 3.3 и 3.4. Характерной особенностью таких сетей является равенство чис¬ла нейронов по слоям, и, кроме того, все нейроны входного слоя активизируются вектором входного сигнала, а все нейро¬ны выходного слоя определяют выходной вектор.
Рис. 3.8. Многослойная сеть
Двухмерные многослойные нейронные сети. При решении задачи распознавания широко используются многослойные сети, в которых каждый нейрон текущего слоя связан с каждым нейроном следующего слоя (рис. 3.8). Такой подход доказал свою работоспособность в раз¬личных практических примене¬ниях, но у него есть один не¬достаток — большая избыточность нейронных связей. Так, если число нейронов в слое равно п, то число связей между двумя соседними слоями для полносвязанной сети равно п2. Практи¬ческая реализация такого числа связей сопряжена с большими трудностями как на аппаратном, так и на программном уровнях даже при сравнительно небольшом числе нейронов в слое (100...150).
При использовании в качестве входных данных двухмерных графических образов, взятых из реального мира, можно пред¬положить, что каждый элемент входного набора оказывает вли¬яние только на небольшую область вокруг своей топологиче¬ской проекции на следующий слой сети и практически не влияет на отдаленные от этой области участки. Отдаленные связи, как правило, очень малы, и ими можно пренебречь. При подобном уменьшении числа межнейронных связей можно значительно сократить объем вычислений при программном моделировании сети и объем аппаратуры при аппаратной реализации. Таким образом, может получиться сеть с топологией, показанной на рис. 3.9. Здесь каждый нейрон своими синаптическими связями проецируется на небольшую область следующего слоя. Для на¬глядности слои этой сети стоит представлять не одномерными, а плоскими, т. е. двухмерными.
Входной слой Скрытые слои Выходкой слой
Рис. 3.6. Сеть с обратными связями
Ядерные нейронные сети [35] являются структурным расши¬рением класса многослойных сетей прямого распространения. Наполнение нового класса реализуется благодаря целенаправлен¬ному ограничению связей между нейронами. Ядерные нейронные сети можно рассматривать и как модульные нейронные сети, с прямыми, перекрестными, обратными и латеральными свя¬зями. Рассмотрим топологии этих сетей.
Сеть с латеральными связями. Введение в скрытые слои ней¬ронной сети латеральных (боковых, от лат. Lateralis — боковой) связей позволяет контрастировать изображение на случайном фоне, что повышает эффективность распознавания графических образов. Латеральные связи бывают тормозящими и возбуждающими. В жи¬вой природе эти связи довольно частое явление. На рис. 3.7 пока¬зан пример контрастирования сигналов соседних нейронов в от-дельном слое. Подавая сигналы через отрицательные коэффициенты синаптической связи с центрального нейрона на два левых, доби¬ваются снижения активности этих нейронов. Подача сигналов на
два правых нейрона через поло¬жительные коэффициенты синап¬тической связи увеличивает сте¬пень активности этих нейронов. В результате центральный и два правых нейрона будут значитель-но активнее двух левых, что экви¬валентно повышению контрастно-
Рис. 3.7 Сеть с латеральными ста годного образа (входного связями изображения).
Рис. 3.10, Двухслойная ядерная нейронная сеть: а — топологическая реализация; б — структурная модель.
$r=x?w;\ rr = Fr($r),
где W\т — синаптическая карта ядра; F™ (.) — многомерная фун¬кция активации. В координатной форме последние выражения представляются следующим образом:
sp (v) = %хГ («X (u,v), у? (V) = /Г (s? (V)),
где u,v— индексы локальных координат; w.m(w,v) — элементы синаптической карты W)т (предполагается, что сумма включа¬ет в себя и компоненты смещения для аргументов активацион- ных функций). Передача данных между ядрами в координатной форме устанавливается правилом
ХГ+1 {(v)Py) - У? (v)> (3-1)
где инъективное отображение р.р определяет топологию связи.
Нетрудно заметить, что нейронное ядро является аналогом базовой операции быстрого алгоритма Фурье, а сам быстрый алгоритм можно рассматривать как вариант ядерной нейронной сети.
Рассмотренные топологии нейронных сетей не исчерпыва¬ют все их возможные виды, а лишь являются наиболее распрос¬траненными.
Рис. 3.9. Двухмерная сеть
в которых каждый модуль представляет собой однослойный пер- септрон малой размерности (нейронное ядро) и все нейронные ядра упорядочены по слоям.
Концепция структурной организации ядерных сетей пред¬полагает, что все нейроны ядра имеют общее рецегггорное поле. При этом постулируется, что рецепторные поля ней¬ронных ядер не пересекаются, т. е. все связи являются инъек- тивными. Считается, что обработка информации происходит в нейронных ядрах, а операторы межъядерного перехода транс¬лируют информацию без искажений. На структурном уровне нейронное ядро характеризуется парой чисел: размерностью рецепторного поля и числом нейронов в ядре- Для операторов перехода структурной характеристикой является ранг опера¬тора.
Поставив в соответствие каждому ядру вершину направлен¬ного графа, а каждому оператору перехода направленную дугу, получим графическое отображение нейронной сети, которое называется ее структурной моделью. Двухслойная сеть с ядер¬ной организацией в классическом представлении, при которой каждая вершина соответствует одному нейрону, а дуги опреде¬ляют связи между нейронами, рассматривается на рис. 3.10,а. На рис. 3/10,6 приведена структурная модель, в которой вершинам графа соответствуют нейронные ядра.
В матричном представлении действие оператора нейронного ядра можно записать в виде:
эта схема представляет собой структурную схему операционного блока НК (аналог арифметическо-логического устройства маши¬ны фон Неймана). Физическая реализация перекрестных и обрат¬ных связей может быть осуществлена, например, на резистивных матрицах и управляемых ключах, что позволит строить схемы с переменными (нестационарными) весовыми коэффициентами. При этом, чем меньше градаций имеют перестраиваемые коэф¬фициенты (т. е. чем меньше размерность резистивных матриц), тем больше потребуется нейронов для решения одной и той же задачи. В схеме, представленной на рис. 3.11, управление комму¬тацией синаптических (весовых) коэффициентов осуществляет¬ся от общего управляющего автомата по программе, хранимой в запоминающем устройстве.
Классификация нейронных сетей
по способу решения задачи
С точки зрения этого признака сети делят на формируемые, сети с формируемой матрицей связи, обучаемые и комбиниро¬ванные (смешанные).
Формируемые сети проектируют для формализуемых задач, имеющих четко сформулированный в нейросетевом базисе ал¬горитм решения конкретной задачи.
Сети с формируемой матрицей связей применяют для труд- ноформализуемых задач. Как правило, эти сети имеют одинако¬вую структуру и различаются лишь матрицей связи (сеть Хоп- филда). Достоинством таких сетей является их наглядность в работе.
Обучаемые сети используют для решения неформализуе- мых задач. В процессе обучения сети автоматически изменяют такие ее параметры, как коэффициенты синаптической связи, а в некоторых случаях и топология.
Комбинированные (смешанные) сети сочетают в себе при¬знаки двух, а то и трех основных видов. Как правило, эти сети многослойные, каждый слой которых представляется различ¬ной топологией и обучается по определенному алгоритму. В на¬стоящее время этот класс получает наибольшее распростране¬ние, так как дает самые широкие возможности разработчику.
Обобщенная структурная схема нейронной сети. Несмотря на большое разнообразие топологий НС, имеющихся в настоящее время в распоряжении разработчика, часть из которых рассмот¬рена, целесообразно при их конструировании исходить из обоб¬щенной структурной схемы, приведенной на рис. 3.11. По сути
С устройства ввода
I
а
£ со
в
о «
о &
о
н О
J=
Входной слой
Си
С
>>
AJ
51
О «
о
1-й скрытый слой
3
н О
л X н
СО
Q, Ю
а я
Б
О &
О
К устройству вывода Рис. 3.11. Обобщенная структурная схема НС
зования. Функция, которую реализует выходной блок, получила название функции активации (или функции возбуждения, или переходной функции). Коэффициенты а. получили название си¬ноптических коэффициентов или коэффициентов межнейрон¬ной связи. Эти коэффициенты являются аналогами синапсов биологических нейронов. Если значение коэффициента а. отри¬цательное, то принято считать /-ю связь тормозящей, если по¬ложительное — возбуждающей.
Рассмотрим структурные схемы нейронов.
В общем случае работа формального нейрона заключается в следующем (см. рис. 3.12), Перед началом работы на блок сумма¬тора подают сигнал начального состояния (начального возбужде¬ния) а0. На каждый /-и вход нейрона поступают сигналы х. либо от других нейронов, либо с устройства ввода НК. Каждый /-й входной сигнал х. умножается на коэффициент межнейронной связи (синаптический коэффициент) аг В блоке сумматора взве-шенные входные сигналы и начальное возбуждение а0 алгебраи¬чески складываются. Результат суммирования (взвешенная сум¬ма) g подается на блок функционального преобразования Xg).
Нейрон, схема которого приведена на рис. 3.12, является классическим, в некотором смысле стандартным. Однако разра¬ботчики нейронных сетей применяют и нестандартные модели нейронов. К таким нейронам относится паде-нейрон, нейрон с квадратичным сумматором, нейрон со счетчиком совпадений [36].
Паде-нейрон (рис. 3.13) состоит из двух сумматоров, элемен¬та, вычисляющего частное от взвешенных сумм, блока нелиней¬ного преобразования (выходной блок). Свое название этот нейрон получил от паде-метода рациональной аппроксимации функций. Нетрудно заметить, что он имеет в два раза больше настраиваемых параметров по сравнению с обычным нейроном. Математическую модель паде-нейрона можно представить в таком виде:
f \ II
к8г,
И N
м
= /
y = f(g) = f
+А)
<=1
здесь Ь. — синаптические коэффициенты второго сумматора.
3.3. Математические модели нейронных сетей
Нейронной сетью (НС) называется динамическая система, состоящая из совокупности связанных между собой по типу уз¬лов направленного графа элементарных процессоров, называе мых формальными нейронами, и способная генерировать вы¬ходную информацию в ответ на входное воздействие.
Нейронная сеть является основной операционной частью НК (нейронных ЭВМ), реализующей алгоритм решения задачи.
Формальным нейроном называется элементарный процес¬сор, используемый в узлах нейронной сети. Математическую модель формального нейрона можно представить уравнением
п
(3.2)
y = f{g) = f !>/*/ +4о /=1
V
где у — выходной сигал нейрона; J{g) — функция выходного блока нейрона; я — постоянный коэффициент — вес /-го входа; х. — /-й входной сигнал; а0— начальное состояние (возбуждение) нейрона; / = 1, 2, 3, ..., п~ номер входа нейрона; п— число входов. Выражению (3.2) может быть поставлена в соответствие структурная схема формального нейрона, представленная на рис. 3.12. Как видно из рисунка, схема формального нейрона включает п входных блоков умножения на коэффициенты а., один сумматор (часто называемый разными авторами адаптив¬ным сумматором) и выходной блок функционального преобра-
Г
Л
Рис. 3.12. Структурная схема формального нейрона
В практике разработки НК применяют и другие модели ней¬ронов, определяемые характером конкретной решаемой зада¬чи, качеством инструментального средства, требованиями за¬казчика, опытом разработчика.
Рассмотрим виды функций активации.
Вид функции активации во многом определяет функцио¬нальные возможности нейронной сети и метод обучения этой сети. Рассмотрим некоторые виды функций активации, приме¬няемые при конструировании нейронных сетей.
Пороговая функция. В общем случае эта функция активации описывается следующим выражением:
(3.3)
где b vl с — некоторые постоянные. На практике чаще всего ис¬пользуют две пары постоянных b и с: первая — (—1, 1); вторая — (О, 1). Первая пара коэффициентов определяет так называемую симметричную пороговую функцию, вторая — смещенную.
Математическая модель нейрона с пороговой функцией активации имеет вид
п
y(t) = sign (g (t)) = sign £ (cijXi (t) + a0). (3,4)
i=i
На рис. 3.15 приведены графики пороговых функций акти¬вации, а на рис. 3.16 — условное графическое обозначение (УГО) нейрона с этой функцией активации. Этого обозначения будем придерживаться в дальнейшем изложении.
На первый взгляд может показаться, что нейрон со сме-щенной пороговой функцией активации (А = 0 и с = 1 ) ничем не отличается от схем, построенных на обычных логических эле¬ментах И, ИЛИ, НЕ. Однако практика разработки НК показала следующие преимущества такого нейрона [37]:
• нейрон выполняет более сложные логические функции, что обеспечивает реализацию заданной логической функции меньшим числом элементов, тем самым сокращая объем проек¬тируемого устройства;
• сети из нейронов имеют повышенную устойчивость к вы¬ходу из строя отдельных элементов;
Рис. 3.13. Структурная схема паде-нейрона
У нейрона с квадратичным сумматором (рис. 3.14) на вы¬ходной блок подается взвешенная квадратичная форма входно¬го сигнала. Математическая модель этого нейрона описывается следующим выражением:
п
s(0= Z auxixj+aо-
В этом случае нейрон имеет п(п+1)/2 настраиваемых пара¬метров.
а\
X
•
•
п
/.7=1
Ля)
jV<?
Рис. 3.14. Структурная схема нейрона с квадратичным сумматором
ям: быть непрерывной, монотонно возрастающей и дифферен¬цируемой.
Сигмоидная функция полностью удовлетворяет этим требо¬ваниям. Как и для пороговой, для этой функции различают сме¬щенный и симметричный вид.
Математически оба вида сигмоидной функции представля ¬ются следующим образом:
смещенная
Ag(t)] = 1/(1 + (3.5а)
симметричная
лт - (1 - е-*)/{\ + е-*У (3.56)
Графики сигмоидных функций на базе экспоненты приве¬дены на рис. 3.17.
В практике нейронных сетей применяют и другие непрерыв¬ные функции, также называемые "сигмоидами", но в основе формирования которых лежит не экспонента, а, например, арктангенс или гиперболический тангенс.
Особый интерес представляет функция вида
МО] = 5(0/(1 + ш/),
которую назовем "упрощенной сигмоидой". (График этой фун¬кции на рис. 3.18.) Такую функцию просто реализовывать в программных системах.
Рис. 3.17. Сигмоидальные функции активации: а — смещенная, б— симметричная
а)
As)
б)
As)'
-2 -1 0 1 2 g
Рис. 3.15. Пороговые функции активации: а — симметричная; б — смещенная
• сети из нейронов имеют повышенную устойчивость к из¬менению параметров элементов, их реализующих;
• для однородных нейронных сетей возможна минимиза¬ция базовых СБИС, их реализующих, тем самым упрощается САПР этих СБИС.
ао Ne
ах
il2 /о
ап
Пороговая функция относится к классу дискретных функций, в кото¬ром имеется много других функций. В те¬ории НС, например, рассматриваются модели нейронов с многопороговыми ■ функциями активации. Однако широко¬го распространения эти модели пока не нашли.
Сигмоидная функция активации. Эта функция относится к классу непрерыв¬ных функций. Выбираемая разработчи- Рис. 3.16.УГО ком Для решения конкретной задачи нейрона с пороговой непрерывная функция активации дол- функцией активации жна удовлетворять следующим услови-
0,5 "
-1 / 0 1 7
8
- --0,5
- —1
^ Ag)> 1 ч
0,5,
-1 0 1 /
g
Рис. 3.21. Графики линейной функции активации:
а — симметричная, 5 — смещенная
Степенные функции активации. Функ¬ции этого вцда используют при проекти¬ровании НС, предназначенных для реше¬ния задач аппроксимации функций одной и/или многих переменных, для реализации степенных рядов, для реализации сложных вычислительных алгоритмов. Математиче-ская модел ь таких функций имеет вид
УШ] =
где п = 2, 3, 4, 5... — показатель степени. (Очевидно, что при п = 1 имеем случай линейной функции.)
В настоящее время наиболее распро¬странены функции второй и третьей сте¬пени (п = 2, 3). Лишь степенные функ¬ции с нечетными показателями степени в полной мере отвечают требованиям, предъявляемым к функциям активации. Они монотонны, дифференцируемы и не¬прерывны.
В практике разработки НС применяют функции активации и других видов, отличных от перечисленных выше. Все опреде¬ляется характером решаемой задачи. В каждом конкретном слу¬чае разработчик должен обосновать свой выбор.
Перспективным направлением в теории НС является при¬менение функции активации с переменной "крутизной" [37]. В этом случае уравнение формального нейрона, например со сте¬пенной функцией активации, можно записать в следующем виде:
п Лк
(3.6)
у = Ь
^а,х,+ао /=1
В этой модели коэффициент b изменяет крутизну параболы к~й степени, что значительно расширяет функциональные воз¬можности как отдельного нейрона, так и всей нейронной сети, состоящей из таких нейронов. Непосредственная реализация выражения (3.5) требует наличия в устройстве управления НК
л») ж
Рис. 3.18. Функция укороченная сигмоида:
>>
it.
На рис. 3.19 и 3.20 представлены графики симметричных "сигмоид" на базе гиперболического тангенса /[#(01 =: th(g) и арктангенса Л#(0] = (2/р) arcrti(g) соответственно. После не¬сложных преобразований из последних симметричных "сигмо¬ид" легко получаются смещенные, также широко используемые на практике.
■5
g
Рис. 3.20. График./^)! = (2/к) arcth(g)
Рис. 3.19. График MV\ = th{g)
Линейная функция активации. Эта функция также относится к классу непрерывных. Графики смещенной и симметричной функций этого типа представлены на рис. 3.21. Линейный учас¬ток такой функции активации позволяет оперировать с непре¬рывными сигналами. Зоны нечувствительности определяются физической реализуемостью этих функций.
шение определенной задачи, необходимо переходить к более гибким произвольным нелинейным функциям.
Формальный нейрон фактически представляет собой про¬цессор с очень ограниченной специальной системой команд (в литературе принято называть нейросетевой базис). Формаль¬ные нейроны по способу представления информации бывают аналоговые и цифровые. И те и другие выполняют единообраз¬ные вычислительные действия и не требуют внешнего управле¬ния. Большое число параллельно работающих процессоров обес¬печивает высокое быстродействие»
На основе математической модели одиночного нейрона [уравнение (3.2)] можно составить математическое описание (математическую модель) всей нейронной сети. Рассмотрим не¬которые из них.
Двухслойная нейронная сеть с прямыми связями:
N ( К
у, (0 - h
(3.8)
«20/ + 5>2//l X а\кЧ (0 + «10к
ы
где 1=1,2, ..., N — число нейронов второго слоя; к = /, 2, .„., К— число нейронов первого слоя; /,, f2 — функции активации нейронов первого и второго слоев; ат — начальное возбужде¬ние к-ro нейрона первого слоя; ат — начальное возбуждение /-го нейрона второго слоя; а2., а1Л— весовые коэффициенты /-го нейрона второго слоя и к-ro нейрона первого слоя; y.{t) — /-я координата выходного вектора; xk{t) — к-я координата вход¬ного вектора. В общем случае Кф N.
Предполагается также, что функции активации нейронов одного слоя одинаковые.
Трехслойная сеть с прямыми связями
( м ( К ^lYi
У/ (0 = /з «зо/ + Х«з//2 «20т + X «2*1/1 %alkxk(t) + am ,(3.9) I ы ^ m-l {ы JJJ
здесь k = 1, 2, ..., К— число нейронов первого слоя; /и = 1,2, ..., М — число нейронов второго слоя; / = 1, 2,..., N— число нейронов третьего слоя, аш, a2Qm, а30. — начальные возбуждения &-го, m-го и /-го нейронов первого, второго и третьего слоев соответственно.
N
двух контуров настройки (адаптации) нейрона: один для коэф¬фициентов ар другой — для Ь. Чтобы уменьшить время настрой¬ки сети, а в конечном счете и время решения задачи, можно, видоизменив выражение (3.5), отказаться от второго контура настройки. Очевидно, что если коэффициент b внести под знак суммы, то можно записать
\ к ( п \ к
+ ь\ = 2>л+со , (3.7)
) J
к
\
У = Ь
Ы1
У
где коэффициенты с. = bka. (j = 0, 1, 2, к).
Выражение (3.7) показывает, что крутизной функции акти-вации можно варьировать при общей настройке синаптических коэффициентов нейронной сети.
Основным недостатком нейронов с пороговым элементом является отсутствие достаточной гибкости при обучении и на¬стройке нейронной сети на решаемую задачу. Если значение вычисляемого скалярного произведения x.ai даже незначительно не достигает заданного порога, то выходной сигнал не форми¬руется и нейрон "не срабатывает". Это означает, что теряется интенсивность выходного сигнала данного нейрона и, следова¬тельно, формируется невысокое значение уровня на взвешен¬ных входах в следующем слое нейронов.
Такого недостатка в большей степени лишена линейная (в общем случае кусочно-линейная) функция активации, реа¬лизация которой обеспечивает невысокую вычислительную слож¬ность.
Сигмоидальная функция является некоторым компромис-сом между линейной и ступенчатой функцией и содержит дос¬тоинства обеих. По аналогии со ступенчатой функцией она не¬линейна, и это дает возможность выделять в поисковом пространстве исследуемых объектов области сложной формы, в том числе невыпуклые и несвязные. С другой стороны, в отли¬чие от ступенчатой функции, она позволяет переходить от од¬ного значения входного сигнала к другому без разрывов. Однако любую из преобразующих функций активации (возбуждения) необходимо рассматривать как приближенную. Учитывая слож¬ность архитектуры и трудность настройки ее параметров на ре-
: 3.4» Решение задач управления
) в нейросетевом базисе
| Типичным примером использования нейронной сети в за-
I дачах управления является конструирование на ее базе нейрон- J нош регулятора (HP). В этом случае (HP) (рис. 3.22) напомина¬ет обычный регулятор типа П (пропорциональный), ПД ' (пропорционально-дифференциальный) или ПИД (пропорци¬онально-интегральный — дифференциальный). Однако он явля¬ется универсальным нелинейным настраиваемым элементом, и с его помощью может быть, в принципе, реализован любой закон управления.
Рис. 3.22. Общая структура системы с HP
| После обучения HP может построить полное решение задачи
управления, опираясь на сравнительно небольшое множество примеров. Несмотря на довольно большое количество топологий НС, в задачах управления динамическими объектами в качестве HP обычно используются НС прямого распространения (рис. 3.23). I Входной (нулевой) слой просто распределяет входные сигналы, | а нейроны первого и последующего слоев преобразуют поступа- I ющие на них сигналы с учетом значений межнейронных связей ! и видом активационной функции нейронов. Буквы W1 и W2 на I рис. 3.23 обозначают набор весов скрытого и выходного слоя. Зна- i чения весов определяют свойства HP. При обучении HP обычно ! корректируются значения весов нейронной сети, и, реже, пара- 1 метры активационных функций нейронов.
I
Аналогично могут быть получены выражения для сети с любым числом слоев. В конкретных случаях могут отсутство¬вать в отдельных нейронах или слоях начальные возбуждения. Двухслойная сеть с перекрестными связями
N
N
y,{t) = f.г
(ЗЛО)
X X а\кЧ (0+*i ю/ + X аух] (0
Ы U=1 J у=1
Выражение (ЗЛО) описывает двухслойную сеть с полными перекрестными связями. Здесь приняты те же обозначения, что и в выражениях (3.8) и (3.9).
При решении одной и той же задачи сеть с перекрестными связями, как правило, значительно проще сети с прямыми пос¬ледовательными связями по числу нейронов, используемых в сети.
Сеть с обратными связями
(3.11)
y(t) = f
где b — синапшческий коэффициент обратной связи; y(t — 1) значение выходного сигнала нейрона в момент времени (t - 1); п — число входов нейрона. Для двухслойной сети, имеющей N нейронов во втором слое и К нейронов в первом, математиче¬ская модель имеет вид:
' N К
y(t) = f.2
X «I* (** + ьхкхк (t -1))+
Ы
Ы1
\
N,K
+ lb2iy(t-1) i=i
(3.12)
+ X bmy{i-l)
здесь Ьш — синаптические коэффициенты обратной связи с вы¬ходов нейронов второго слоя на входы нейронов первого слоя; Ь2. — коэффициенты обратной связи с выходов нейронов второ¬го слоя на входы нейронов второго слоя; blk — коэффициенты обратной связи нейронов первого слоя. Остальные обозначения такие же, как в выражениях (3.8) и (3.9). Синаптические коэф¬фициенты обратных связей могут быть как положительными, так и отрицательными.
Входной слой Скрытый слой Выходной слой
Рис. 3.23. Пример двухслойной сети прямого распространения
Входные сигналы HP целесообразно нормализовать, при¬водя к диапазону [—1,1 ].
Известно достаточно большое количество вариантов акти- вационных функций, но, учитывая, что на вход HP поступают величины со знаком — ошибки управления, их интегралы и про¬изводные, целесообразно применять один из двух вариантов активационной функции:
линейная с насыщением функция (рис. 3.21 (а)); гиперболический тангенс (рис. 3.21 (б)). Поскольку выход нейрона лежит в пределах [—1, 1], сигнал выходного слоя HP умножается на модуль максимального зна¬чения сигнала управления (рис. 3.23).
Нужно подчеркнуть, что в настоящее время не существу¬ет точных рекомендаций для решения задачи синтеза HP. Бо¬лее того, ИР в соответствии со структурой рис. 3.22 может рассматриваться как обратная модель объекта управления, и предварительная оценка необходимого числа слоев и коли¬чества нейронов в каждом слое едва ли возможна для слож¬ных объектов, каждый из которых имеет свои особенности поведения.
При конструировании нейронных регуляторов разработчик имеет, как правило, следующие исходные данные: размерность вектора входного сигнала(ов);
размерность вектора выходного сигнала(ов); формулировку решаемой задачи; точность решения задачи. При этом он должен определить и назначить: вид топологии сети;
общее число нейронов в сети и число нейронов по слоям; вид функции активации нейронов; способ задания коэффициентов синаптической связи; метод доказательства работоспособности новой сети. Основными этапами методики [38] решения задач в нейро- сетевом базисе могут быть:
1. Математическая постановка задачи.
2. Геометрическая постановка задачи.
3. Нейросетевая постановка задачи:
описание исходных данных;
определение входного сигнала НС;
формирование функционала первичной оптимизации НС при решении поставленной задачи;
определение выходного сигнала НС;
определение желаемого выходного сигнала НС;
определение вектора сигнала ошибки нейронной сети при решении задачи;
формирование функционала вторичной оптимизации НС через сигналы в системе;
выбор метода поиска экстремума функционала вторич ¬ной оптимизации НС;
аналитическое определение преобразования, осуществ¬ляемое НС; выбор конкретной структуры сети;
нахождение аналитического выражения для градиента функционала вторичной оптимизации поставленной задачи;
формирование алгоритма настройки НС при решении поставленной задачи;
выбор начальных условий при настройке сети;
выбор типовых входных сигналов для тестирования процесса решения задачи;
разработка плана эксперимента.
Взаимосвязь основных этапов методики представлена на рис. 3.24.
Рис. 3.24. Этапы разработки нейронной сети
В представленном виде методика является обобщенной. Для решения конкретных задач отдельные ее пункты могут быть опу¬щены или изменены, например, при использовании не гради¬ентных методов оптимизации при обучении НС.
Рассмотрим более подробно технологию настройки НС на решение задачи (рис. 3.25).
Технология настройки НС является итерационной процеду¬рой. Если построенная модель НС не удовлетворяет требованиям пользователя или технического задания, приходится многократно возвращаться к отдельным блокам для уточнения параметров модели.
Необходимость предварительной обработки входных данных (препроцессорной обработки информации) прежде всего свя¬зана с тем, что данные, подаваемые на вход нейронной сети, могут быть измерены в различных шкалах.
Шкалой называется кортеж <Е, N, ср>, где Е — некоторая "эмпирическая система" с отношениями Е = {S, R}, в которых S— множество свойств объектов, a R— множество отношений
Тестирование Перекрестное оценивание
Формирование и анализ обучающей выборки Фильтрация
Нормирование, центрирование, масштабирование, кодирование
Выбор структуры НС Выбор вида опенки Выбор функции активации
Выбор метода оптимизации Обучение
Рис, 3.25. Технология настройки НС на решаемую задачу
между объектами по этим свойствам; N— некоторая знаковая система (обычно числовая), которая может быть представлена в следующем виде: N-M, Рг Ря, где М— множество чисел (например, множество всех действительных чисел), а Р.. — оп¬ределенные отношения на числах, выбранных так, чтобы с их помощью однозначно отображались соответствующие отноше¬ния R из эмпирической системы; ср — конкретный способ ото¬бражения Е на N.
Упорядоченная тройка <Е, N, ср> называется абсолютной шкалой, если ее допустимое преобразование является тожде¬ственным преобразованием: ф(х) = х. Примером может служить
шкала, опирающаяся на процедуру счета. Результатом измере¬ния при этом является число, выражающее количество элемен¬тов в множестве. Если это число заменить другим, то потеряется основная информация о множестве.
Примером шкалы более слабого типа является шкала отно¬шений. Для шкалы отношений допустимым преобразованием данных является умножение их на одно и то же число (масшта¬бирование, например, cp(x) = ах, а > 0). Примером шкалы отно¬шений является шкала для измерения длины, веса, производи¬тельности и т. д.
Шкала интервалов допускает положительные линейные пре¬образования (ф является положительным линейным преобразо¬ванием тогда, когда для каждого х: ф(х) = ах + Ь, где Ъ — дей¬ствительное число, а — положительное действительное число). Это означает, что здесь можно менять как начало отсчета, так и единицы измерения. Примеры шкалы интервалов: шкала для измерения температуры, давления, промежутков времени и т. п.
Шкала порядка — это шкала, допустимым преобразовани¬ем которой является произвольное монотонное преобразование, т. е. такое, при котором не изменяется порядок чисел. Количе¬ство разных используемых значений чисел в общем случае не ограничено. При измерениях в шкалах такого типа получаем ин¬формацию лишь о том, в каком порядке объекты следуют друг за другом по какому-то свойству. Примером может служить шка¬ла, по которой измеряется твердость материала, схожесть объек¬тов, типы алгоритмов решения конкретной задачи, способы дис¬петчеризации вычислительного процесса и т. д. К этой группе шкал относится большинство шкал, используемых, например, в социологических исследованиях. Частным случаем шкал по¬рядка служат балльные шкалы, используемые, например, в прак¬тике спортивного судейства или оценок знаний в школе. Коли¬чество баллов, используемых в этих шкалах, фиксировано.
Самой простой шкалой является шкала наименования. Для этих шкал требуется только, чтобы их допустимые преобразова¬ния были всего лишь взаимно однозначными. В этих шкалах числа употребляются только с целью придания предметам или объек¬там имен. Кроме сравнения на совпадение, любые арифметиче¬ские действия над цифрами, обозначающими имена, бессмыс- ленны. Переменные, представляемые в шкале наименований, на¬зываются номинальными.
Рассмотренные выше шкалы не исчерпывают все возмож¬ные типы шкал. В зависимости от конкретной задачи можно ис¬пользовать любую из известных шкал или придумать новую для представления данных. Важно лишь то, что результаты вычисле¬ний, получающиеся по ходу решения задачи, должны оставать¬ся инвариантными по отношению ко всем преобразованиям, допустимым для данной шкалы.
Нейронная сеть может обрабатывать только числовые дан¬ные. Однако исходные данные, подаваемые на НС, могут вклю¬чать номинальные переменные, указывающие на принадлеж¬ность к одному из нескольких классов, даты, целочисленные значения, текстовые строки, графические данные и т.д., по¬этому необходимо кодирование данных. В мощных иностранных универсальных нейропакетах, таких как NeuroSolutions — фир¬мы Neuro Dimension 1пс.или Neural Works Professional II/Plus — фирмы Neural Ware, поддерживаются основные типы представ¬ления данных: текстовые данные в формате ASCII, изображе¬ния в формате.bmp и т. д. С целью удобства работы проводят статистическую обработку данных, исключение аномальных на¬блюдений, а также нормирование и центрирование данных для того, чтобы каждая компонента входного вектора данных лежа¬ла на отрезке [0,1] или [—1,1].
При известном диапазоне изменения входной переменной, например, [jtmin, xmax], целесообразно использовать простейший вид преобразования, выполняемый по формуле
Р = (*- я)/(*шах- *nJ + ъ (злз)
где [а, Ь] — диапазон приемлемых входных сигналов; [xmin, xmax] — диапазон изменения значений входной переменной х; р — пре¬образованный входной сигнал, подаваемый на вход НС.
При кодировании параметров исследуемых объектов необ¬ходимо учитывать тип переменных, которые описывают этот объект: непрерывные, дискретные или качественные, количе¬ственные.
Качественные переменные (признаки) принимают конеч¬ное число значений. Примером качественных признаков может
служить состояние больного (тяжелое, средней тяжести, сред¬нее, удовлетворительное и т. д.), знания студентов по опреде¬ленному предмету (отличные, хорошие, не очень хорошие, от¬сутствие каких-либо знаний), характеристика погоды (хорошая, плохая, солнечная, дождливая) и т. п. Если качественная пере¬менная принимает два значения, ее называют бинарной.
Качественные признаки могут быть упорядоченными, час¬тично упорядоченными или неупорядоченными. Соответствен¬но различается и их кодировка. Известно, что любой частично упорядоченный признак можно представить в виде комбинации нескольких упорядоченных и неупорядоченных признаков.
Упорядоченные качественные признаки кодируются в шка¬ле порядка. Поскольку никакие два состояния неупорядоченно¬го признака не связаны отношением порядка, их нельзя коди¬ровать разными величинами одного и того же входного сигнала сети. Поэтому для кодирования неупорядоченных качественных признаков целесообразно использовать шкалу наименований и рассматривать переменные, соответствующие этим признакам, как номинальные. При кодировании количественных перемен-ных, принимающих числовые значения, необходимо учитывать содержательное значение признака, расположение признака в интервале значений, точность измерения его значений.
Стандартные преобразования для каждого элемента исход¬ной выборки Смогут быть выполнены следующим образом:
Х={Х~М{Х))/<5{Х)
или
х = (х. — М(х)Ушах/х - М(х)/п,
п
где х.— /-я координата входного вектора; М(х,) = //riJ^Xj —
/=i
выборочная оценка математического ожидания х. (среднее зна-
Л1/2
чение); а(ху) = среднего квадратичного отклонения
/=1
— выборочная оценка
Если эти преобразования не делать, то необходимо выби¬рать пределы изменения параметров нейрона в зависимости от данных. Следовательно, предварительное, до подачи на вход сети, преобразование данных с помощью стандартных статистиче¬ских приемов может существенно улучшить как параметры обу¬чения (длительность, сложность алгоритма обучения), так и работу системы в целом. Например, очень часто ненормально распределенные данные предварительно подвергают нелиней¬ному преобразованию: исходная совокупность значений пере¬менной преобразуется с помощью некоторой функции, и пос¬ледовательность данных, полученная на выходе, принимается за новую входную переменную. Типичные способы преобразова¬ния входных переменных — возведение в степень, извлечение корня, взятие обратных величин, экспоненты или логарифмов. Часто это уменьшает требования к обучению. Необходимо про¬являть осторожность в отношении функций, которые не всюду определены (например, логарифм отрицательных чисел не оп¬ределен). Для улучшения информационной структуры данных могут оказаться полезными определенные комбинации перемен¬ных — произведения, частные, так как это существенно сокра¬щает размерность входных векторов НС.
Основное назначение блока интерпретации ответов сети — интерпретировать выходной вектор сети как ответ, понятный пользователю. При определенном построении интерпретатора и правильно построенной по нему оценке интерпретатор ответа может также оценивать уровень уверенности сети в выданном ответе. Ниже рассматриваются способы интерпретации, полу¬чившие наибольшее распространение на практике.
В задачах классификации наиболее распространено правило интерпретации "победитель забирает все": число выходных ней¬ронов равно числу распознаваемых классов, номер нейрона с максимальным сигналом интерпретируется как номер класса. Однако, если классов много, для реализации метода требуется много выходных нейронов.
Знаковая интерпретация требует \og2M нейронов, где М — число классов. Допустим, что yv у2, ..., ут — совокупность вы¬ходных сигналов нейронов. Заменим в этой последовательности положительные числа единицами, а отрицательные — нулями.
Полученная последовательность нулей и единиц рассматривает¬ся как номер класса в двоичной записи.
Порядковая интерпретация позволяет для М выходных ней¬ронов описать принадлежность к М! классам (а в знаковой 2м). Если провести сортировку выходных сигналов нейронов yv yv ..., ут и обозначить п. — номер /-го сигнала после сортировки (1 соответствует самому маленькому сигналу, М — самому боль¬шому), то перестановку
12 3 ... М
п, п2 п3 ~ пм
можно рассматривать как слово, кодирующее номер класса. Все¬го возможно М! перестановок. Для использования этого интер¬претатора необходимо, чтобы характерная ошибка выходного сигнала была меньше 1 /М. При этом даже при числе нейронов М ~ 10 требование к точности будет £ < 0,1, а число возможных классифицируемых объектов равно 10!
Интерпретацию 2-на-2-кодирование используют для улуч¬шения качества распознавания (более точного проведения раз¬деляющей поверхности).
В этом случае для распознавания М классов необходимо иметь: М(М — 1)1/2 нейронов, каждый из которых реагирует только на два класса. Окончательное присваивание элементу /-го номера класса осуществляется с помощью булевой функции; выходы с нейронов подают на вход элемента, реализующего эту функцию, Рассмотрим проблему кодирования выхода на примере дву¬мерной задачи с тремя классами (рис. 3.26). С помощью 2-на-2- кодирования задача классификации решается просто, тогда как в методе "победитель забирает все" необходимо строить нели¬нейные разделяющие границы.
Нечеткая интерпретация для классификаторов также осно¬вывается на правиле "победитель забирает все". Выходные сиг¬налы нейронов (после масштабирования — приведения значе¬ний в отрезок [0,1]) могут рассматриваться как функции принадлежности к соответствующим классам. В этом случае воз¬можны следующие способы интерпретации:
• выбирается класс, у которого значение выхода является максимальным; достоверность распознавания определяется как
Рис. 3.26. Кодирование выхода:
а — "победитель забирает все"; б — 2-на-2-кодирование
разность максимального сигнала и следующего за ним по вели¬чине;
• значения выходов нейронов (классов) интерпретируются как меры уверенности принадлежности к тому или иному клас¬су с указанием наилучшего приближения к какому-то классу.
Перечень приведенных способов интерпретации ответов НС не является полным. Для каждой предметной области при реше¬нии конкретных задач необходимо их экспериментальное ис¬следование.
Поскольку обучение НС основывается на минимизации зна¬чения некоторой функции, показывающей отклонение резуль¬татов, которые выдает сеть на данном обучающем множестве, от идеальных требуемых, то необходимо выбирать соответству¬ющую оценку. Обычно в качестве такой оценки берется средняя квадратичная ошибка £(MSE — Mean Squared Error), определя¬емая как усредненная на Р примерах сумма квадратов разностей между желаемой величиной выхода dt и реально полученными на сети значениями у. для каждого примера /:
(3.14)
E-l/р£м-У1)2.
В некоторых случаях удобной является оценка, равная кор¬ню квадратному из MSE, обозначаемая как RMSE (Square Root of the Mean Squared Error).
Оценка MSE используется в тех случаях, когда выходные сигналы сети должны с заданной и одинаковой для всех сигна¬лов точностью е совпадать с известными векторами, где е опре¬деляется как уровень надежности.
Для учета уровня надежности обучения обычно используют модифицированную MSE:
2
р
(3.15)
где Е имеет различный диапазон изменения в зависимости от способов интерпретации: 0< е < 1 — для знаковой интерпрета¬ции; 0 < е < 2 — для правила "победитель забирает все"; 0 < е < < 2/ (AM) — для порядковой интерпретации, где N— размер¬ность вектора входных сигналов.
Уровень надежности обучения вводится для обеспечения устойчивой работы сети. Критерий устойчивости НС формули¬руется следующим образом: работа сети считается устойчивой, если при изменении выходных сигналов сети на величину, мень¬шую е, интерпретация ответов сети не меняется. Этот критерий можно использовать для обеспечения ускоренного обучения сети. Целесообразно при вычислении оценки по формуле (3.15) ис¬пользовать только такие выходные сигналы (множество правиль¬ных ответов), интерпретация которых не меняется при измене¬нии их значений на величину, меньшую £.
(3.16)
E = l/pf/Vi(di-yif,
/=1
где V. — вес /'-го примера в обучающей выборке.
Оценку MSE можно обобщить, если использовать сумми¬рование квадратов разностей (d. — у)2 с соответствующими ве¬сами:
Использование оценки (3.16) позволяет выделить наиболее важные примеры из обучающей выборки, устанавливая для это¬го соответствующий вес. Кроме того, эту оценку целесообразно использовать для уравновешивания различных групп примеров в задачах классификации. Для этого необходимо назначать веса V. так, чтобы суммарный вес обучающих примеров в каждом классе не зависел от класса (например, можно назначить для любого примера V. ~ где г — номер класса, т — число при¬меров в классе). В случае нечеткой экспертной оценки "учителя" отдельных вариантов примеров при формировании обучающей выборки также целесообразно увеличить вес этих вариантов, чтобы они могли влиять на процесс обучения сети.
Наряду с оценкой MSE используют и другие оценки, на¬пример оценку Кульбака-Лейблера, связанную с критерием максимума правдоподобия:
м
Е -1 (4 log (di / *)) + (1 - dt) log ((1 - di)/ (1 - у,)), /=i
где М — число выходов сети.
Более простыми являются оценки качества работы НС, час¬то используемые при аппаратной реализации НС (например, ZISC Accelerator cards для IBM Compatible PC) и в нейроимитаторах:
м
Е'1/yt-di /, i=\
Е = шах/ у; -dj /.
Для решения задач анализа временного ряда целесообразна оценка по средней относительной вариации:
^^ )=Г s - ^ >2 / Г х - »21]=Г s V ) ^
veS \i€s JJ ves J
где S— временной ряд; e— разность (истинное значение d. ми¬нус х) в момент t\ — оценка для среднего значения ряда; N — число данных в ряду.
Задача оптимизации архитектуры (минимизация числа ней¬ронов и числа слоев) может быть поставлена только либо в пла- не ликвидации избыточности числа нейронов, либо при нали¬чии ограничений на число нейронов. В связи с этим для практи¬ческого использования разработаны различные эвристические методы формирования структуры сети, которые реализуются конструктором сети. Рассмотрим некоторые из них.
С математической точки зрения задача обучения НС сводит¬ся к продолжению функции, заданной в конечном числе точек, на всю область определения. При таком подходе входные дан¬ные сети считаются аргументами функции, а ответ сети — зна¬чением функции.
Для решения задачи выбора количества слоев и нейронов в каждом слое существуют два метода. Первый из них связан с тем, что, чем больше нейронов, тем более надежной будет работа сети. Если же начинать с небольшого количества нейро¬нов, то сеть может оказаться неспособной обучиться решению задач и весь процесс придется начинать сначала.
Второй метод опирается на эмпирическое правило: чем боль¬ше число подгоночных параметров полинома, аппроксимирую¬щего функцию, тем хуже воспроизведение функции в тех обла¬стях, где ее значения были заранее неизвестны. На рис. 3.27 приведен пример аппроксимации табличной функции полино¬мами третьей и седьмой степеней. Очевидно, что аппроксима¬ция, полученная с помощью полинома третьей степени, боль¬ше соответствует интуитивному представлению о "правильной" аппроксимации. Аналогично, чем больше число подгоночных па¬раметров НС (слоев, нейронов в каждом слое, порогов), тем хуже аппроксимация функции, воспроизводимая НС, за счет избыточности этих параметров. Данный подход определяет нуж¬ное число нейронов как минимально необходимое. Однако это число заранее неизвестно, а процедура постепенного наращи-вания количества нейронов является трудоемкой.
Таким образом, сеть с минимальным числом нейронов дол¬жна лучше (более гладко) аппроксимировать воспроизводимую функцию, но определение этого минимального числа нейронов требует проведения большого количества экспериментов по обу¬чению сетей. Если число нейронов избыточно, то сеть можно обучить за меньший промежуток времени. При этом существует риск построить "плохую" аппроксимацию.
Рис. 3.27. Аппроксимация табличной функции: а — полиномом третьей степени; б — полиномом седьмой степени
X 1 2 3 4
Fix) 5 4 6 3
В литературе по НС эти два метода называют деструктив¬ным (прореживание сети) и конструктивным (постепенное на¬ращивание). Примером деструктивного подхода является метод "ослабления" весов, который предотвращает чрезмерный рост весов.
Для практического использования был предложен также метод уменьшения числа связей — "минимизация вреда для моз¬га", суть которого состоит в том, чтобы находить в сети те веса, которые можно удалить, не меняя существенно среднюю квад- ратическую ошибку MSE на обучающем множестве.
В конструктивных методах наращивание сети происходит с одновременным ее обучением. К такого рода методам отно¬сится, например, метод динамического создания узлов, при ко¬тором после добавления каждого нейрона вся сеть заново пе¬реобучается. Это приводит к значительному увеличению времени построения НС. Чтобы уменьшить это время, часть примеров по определенному правилу "замораживается" и не участвует в обу¬чении.
Одним из недостатков НС, с точки зрения многих пользова¬телей, является отсутствие объяснительного компонента получа¬емых результатов, т. е. из обученной НС невозможно извлечь ал¬горитм решаемой задачи. Конечным результатом работы алгоритма
обучения является некоторый вектор весов межнейронных свя¬зей сети, в котором, в соответствии с принятым коннекционист- ским подходом к формализации НС, и сосредоточены все зна¬ния. Каждая компонента этого вектора представляет собой некоторое число, которое никаким образом невозможно интер¬претировать,
В 1995 году красноярской группой НейроКомп была сфор¬мулирована идея логически прозрачных сетей, т. е. сетей, на осно¬ве структуры которых можно построить вербальное описание ал¬горитма получения ответа [16]. Это достигается при помощи специальным образом построенной процедуры уменьшения сложности (прореживания) сети»
Другой подход к построению логически прозрачных сетей [39] заключается в том, что в сети используются только два типа нейронов, осуществляющих логические операции отрицания и дизъюнкции или отрицания и конъюнкции, либо операции сложения и умножения по модулю два, а входная информация преобразуется в логическую форму или набор логических пере¬менных х.у из которых можно создать фундаментальный вектор логической системы:
/хЛ ... X X,®^®^ ... ® хя xt ® х2 ® х3... хл_2®
®Х .®Х ... Х.®Х~®Хт®ХЛ ... X ,®Х ~®Х ,®Х ... X.®
Л~1 п I I 5 4 я—л n—z я— I п I
®х2®... ®x/r_1®xff/r, (3.17)
по которому можно вычислить любую логическую функцию
f- СЕ; (3.18)
где С. — вдентификационная строка, состоящая из комбинации О и 1 и имеющая размерность вектора /"(например, С. = / 0 0 0 1 1 0 ... 0 /). При этом обучение полученной нейронной сети будет состоять в поиске идентификационных строк (или связей между нейронами).
Логические переменные х вектора Fможно получить путем квантования входных величин и присвоения полученным кван¬там q. имен логических переменных х., принимающих значения истина (1) или ложно (0). Например, если входная перемен¬ная — температура Т— может изменяться в пределах от —20 до + 20 °С, то, введя квант в 10°С, можно весь диапазон измене¬ния температуры разбить на четыре кванта qx = [-20, —10], q2 = = [-10, 0], q3 = [0, +10], q4 = [4-10, +20] (рис. 3.28, а). Тогда кванту qx присвоить имя х{ (очень холодно}, кванту q2 присвоить имя х2 {холодно}, кванту q3 присвоить имя х3 {прохладно} и кванту д4 присвоить имя х4 {тепло}. Теперь, если, например, температу¬ра на входе t = +5 °С, то значения логических переменных будут следующими: х{ = 0, х2 = 0, х3 = 1, х4 =? 0. Если кванты, образу¬ющие смежные логические переменные, например "холодно" и "прохладно", будут частично перекрываться ("холодно" — [-15, +5], а "прохладно" — [-5, +15] (рис. 3,28, б), то этим квантам можно также поставить в соответствие логические пере¬менные таких же наименований. При этом степень принадлежно¬сти входной величины х к тому или иному кванту (к той или иной логической переменной) характеризуется функцией при¬надлежности jlx(x) подобно тому, как это делается при фазифи- кации [39]. Полученные таким образом переменные принято на¬зывать лингвистическими. Поэтому в дальнейшем нейронные сети, построенные из подобных нейронов и использующие на входе лингвистические переменные, будем называть логико-лингви¬стическими нейронными сетями. Кроме того, вместо функции принадлежности можно ввести другую характеристику степени принадлежности входной величины к тому или иному кванту.
а)
[ <7i ][ <72 ][ <7з ][ <74 ] -25 -20 -15 -10 -5 0 5 10 15 20 2,5 Т °С
Рис. 3.28. Фазификация
Наиболее естественно в качестве такой характеристики выбрать вероятность, вычисляемую как отношение перекрывающегося промежутка L . к протяженности кванта L . (рис. 3.28, б):
Кх, - 1) « VW ' (3-19)
Полученные описанным способом переменные в дальней¬шем будем называть логико-вероятностными, и соответствую¬щие им нейронные сети — логико-вероятностными нейронны¬ми сетями.
Введенные выше сети являются логически прозрачными, но имеют значительную избыточность, которая может быть уменьшена, если часть логических функций f. известна заранее и нет необходимости поиска соответствующих им идентифика¬ционных строк С.
Кроме того, уменьшить избыточность таких НС можно так¬же, если известны функциональные зависимости между вход¬ными величинами.
Пусть, например, имеется функциональная зависимость входных величин у2(у{)7 показанная на рис. 3.29.
Рис. 3.29. Функциональные зависимости входных величин
Для перевода линейной зависимости 1 в систему логических функций (уравнений) вначале надо, исходя из требуемой точ¬ности 8,. представления входных величин, разбить диапазоны их изменения;
А ~ У\тах У 1mm И ^2 ~~ ^2max ^2min на TV, и N2 квантов:
1и = tym/n + Й, + (' + 1)8,]. / = 0, 1, 2, ..., N- % = [у2т, + Л JVin + (/• + Щ), J = 0, 1, 2, Nr
Затем в соответствии с рис 3.29 можно составить табл. 3.1 для вывода логических функций умножения по модулю два или коньюнкции между логическими переменными Хи и Х2р кото¬рым соответствуют кванты qu и д2/(рис. 3.30), либо — имплика¬ций между Хи и ^.(рис. 3.31).
Таблица 3, 1
Х2\ ^22 *2Э ^25 ^26 %21 •^28 *29
Хи 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0
Х\4 0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0
X\i 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1 0
Х\<) 0 0 0 0 0 0 0 0 1
Рис. 3.30. Логическое умножение
(3.20)
(3.21)
или
Y=*XuaX2j
Г=> Хи®Ху
(3.22)
и
Рис. 3.31. Импликация
г => х„-> ху
или
(3.23)
Y => -л Xuv Ху
или
1.
1/
(3.24)
Выбор конкретной логической функции из представленно¬го на рис. 3.30 и 3.31 набора, отражающей приведенную на рис. 3.29 линейную зависимость У2(У,), зависит от содержатель¬ной части решаемой задачи. В большинстве случаев указанную зависимость можно представить в виде системы логических урав¬нений типа (3.24).
Очевидно, что все логические уравнения (3.20) — (3.24) могут быть переведены в стандартную форму (3.18).
В случае нелинейной зависимости Y2(YX) (кривая 2) нельзя каждому кванту qu поставить в соответствие один квант q2j (рис. 3.29). При этом какому-либо кванту qVi может соответство¬вать: либо один полный квант q2j, либо один неполный квант q2j, либо два и более полных кванта q2j, q2j+l, либо один или несколь¬ко полных кванта q2j, q2k и один или несколько неполных кванта q2hV q2hfl и т. д. (табл. 3.2). При этом, если такие нелинейные зави¬симости типа 2 отображать, как и прежде, только системой логи¬ческих уравнений, т. е. без учета степени принадлежности какого- либо кванта q2j кванту д]р то будет вводиться большая погрешность отображения, зависящая от вида кривой 2. Улучшить эту ситуа¬цию можно путем введения либо вероятности P{X{~>X2j =1}, либо функции принадлежности ^(У) (Y<=> Х1Г>Ху), вычисляемых по¬добно вероятности в уравнении (3.19) и приведенных в табл. 3.2 (в знаменателях). Например, Р{Х.2^Х2Ъ - 1} = \х(Х]2-^Х23) = 0,5.
Таблица 3. 2
^22 ^23 ^24 %25 %26 *27 ^28 %29
*11 1/1 1/1 1/0,5 0 0 0 0 0 0
0 0 1/0,5 1/1 1/0,2 0 0 0 0
0 0 0 0 1/0,8 1/0,4 I 0 0 0
Х\4 0 0 0 0 0 1/0,6 1/0,5 0 0
Х.5 0 0 0 0 0 0 1/0,6 1/0,1 0
0 0 0 0 0 0 0 1/0,8 0
Х17 0 0 0 0 0 0 0 1/0,1 1/0,5
^18 0 0 0 0 0 0 0 0 1/07
^19 0 0 0 0 0 0 0 0 1/0,1
Нами рассмотрена простейшая, монотонная гладкая возра¬стающая зависимость. Замена более сложных функциональных зависимостей на логические функции, очевидно, будет приво¬дить к большим погрешностям, уменьшение которых потребует дополнительных усилий. Тем не менее, приведенные примеры показывают, что имеется принципиальная возможность по¬строения логически прозрачных сетей, позволяющих получать решения многих практических задач с достаточной точностью при некотором увеличении их размерности и интерпретировать и объяснять получаемые результаты. Однако построение таких сетей чаще всего требует большого числа экспериментов и не всегда экономически выгодно.
При подготовке решения задачи на НС не всегда удается точно определить, сколько и какие входные данные нужно по¬давать на ее вход при обучении. В случае недостатка данных сеть не сможет обучиться решению задачи. Проблема усугубляется тем, что в большинстве плохо формализуемых областей челове¬ческой деятельности (примером такой области может служить медицина) эксперт часто не может точно сказать, какие имен¬но данные являются важными. Поэтому обычно на вход сети подается избыточный набор данных. Для уменьшения времени обучения и повышения качества работы НС требуется опреде¬лить, какие данные необходимы для решения конкретной зада¬чи, поставленной для НС. Кроме того, в ходе решения этой задачи определяются значимости входных сигналов, что во мно¬гих предметных областях представляет самостоятельную ценность.
Уменьшение числа входных параметров приводит к упрощению реализации обученной НС.
При отборе данных для НС необходимо учитывать следую¬щие факты:
• при решении реальных задач с помощью НС довольно ча¬сто трудно установить связь выходного показателя с имеющи¬мися данными, поэтому проводят сбор как можно большего числа данных;
• наличие корреляции между данными не позволяет произ¬вести их ранжирование и, следовательно, невозможно исполь¬зовать простой алгоритм отсева по степени важности;
• для того чтобы снизить действие фактора "проклятия раз¬мерности", очень часто просто удаляют некоторое число пере¬менных; при этом возможно удаление таких, которые несут су¬щественную информацию.
Чтобы гарантированно получить только полезные (инфор¬мативные) данные, необходимо выполнить перебор большого количества наборов данных и архитектур НС. Однако практи¬чески это реализовать трудно даже при наличии мощных и эф¬фективных нейроимитаторов. Решение этой задачи дает исполь¬зование генетического алгоритма, принцип действия которого будет изложен далее.
Другой способ отбора данных связан с понижением размер¬ности входного вектора, предполагающим удаление неинфор¬мативных переменных. Идея способа заключается в таком пре¬образовании входных данных, чтобы та же информация была записана с помощью меньшего числа переменных.
Реализация одного из методов понижения размерности — ис¬пользование анализа главных компонентов [16]. Метод представля¬ет собой такое линейное преобразование входных данных, при ко¬тором количество переменных уменьшается до априорно заданного предела, при сохранении максимальной вариации данных. Однако не всегда максимальная вариация данных соответствует максималь¬ной информации. Недостаток метода состоит в том, что преобра¬зование данных является линейным. Нелинейный вариант этого метода основан на использовании автоассоциативных сетей.
С помощью отбора данных на основе показателей значимо¬сти можно удалять как входные сигналы, так и параметры сети.
Далее будем предполагать, что уменьшается число параметров сети. При уменьшении количества входных сигналов процедура остается той же, но вместо показателей значимости параметров сети используются показатели значимости входных сигналов.
Обозначим % показатель значимости р~го параметра; w°p —
текущее значение р-го параметра; w* — ближайшее выделенное
значение для р-го параметра. Используя введенные обозначения, процедуру отбора можно записать следующим образом:
1. Вычисляем показатели значимости.
2. Находим минимальный среди показателей значимости — %*р.
3. Заменим соответствующий этому показателю значимости параметр wp* на w*p и исключим его из процедуры обучения.
4. Предъявим сети все примеры обучающего множества. Если сеть не допустила ни одной ошибки, то переходим к п. 2 проце¬дуры.
5. Обучаем полученную сеть. Если сеть обучилась безошибоч¬ному решению задачи, то переходим к п. 1 процедуры, в про¬тивном случае переходим к п. 6.
6. Восстанавливаем сеть в состояние до предшествующего выполнению п. 3. Если в ходе выполнения п. 2—5 был удален хотя бы один параметр (число обучаемых параметров измени¬лось), го переходим к п. 1. Если ни один параметр не был уда¬лен, то получена минимальная сеть.
Возможно использование различных обобщений этой про¬цедуры. Например, удалять за один шаг не один параметр, а заданное пользователем число параметров. Наиболее радикаль¬ная процедура состоит в ликвидации половины параметров свя¬зей. Если это не удается, делается попытка ликвидировать чет¬верть, и т. д.
Существует несколько методов определения показателей значимости. Чаще всего для этой цели используют метод разло¬жения функции оценки в ряд Тейлора по обучаемым парамет¬рам с точностью до линейных членов.
Стандартный способ обучения НС заключается в том, что сеть обучается на одном из множеств базы данных, а на другом проверяется результат, т. е. проверочное множество для обуче¬ния не используется. Первое из этих множеств называют обуча¬ющим, второе —- тестовым.
Таким образом, обучение многослойной НС можно пред¬ставить двумя этапами:
• предъявление НС обучающего множества примеров до тех пор, пока не будет выполнено условие останова обучения:
а) вычисляемая ошибка сети Е становится меньше задан¬ной или перестает изменяться в течение определенного числа итераций ("эпох");
б) по истечении заданного числа итераций;
• проверка правильности работы сети на тестовом множе¬стве: если ошибка обобщения Ео6о6щ> 8 (8— заданная ошибка обобщения) — проводится увеличение числа итераций, либо числа обучающих примеров, либо происходит модификация архитектуры НС.
Если использовать небольшой набор обучающих данных, то при обучении сеть будет слишком близко следовать обучающим данным (переобучаться) и воспринимать не столько структуру данных, сколько содержащиеся в ней помехи.
Способность сети не только учиться на обучающем множе¬стве, но и показывать хорошие результаты на новых данных (хо¬рошо предсказывать) называется обобщением. Качество обоб¬щения данных можно определить, наблюдая за величиной ошибки, вычисленной на тестовом множестве данных. Эта ошиб¬ка должна быть меньше заданной. Если после нескольких итера¬ций обучающего алгоритма ошибка обучения падает почти до нуля, в то время как ошибка обобщения сначала убывает, а потом снова начинает расти, то это признак переобучения, и при росте ошибки обобщения обучение следует прекратить. В описанном случае тестовое множество используется при обу¬чении НС для определения момента "ранней остановки", по¬этому по окончании обучения следует проверить работу сети еще на одном — третьем множестве ("подтверждающем").
Рассмотрим наиболее известный алгоритм обучения мно¬гослойной НС (Back Propagation — BP) и определим условия повышения эффективности процедуры обучения. BP — это ите¬ративный градиентный алгоритм обучения многослойных НС без обратных связей. В такой сети на каждый нейрон первого слоя подаются все компоненты входного вектора. Все выходы скрытого слоя т подаются на слой m+ 1 и т. д., т. е. сеть является полносвязной.
Последовательность действий, составляющих суть градиент¬ных методов, используемых в стандартном BP: вычисление гра¬диента, вычисление направления движения, связанного с гра¬диентом и шага вдоль этого направления. Различные градиентные методы поиска минимума функционала отличаются выбором направления движения и шага [8].
При обучении ставится задача минимизации ошибки НС, которая определяется методом наименьших квадратов:
E{W) = \/2 ±(yj-dj)\
№
где у — значение у-го выхода НС; d. — желаемое значение у-го выхода; р — число нейронов в выходном слое.
Обучение НС осуществляется методом градиентного спус¬ка, т. е. на каждой итерации изменение веса производится по формуле
Щ. = ~~ h(dE)/(dw0),
где h — параметр, определяющий скорость обучения, а
(Э £)/0w.) = (Э£)/(Э(3.25)
здесь у. —- значение выхода j-го нейрона; S — взвешенная сумма входных сигналов. При этом множитель (^5.)/(9w.) = хр где х. — значение /-го выхода нейрона.
Определим первый множитель формулы (3.25):
к
к
где к — число нейронов в слое п + 1.
Введем вспомогательную переменную
Ь^ = (dE)/(dyi)(dyi)/(dSj).
Тогда можно определить рекурсивную формулу для опреде¬ления л-го слоя, если известно значение этой переменной следующего (п + /)-го слоя:
5У
д
(ЭЛ)/(Э5,). (3.26)
Нахождение для последнего слоя НС не представляет
трудностей, так как априорно известен вектор тех значений, который должна выдавать сеть при заданном входном векторе:
W = 021)
В результате всех преобразований получим следующее выра¬жение для вычисления приращения весов связи в НС:
дн^. =~Ц'7)х;. (3.28)
Таким образом, можно сформулировать полный алгоритм обучения BP.
1. Подать на вход НС очередной входной вектор из обучаю¬щей выборки и определить значения выходов нейронов в вы¬ходном слое.
2. Рассчитать по формуле (3.27) и Aw., по формуле (3.28) для выходного слоя НС.
3. Рассчитать 5р и Aw., по формулам (3.27) и (3.28) для ос¬тальных слоев НС.
4. Скорректировать все веса НС: (t) = (/-!) + Aw^ (/),
где t — номер текущей итерации.
5. Если ошибка существенна, то вернуться к п. 1, в против¬ном случае — конец.
Можно выделить три основных фактора, которые влияют на выбор наилучшей стратегии обучения: формирование после¬довательности подачи входных векторов из обучающей выбор¬ки; выбор шага обучения; выбор направления обучения.
В стандартном алгоритме BP, основанном на методе гради¬ентного спуска, предполагается такая последовательность дей-
ствий: решение сетью очередного примера — вычисление гра¬диента ошибки — корректировка весов — переход к следующей задаче. Однако после завершения обучения сети последнему при¬меру первые уже забыты, и процесс обучения надо начинать сначала. При этом трудно гарантировать сходимость подобного алгоритма. Чтобы этого избежать, применяют усреднение гра¬диента по всем примерам обучающей выборки. При использова¬нии стратегии усреднения все примеры обучающей выборки участвуют в обучении одновременно и на равных правах.
Еще одна из возможных стратегий состоит в следующем — НС обучается при помощи стратегии усреднения лишь некото¬рому множеству примеров, в которое по мере обучения сети постепенно включаются все новые и новые примеры. Такая стра¬тегия в среднем в 1,5™2 раза быстрее стратегии усреднения, од¬нако в этом случае процесс обучения зависит от взаимного рас-положения задач в обучающей выборке. Максимальное ускорение обучения достигается, если "типовые" задачи расположены бли¬же к началу обучающей выборки.
Выбор величины шага имеет ключевое значение для успеш¬ной работы обучающего алгоритма, так как от значения шага А зависит скорость сходимости алгоритма. Так как к моменту вы¬бора шага для следующей итерации градиент ошибки в методе BP уже вычислен, то можно интерпретировать функцию ошиб¬ки как функцию шага Е{И). Тогда, учитывая, что значение Е(И0) вычислено на предыдущем шаге, можно записать следующий алгоритм А1:
1 Сделать пробный шаг А и вычислить Е(И);
2, Если E{h)> E(h0), то A := А/4 ("наказание"); переход к п. 1;
3. Если E(h)< ДА0), то А: - 2А ("поощрение").
Приведенный алгоритм А1 является оптимальным для стра¬тегии, при которой НС обучается на множестве примеров по¬очередно. Для повышения качества алгоритма А1 при обучении по стратегии усреднения может быть использован алгоритм А2:
1. См. п. 1 в А1.
2. Если ДА) > ДА0), то:
й,:= А/2;
если E(hj > £(А0), то А: = А,, переход к п. 2. I;
если E(h{) < E(h0), то переход к п. 4.
3. Если ДА) < ДА0), то:
A,: = A, A: = 2A,;
если ДА) < ДА,), то переход к п. 3. 1;
если ДА) > ДА,), то переход к п. 4.
4. По значениям А0, А, А,, ДА0), ДА),ДА,) строим параболу и находим ее вершину Ар (из-за выбора точек А, и А парабола всегда будет выпуклой вниз).
5. Если E(hp )<ДА,}, то искомый шаг — А;, иначе — hp.
Алгоритм А2 позволяет повысить скорость обучения при¬мерно в 2-3 раза, однако при его использовании возникают сложности с выводом сети из локальных минимумов.
При обучении НС могут использоваться и не градиентные методы обучения.
Идея метода покоординатного спуска состоит в том, что если в задаче сложно или долго вычислять градиент, то можно построить вектор, обладающий приблизительно теми же свой¬ствами, что и градиент. Для этого дадим малое положительное приращение первой координате вектора. Если оценка is при этом увеличилась, то пробуем отрицательное приращение. Далее та¬ким же образом поступаем со всеми остальными координатами. В результате получаем вектор, в направлении которого оценка убывает. Для вычисления этого вектора потребуется, как мини¬мум, столько вычислений функции оценки, сколько координат у вектора (в худшем случае число вычислений в 2 раза больше числа координат). Время, используемое для вычисления гради¬ента при использовании алгоритма BP, обычно оценивается как время двух-трех вычислений функции оценки. Учитывая этот факт, можно констатировать, что метод покоординатного спус¬ка нецелесообразно применять в обучении НС.
Метод Нелдера-Мида является наиболее быстрым негради¬ентным методом многомерной оптимизации. Идея метода со¬стоит в следующем. В пространстве оптимизируемых параметров генерируется случайная точка. Затем строится «-мерный симп¬лекс с центром в этой же точке и длиной стороны /. Далее в каждой из вершин симплекса вычисляется значение критерия оптимизации. Выбирается вершина с наибольшим значением критерия. Вычисляется центр тяжести остальных п вершин. Про-водится оптимизация шага в направлении от наихудшей верши- ны к центру тяжести остальных вершин. Такая процедура повто¬ряется до тех пор, пока не окажется, что положения вершин не меняются. Затем выбирается вершина с наилучшей оценкой и вокруг нее снова строится симплекс с меньшими размерами (например, 1/2). Процедура продолжается до тех пор, пока раз¬мер симплекса, который необходимо построить, не окажется меньше заданной величины.
Основным недостатком этого метода является большая раз¬мерность пространства параметров, что приводит к значитель¬ному увеличению времени обучения нейронной сети.
Метод случайного поиска сводится к генерации случайного вектора вместо градиента. Метод использует одномерную опти¬мизацию для подбора шага. Подбор оптимального шага h состо¬ит в том, что при наличии направления, в котором производит¬ся спуск задача многомерной оптимизации в пространстве параметров сводится к одномерной —- подбору шага.
Пусть заданы начальный шаг h и случайное направление спуска. Вычисляем величину оценки Ест как оценку в текущей точке пространства параметров. Изменив параметры на вектор направления, умноженный на величину пробного шага, вычис¬лим значение оценки в новой точке . Если Et < Е. то уве-
^ нов нов ст' J
личиваем шаг и снова вычисляем оценку. Продолжаем эту про¬цедуру до тех пор, пока не получим оценку больше предыдущей. Зная три последних значения величины шага и оценки, исполь¬зуем квадратичную оптимизацию — по трем точкам построим параболу и следующий шаг сделаем в вершину параболы. После нескольких шагов квадратичной оптимизации получаем прибли¬женное значение оптимального шага.
Если после первого пробного шага Енов > Ест, то уменьшаем шаг до тех пор, пока не получим Еть< Ест. После этого произво¬дим квадратичную оптимизацию.
Выбор эффективного обучающего алгоритма всегда вклю¬чает в себя компромисс между сложностью решаемой задачи и техническими ограничениями (быстродействие, время, цена, объем памяти) инструментальной ЭВМ, на которой реализу¬ются данные алгоритмы. Поэтому необходимо исследовать но¬вые алгоритмы обучения НС, позволяющие достигать лучшей эффективности.
В настоящее время в процедуре обучения многослойной НС широко используется один из методов эвристической оптими¬зации — генетический алгоритм (ГА), моделирующий процес¬сы природной эволюции и относящийся к так называемым эво¬люционным методам поиска.
При практической реализации данных алгоритмов на каж¬дом шаге используются стандартные операции, изменяющие решение. С помощью ГА можно получить решение, соответ¬ствующее глобальному оптимуму или близкое к нему, при этом на каждом шаге проводятся некоторые стандартные операции одновременно над множеством решений (популяций), что по¬зволяет значительно увеличить скорость приближения к экст-ремуму.
Основные отличия ГА от стандартных локальных (напри¬мер, градиентных) и глобальных (например, случайных) алго¬ритмов оптимизации:
• поиск субоптимального решения основан на оптимиза¬ции случайно заданного не одного, а множества решений, что позволяет одновременно анализировать несколько путей приближения к экстремуму; при этом оценка получаемых ре¬зультатов на каждом шаге позволяет учитывать предыдущую информацию, т. е. происходит эволюционное развитие опти¬мальных решений;
• решения рассматриваются как некоторые закодированные структуры (символьные модели), а не как совокупность пара¬метров, что позволяет в некоторых случаях значительно умень¬шить время преобразования данных, т. е. увеличить скорость приближения к экстремуму;
• для оценки "пригодности" решения и последующего эво¬люционного развития наряду с использованием целевой функ¬ции дополнительно моделируются "правила выживания", кото¬рые расширяют разнообразие множества решений и определяют эволюционное развитие;
• при инициализации, преобразовании и других видах опе¬рации с решениями используются вероятностные, а не детер¬минированные правила, которые вносят в направленность ге¬нетического поиска элементы случайности; тем самым решается проблема выхода из локальных оптимумов;
• отсутствует необходимость расчета производных от целе¬вой функции (как в градиентных методах) или матрицы произ¬водных второго порядка (как в квазиньютоновских).
Схема простого генетического алгоритма представлена на рис. 3.32.
Генетическим алгоритмом называется следующий объект:
ГА( P\r, I, si, Fit, cr, т, ot),
где ГА — генетический алгоритм; Р°— исходная популяция; г — количество элементов популяции; /— длина битовой строки, кодирующей решение; si — оператор селекции; Fit-- функция
Рис. 3.32. Схема простого генетического алгоритма
фитнесса (функция полезности), определяющая "пригодность" решения; сг— оператор кроссинговера, определяющий возмож¬ность получения нового решения; т — оператор мутации; ot— оператор отбора.
Будем считать, что область поиска решения D задачи одно- критериального выбора является конечным множеством реше¬ний, в котором каждое допустимое решение XeD является «-мерным вектором Х = (х,, х2, ..., хп).
Наименьшей неделимой единицей биологического вида, подверженной действию факторов эволюции, является особь
Н[ (к— номер особи, t — момент времени эволюционного про¬цесса). В качестве аналога особи в задаче оптимизации принима¬ется произвольное допустимое решение XeD, которому при¬своено имя Н[. Действительно, вектор X— это наименьшая неделимая единица, характеризующая в экстремальной задаче внутренние параметры объекта оптимизации на каждом t-м шаге поиска оптимального решения, которые изменяют свои значе¬ния в процессе минимизации некоторого критерия оптималь¬ности J(X).
Качественные признаки особи Н[ определяются как соот¬ветствующие точке Хс именем Н[ (в простейшем случае бито¬вой строке). Интерпретация этих признаков проводится в тер¬минах хромосомной наследственности. В качестве гена — единицы наследственного материала, ответственного за формирование альтернативных признаков особи, — принимается бинарная ком¬бинация А, которая определяет фиксированное значение пара¬метра х. в двоичном коде. Некоторая особь Н{ будет характери-зоваться п генами, каждый из которых отвечает за формирование целочисленного кода соответствующей переменной. Тогда струк¬туру битовой строки можно интерпретировать хромосомой, со¬держащей п сцепленных между собой генов. Местоположение /-го гена в хромосоме — локус, значение — алпель h.
Хромосома, содержащая в своих локусах конкретные значе¬ния генов, называется генотипом (генетическим кодом), кото¬рый содержит всю наследственную генетическую информацию
об особи Н[. Конечное множество всех допустимых генотипов называют генофондом. В частности, хромосомы, соответствую¬щие генофонду, содержащему оптимальное управление, могут быть сформированы следующим образом.
Требуется найти хромосому, соответствующую некоторо¬му управлению ыэ U, где U — множество всех возможных значе¬ний и (рис. 3.33). Тогда, если количество генов N в хромосоме определить исходя из шага дискретизации td: N = tu/td, где tu — максимально допустимое время управления, tj=tp и t — вре¬мя преобразования ЦАП и АЦП в системе управления, а код гена определять исходя их шага квантования q = UJ2", где Um — максимально допустимая величина управляющего воз¬действия, п — число разрядов ЦАП и АЦП системы управле¬ния, то генофонд будет образовываться из хромосом вида, показанного на рис. 3.34.
и
и.
max
U
Я
Рис. 3.33. Множество управляющих воздействий
/00001/01000/00011/ /11111/
N
Рис. 3.34. Вид хромосомы
При взаимодействии особи с внешней средой ее генотип Н[
порождает фенотип F {В[ который можно оценить количествен¬но с помощью функции приспособленности (функции фитнее- са) к внешней среде. Фитнесс Fit(Н[) кажд,ой особи Н[ равен численному значению функции /(X), вычисленной для допус¬тимого решения Хе D с его именем Н[. Чем больше значение функции финтесса при решении задачи нахождения max /(X), тем лучше особь приспособлена к внешней среде.
Формирование популяции. Совокупность особей (Н{,..., Н'г) образуют популяцию Р' (численностью г). Эволюция популяции Р' рассматривается как чередование поколений (рис. 3.35). Но¬мер поколения отождествляется с моментом времени t = 0,1,..., Г, где Т— жизненный цикл популяции, определяющий период ее эволюции. Совокупность генотипов всех особей Нк* образует хро¬мосомный набор, который полностью содержит в себе генети¬ческую информацию.
В настоящее время наиболее известными являются три стра¬тегии создания начального множества решений:
1) формирование полной популяции;
2) генерация случайного множества решений, достаточно большого, но не исчерпываю идею все возможные варианты;
3) генерация множества решений, включающего разновид¬ности одного решения.
Рис. 3.35. Формирование популяции решения
При первой стратегии должен быть реализован полный на¬бор всевозможных решений, но это невозможно из-за чрезмер¬ных вычислительных затрат и большой области поиска для задач высокой размерности. Стартовая популяция, созданная на ос¬нове данной стратегии, не может развиваться, т. е. в ней уже содержатся все решения, в том числе и оптимальные.
Третью стратегию применяют, когда есть предположение, что некоторое решение является разновидностью известного. В этом случае происходит выход сразу в область существова¬ния экстремума и время поиска оптимума значительно сокра¬щается.
Для большинства задач проектирования первая (вследствие проблематичности полного перебора) и третья (из-за сужения области поиска и большой вероятности попадания в локальный экстремум) стратегии неприемлемы. Наиболее перспективной является вторая стратегия, так как она в результате эволюции популяции создает возможность перехода из одной подобласти области поиска D в другую и имеет сравнительно небольшую размерность задачи оптимизации.
Хромосома А Хромосома В
IV
Потомок А Потомок В
Эффективность ГА, качество получаемого решения и успех дальнейшего развития эволюции во многом определяются струк¬турой и качеством начальной популяции. Наиболее целесообраз¬ным представляется подход, основанный на комбинировании вто¬рой и третьей стратегии: путем предварительного анализа решаемой задачи выявляются подобласти в об¬ласти поиска D, в которых могут на¬ходиться оптимальные решения, т. е. определяются особи с высоким зна¬чением фитнесса, а затем случайным образом формируются стартовые ре-шения в этих подобластях.
Выделяют два основных способа генерации новых решений (рис. 3.36 и 3.37):
Рис. 3.36. Одноточечный
1) путем перекомпоновки (скре¬щивания) двух родительских реше¬ний (оператор скрещивания или кроссинговер сг); кроссинговер
Мутация
Мутация Результат
потомка А мутации
V V
■а2 а\
а>
ь< К
А. А.
Рис. 3.37. Оператор мутации
2) путем случайной пере¬стройки отдельных решений (опе¬ратор мутации т).
Кроссинговер сг производит структурированный и рандомизи¬рованный обмен информацией внутри родительской пары, т. е. между двумя хромосомами, фор¬мируя новые решения. Задача со¬здания потомков состоит в выбо¬ре такой комбинации участков хромосом, которая давала бы наилучшее решение. Таким образом, основная цель скрещива¬ния заключается в накоплении всех лучших функциональных признаков, характеризующих отдельные участки хромосом, ко¬пируемых в конечном решении.
Рассмотрим одноточечный оператор кроссинговера Холлан- да, который реализуется следующим образом. Сначала случай¬ным образом определяется точка скрещивания. Затем цепочка генов, ограниченная точкой скрещивания одной хромосомы, меняется местами с аналогичной частью генов второй хромосо¬мы (см. рис. 3.36), т. е. путем перекомпоновки двух родительских решений генерируются два качественно новых решения (потом¬ки). Помимо одноточечного применяются и многоточечные крос- синговеры. В результате применения сг могут появиться повто¬ряющиеся кодовые комбинации хромосом. Поэтому для использования генетического алгоритма в задачах оптимизации необходимо разрабатывать новые типы операторов сг.
Применение оператора мутации т в процессе биологичес¬кой эволюции предотвращает потерю важного генетического материала; в генетических алгоритмах т используется для выхо¬да из локальных экстремумов. На практике при использовании ГА для решения задач оптимизации встречаются классические операторы генной мутации: изменение величины случайно выб¬ранного гена (см. рис. 3.37). Для улучшения технологии генети¬ческого поиска оптимальных решений целесообразно применять операторы хромосомной мутации.
Значительное улучшение качества и скорости сходимости ГА дает комбинирование ГА с классическими детерминирован-
ными методами оптимизации, а также разработка модифициро¬ванных операторов кроссинговера и мутации, основанных на знании решаемой задачи.
Качество поколений потомков во многом зависит от выбора операторов селекции si родительской пары. Поэтому для акку¬муляции всех лучших функциональных признаков, имеющихся в популяции, используют подбор хромосом для скрещивания. Наиболее часто в ГА применяют следующие типы операторов si:
1) случайный выбор пар;
2) предпочтительный выбор на основе функции фитнесса.
Необходимой составляющей естественного отбора являет¬ся устранение неудачных решений. Основная проблема устра¬нения — нахождение компромисса между разнообразием гене¬тического материала и качеством решений. Схема отбора включает два этапа:
• формирование репродукционной группы из всех решений, образовавшихся в популяции Р'\
• естественный отбор решений в следующую Р*1 популяцию.
Анализ операторов отбора показывает, что случайный от¬бор приводит к высокому генетическому разнообразию, одна¬ко многие качественные решения могут быть утеряны. Элит¬ный отбор сохраняет качество решения, но после смены нескольких поколений хромосомы становятся подобными. Та¬ким образом, на начальных этапах оптимизации с помощью ГА элитный отбор дает значительное ускорение роста качества решения, оцениваемое по Fit. Однако дальнейшее повышение качества становится проблематичным из-за скудного генети¬ческого разнообразия.
Один из способов повышения эффективности ГА связан с параллельным развитием нескольких популяций и примене¬нием генетических операторов к хромосомам из разных популя¬ций, что позволяет повысить генетическое разнообразие наслед¬ственного материала и приводит к улучшению окончательного решения. Мотивом создания этого подхода является известный из генетики факт: из аллелей формируются генотипы особей, из особей популяции, из популяций биоценозы, являющиеся итогом прогрессивного развития нескольких популяций. В соот-ветствии с вышесказанным, ГА, в котором генетические oriepa- торы применяются к хромосомам разных популяций, будем на¬зывать многопопуляционными (биоценозными).
В многопопуляционном ГА одновременно создается N на¬чальных популяций Р®, Р2°, ..., которые развиваются не-зависимо друг от друга до определенного момента tv (начало пе¬риода взаимодействия), после которого популяции обмениваются хромосомами и затем снова развиваются независимо. Норму вза¬имодействия (количество обменных хромосом) можно регули¬ровать с тем, чтобы каждая из популяций могла также создать "свои" уникальные хромосомы. Главные проблемы реализации многопопуляционного ГА заключаются в следующем:
1) определение момента начала периода взаимодействия tv;
2) выбор принципа отбора обменных хромосом.
3.5. Гибридные нейронные сети
Основное преимущество нейросетевого подхода — возмож¬ность выявления закономерностей в данных, их обобщение, т. е. извлечение знаний из данных, а основной недостаток — невоз¬можность непосредственно (в явном виде, а не в виде вектора весовых коэффициентов межнейронных связей) представить функциональную зависимость между входом и выходом иссле¬дуемого объекта. Исключением является случай представления НС и данных в алгебре по mod 2. Однако при этом, как правило, НС становится избыточной. Другим недостатком нейросетевого подхода является также трудность формирования представитель¬ной выборки, большое число циклов обучения и забывание "ста¬рых" примеров, трудность определения размера и структуры сети.
Основное преимущество нечетких систем заключается в том, что знания в этих системах представляются в форме легко пони¬маемых человеком гибких логических конструкций, таких, как "ZF... — THEN...". Кроме того, необходимо отметить, что, в со¬ответствии с теоремой, доказанной Б. Коско (1993), любая ма¬тематическая функция может быть аппроксимирована системой, основанной на нечеткой логике, следовательно, такие системы являются универсальными [16]. Основные трудности при исполь-зовании нечетких систем на практике связаны с априорным определением правил и построением функций принадлежности для каждого значения лингвистических переменных, описыва¬ющих структуру объекта, которые обычно проектировщик вы¬полняет вручную. Поскольку вид и параметры функций принад¬лежности выбираются субъективно, они могут быть не вполне адекватны реальной действительности.
Два подхода к управлению сложными объектами на основе НС и нечетких систем взаимно дополняют друг друга, поэтому целесообразно их объединение на основе принципа "мягких" вычислений (Soft Calculation). Основы построения таких систем с использованием разнородных методов были сформулированы Л. Заде в 1994 году. Они сводятся к следующему: терпимость к нечеткости и частичной истинности используемых данных для достижения интерпретируемости, гибкости и низкой стоимос¬ти решений.
Реализация объединения рассмотренных двух подходов воз¬можна в следующих гибридных системах:
• нейросетевые нечеткие системы, в которых нейросетевая технология используется как инструмент в нечетких логических системах;
• нечеткие НС, в которых с помощью аппарата нечеткой математики осуществляется фазификация отдельных элементов нейросетевых моделей;
• нечетко-нейросетевые гибридные системы, в которых осу¬ществляется объединение нечетких и нейросетевых моделей в единую систему.
Рассмотрим возможности реализации некоторых элементов гибридных систем, которые являются более эффективными с точки зрения расширения класса решаемых задач, формиро¬вания новых знаний из данных и объяснения получаемых ре¬зультатов.
Нейросетевой нечеткой системой называется такая систе¬ма, в которой отдельные элементы нечеткости (функции при¬надлежности, логические операторы, отношения) и алгорит¬мы вывода реализуются с помощью НС. Использование нечеткости в нейросетевых моделях означает большую гибкость в реализации алгоритмов обучения, представления входной и выходной информации, выбора функций активации за счет их фазификации.
Рассмотрим вопросы, связанные с обучением НС для пред¬ставления функций принадлежности произвольной формы. По¬строение простых форм функции принадлежности, таких как треугольная или кол околообразная, осуществляется на одном нейроне путем подстройки функции активации к желаемой фун¬кции принадлежности. Например, для представления колоколо- образной функции принадлежности может быть использован нейрон, функция активации которого имеет вид:
/(net) = ехр(— (net - ш)2/а2), (3.29)
где net — сумма частных произведений входов нейрона; т — значение нечеткой переменной, при которой достигается наи¬большее значение функции принадлежности; о — среднеквад¬ратичное отклонение функции принадлежности от максималь¬ного значения.
В качестве примера рассмотрим возможность построения функций принадлежности для трех значений некоторой линг¬вистической переменной: "мало (S — Small)", "средне (М — Medium)", "много (L— Large)". Для этого используем НС, представленную на рис. 3.38, а. На этом рисунке выходы yv yv у3 определяют величины соответствующих функций принадлеж¬ности — ji/x), \ьм(х), ixL(x). Узлы со знаком "+" суммируют сиг¬налы входов нейронов, а узлы с символом /реализуют сигмои- дальные функции. Например, для значения лингвистической переменной "мало" функцию принадлежности можно опреде¬лить следующим образом:
ух = \is(x) = 1/(1 + ехр( - wg(x + wc))), (3.30)
где wc— весовой коэффициент для смещения и wg— вес сум¬марного сигнала на входе нелинейного преобразователя. Путем подстройки весовых коэффициентов формируются функции при-надлежности (рис. 3.38, б).
Реализация нечетких И (AND), ИЛИ (OR) и других операто¬ров в нейросетевом логическом базисе дает основу для построе¬ния нейросетевых нечетких моделей. Определим процедуру реа¬лизации базовых нечетких логических операторов. Возможность использования различных функций активации нейрона позво¬ляет разрабатывать различные (желаемые) логические операторы,
" M*)
y{ = \ip) 1,0
max(jc) x
= 0 mteW
Рис. 3.38. Нейросетевая реализация функций принадлежности:
а— структура НС; график функций принадлежности
т. е. можно задать функцию активации, реализующую min-one- ратор для нечеткой операции AND, шах-оператор для нечеткой операции OR. Возможность применения недифференцируемых функций активации в процедуре обучения НС не обеспечивает-ся использованием генетических алгоритмов оптимизации. В не¬которых случаях, когда процедура обучения связывается с алго¬ритмом Back Propagation в НС прямого распространения, возможна замена или аппроксимация желаемой недифферен- цируемой функции дифференцируемой. Например, следующий "мягкий" (softmin) оператор может быть использован для заме¬ны оригинального нечеткого оператора И:
(алЬ) = softmin(tf, h) = (ае~ка + be~kb)/(e-a + e~b), (3.31)
где к — параметр, контролирующий "soft": при к -»©о реализу¬ется обычный min-оператор. При конечных к имеем обычную дифференцируемую функцию. Априорно вводя различные типы аппроксимирующих функций типа (3.31), можно разработать большое количество "мягких" логических операторов, способ-ных наилучшим образом адаптироваться к решаемой задаче.
Возможны различные способы реализации нечетких отно¬шений в системах нечеткого логического вывода [16]. Основные трудности построения нечетких отношений связаны с настрой¬кой большого числа функций принадлежности. Для устранения этих трудностей можно использовать подход, основанный на обучении НС с весовыми коэффициентами, соответствующими этим функциям принадлежности.
Пусть Хи Y— нечеткие множества в U и К соответственно и R — нечеткое отношение в UxV. Рассмотрим уравнение нечет¬кого отношения:
(3.32)
где 0 — операция композиции (например, max-min операция).
Пусть U = Ц, xv ..., хп) и F = {з^р .у2, Тогда можно
записать max-min композицию:
liyiy) = max(min(|iv(x), \xR(xn у))), (3.33)
где X— нечеткое множество на U; У— нечеткое множество на К и Л - нечеткое отношение R: UxV[0,/], описываемое всеми отношениями принадлежности (связями) между входом и вы¬ходом. Выражение (3.33) можно записать в другом виде, пред¬ставив отношение R в виде матрицы:
M-Kl^l) • • М*1>У/>)
• M*2 >Уп)
■ Vfi(x„,y„)
. (3.34)
X°R = [цЛ. (x,), [ix (x2),..., \xx (xn)]°
Уравнение (3.34) определяет величину ц/у.) путем компо¬зиции векторам X и j-й колонки матрицы отношения R. Такое отношение может быть реализовано НС, структура которой по¬казана на рис. 3.39. В этой сети выходной узел выполняет max- min композицию вместо обычной операции суммирования, ре¬ализуемой НС.
Однако, следуя уравнению (3.33), на определенном вы-ходном узле необходимо получить сигнал (max или min), отли¬чающийся от сигналов на других узлах. Если использовать обыч¬ную операцию суммирования сигналов на входах нейрона, то результирующий сигнал может быть слишком низким для ак¬тивизации выхода. В связи с этим к каждому выходному узлу рассматриваемой НС добавляется порог (bias), обозначаемый be [0, 1]. Тогда уравнение (3.33) можно представить в виде:
M-yCv) = max[max(min(fxx(x), jaR(x.,y))), b(y)]. (3.35)
vyiy) у
Рис. 3.39. Нейросетевая модель нечетких отношений
MyO^i)
Добавление порога (точно так же, как в обычном нейроне) может рассматриваться как введение дополнительного входа в нейронный узел, значение которого изменяется от 0 до 1. Таким образом, уравнение (3.35) можно рассматривать как функцию активации, используемую в выходном узле. Из этого уравнения также следует, что возможный уровень сигнала, получаемого на выходном узле сети, не может быть ниже порога. Для обучения такой сети можно использовать стандартные алгоритмы обуче¬ния и определения ошибок обучения и обобщения.
Анализ процедуры классического нечеткого вывода позво¬ляет выделить две главные проблемы, возникающие при орга¬низации вывода на основе нечеткой логики, которые более эф¬фективно можно реализовать на основе нейросетевого подхода. Первая связана с определением функций принадлежности, ис¬пользующихся в условной части правил, а вторая — с выбором одного правила, определяющего решение, из совокупности пра¬вил. Рассмотрим модель, в которой НС используется для орга-низации вывода, аналогичного композиционному нечеткому выводу.
Один из вариантов реализации нейросетевого нечеткого вывода (для базы из трех правил Rp R2, R3), позволяющего фор¬мировать функцию принадлежности условной части IF правил и управлять выводом на основе сформированной функции при¬надлежности, представлен на рис. 3.40.
Обучение степеням принадлежности условной части правил
х, О буч ё н и ё ~ зао ю ч й тел ь н о й ч_асти_ правил
Ответ
Рис. 3.40. Нейросетевая модель нечеткого вывода
•'Л1*- ••'/••
п У*
* * Л '<•
г '•''*♦*) » • '
Правила нечеткого вывода в рассматриваемой модели име¬ют следующий формат:
Rs: IFX = (х1? ..., х) is AsTHENys = HC/xt, ..., х),
S = 1,2,..., г, (3.36)
где г — число правил вывода; As — представляет нечеткое мно¬жество условной части каждого правила; НС^(.) - определяет структуру нейросетевой модели (многослойный персептрон) со входами х{9 xv ..., хп и выходом ys, причем для каждого правила используется своя НС. Для определения функций принадлежно¬сти условной части правил используется нейронная сеть HC5(^i) (многослойный персептрон). Нейронная сеть НС5(т) обучается на входных данных из обучающей выборки. Выходы обученной НС рассматриваются как величины функций принадлежности
нечетких множеств в условной части //"правил, так как величи¬на выходного сигнала определяет принадлежность данных к каж¬дому правилу.
Предположим, что в рассматриваемой нейросетевой моде¬ли нечеткой системы, состоящей из нескольких НС, имеется п входов хр х2, ..., и единственный выход у. Обозначим через НС^-НС, которая вычисляет выходу для каждого S-го правила. Тогда процедура нечеткого вывода на основе нейросетевой мо¬дели реализуется следующим алгоритмом:
1. Формирование обучающей No и тестовой NT выборки; N = jV + N( — общее число примеров из базы данных.
2. Кластеризация обучающей выборки. Делим обучающую выборку на г классов Rs (по числу правил), где S = 1, 2, ..., г. Каждая обучающая подвыборка для класса Rs определяется па¬рой (xf, yf), где / = 1, 2, ..., Ns, a Ns— число примеров в обучающей выборке для класса Rs. Разделение «-мерного вход¬ного пространства на г в данном случае означает, что число правил вывода равно г.
3. Обучение НС(ц). Для каждого входного вектора Хе Rs опре¬делим вектор функций принадлежности к правилу М. — (т), т},
т-У такой, что mf = 1 и mf = 0 для к * S. Нейронная сеть НС(|л) с п входами и г выходами обучается на парах (X., М), / = = 1,2, ..., N(), следовательно, после обучения и тестирования такая сеть будет способна определить степень принадлежности mf для каждого входного вектора, принадлежащего классу Rs. Таким образом, функция принадлежности к части IF правила определяется как выходная величина mf обученной #Сфп, т. е.
mAs{X) = mf, I = 1, 2, ..., N, S = 1, 2,..., r,
где As соответствует нечеткому множеству условной части S-rо правила.
4. Обучение НСУ Обучающая выборка с входами , xf2, ..., xfn и выходной величиной yf; / = 1, 2, ..., Ns подается на вход и выход НСу, которая является нейросетевой моделью ча¬сти THEN в Rs. С помощью тестовой выборки вычисляется ошиб¬ка обобщения:
NT
Esn=JJ{yi-ms{Xi)mAs{Xi)}\ i=1
где ms(Xt) — наблюдаемый выход НС5. Если Es< 8, где 8 — априори заданная величина, HCS — обучена.
5. Принятие решения. Для заданного входного вектора про¬водится вычисление выходной величины по аналогии с форму¬лой дефазификации, используемой в классическом композици¬онном выводе:
JjmAs(Xi)ms(Xi) / 5>А(ЛГ,)
\ Г г \
у. = ~
s=\
В рассмотренном варианте нейросетевой модели нечеткого вывода формализована процедура определения функций принад¬лежности из базы данных, что позволяет при изменении содер¬жимого базы данных в результате получения новых данных от экспертов или в процессе вывода подстраивать функции принад¬лежности и тем самым получать более достоверные результаты.
Можно выделить три базовых типа нечетких нейронов, на основе которых можно построить нечеткие НС:
• нечеткий нейрон с четкими входными сигналами, но с нечеткими весами;
• нечеткий нейрон с нечеткими входными сигналами и не¬четкими весами;
• нечеткий нейрон, описываемый посредством нечетких логических уравнений.
Нечеткий нейрон первого типа nv (рис. 3.41) имеет п чет¬ких входов х,, х2, хп. Весовые коэффициенты такого нейрона представляют собой нечеткие множества Ар i = 1,..., п, т. е. опе¬рации взвешивания входных сигналов в классическом нейроне заменяются функциями принадлежности и происходит их объе¬динение (агрегирование) в узле пх с выдачей сигнала у = м^С*,, х2, ..., хл), принадлежащего интервалу [0,1], который может рас¬сматриваться как "уровень правдоподобия".
А
Рис. 3.41. Модель нечеткого нейрона с четкими входными сигналами и нечеткими весами
Операцию агрегирования взвешенных сигналов обозначим как для реализации которой можно использовать нечеткие операторы Г-нормы и /-конормы. В зависимости от типа исполь¬зуемой операции ® можно получить различные схемы нечетких нейронов. Математическое описание нейрона может быть пред¬ставлено в виде:
*2> — х) = M*i> ® М*2) ® - ®
где ® — знак операции агрегирования; х. — /-й (не нечеткий) вход нейрона; jui^.) -— функция принадлежности /-го (нечетко¬го) веса; \хп1 выходная функция нейрона.
Нечеткий нейрон второго типа п2 подобен нейрону первого типа, но все входы и выходы нейрона являются нечеткими мно¬жествами (рис. 3.42).
У л
У = Х{® Х'2®...® Х'п
Рис. 3.42. Модель нечеткого нейрона с нечеткими входами и выходами
Каждый сигнал на каждом нечетком входе X. преобразуется путем операции взвешивания в нечеткое множество Х\ = А*ХР i = 1, ..., п, с использованием некоторого оператора *, где А. — /-й нечеткий вес. Операция взвешивания здесь не является
функцией принадлежности, как в нейроне первого типа; вмес¬то нее проводится модификация каждого нечеткого входа. Мате¬матическое описание нейрона второго типа имеет вид
Xt'= А *Х, /= 1, 2, л; (3,37)
г= х\®х'2 ®...®х'п,
где Y— нечеткое множество, представляющее собой выход ней¬рона п2; X\ и Х- —- /-й вход до и после операции взвешивания соответственно; А. — вес на /-й связи; ® — операция агрегиро¬вания, * — оператор взвешивания двух нечетких множеств (на¬пример, операция произведения двух нечетких множеств).
Нечеткий нейрон третьего типа п3 с п нечеткими входами и одним нечетким выходом показан на рис. 3.43. Отношение вхо¬да-выхода нечеткого нейрона этого типа представляется с по¬мощью одного нечеткого правила IF-THEN:
IFX AND Х~ AND... AND X THEN У,
11 n '
где Xr Xv ..., Xn— текущие входы, Y— текущий выход. Тип нейрона пъ можно описать нечетким отношением, например,
R = ХхХх...хХ хГ
1 2 п
или в общем случае
R = f(Xv Х2, ..., Хп, Y),
Рис. 3.43. Модель нечеткого нейрона, реализующего нечеткое отношение
где/(.) — функция импликации. Следовательно, нейрон рассмат¬риваемого типа описывается нечетким отношением R. Задавая соответствующие входы (четкие или нечеткие) xv xv хп, в соответствии с композиционным правилом вывода получим
(3.38)
где ° представляет оператор композиционного правила вывода.
На основе рассмотренных типов нечетких нейронов можно конструировать нечеткие НС различной архитектуры, которые в отличие от обычных НС обладают расширенными возможно¬стями представления и обработки входной и выходной инфор¬мации.
Также имеется возможность построения нечетких НС, в которых нечеткость проявляется на этапе ее обучения. В этом случае модифицируется либо стратегия самого обучения, либо отдельные его параметры, заметно влияющие на качество обу¬чения. В качестве примера рассмотрим нечеткий персептрон.
В алгоритме обучения простого персептрона каждый вектор обучающей выборки вносит определенный вклад в модифика¬цию весовых коэффициентов. В случае неразделимости классов объектов, т. е. когда отдельные классы перекрываются, образцы (примеры обучающей выборки), лежащие в зоне перекрытия, в основном определяют неустойчивое поведение алгоритма обу¬чения. Поэтому основная идея построения нечеткого персеп¬трона и алгоритма его обучения заключается в уменьшении вли-яния векторов, лежащих в зоне перекрытия, на изменение весовых коэффициентов.
Рассмотрим реализацию стандартного алгоритма обратного распространения ошибки в случае разбиения входного простран¬ства векторов на два пересекающихся класса (рис. 3.44).
Рис. 3.44. Неразделимые классы объектов
Пусть имеется обучающая выбор¬ка, состоящая из векторов {Х}, Х2, Хр}, и функция принадлежности пг(Лу, i = 1, 2; к = 1, 2, р, определяемая как мера нечеткого разбиения про¬странства входов на два класса по от-ношению к этим векторам, показыва¬ющая степень принадлежности каждого из этих векторов к каждому из двух классов. Эти предположения могут быть представлены следующими соотноше¬ниями:
£й/(**) = »; 0 <ivn(Xk)<K [0,1], (3.39)
1=1 к=\
причем для векторов, чей класс является менее определенным, функция принадлежности находится в интервале до 0,5 (рис. 3.45).
Степень влияния образца Хк на модификацию весовых ко¬эффициентов можно определить как разность [Хк) - \х2 (Хк )|т ,
где т — константа, которая в случае неопределенности отнесе¬ния к одному из двух классов вектора Хк близка к нулю. Учиты¬вая этот факт, можно модифицировать формулу, определяю¬щую коррекцию весовых коэффициентов в алгоритме обратного распространения ошибки для четкого персептрона:
Wj(t) = Wj(t-\) +
+ к\щ (Хк (t-l))-n2 {Хк (t - l)f [dk - y(t - l)]xf\ (3.40) 1 <j < n + 1,
где h — скорость обучения; dk — желаемый выходной сигнал при Хк входном векторе; t — текущий такт обучения НС.
Рис. 3.45. Представление функций
принадлежности двух пересекающихся классов объектов
Из уравнения (3,40) следует, что влияние неопределенных векторов на модификацию весовых коэффициентов можно умень¬шить за счет изменения константы т. Действительно, подобно четкому персептрону, в нечетком персептроне также можно найти разделяющую поверхность за конечное число итераций.
При этом, если Jjm, (Хк (f))-M<2 {хк (0)f = К0ГДа М-1 (-**)>
]х2(Хк)е [0,1], нечеткий персептрон становится четким, тогда зна¬чения величин функций принадлежности также будуг четкими. При выборе стратегии обучения, как было показано ранее, боль¬шое значение имеет выбор шага обучения, в особенности на ранних итерациях, когда определяется выбор направления по¬иска, поэтому для векторов, значения функций принадлежнос¬ти которых близки к 0,5, можно установить значение т > 1 и на последующих итерациях постепенно его уменьшать.
При разработке алгоритма обучения нечеткого персептрона необходимо решить две задачи:
1) определить способ вычисления функций принадлежнос¬ти на каждом этапе итерации;
2) определить критерий останова.
При решении первой задачи используют формулы разделе¬ния двух пересекающихся классов. Тогда для некоторого вектора Хк в классе 1 получаем:
\л.(Хк) = 0,5 + (exp((/(dist2 - dist^/dist) -
- ехр(—/))/(2(ехр(/) - ехр(-/))); (3.41)
м2(хк) = 1 -- цода,
где dist, — расстояние вектора Хк до среднего значения класса 1; dist2 — расстояние вектора Хк до класса 2; dis^ — расстояние между средними значениями двух классов;/— положительная констан-та, подбираемая опытным путем (/> 2). Формулы (3.41) для Хк в классе 2 носят противоположный характер.
При решении второй задачи необходимо учесть тот факт, что, когда вектор не может быть однозначно отнесен к опреде¬ленному классу, значение его функции принадлежности близко к величине 0,5, поэтому для останова процедуры обучения вы¬бирается значение 8, показывающее близость функции принад- лежности к величине 0,5. Тогда критерием останова будет вы¬полнение следующего условия:
\хх{Хк) > 0,5 + 5
или
цда > 0,5 - 5, для V к, к = 1, р. (3.42)
Алгоритм обучения нечеткого персептрона состоит из сле¬дующих шагов:
1. Инициализация весовых коэффициентов. Установление допусков т и 8.
2. Вычисление степеней функции принадлежности на всех образцах обучающей выборки в каждом классе в соответствии с формулами (6.31).
3. Установление флага "Обучение" в состояние "True".
4. Предъявление НС нового образца,
Хк={^\ *(*>, ...,*?>-! }, где = 1 (порог), с желаемым выходом dke {1, —1} и вычис¬
ление действительного выхода:
п+1
У(<) =
(3.43)
2>/(')*}
м
Если y(t) = dk, то переход к шагу 7.
5. Коррекция весовых коэффициентов по формуле (3.40).
6. Если не выполняются условия (3.42), хотя бы для одного к, к — /,..., р, флаг "Обучение" установить "False".
7. Если все примеры из обучающей выборки просмотрены, пе¬рейти к следующему шагу, в противном случае перейти к шагу 4.
8. Если флаг "Обучение" находится в "True", то Останов и выдача весовых коэффициентов, определяющих границу раз¬биения, в противном случае — переход к шагу 3.
Рассмотренные в данном разделе гибридные нейросетевые и нечеткие модели, в отличие от других подобных моделей, позво¬ляют повысить качество работы нейропроцессора за счет исполь¬зования лучших свойств каждой из объединяемых технологий.