Введение.

ПОЧЕМУ ИМЕННО ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ?

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

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

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

Предисловие

Что такое искусственные нейронные сети? Что они могут делать? Как они работают? Как их можно использо­вать? Эти и множество подобных вопросов задают специа­листы из разных областей. Найти вразумительный ответ нелегко. Университетских курсов мало, семинары слишком дороги, а соответствующая литература слишком обширна и специализированна. Готовящиеся к печати превосходные книги могут обескуражить начинающих. Часто написанные на техническом жаргоне, многие из них предполагают свобод­ное владение разделами высшей математики, редко исполь­зуемыми в других областях. Эта книга является систематизированным вводным курсом для профессионалов, не специализирующихся в математике. Все важные понятия формулируются сначала обычным языком. Математические выкладки используются, если они делают изложение более ясным. В конце глав помещены сложные выводы и доказательства, а также при­водятся ссылки на другие работы. Эти ссылки составляют обширную библиографию важнейших работ в областях, свя­занных с искусственными нейронными сетями. Такой много­уровневый подход не только предоставляет читателю обзор по искусственным нейронным сетям, но также позволяет заинтересованным лицам серьезнее и глубже изучить пред­мет. Значительные усилия были приложены, чтобы сделать книгу понятной и без чрезмерного упрощения материала. Читателям, пожелавшим продолжить более углубленное теоретическое изучение, не придется переучиваться. При упрощенном изложении даются ссылки на более подробные работы. Книгу не обязательно читать от начала до конца. Каждая глава предполагается замкнутой, поэтому для понимания достаточно лишь знакомства с содержанием гл. 1 и 2. Хотя некоторое повторение материала неизбеж­но, большинству читателей это не будет обременительно.

Обучение

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

Обобщение

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

Введение

Абстрагирование

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

Применимость

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

ИСТОРИЧЕСКИЙ АСПЕКТ

Людей всегда интересовало их собственное мышление. Это самовопрошение, думание мозга о себе самом являет­ся, возможно, отличительной чертой человека. Имеется множество размышлений о природе мышления, простирающих­ся от духовных до анатомических. Обсуждение этого воп­роса, протекавшее в горячих спорах философов и теологов с физиологами и анатомами, принесло мало пользы, так как сам предмет весьма труден для изучения. Те, кто опирался на самоанализ и размышление, пришли к выводам, не отвечающим уровню строгости физических наук. Экспе­риментаторы же нашли, что мозг труден для наблюдения и ставит в тупик своей организацией. Короче говоря, мощ­ные методы научного исследования, изменившие наш взгляд на физическую реальность, оказались бессильными в пони­мании самого человека. Нейробиологи и нейроанатомы достигли значительного прогресса. Усердно изучая структуру и функции нервной системы человека, они многое поняли в «электропроводке» мозга , но мало узнали о его функционировании. В про­цессе накопления ими знаний выяснилось, что мозг имеет ошеломляющую сложность. Сотни миллиардов нейронов, каждый из которых соединен с сотнями или тысячами Дру­гих, образуют систему, далеко превосходящую наши самые смелые мечты о суперкомпьютерах. Тем не менее, мозг постепенно выдает свои секреты в процессе одного из самых напряженных и честолюбивых исследований в истории человечества. Лучшее понимание функционирования нейрона и карти­ны его связей позволило исследователям создать матема­тические модели для проверки своих теорий. Эксперименты теперь могут проводиться на цифровых компьютерах без привлечения человека или животных, что решает многие практические и морально-этические проблемы. В первых же работах выяснилось, что эти модели не только повторяют функции мозга, но и способны выполнять функции, имеющие свою собственную ценность. Поэтому возникли и остаются в настоящее время две взаимно обогащающие друг друга цели нейронного моделирования: первая - понять функци­онирование нервной системы человека на уровне физиоло­гии и психологии и вторая - создать вычислительные системы (искусственные нейронные сети), выполняющие функции, сходные с функциями мозга. Именно эта послед­няя цель и находится в центре внимания этой книги. Параллельно с прогрессом в нейроанатомии и нейро­физиологии психологами были созданы модели человеческо­го обучения. Одной из таких моделей, оказавшейся наибо­лее плодотворной, была модель Д.Хэбба, который в 1949г. предложил закон обучения, явившийся стартовой точкой для алгоритмов обучения искусственных нейронных сетей. Дополненный сегодня множеством других методов он продемонстрировал ученым того времени, как сеть нейронов может обучаться. В пятидесятые и шестидесятые годы группа исследо­вателей, объединив эти биологические и физиологические подходы, создала первые искусственные нейронные сети. Выполненные первоначально как электронные сети, они были позднее перенесены в более гибкую среду компьютер­ного моделирования, сохранившуюся и в настоящее время. Первые успехи вызвали взрыв активности и оптимизма. Минский, Розенблатт, Уидроу и другие разработали сети, состоящие из одного слоя искусственных нейронов. Часто называемые персептронами, они были использованы для такого широкого класса задач, как предсказание погоды, анализ электрокардиограмм и искусственное зрение. В течение некоторого времени казалось, что ключ к интел­лекту найден, и воспроизведение человеческого мозга является лишь вопросом конструирования достаточно боль­шой сети. Но эта иллюзия скоро рассеялась. Сети не могли решать задачи, внешне весьма сходные с теми, которые они успешно решали. С этих необъяснимых неудач начался период интенсивного анализа. Минский, используя точные математические методы, строго доказал ряд теорем, отно­сящихся к функционированию сетей. Его исследования привели к написанию книги [4], в которой он вместе с Пайпертом доказал, что используемые в то время однослойные сети теоретически неспособны решить многие простые задачи, в том числе реализовать функцию «Исключающее ИЛИ». Минский также не был оптими­стичен относительно потенциально возможного здесь прог­ресса: Персептрон показал себя заслуживающим изучения, несмотря на жесткие ограничения (и даже благодаря им). У него много привлекательных свойств: линейность, зани­мательная теорема об обучении, простота модели парал­лельных вычислений. Нет оснований полагать, что эти достоинства сохраняться при переходе к многослойным системам. Тем не менее мы считаем важной задачей для исследования подкрепление (или опровержение) нашего интуитивного убеждения, что такой переход бесплоден. Возможно, будет открыта какая-то мощная теорема о сходимости или найдена глубокая причина неудач дать интересную «теорему обучения» для многослойных машин ([4], С.231-232). Блеск и строгость аргументации Минского, а также его престиж породили огромное доверие к книге - ее выводы были неуязвимы. Разочарованные исследователи оставили поле исследований ради более обещающих облас­тей, а правительства перераспределили свои субсидии, и искусственные нейронные сети были забыты почти на два десятилетия. Тем не менее, несколько наиболее настойчивых уче­ных, таких как Кохонен, Гроссберг, Андерсон продолжили исследования. Наряду с плохим финансированием и недос­таточной оценкой ряд исследователей испытывал затрудне­ния с публикациями. Поэтому исследования, опубликован­ные в семидесятые и в начале восьмидесятых годов, разбро­саны в массе различных журналов, некоторые из которых малоизвестны. Постепенно появился теоретический фунда­мент, на основе которого сегодня конструируются наибо­лее мощные многослойные сети. Оценка Минского оказалась излишне пессимистичной, многие из поставленных в его книге задач решаются сейчас сетями с помощью стандарт­ных процедур. За последние несколько лет теория стала применять­ся в прикладных областях, и появились новые корпорации, занимающиеся коммерческим использованием этой техноло­гии. Нарастание научной активности носило взрывной характер. В 1987 г. было проведено четыре крупных сове­щания по искусственным нейронным сетям и опубликовано свыше 500 научных сообщений - феноменальная скорость роста. Урок, который можно извлечь из этой истории, выра­жается законом Кларка, выдвинутым писателем и ученым Артуром Кларком. В нем утверждается, что, если крупный уважаемый ученый говорит, что нечто может быть выполнено, то он (или она) почти всегда прав. Если же ученый говорит, что это не может быть выполнено, то он (или она) почти всегда не прав. История науки является лето­писью ошибок и частичных истин. То, что сегодня не подвергается сомнениям, завтра отвергается. Некритичес­кое восприятие «фактов» независимо от их источника может парализовать научный поиск. С одной стороны, блестящая научная работа Минского задержала развитие искусственных нейронных сетей. Нет сомнений, однако, в том, что область пострадала вследствие необоснованного оптимизма и отсутствия достаточной теоретической базы. И возможно, что шок, вызванный книгой «Персептроны», обеспечил необходимый для созревания этой научной обла­сти период.

ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ СЕГОДНЯ

Имеется много впечатляющих демонстраций возможнос­тей искусственных нейронных сетей: сеть научили превра­щать текст в фонетическое представление, которое затем с помощью уже иных методов превращалось в речь [7]; другая сеть может распознавать рукописные буквы [1]; сконструирована система сжатия изображений, основанная на нейронной сети [2]. Все они используют сеть обратно­го распространения - наиболее успешный, по-видимому, из современных алгоритмов. Обратное распространение, неза­висимо предложенное в трех различных работах [8, 5, 6,], является систематическим методом для обучения многослойных сетей, и тем самым преодолевает ограниче­ния, указанные Минским. Как подчеркивается в следующих главах, обратное распространение не свободно от проблем. Прежде всего, нет гарантии, что сеть может быть обучена за конечное время. Много усилий, израсходованных на обучение, про­падает напрасно после затрат большого количества машин­ного времени. Когда это происходит, попытка обучения повторяется - без всякой уверенности, что результат окажется лучше. Нет также уверенности, что сеть обучит­ся возможным наилучшим образом. Алгоритм обучения может попасть в «ловушку» так называемого локального минимума и будет получено худшее решение. Разработано много других сетевых алгоритмов обуче­ния, имеющих свои специфические преимущества. Некоторые из них обсуждаются в последующих главах. Следует подче­ркнуть, что никакая из сегодняшних сетей не является панацеей, все они страдают от ограничений в своих воз­можностях обучаться и вспоминать. Мы имеем дело с областью, продемонстрировавшей свою работоспособность, имеющей уникальные потенциаль­ные возможности, много ограничений и множество открытых вопросов. Такая ситуация настраивает на умеренный опти­мизм. Авторы склонны публиковать свои успехи, но не неудачи, создавая тем самым впечатление, которое может оказаться нереалистичным. Те, кто ищет капитал, чтобы рискнуть и основать новые фирмы, должны представить убедительный проект последующего осуществления и прибы­ли. Существует, следовательно, опасность, что искусст­венные нейронные сети начнут продавать раньше, чем придет их время, обещая функциональные возможности, которых пока невозможно достигнуть. Если это произой­дет, то область в целом может пострадать от потери кредита доверия и вернется к застойному периоду семиде­сятых годов. Для улучшения существующих сетей требуется много основательной работы. Должны быть развиты новые технологии, улучшены существующие методы и расширены теоретические основы, прежде чем данная область сможет полностью реализовать свои потенциальные возможности.

ПЕРСПЕКТИВЫ НА БУДУЩЕЕ

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

Искусственные нейронные сети и экспертные системы

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

Соображения надежности

Прежде чем искусственные нейронные сети можно будет использовать там, где поставлены на карту челове­ческая жизнь или ценное имущество, должны быть решены вопросы, относящиеся к их надежности. Подобно людям, структуру мозга которых они копиру­ют, искусственные нейронные сети сохраняют в определен­ной мере непредсказуемость. Единственный способ точно знать выход состоит в испытании всех возможных входных сигналов. В большой сети такая полная проверка практи­чески неосуществима и должны использоваться статистиче­ские методы для оценки функционирования. В некоторых случаях это недопустимо. Например, что является допус­тимым уровнем ошибок для сети, управляющей системой космической обороны? Большинство людей скажет, любая ошибка недопустима, так как ведет к огромному числу жертв и разрушений. Это отношение не меняется от того обстоятельства, что человек в подобной ситуации также может допускать ошибки. Проблема возникает из-за допущения полной безоши­бочности компьютеров. Так как искусственные нейронные сети иногда будут совершать ошибки даже при правильном функционировании, то, как ощущается многими, это ведет к ненадежности - качеству, которое мы считаем недопус­тимым для наших машин. Сходная трудность заключается в неспособности традиционных искусственных нейронных сетей "объяснить", как они решают задачу. Внутреннее представление, полу­ чающееся в результате обучения, часто настолько сложно, что его невозможно проанализировать, за исключением самых простых случаев. Это напоминает нашу неспособ­ность объяснить, как мы узнаем человека, несмотря на различие в расстоянии, угле, освещении и на прошедшие годы. Экспертная система может проследить процесс своих рассуждений в обратном порядке, так что человек может проверить ее на разумность. Сообщалось о встраивании этой способности в искусственные нейронные сети [3], что может существенно повлиять на приемлемость этих систем.

ВЫВОДЫ

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


Глава I Основы искусственных нейронных сетей

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

БИОЛОГИЧЕСКИЙ ПРОТОТИП

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

Рис. 1.1. Биологический нейрон.

На рис. 1.1 показана структура пары типичных био­логических нейронов. Дендриты идут от тела нервной клетки к другим нейронам, где они принимают сигналы в точках соединения, называемых синапсами. Принятые сина­псом входные сигналы подводятся к телу нейрона. Здесь они суммируются, причем одни входы стремятся возбудить нейрон, другие - воспрепятствовать его возбуждению. Когда суммарное возбуждение в теле нейрона превышает некоторый порог, нейрон возбуждается, посылая по аксону сигнал другим нейронам. У этой основной функциональной схемы много усложнений и исключений, тем не менее, боль­шинство искусственных нейронных сетей моделируют лишь эти простые свойства.

ИСКУССТВЕННЫЙ НЕЙРОН

Искусственный нейрон имитирует в первом приближе­нии свойства биологического нейрона. На вход искусст­венного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, анало­гичный синаптической силе, и все произведения суммиру­ются, определяя уровень активации нейрона. На рис. 1.2 представлена модель, реализующая эту идею. Хотя сетевые парадигмы весьма разнообразны, в основе почти всех их лежит эта конфигурация. Здесь множество входных сигна­лов, обозначенных х, х2 , ... , хn, поступает на искус­ственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, прихо­дящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, v2, ..., иn , и поступает на суммирующий блок, обозначенный S. Каждый вес соответствует «силе» одной биологической синапти­ческой связи. (Множество весов в совокупности обознача­ется вектором W.) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом:



Активационные функции

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

OUT = K(NET).

где К - постоянная, пороговой функцией

OUT = 1, если NET > Т, OUT = 0 в остальных случаях,

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

На рис. 1.3 блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT. Если блок F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежат некоторому конечному интерва­лу, то F называется сжимающей функцией. В качестве «сжимающей» функции часто используется логистическая или «сигмоидальная» (S-образная) функция, показанная на рис. 1.4а. Эта функция математически выражается как F(x) = 1/(1 + е-x). Таким образом,

OUT = 1/(1 + е -NET).

По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. Коэффициент усиления вычисляется как отношение приращения величины OUT к вызвавшему его небольшому приращению величины NET. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным. Гроссберг (1973) обнаружил, что подобная нелинейная характеристика решает поставленную им дилем­му шумового насыщения. Каким образом одна и та же сеть может обрабатывать как слабые, так и сильные сигналы? Слабые сигналы нуждаются в большом сетевом усилении, чтобы дать пригодный к использованию выходной сигнал' Однако усилительные каскады с большими коэффициентами усиления могут привести к насыщению выхода шумами уси­лителей (случайными флуктуациями), которые присутствуют в любой физически реализованной сети. Сильные входные сигналы в свою очередь также будут приводить к насыще­нию усилительных каскадов, исключая возможность полез­ного использования выхода. Центральная область логисти­ческой функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала.

OUT= 1 / f1+e -NET)=f(NET)

Другой широко используемой активационной функцией является гиперболический тангенс. По форме она сходна с логистической функцией и часто используется биологами в качестве математической модели активации нервной клет­ки. В качестве активационной функции искусственной нейронной сети она записывается следующим образом:

OUT = th(х).

Подобно логистической функции гиперболический тангенс является S-образной функцией, но он симметричен относи­тельно начала координат, и в точке NET = 0 значение выходного сигнала OUT равно нулю (см. рис. 1.46). В отличие от логистической функции гиперболический тан­генс принимает значения различных знаков, что оказыва­ется выгодным для ряда сетей (см. гл. 3). Рассмотренная простая модель искусственного нейро­на игнорирует многие свойства своего биологического двойника. Например, она не принимает во внимание задер­жки во времени, которые воздействуют на динамику систе­мы. Входные сигналы сразу же порождают выходной сигнал. И, что более важно, она не учитывает воздействий функ­ции частотной модуляции или синхронизирующей функции биологического нейрона, которые ряд исследователей считают решающими.

Рис. 1.46. Функция гиперболического тангенса.

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


ОДНОСЛОВНЫЕ ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ

Рис. 1.5. Однослойная нейронная сеть.

Хотя один нейрон и способен выполнять простейшие процедуры распознавания, сила нейронных вычислений проистекает от соединений нейронов в сетях. Простейшая сеть состоит из группы нейронов, образующих слой, как показано в правой части рис. 1.5. Отметим, что вершины-круги слева служат лишь для распределения входных сиг­налов. Они не выполняют каких- либо вычислений, и по­этому не будут считаться слоем. По этой причине они обозначены кругами, чтобы отличать их от вычисляющих нейронов, обозначенных квадратами. Каждый элемент из множества входов Х отдельным весом соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешен­ную сумму входов в сеть. В искусственных и биологичес­ких сетях многие соединения могут отсутствовать, все соединения показаны в целях общности. Могут иметь место также соединения между выходами и входами элементов в слое. Такие конфигурации рассматриваются в гл. 6. Удобно считать веса элементами матрицы W. Матрица имеет т строк и п столбцов, где т. - число входов, а п - число нейронов. Например, w3,2 - это вес, связывающий третий вход со вторым нейроном. Таким образом, вычисле­ние выходного вектора N, компонентами которого являются выходы OUT нейронов, сводится к матричному умножению N = XW, где N и Х- векторы-строки.

МНОГОСЛОЙНЫЕ ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ.

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

Нелинейная активационная функция

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

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

Сети с обратными связями.

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

ТЕРМИНОЛОГИЯ, ОБОЗНАЧЕНИЯ И СХЕМАТИЧЕСКОЕ ИЗОБРАЖЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ.

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

Терминология.

Многие авторы избегают термина «нейрон» для обозначения искусственного нейрона, считая его слишком грубой моделью своего биологического прототипа. В этой книге термины «нейрон», «клетка», «элемент» используют­ся взаимозаменяемо для обозначения «искусственного нейрона» как краткие и саморазъясняющие.

Дифференциальные уравнения или разностные уравнения.

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

Графическое представление

Как видно из публикаций, нет общепринятого способа подсчета числа слоев в сети. Многослойная сеть состоит, как показано на рис. 1.6, из чередующихся множеств нейронов и весов. Ранее в связи с рис. 1.5 уже говори­лось, что входной слой не выполняет суммирования. Эти нейроны служат лишь в качестве разветвлений для первого множества весов и не влияют на вычислительные возмож­ности сети. По этой причине первый слой не принимается во внимание при подсчете слоев, и сеть, подобная изо­браженной на рис. 1.6, считается двухслойной, так как только два слоя выполняют вычисления. Далее, веса слоя считаются связанными со следующими за ними нейронами. Следовательно, слой состоит из множества весов со сле­дующими за ними нейронами, суммирующими взвешенные сигналы.

Обучение искусственных нейронных сетей.

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

Цель обучения.

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

Обучение с учителем.

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

Обучение без учителя.

Несмотря на многочисленные прикладные достижения, обучение с учителем критиковалось за свою биологическую неправдоподобность. Трудно вообразить обучающий меха­низм в мозге, который бы сравнивал желаемые и действи­тельные значения выходов, выполняя коррекцию с помощью обратной связи. Если допустить подобный механизм в мозге, то откуда тогда возникают желаемые выходы? Обу­чение без учителя является намного более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом [3] и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требу­ет сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т.е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выход­ной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы подобной сети должны трансформироваться в некоторую понятную форму, обуслов­ленную процессом обучения. Это не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.

Алгоритмы обучения.

Большинство современных алгоритмов обучения вырос­ло из концепций Хэбба [2]. Им предложена модель обуче­ния без учителя, в которой синаптическая сила (вес) возрастает, если активированы оба нейрона, источник и приемник. Таким образом, часто используемые пути в сети усиливаются, и феномен привычки и обучения через повто­рение получает объяснение. В искусственной нейронной сети, использующей обу­чение по Хэббу, наращивание весов определяется произве­дением уровней возбуждения передающего и принимающего нейронов. Это можно записать как

W ij (п + 1) = W ij (n) +  OUT i OUT j

где Wij (n) - значение веса от нейрона i к нейрону j до подстройки, Wij (п + 1) - значение веса от нейрона i к нейрону j после подстройки, . - коэффициент скорости обучения, OUT i - выход нейрона i и вход нейрона j, OUTj - выход нейрона j. Сети, использующие обучение по Хэббу, конструктив­но развивались, однако за последние 20 лет были развиты более эффективные алгоритмы обучения. В частности, в работах [4-6] и многих других были развиты алгоритмы обучения с учителем, приводящие к сетям с более широким диапазоном характеристик обучающих входных образов и большими скоростями обучения, чем использующие простое обучение по Хэббу. В настоящее время используется огромное разнообра­зие обучающих алгоритмов. Потребовалась бы значительно большая по объему книга, чем эта, для рассмотрения этого предмета полностью. Чтобы рассмотреть этот пред­мет систематически, если и не исчерпывающе, в каждой из последующих глав подробно описаны алгоритмы обучения для рассматриваемой в главе парадигмы. В дополнение в приложении Б представлен общий обзор, в определенной мере более обширный, хотя и не очень глубокий. В нем дан исторический контекст алгоритмов обучения, их общая таксономия, ряд преимуществ и ограничений. В силу необ­ходимости это приведет к повторению части материала, оправданием ему служит расширение взгляда на предмет.

ПРОЛОГ

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


Глава 2 Персептроны

ПЕРСЕПТРОНЫ И ЗАРОЖДЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ

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

Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943 г. [1]. Позднее в работе [3] они исследовали сетевые парадигмы для распознавания изображений, под­вергаемых сдвигам и поворотам. Простая нейронная мо­дель, показанная на рис. 2.1, использовалась в большей части их работы. Элемент  умножает каждый вход х на вес w и суммирует взвешенные входы. Если эта сумма больше заданного порогового значения, выход равен еди­нице, в противном случае - нулю. Эти системы (и множес­тво им подобных) получили название персептронов. Они состоят из одного слоя искусственных нейронов, соеди­ненных с помощью весовых коэффициентов с множеством входов (см. рис. 2.2), хотя в принципе описываются и более сложные системы.

В 60-е годы персептроны вызвали большой интерес и оптимизм. Розенблатт [4] доказал замечательную теорему об обучении персептронов, объясняемую ниже. Уидроу [5-8] дал ряд убедительных демонстраций систем персептронного типа, и исследователи во всем мире стремились исследовать возможности этих систем. Первоначальная эйфория сменилась разочарованием, когда оказалось, что персептроны не способны обучиться решению ряда простых задач. Минский [2] строго проанализировал эту проблему и показал, что имеются жесткие ограничения на то, что могут выполнять однослойные персептроны, и, следова­тельно, на то, чему они могут обучаться. Так как в то время методы обучения многослойных сетей не были извес­тны, исследователи перешли в более многообещающие обла­сти, и исследования в области нейронных сетей пришли в упадок. Недавнее открытие методов обучения многослойных сетей в большей степени, чем какой-либо иной фактор, повлияло на возрождение интереса и исследовательских усилий. Работа Минского, возможно, и охладила пыл энтузи­астов персептрона, но обеспечила время для необходимой консолидации и развития лежащей в основе теории. Важно отметить, что анализ Минского не был опровергнут. Он остается важным исследованием и должен изучаться, чтобы ошибки 60-х годов не повторились. Несмотря на свои ограничения, персептроны широко изучались (хотя не слишком широко использовались). Тео­рия персептронов является основой для многих других типов искусственных нейронных сетей, и персептроны иллюстрируют важные принципы. В силу этих причин они являются логической исходной точкой для изучения искус­ственных нейронных сетей.

ПЕРСЕПТРОННАЯ ПРЕДСТАВЛЯЕМОСТЬ

Доказательство теоремы обучения персептрона [4] показало, что персептрон способен научиться всему, что он способен представлять. Важно при этом уметь разли­чать представляемость и обучаемость. Понятие представляемости относится к способности персептрона (или дру­гой сети) моделировать определенную функцию. Обучае­мость же требует наличия систематической процедуры настройки весов сети для реализации этой функции. Для иллюстрации проблемы представляемости допус­тим, что у нас есть множество карт, помеченных цифрами от 0 до 9. Допустим также, что мы обладаем гипотетичес­кой машиной, способной отличать карты с нечетным номе­ром от карт с четным номером и зажигающей индикатор на своей панели при предъявлении карты с нечетным номером (см. рис. 2.3). Представима ли такая машина персептроном? То есть, может ли быть сконструирован персептрон и настроены его веса (неважно каким образом) так, чтобы он обладал такой же разделяющей способностью? Если это так, то говорят, что персептрон способен представлять желаемую машину. Мы увидим, что возможности представле­ния однослойными персептронами весьма ограниченны. Имеется много простых машин, которые не могут быть представлены персептроном независимо от того, как на­страиваются его веса.

Проблема функции ИСКЛЮЧАЮЩЕЕ ИЛИ

Один из самых пессимистических результатов Минско­го показывает, что однослойный персептрон не может воспроизвести такую простую функцию, как ИСКЛЮЧАЮЩЕЕ ИЛИ. Это - функция от двух аргументов, каждый из кото­рых может быть нулем или единицей. Она принимает значе­ние единицы, когда один из аргументов равен единице (но не оба). Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рис. 2.4. Обозначим один вход через х, а другой через у, тогда все их возможные комбинации будут состоять из четырех точек на плоскости х - у, как пока­зано на рис. 2.5. Например, точка x=0 и у=0 обозна­чена на рисунке как точка А .Табл. 2.1 показывает тре­буемую связь между входами и выходом, где входные ком­бинации, которые должны давать нулевой выход, помечены А и А, единичный выход - В и В. В сети на рис. 2.4 функция F является обычным порогом, так что OUT принимает значение ноль, когда NET меньше 0,5, и единица в случае, когда NET больше или равно 0,5. Нейрон выполняет следующее вычисление:

xw1 + yw2 = 0,5 .

Никакая комбинация значений двух весов не может дать соотношения между входом и выходом, задаваемого табл. 2.1. Чтобы понять это ограничение, зафиксируем NET на величине порога 0,5. Сеть в этом случае описыва­ется уравнением (2.2). Это уравнение линейно по х и у, т.е. все значения по х и у, удовлетворяющие этому уравнению, будут лежать на некоторой прямой в плоскости x-y.

Таблица 2.1. Таблица истинности для функции ИСКЛЮЧАЮЩЕЕ ИЛИ

Точки Значения X Значения Y Требуемый выход

A0

0 0 0

B0

1 0 1

B1

0 1 1

A1

1 1 0

Любые входные значения для х и у на этой линии будут давать пороговое значение 0,5 для NET. Входные значения с одной стороны прямой обеспечат значения NET больше порога, следовательно, OUT = 1. Входные значения по другую сторону прямой обеспечат значения NET меньше порогового значения, делая OUT равным 0. Изменения значений w1 , w2 и порога будут менять наклон и положение прямой. Для того чтобы сеть реализовала функцию ИСКЛЮЧАЮЩЕЕ ИЛИ, заданную табл. 2.1, нужно расположить прямую так, чтобы точки А были с одной стороны прямой, а точки В - с другой. Попытавшись нарисовать такую прямую на рис. 2.5, убеждаемся, что это невозможно. Это означает, что какие бы значения ни приписывались весам и порогу, сеть неспособна воспроизвести соотношение между входом и выходом, требуемое для представления функции ИСКЛЮЧАЮЩЕЕ ИЛИ.

Взглянув на задачу с другой точки зрения, рассмот­рим NET как поверхность над плоскостью х-у. Каждая точка этой поверхности находится над соответствующей точкой плоскости х-у на расстоянии, равном значению NET этой точке. Можно показать, что наклон этой NЕТ-поверхности одинаков для всей поверхности х-у. Все точки, в которых значение NET равно величине порога, проектируются на линию уровня плоскости NET (см. рис. 2.6). Ясно, что все точки по одну сторону порого­вой прямой спроецируются в значения NET, большие порога, а точки по другую сторону дадут меньшие значения ^ЕТ. Таким образом, пороговая прямая разбивает плос­кость х-у на две области. Во всех точках по одну сторону пороговой прямой значение OUT равно единице, по другую сторону - нулю.

Линейная разделимость

Как мы видели, невозможно нарисовать прямую линию, разделяющую плоскость х-у так, чтобы реализовывалась функция ИСКЛЮЧАЮЩЕЕ ИЛИ. К сожалению, этот пример не единственный. Имеется обширный класс функций, не реали­зуемых однослойной сетью. Об этих функциях говорят, что они являются линейно неразделимыми, и они накладывают определентные ограничения на возможности однослойных сетей. Линейная разделимость ограничивает однослойные сети задачами классификации, в которых множества точек (соответствующих входным значениям) могут быть разделе­ны геометрически. Для нашего случая с двумя входами разделитель является прямой линией. В случае трех вхо­дов разделение осуществляется плоскостью, рассекающей трехмерное пространство. Для четырех или более входов визуализация невозможна и необходимо мысленно предста­вить n-мерное пространство, рассекаемое «гиперплос­костью» - геометрическим объектом, который рассекает пространство четырех или большего числа измерений. Так как линейная разделимость ограничивает возмож­ности персептронного представления, то важно знать, является ли данная функция разделимой. К сожалению, не существует простого способа определить это, если число переменных велико.

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

2" имеется 2 функций от п переменных.

Таблица 2.2. Линейно разделимые функции

(Взято из R.O.Winder, Single-stage logic. Paper presented at the AIEE Fall General Meeting,1960.) Как видно из табл. 2.2, вероятность того, что случайно выбранная функция окажется линейно разделимой, весьма мала даже для умеренного числа переменных. По этой причине однослойные персептроны на практике огра­ничены простыми задачами.


Преодоление ограничения линейной разделимости

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

Чтобы уточнить требование выпуклости, рассмотрим простую двухслойную сеть с двумя входами, подведенными к двум нейронам первого слоя, соединенными с единствен­ным нейроном в слое 2 (см. рис. 2.8). Пусть порог выхо­дного нейрона равен 0,75, а оба его веса равны 0,5. В этом случае для того, чтобы порог был превышен и на выходе появилась единица, требуется, чтобы оба нейрона первого уровня на выходе имели единицу. Таким образом, выходной нейрон реализует логическую функцию И. На рис. 2.8 каждый нейрон слоя 1 разбивает плоскость х-у на две полуплоскости, один обеспечивает единичный выход для входов ниже верхней линии, другой - для входов выше нижней линии. На рис. 2.8 показан результат такого двойного разбиения, где выходной сигнал нейрона второго слоя равен единице только внутри V-образной области. Аналогично во втором слое может быть использовано три нейрона с дальнейшим разбиением плоскости и созданием области треугольной формы. Включением достаточного числа нейронов во входной слой может быть образован выпуклый многоугольник любой желаемой формы. Так как они образованы с помощью операции И над областями, задаваемыми линиями, то все такие многогранники выпук­лы, следовательно, только выпуклые области и возникают. Точки, не составляющие выпуклой области, не могут быть отделены от других точек плоскости двухслойной сетью. Нейрон второго слоя не ограничен функцией И. Он может реализовывать многие другие функции при подходя­щем выборе весов и порога. Например, можно сделать так, чтобы единичный выход любого из нейронов первого слоя приводил к появлению единицы на выходе нейрона второго слоя, реализовав тем самым логическое ИЛИ. Имеется 16 двоичных функций от двух переменных. Если выбирать подходящим образом веса и порог, то можно воспроизвести 14 из них (все, кроме ИСКЛЮЧАЮЩЕЕ ИЛИ и ИСКЛЮЧАЮЩЕЕ НЕТ).

Входы не обязательно должны быть двоичными. Вектор непрерывных входов может представлять собой произволь­ную точку на плоскости х-у. В этом случае мы имеем дело со способностью сети разбивать плоскость на непрерывные области, а не с разделением дискретных множеств точек. Для всех этих функций, однако, линейная разделимость показывает, что выход нейрона второго слоя равен едини­це только в части плоскости х-у, ограниченной много­угольной областью. Поэтому для разделения плоскостей Р и Q необходимо, чтобы все Р лежали внутри выпуклой многоугольной области, не содержащей точек Q (или на­оборот). Трехслойная сеть, однако, является более общей. Ее классифицирующие возможности ограничены лишь числом искусственных нейронов и весов. Ограничения на выпук­лость отсутствуют. Теперь нейрон третьего слоя принима­ет в качестве входа набор выпуклых многоугольников, и их логическая комбинация может быть невыпуклой. На рис. 2.9 иллюстрируется случай, когда два треугольника А и В, скомбинированные с помощью функций «А и не В», задают невыпуклую область. При добавлении нейронов и весов число сторон многоугольников может неограниченно возрастать. Это позволяет аппроксимировать область любой формы с любой точностью. Вдобавок не все выходные области второго слоя должны пересекаться. Возможно, следовательно, объединять различные области, выпуклые и невыпуклые, выдавая на выходе единицу, всякий раз, когда входной вектор принадлежит одной из них. Несмотря на то, что возможности многослойных сетей были известны давно, в течение многих лет не было тео­ретически обоснованного алгоритма для настройки их весов.

Эффективность запоминания

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

Число битов, необходимое для хранения этой же информации в весах персептрона, может быть значительно меньшим по сравнению с методом обычной компьютерной памяти, если образы допускают экономичную запись. Одна­ко Минский [2] построил патологические примеры, в кото­рых число битов, требуемых для представления весов, растет с размерностью задачи быстрее, чем экспоненци­ально. В этих случаях требования к памяти с ростом размерности задачи быстро становятся невыполнимыми. Если, как он предположил, эта ситуация не является исключением, то персептроны часто могут быть ограничены только малыми задачами. Насколько общими являются такие неподатливые множества образов? Это остается открытым вопросом, относящимся ко всем нейронным сетям. Поиски ответа чрезвычайно важны для исследований по нейронным сетям.

ОБУЧЕНИЕ ПЕРСЕПТРОНА

Способность искусственных нейронных сетей обучать­ся является их наиболее интригующим свойством. Подобно биологическим системам, которые они моделируют, эти нейронные сети сами моделируют себя в результате попы­ток достичь лучшей модели поведения. Используя критерий линейной неделимости, можно решить, способна ли однослойная нейронная сеть реализо­вывать требуемую функцию. Даже в том случае, когда ответ положительный, это принесет мало пользы, если у нас нет способа найти нужные значения для весов и поро­гов. Чтобы сеть представляла практическую ценность, нужен систематический метод (алгоритм) для вычисления этих значений. Розенблатт [4] сделал это в своем алго­ритме обучения персептрона вместе с доказательством того, что персептрон может быть обучен всему, что он может реализовывать. Обучение может быть с учителем или без него. Для обучения с учителем нужен «внешний» учитель, который оценивал бы поведение системы и управлял ее последующи­ми модификациями. При обучении без учителя, рассматри­ваемого в последующих главах, сеть путем самоорганиза­ции делает требуемые изменения. Обучение персептрона является обучением с учителем. Алгоритм обучения персептрона может быть реализо­ван на цифровом компьютере или другом электронном уст­ройстве, и. сеть становится в определенном смысле само подстраивающейся. По этой причине процедуру подстройки весов обычно называют «обучением» и говорят, что сеть «обучается». Доказательство Розенблатта стало основной вехой и дало мощный импульс исследованиям в этой облас­ти. Сегодня в той или иной форме элементы алгоритма обучения персептрона встречаются во многих сетевых парадигмах.

АЛГОРИТМ ОБУЧЕНИЯ ПЕРСЕПТРОНА

Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Допустим, что входные образы нанесены на демонстрацион­ные карты. Каждая карта разбита на квадраты и от каждо­го квадрата на персептрон подается вход. Если в квадра­те имеется линия, то от него подается единица, в проти­вном случае - ноль. Множество квадратов на карте зада­ет, таким образом, множество нулей и единиц, которое и подается на входы персептрона. Цель состоит в том, чтобы научить персептрон включать индикатор при подаче на него множества входов, задающих нечетное число, и не включать в случае четного. На рис. 2.10 показана такая персептронная конфигу­рация. Допустим, что вектор Х является образом распоз­наваемой демонстрационной карты. Каждая компонента (квадрат) Х - (х12,..., хn ) - умножается на соот­ветствующую компоненту вектора весов W (w1, w2,..., wn ). Эти произведения суммируются. Если сумма превышает порог , то выход нейрона Y равен единице (индикатор зажигается), в противном случае он - ноль. Как мы видели в гл. 1, эта операция компактно записывается в векторной форме как Y = XW, а после нее следует пороговая операция. Для обучения сети образ Х подается на вход и вычи­сляется выход Y. Если Y правилен, то ничего не меняет­ся. Однако если выход неправилен, то веса, присоединен­ные к входам, усиливающим ошибочный результат, модифи­цируются, чтобы уменьшить ошибку. Чтобы увидеть, как это осуществляется, допустим, что демонстрационная карта с цифрой 3 подана на вход и выход Y равен 1 (показывая нечетность). Так как это правильный ответ, то веса не изменяются. Если, однако, на вход подается карта с номером 4 и выход Y равен единице (нечетный), то веса, присоединенные к единичным входам, должны быть уменьшены, так как они стремятся дать неверный результат. Аналогично, если карта с номе­ром 3 дает нулевой выход, то веса, присоединенные к единичным входам, должны быть увеличены, чтобы скорре­ктировать ошибку. Этот метод обучения может быть подытожен следующим образом:

Подать входной образ и вычислить Y

а. Если выход правильный, то перейти на шаг 1;

б. Если выход неправильный и равен нулю, то добавить все входы к соответствующим им весам; или

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


Информация о работе «Нейрокомпьютерные системы»
Раздел: Информатика, программирование
Количество знаков с пробелами: 243425
Количество таблиц: 1
Количество изображений: 0

Похожие работы

Скачать
145786
1
2

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

Скачать
15022
0
0

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

Скачать
27268
0
0

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

Скачать
38834
4
8

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

0 комментариев


Наверх