WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     || 2 |
-- [ Страница 1 ] --

Нейронные сети основные модели Воронеж 1999 УДК 612.8: 681.5 И. В. Заенцев Нейронные сети: основные модели Учебное пособие к курсу "Нейронные сети" для студентов 5 курса магистратуры к. электроники

физического ф та Воронежского Государственного университета © Все права защищены.

Разрешается воспроизведение любой части данного пособия с обязательным уведомлением авто ра. Иван Витальевич Заенцев, 2:5025/2000@fidonet, e mail: ivz@ivz.vrn.ru 394000, г. Воронеж, ул. Фр. Энгельса, д. 24, кв. 48. Тел. (0732) 52 71 37.

Если Вы заметили ошибки или опечатки, пожалуйста, сообщите автору и они будут исправлены.

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

Искусственные нейронные сети (НС) — совокупность моделей биологических нейронных сетей.

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

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

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

Искусственные нейронные сети — набор математических и алгоритмических методов для реше ния широкого круга задач. Выделим характерные черты искусственных нейросетей как универсаль ного инструмента для решения задач:

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

2. НС — средство обработки информации:

а) гибкая модель для нелинейной аппроксимации многомерных функций;

б) средство прогнозирования во времени для процессов, зависящих от многих переменных;

в) классификатор по многим признакам, дающий разбиение входного пространства на области;

г) средство распознавания образов;

д) инструмент для поиска по ассоциациям;

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

3. НС свободны от ограничений обычных компьютеров благодаря параллельной обработке и сильной связанности нейронов.

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

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

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

3. По каким законам нейроны связаны друг с другом в сеть? Откуда нервная клетка знает, с каки ми соседями должно быть установлено соединение?

4. Как биологические нейронные сети обучаются решать задачи? Как выбираются параметры сети, чтобы давать правильные выходные сигналы? Какой выходной сигнал считается "пра вильным", а какой — ошибочным?

Важнейшие свойства биологических нейросетей:

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

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

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

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

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

Современные искусственные НС по сложности и "интеллекту" приближаются к нервной системе таракана, но уже сейчас демонстрируют ценные свойства:

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

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

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

Параллельность обработки и реализуемость НС Быстродействие современных ЭВМ составляет около 100 Mflops (flops операция с плавающей запятой в секунду). В мозгу содержится примерно 10^11 нейронов. Время прохождения одного нер вного импульса около 1 мс, и можно считать, что производительность одного нейрона порядка flops. Эквивалентное быстродействие мозга составит 10^11 * 10 = 10^12 flops. Если рассмотреть зада чи, решаемые мозгом, и подсчитать требуемое количество операций для их решения на обычных ЭВМ, то получим оценку быстродействия до 10^12..10^14 flops. Разница в производительности меж ду обычной ЭВМ и мозгом — 4..6 порядков! Чем это объясняется?

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

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

Такая плотность связей не реализуется в обычных интегральных схемах.

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

3. Сложность программирования. Пока не создано единых способов программирования парал лельных ЭВМ и средств для написания программ.

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

1) моделирование НС на обычных последовательных ЭВМ;

2) создание специализированных нейроплат и нейропроцессоров для ускорения работы ЭВМ с нейронными сетями.

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

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

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

К задачам, успешно решаемым НС на данном этапе их развития относятся:

— распознавание зрительных, слуховых образов;

огромная область применения: от распознава ния текста и целей на экране радара до систем голосового управления;

— ассоциативный поиск информации и создание ассоциативных моделей;

синтез речи;

форми рование естественного языка;

— формирование моделей и различных нелинейных и трудно описываемых математически сис тем, прогнозирование развития этих систем во времени:

применение на производстве;

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

— системы управления и регулирования с предсказанием;

управление роботами, другими слож ными устройствами — разнообразные конечные автоматы: системы массового обслуживания и коммутации, телеком муникационные системы;

— принятие решений и диагностика, исключающие логический вывод;

особенно в областях, где отсутствуют четкие математические модели: в медицине, криминалистике, финансовой сфере;

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

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

Центральная нервная система имеет клеточное строение. Единица – нервная клетка, нейрон. Ней рон имеет следующие основные свойства:

1. Участвует в обмене веществ и рассеивает энергию. Меняет внутреннее состояние с течением времени, реагирует на входные сигналы и формирует выходные воздействия и поэтому является активной динамической системой.

2. Имеет множество синапсов – контактов для передачи информации.

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

Существуют два подхода к созданию искусственных нейронных сетей. Информационный подход:

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

Крупные работы в исследованиях биологических нейронных сетей принадлежат Эндрю Хаксли, Алану Ходжкину, Бернарду Катцу, Джону Экклзу, Стивену Куффлеру.

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

Биологический нейрон содержит следующие структурные единицы:

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

Дендриты (д) – входные волокна, собирают информацию от других нейронов. Активность в денд ритах меняется плавно. Длина их обычно не больше 1 мм.

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

Цитоплазма — внутренняя среда клетки. Отличается концентрацией ионов K+, Na+, Ca++ и других веществ по сравнению с внеклеточной средой.

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

Синапс (с) – место контакта нервных волокон — передает возбуждение от клетки к клетке. Пере ' дача через синапс почти всегда однонаправленная. Различают пресинаптические и постсинаптичес кие клетки — по направлению передачи импульса.

Шванновские клетки (шв.кл). Специфические клетки, почти целиком состоящие из миелина, ор ганического изолирующего вещества. Плотно "обматывают" нервное волокно 250 слоями миелина.

Неизолированные места нервного волокна между шванновскими клетками называются перехвата ми Ранвье (пР). За счет миелиновой изоляции скорость распространения нервных импульсов воз растает в 5 10 раз и уменьшаются затраты энергии на проведение импульсов. Миелинизированные волокна встречаются только у высших животных.

В центральной нервной системе человека насчитывается от 100 до 1000 типов нервных клеток, в зависимости выбранной степени детализации. Они отличаются картиной дендритов, наличием и длиной аксона и распределением синапсов около клетки.

Клетки сильно связаны между собой. У нейрона может быть больше 1000 синапсов. Близкие по функциям клетки образуют скопления, шаровидные или параллельные слоистые. В мозгу выделены сотни скоплений. Кора головного мозга – тоже скопление. Толщина коры — 2 мм, площадь — около квадратного фута.

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

Импульсы по волокну передаются в виде скачков потенциала внутриклеточной среды по отноше нию к внешней среде, окружающей клетку. Скорость передачи – от 1 до 100 м/с. Для миелинизиро ванных волокон скорость передачи примерно в 5 – 10 раз выше, чем для немиелинизированных.

При распространении форма спайка не меняется. Импульсы не затухают. Форма спайка фикси рована, определяется свойствами волокна и не зависит от того, каким способом создан импульс.

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

Рис.. Потенциал цитоплазмы относительно межклеточной среды в зрительном волокне при воздей ствии световой вспышки различной интенсивности.

Видно, что от интенсивности света зависит не амплитуда импульсов и их форма, а плотность и общее количество.

Для возбуждения и регистрации НИ можно использовать такую схему:

Рис.. Возбуждение и регистрация нервных импульсов.

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

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

a I = + b, t где — минимальный ток, при котором возникает импульсация при данной длительности I t возбуждения. Данная формула — эмпирическая.

Параметры а и b имеют следующий смысл. b называется реобазой и задает минимальный ток воз буждения, при котором вообще может возникнуть импульсация. Если возбуждающий ток, то I < b импульсов не возникнет при любом. Количество электричества, необходимое для возбуждения t импульсов, при малых примерно постоянно:.

It a t Экспериментально было открыто свойство рефрактерности: после того, как по волокну прошел нервный импульс, в течение нескольких миллисекунд новые импульсы не возбуждаются при любом. Поэтому между нервными импульсами всегда есть минимальный интервал времени — период I рефрактерности.

Мембрана. Мембранный потенциал.

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

Рис. Клеточная мембрана.

Мембрана состоит из двух слоев молекул липидов (жиров). Молекулы липидов содержат поляр ную "голову" и два гидрофобных углеводородных "хвоста". Молекулы ориентированы "хвостами" внутрь мембраны. Такая конструкция оказывается стабильной и энергетически выгодной (по струк туре она аналогична пленке мыльного пузыря). Молекулы белков взаимодействуют с такой двух слойной структурой. Белки с гидрофобными поверхностями взаимодействуют с "хвостами" липи дов и встраиваются в саму мембрану, а с гидрофильными — соединяются с поверхностью мембраны.

По химическому составу мембраны весьма разнообразны. Толщина мембраны около 10 нм.

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

Натриевый насос Внутри клетки, в цитоплазме, преобладают ионы K+, снаружи — Na+. Активный мембранный транспорт, натриевый насос, переносит K+ внутрь, а Na+ — наружу. Такой перенос происходит в на правлении роста электрохимического потенциала и требует затрат энергии. Для работы натриевого насоса используется энергия гидролиза АТФ (аденозинтрифосфата) — основного энергетического аккумулятора клетки. Механизм переноса использует белок носитель, обозначим его C, образую щий комплекс с ионами на одной стороне и отщепляющий эти ионы на противоположной стороне мембраны. Ни носитель, ни комплексы CK, CФNa с ионами Na+, K+: не покидают мембрану. В итоге через мембрану проходят потоки ионов K+ и Na+, направленные: K+ — внутрь клетки, Na+ — наружу.

Рис.. Термодинамическая схема натриевого насоса.

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

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

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

В состоянии покоя разница потенциалов на мембране определяется формулой Ходжкина Катца:

ii e + + RT PKcK PNacNa PClcCl = ln e e i + + F PKcK PNacNa PClcCl, e где — проницаемость для мембраны для ионов K+, — концентрация K+ внутри клетки, cK — PK PK снаружи, аналогично для других ионов. Формула выводится, исходя из однородности поля на мем бране, если диффузионные токи IK и INa известны. Значение потенциала покоя 70.. 80 мВ, полу ченное по этой формуле, согласуется с экспериментальными значениями.

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

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

Возникновение нервных импульсов Механизмы мембраны, ответственные за возникновение нервных импульсов приведены на рис..

Рис.. Механизмы мембраны, участвующие в возникновении нервного импульса.

1. Возбуждение импульсов происходит по принципу "все или ничего". Если потенциал цитоплаз мы станет положительнее, чем 50 мВ, то произойдет генерация импульса. Изменение потенциала можно проводить микроэлектродом, введенным в цитоплазму и подключенным к источнику напря жения.

Деполяризацией мембраны называется изменение ее разности потенциалов от состояния равнове сия в положительную сторону, например, от 70 до 50 мВ.

2. Если мембрана деполяризуется до уровня 50 мВ, то открываются натриевые каналы, и поток ионов Na+ начинает поступать в клетку. Возникает ток INa, направленный внутрь клетки. Это приво дит к дальнейшей деполяризации мембраны. Т.к. Na каналы управляются разностью потенциалов на мембране, дальнейшая деполяризация открывает все новые Na каналы, что приводит к росту INa.

Положительная обратная связь в данном процессе дает резкий скачок потенциала в сторону деполя ризации.

3. Натриевые каналы закрываются самопроизвольно, через некоторое время после открытия. За крывшись, находятся в состоянии рефрактерности около 1 мс и не могут быть открыты вновь, не смотря на деполяризованность мембраны. Ток INa падает до нуля, деполяризация прекращается. В этот момент потенциал достигает значения +40 мВ.

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

5. За счет тока IK мембрана реполяризуется до исходного потенциала 70 мВ. За счет инерционно сти K каналов мембрана гиперполяризуется до 90 мВ. Калиевый ток прекращается.

6. По окончании импульса натриевые каналы пребывают в состоянии рефрактерности около 1 мс, когда возникновение нового импульса невозможно. Происходит деполяризация до –70.. 80мВ — равновесного мембранного потенциала.

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

Зависимости токов IK, INa и мембранного потенциала от времени приведены на рис..

Рис.. Зависимость ионных токов и мембранного потенциала от времени.

В результате прохождения импульса часть ионов калия выходит наружу, а часть ионов натрия вхо дит в клетку, причем в итоге потенциал возвращается к исходному значению –80 мВ. Следователь но, количество ионов Na, вошедших в клетку, в точности равно количеству ионов K, вышедших из клетки.

Натриевый насос восстанавливает разницу концентраций очень быстро. Так как емкость мембра ны мала (C=1 мкФ/кв.см),то суммарное количество ионов, прошедших через мембрану, невелико.

Выход ионов каждого вида при прохождении импульса составляет моль/см2. Восстановле 3,7 10- ние концентраций требует затрат энергии, которая берется из реакции ATФ AДФ.

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

Рис.. Сальтаторный механизм распространения Распространение импульса состоит в последовательном возбуждении перехватов Ранвье. Импульс передается "скачками" от одного перехвата к следующему. Так как большая часть волокна изолиро вана, то суммарный обмен ионами намного меньше, чем для немиелинизированных волокон. Ско рость передачи возрастает в 10 50 раз, а энергии расходуется меньше. Для немиелинизированных волокон кошки скорость передачи — 0,7 2,3 м/с, а для миелинизированных — 50 100 м/с. Поэтому сальтаторный механизм часто оказывается более эффективным. Такой вид распространения НИ встречается только у высших животных.

Эквивалентная схема волокна Нервное волокно можно представить в виде непрерывного кабеля, составленного из элементов:

Рис.. Эквивалентная схема участка нервного волокна.

С — емкость единицы площади мембраны;

Na — ЭДС, возникающая за счет разности концентраций ионов Na снаружи и внутри клетки;

(, ) — сопротивление натриевых каналов в зависимости от потенциала мембраны и времени, RNa t приходящееся на единицу площади мембраны.

Аналогично вводятся величины для калиевых каналов с индексом K. Величины с индексом "у" соответствуют ЭДС и проводимости мембраны для прочих ионов (Cl, Ca).

Распространение нервных импульсов. Уравнение Ходжкина Хаксли Рассмотрим эквивалентную схему участка волокна. Общая формула для плотности мембранного тока:

Iвнe = + (1) C Ii где C — плотность тока за счет изменения концентрации ионов по обеим сторонам мембраны;

дальше под "током" будем понимать поверхностную плотность тока;

= + + Ii IK INa I — ток за счет диффузии ионов трех видов (K+, Na+ и прочие ионы) через мембра y ну;

Компоненты ионного тока можно записать через проводимости gK, gNa, gу и потенциалы покоя, y создаваемые ионами соответствующего вида,, Na, :

K =, INa gNa -Na Iy = gy IK gK -K =, (2) ( ) ( ) ( ) y Экспериментально были получены значения потенциалов, Na =+115 B.

K =-12 B В модели Ходжкина Хаксли считается, что K канал открывается, если к данному участку мембра ны подходит четыре управляющих частицы одного типа. Пусть n — вероятность подхода одной час тицы, тогда n4 — вероятность подхода четырех частиц одновременно. Тогда удельную проводимость K канала можно записать в виде:

(3) = gK gK n Здесь — максимальная проводимость K канала. Аналогично, Na канал открывается, если под gK ходит три активирующих частицы одного типа и уходит одна блокирующая. Пусть m — вероятность подхода одной активирующей частицы, h — удаления одной блокирующей. Тогда:

= (4) gNa gNam3h Вероятности n, m, h удовлетворяют кинетическим уравнениям:

n n 1- n n = ( )- n ( ) m = m 1- m mm (5) ( ) h = h 1- h hh Коэффициенты, зависят от. С ростом в сторону деполяризации n,m, h — растут, n, m,h — убывают. Если потенциал не меняется, то, не меняются и n, m, h экспоненциаль но зависят от времени.

Подставим (3), (4) в (2):

= INa gNam3h -Na () = IK gK n4 -K ( ) (6) = Iy gy -y ( ) Подставим (6) в (1) и получим уравнение для полного мембранного тока:

Iвнe = + -K + gy (7) C gKn g mh - + -y ( ) () ( ) По уравнениям (5) и (7) можно провести численное моделирование и получить зависимость по тенциала в данной точке аксона от времени. Все константы в формулах должны быть предваритель но определены из опытов над реальными волокнами.

Деполяризуем мембрану подключением внешнего источника ЭДС внe (см. схему). После отклю чения внешнего источника в момент t=0 I =0. Система (5) + (7), представляет собой систему внеш х дифференциальных уравнений 1 й степени. Она решается численно. Находим зависимости n(t), m(t), h(t), (t). Полученные решения хорошо согласуются с опытом над биологическими нервными волокнами. Система (5) + (7) называется канонической моделью электрогенеза нервной клетки.

Пространственное описание нервного импульса Рассмотрим участок волокна длиной l и радиусом a (рис. ).

Рис.. Цилиндрический участок волокна Вектор плотности тока связан с потенциалом:

j =-g grad В цилиндрических координатах компоненты градиента:

1 grad =,, z jdS = Полный ток через участок в отсутствие jвнe равен нулю:.

+ + = 0, Распишем компоненты интеграла:

-S1 j1z S2 j2z Sб к j S1 j1z - S2 j2z - Sб к j = 0.

Площадь боковой поверхности цилиндра: Sб к = 2 al, торцевой:. Будем считать нормаль S1 = a = j1z const ную составляющую плотности тока на торцевой поверхности постоянной:. Ее z S значение на второй торцевой поверхности получим, разложив плотность тока в ряд Тейлора:

jz = + = j2z j1z l - - l z z z В итоге получим:

- + + = 2 alj a2 ga z z z2 l После сокращения двух слагаемых:

a2 gal = 2 alj (8) z Нервный импульс распространяется в виде плоской волны с постоянной скоростью, поэтому спра ведливо волновое уравнение:

2 1 = (9) z2 v2 t Итак, для плотности тока справедливо уравнение электрогенеза:

aga = + -K + gNam3h -y (10) CgK n4 - Na + gy ( ) () ( ) v — это уравнение называется уравнением Ходжкина Хаксли.

Уравнения (10) и (5) образуют систему 5 го порядка, решаемую численно. Существуют упрощен ные модели для решения этой системы, которые дают хорошую точность. Числовое решение имеет вид Рис.. Зависимость потенциала от времени для уравнения Ходжкина Хаксли.

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

Электрический синапс: ширина щели — 2 4 нм (при толщине мембраны 7 10нм). Между контак тирующими мембранами образуются две системы каналов: цитоплазма – внешняя среда и цито плазма – цитоплазма. Первый тип каналов регулирует обмен ионов калия, натрия и хлора. Межкле точные каналы второго типа имеют низкую утечку во внешнюю среду и передают импульсы с ис пользованием того же механизма, что и при передаче импульса по волокну. Задержка передачи для электрических синапсов очень мала. Недостаток электрических синапсов — нерегулируемость: они не реагируют на биологически активные вещества и не меняют свою проводимость. Встречаются у беспозвоночных и низших позвоночных.

В мозгу человека и высших животных преобладают химические синапсы. У одного нейрона бывает от 300 до 20 000 синапсов между аксонами, аксонами – дендритами, дендритами – дендритами, ак сонами и мышечными волокнами, аксонами и телом клетки и т.п.

Схема химического синапса представлена на рис..

Рис.. Химический синапс.

Порядок синаптической передачи.

1. Импульс подходит к пресинаптической части волокна.

2. Открываются кальциевые каналы, ионы Ca++ поступают в пресинаптическую цитоплазму.

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

Вследствие появления ионов Ca++ в пресинаптической цитоплазме посредством неизвестного пока механизма пузырьки подходят к мембране и лопаются, сливая медиатор в синаптическую щель. Пу зырьки выбрасываются не по одному, а квантами по несколько пузырьков. За один квант в щель попадает 103 – 104 молекул медиатора. За один импульс проходит 100 – 200 квантов медиатора. Даже в отсутствие нервных импульсов каждую секунду выбрасывается несколько квантов медиатора, и синапс поддерживается в состоянии готовности к передаче.

4. Попавший в щель медиатор диффундирует на постсинаптическую сторону щели. Этот про цесс требует около 0,5мс и вносит существенный вклад в задержку передачи.

5. Молекулы медиатора улавливаются рецепторами на постсинаптической стороне:

Рис.. Постсинаптическая мембрана.

6. Попадание ацетилхолина на рецептор увеличивает проводимость канала в обоих направлени ях для ионов Na+ и K+ в равной степени. Это эквивалентно небольшому кратковременному "проко лу" мембраны. Ацетилхолин, попавший в рецепторы, гидролизуется ацетилхолинэстеразой (АХЭ), во избежание забивания областей рецепции молекулами АХ. Яд кураре и подобные ему вещества попадают в молекулы АХЭ, предотвращают гидролиз АХ и останавливают работу синапсов.

7. Открытие каналов на постсинаптической стороне вызывает поток ионов натрия внутрь, а ка лия наружу. Возникший ионный ток возбуждает нервный импульс, который распространяется даль ше по постсинаптическому волокну.

Существуют медиаторы, которые работают по другому. Так как контакты бывают дендро денд ритные, дендро аксональные, то синапсы оказываются разнообразными по структуре.

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

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

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

плотность импульсов в пачке может меняться непрерывно.

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

Генерация нервных импульсов Вольтамперная характеристика нервного волокна нелинейна и имеет участок с отрицательным сопротивлением. Рассмотрим кусочно линейную аппроксимацию ВАХ волокна и покажем, что даже в такой простой модели могут возникать импульсы, похожие на реальные.

При возбуждении нервного импульса калиевый ток IK растет заметно медленнее, чем INa. Будем рассматривать малую длительность возбуждения, когда можно пренебречь током IK.

Экспериментальная вольтамперная характеристика нервного волокна приведена на рис.. (пунк тирная линия). Будем аппроксимировать ее тремя линейными участками с различной дифференци альной проводимостью.

Рис.. Кусочно линейная аппроксимация ВАХ нервного волокна.

+ Так как калиевый ток растет медленно, то на начальном участке ток через мембрану I INa Iy, Iy где — плотность тока утечки.

По закону Ома Iy = -0 g g ( ), где — проводимость мембраны, 0 — потенциал покоя.

Аппроксимируем прямоугольной ямой: = const от точки максимума до спада, в остальное INa INa время = 0.

INa Для кусочно линейной аппроксимации ВАХ:

-g1 -1, < ( ), < -g dINa = -, 2 < Na INa = -2, 2 < g2 ( ) -g d g -Na, > g, > Na () Пусть проводимость лежит в пределах:. Приложим внешнее возбуждение. Его ток g1 < g < g составит I = g. Рассмотрим различные случаи возбуждения.

d = + Im C I 1. Случай. Здесь = 0. Мембранный ток:.

< 1 INa y dt Система будет описываться уравнением:

d C = g +0 ().

dt gt Решение: -0 = exp - C (1) 1- — потенциал экспоненциально нарастает до.

Пусть возбуждение отключается при t = t0. Имеем уравнение:

d C = g 0 ( ) dt gt ) = 0 + exp С начальным условием: (t0 1-.

C Решение экспоненциально убывает с течением времени:

gt0 gt -0 = exp C -1 exp - C 2. Случай. Наступает момент, когда потенциал достигает значения. Появляется ток > 1 = INa. Дифференциальное уравнение, описывающее систему:

d C = g - g -0 + g1 - ( ) ( ) dt -( - ) g - g ( ) (2) Решение: -0 = + g - g1 g1 - g exp - C t -t g ( ( )).

Наблюдается экспоненциальный рост -0 до значения -0 = + g - g1 - 1 - Вклад, вносимый натриевым током в потенциал (локальный ответ) определяется разно INa стью (2) и (1):

Рис.. а) Зависимость локального ответа от времени.

б) Сдвиг мембранного потенциала в зависимости от уровня возбуждения.

Благодаря отрицательной проводимости появляется ток через мембрану. Но при выполнении ус ловия импульсов не возникает.

g > g 3. Случай -0 > 2. Здесь при некотором значении потенциал достигает значения и t = t2 натриевый ток определяется проводимостью -g2 g2 > g t t,. При поведение мембраны будет определяться уравнением:

d C = g - g -0 + g2 - ( ) ( ) dt Решение имеет вид:

gg2 g g g - g = - ( ) ( ) ( ) +0 + 2 + t2 + ( ) g2 - g +0 g2 - g exp C t - t g2 - g g2 - g Показатель экспоненты больше нуля. Если > 2 -0, то перед экспонентой стоит положитель ное число, и ток нарастает экспоненциально то некоторого момента t3, когда натриевый ток отклю чается самопроизвольно из за свойств мембраны. Рис..

Рис.. Зависимость потенциала от времени при надпороговом возбуждении.

В случае, когда отсутствует локальный ответ и потенциал, зависимость потенциала от вре < мени представляет собой кривую 1. В момент появляется натриевый ток и зависимость t = t1, = принимает вид кривой 2. В момент потенциал превышает значение и включается отрица t = t2 тельная проводимость, что приводит к экспоненциальному росту потенциала. В момент t3 на g триевый ток отключается и потенциал экспоненциально падает до значения = 0 за счет тока уте чки.

Мы рассмотрели случай, когда проводимость включается мгновенно, сразу после достижения g потенциалом значения. Если же каналы открываются не сразу, а с некоторой задержкой t, как в реальном волокне, то картина немного меняется. Предположим также, что внешнее возбуждение прекращается в некоторый момент t = t0, когда проводимость еще не включилась. Рис..

g Рис.. Зависимость потенциала от времени при наличии задержки включения проводимости.

g t В момент потенциал превышает пороговое значение, но проводимость не включается.

t = t2 g Спустя некоторое время, в момент t = t0, прекращается внешнее возбуждение, и потенциал начи нает уменьшаться по экспоненте, к значению 0. Если к моменту потенциал не уменьшится t2 +t ниже, то проводимость активируется и развивается импульс. Иначе происходит разряд емко 2 g сти мембраны через проводимость утечки, и тогда импульса не возникает.

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

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

Рис.. Формальный нейрон Нейрон состоит из взвешенного сумматора и нелинейного элемента. Функционирование нейро на определяется формулами:

NET = xi wi (1) i OUT = F NET () (2) где — входные сигналы, совокупность всех входных сигналов нейрона образует вектор x;

xi wi — весовые коэффициенты, совокупность весовых коэффициентов образует вектор весов w;

NET — взвешенная сумма входных сигналов, значение NET передается на нелинейный эле мент;

— пороговый уровень данного нейрона;

F — нелинейная функция, называемая функцией активации.

Нейрон имеет несколько входных сигналов x и один выходной сигнал OUT. Параметрами нейро на, определяющими его работу, являются: вектор весов w, пороговый уровень и вид функции акти вации F.

Виды функций активации Рассмотрим основные виды функций активации, получившие распространение в искусственных НС.

1. Жесткая ступенька (рис..):

0, NET < OUT = 1, NET Используется в классическом формальном нейроне. Развита полная теория [Мкртчян71], позво ляющая синтезировать произвольные логические схемы на основе ФН с такой нелинейностью. Функ ция вычисляется двумя тремя машинными инструкциями, поэтому нейроны с такой нелинейно стью требуют малых вычислительных затрат.

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

2. Логистическая функция (сигмоида, функция Ферми, рис..):

= OUT 1+ e-NET Применяется очень часто для многослойных перцептронов и других сетей с непрерывными сиг налами. Гладкость, непрерывность функции — важные положительные качества. Непрерывность первой производной позволяет обучать сеть градиентными методами (например, метод обратного распространения ошибки).

Функция симметрична относительно точки (NET=0, OUT=1/2), это делает равноправными зна чения OUT=0 и OUT=1, что существенно в работе сети. Тем не менее, диапазон выходных значений от 0 до 1 несимметричен, из за этого обучение значительно замедляется.

Данная функция — сжимающая, т.е. для малых значений NET коэффициент передачи K=OUT/ NET велик, для больших значений он снижается. Поэтому диапазон сигналов, с которыми нейрон работает без насыщения, оказывается широким.

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

3. Гиперболический тангенс (рис. ):

eNET - e-NET = th( ) = OUT NET + eNET e- NET Тоже применяется часто для сетей с непрерывными сигналами. Функция симметрична относи тельно точки (0,0), это преимущество по сравнению с сигмоидой.

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

4. Пологая ступенька (рис. ):

0, NET NET ( ), NET < + OUT = 1, NET + Рассчитывается легко, но имеет разрывную первую производную в точках,, NET = NET = + что усложняет алгоритм обучения.

= 5. Экспонента: OUT e- NET. Применяется в специальных случаях.

6. SOFTMAX функция:

eNET OUT = NETi e i Здесь суммирование производится по всем нейронам данного слоя сети. Такой выбор функции обеспечивает сумму выходов слоя, равную единице при любых значениях сигналов NETi данного слоя. Это позволяет трактовать OUTi как вероятности событий, совокупность которых (все выходы слоя) образует полную группу. Это полезное свойство позволяет применить SOFTMAX функцию в задачах классификации, проверки гипотез, распознавания образов и во всех других, где требуются выходы вероятности.

7. Участки синусоиды:

- OUT = sin(NET ) для NET =, или [-, ] NET = 2 8. Гауссова кривая (рис. ):

NET ) ( -m = OUT e Применяется в случаях, когда реакция нейрона должна быть максимальной для некоторого опре деленного значения NET.

9. Линейная функция, OUT = K NET, K=const. Применяется для тех моделей сетей, где не требу ется последовательное соединение слоев нейронов друг за другом.

Рис.. Виды функций активации.

Выбор функции активации определяется:

1. Спецификой задачи.

2. Удобством реализации на ЭВМ, в виде электрической схемы или другим способом.

3. Алгоритмом обучения: некоторые алгоритмы накладывают ограничения на вид функции акти вации, их нужно учитывать.

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

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

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

3. Нет четких алгоритмов для выбора функции активации.

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

5. Чрезмерная формализация понятий: "порог", "весовые коэффициенты". В реальных нейронах нет числового порога, он динамически меняется в зависимости от активности нейрона и обще го состояния сети. Весовые коэффициенты синапсов тоже не постоянны. "Живые" синапсы обладают пластичностью и стабильностью: весовые коэффициенты настраиваются в зависимо сти от сигналов, проходящих через синапс.

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

7. В модели не прослеживается различие между градуальными потенциалами и нервными им пульсами. Любой сигнал представляется в виде одного числа.

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

Многослойный перцептрон Формальные нейроны могут объединяться в сети различным образом. Самым распространенным видом сети стал многослойный перцептрон (рис. ).

Рис.. Многослойный перцептрон.

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

Обозначим количество слоев и нейронов в слое. Входной слой: NI нейронов;

NH нейронов в каж дом скрытом слое;

NO выходных нейронов. x — вектор входных сигналы сети, y вектор выходных сигналов.

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

Работа многослойного перцептрона (МСП) описывается формулами:

NETjl = xijl wijl (1) i = OUTjl F NETjl (2) () jl = xij(l+1) OUTil (3) где индексом i всегда будем обозначать номер входа, j — номер нейрона в слое, l — номер слоя.

xijl — i й входной сигнал j го нейрона в слое l;

wijl — весовой коэффициент i го входа нейрона номер j в слое l;

NETjl — сигнал NET j го нейрона в слое l;

OUTjl — выходной сигнал нейрона;

— пороговый уровень нейрона j в слое l;

jl w Введем обозначения: — вектор столбец весов для всех входов нейрона j в слое l;

Wl — матрица jl w x весов всех нейронов в слоя l. В столбцах матрицы расположены вектора. Аналогично — вход jl jl ной вектор столбец слоя l.

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

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

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

Ряд: = f x fi x ( ) ( ) ci i Нейронная сеть: f x F = ( ) iN jN N i2 j2 2 w xi - - 2 jN N i1 j11 j11 j11 j w...w F... iN i2i cл c л cл За счет поочередного расчета линейных комбинаций и нелинейных преобразований достигается аппроксимация произвольной многомерной функции при соответствующем выборе параметров сети.

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

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

Общий алгоритм решения:

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

2. Выбрать выходной вектор y таким образом, чтобы его компоненты содержали полный ответ поставленной задачи.

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

4. Выбрать число слоев и нейронов в слое.

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

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

7. Провести обучение, т.е. подобрать параметры сети так, чтобы задача решалась наилучшим образом. По окончании обучения сеть готова решить задачи того типа, которым она обучена.

8. Подать на вход сети условия задачи в виде вектора x. Рассчитать выходной вектор y, который и даст формализованное решение задачи.

Формализация задачи y Многослойный перцептрон может рассчитывать выходной вектор для любого входного вектора, т.е. давать значение некоторой векторной функции y =f x. Следовательно, условие любой зада ( ) x x1 xS чи, которая может быть поставлена перцептрону, должно являться множеством векторов с { } s x xs = NI компонентами каждый:. Решением задачи будет множество векторов y1 yS, каж { } s xN I ys = f xs дый вектор ys с NO компонентами;

, где s = 1..S — номер предъявленного образа.

( ) Все, что способен сделать перцептрон — это сформировать отображение для x X. Дан X Y ное отображение мы не можем "извлечь" полностью из перцептрона, а можем только посчитать ото бражение произвольного количества точек:

x1 y xS yS здесь множество векторов x1...xS — формализованное условие задачи, а множество — форма y1 yS лизованное решение. Задача формализации, т.е. выбора смысла, которым наделяются компоненты входного и выходного векторов, пока решается только человеком на основе практического опыта.

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

Примеры формализации задач 1. Задача классификации.

Пусть есть некоторый объект, который характеризуется несколькими параметрами p1..pN. Пусть также есть M классов объектов, C1..CM. Мы наблюдаем объект и можем рассчитать или измерить его параметры. Вектор p характеризует наблюдаемый объект:

p...

p = pN На основании вектора p мы должны решить, к какому классу отнести объект, т.е. выбрать Ci, к которому принадлежит объект, характеризуемый набором параметров p.

Решение задачи можно представить в виде вектора:

c...

c = cM и выполняются условия:

M 0 1 и c = 1 (1) cm m m= Здесь — вероятность, с которой объект относится к классу. Если рассматривать как cm Cm cm вероятности, то должны выполняться условия (1). К примеру, означает, что объект c1 = 0,9, c2 = 0, с данным набором параметров p с вероятностью 0,9 относится к классу C1 и с вероятностью 0,1 — к классу C2.

Если создать МСП с N входами и M выходами и обучить его давать на выходе вектор c, когда на вход подается p, то мы решим поставленную задачу.

Сеть строит отображение в процессе обучения. Целиком извлечь это отображение сеть не P C позволяет, но можно получить произвольное количество пар p c, связанных отображением. Для ( ) произвольного вектора p на входе мы можем получить вероятности принадлежности к классам на выходе.

Почему на выходе будут получены именно вероятности и будут ли выполняться условия (1)?

cm Если обучение прошло успешно, то мы наверняка получим на выходе что то похожее на вероят ности. Это определяется алгоритмом обучения. Но чаще всего оказывается, что компоненты выход ного вектора могут быть меньше 0 или больше 1, а второе условие (1) выполняется лишь приблизи M тельно: c 1. Неточность — следствие аналоговости нейронных сетей. Большинство результа m m= тов, даваемых нейросетями, неточно. Кроме того, при обучении сети указанные условия, наклады ваемые на вероятности, не вводятся в сеть непосредственно, а неявно содержатся во множестве дан ных, на которых обучается сеть. Это — вторая причина некорректности результата.

Такой способ формализации — не единственный, но один из удачных. Можно обучить сеть и по другому. Пусть у сети только один выход, и пусть его смысл — номер класса m для вектора p, предъ явленного на входе. Следовательно, сеть обучается зависимости m(p).

Если обучение прошло успешно, то когда на вход сети подан вектор p, характеризующий объект, на выходе будет получено число m, и нами принимается решение о принадлежности p к классу C.

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

Но существует важный недостаток. Рассмотрим пример классификации (рис. ).

Рис.. Пример некорректной классификации.

Пусть требуется разделить объекты по двум признакам, p1, p2, на три класса, m=1, m=2, m=3. Если входной вектор p примет значение, обозначенное жирной точкой, то выход сети, при правильном обучении, примет значение m=2, т.е. объект будет отнесен к классу 2, совершенно неподходящему.

Данное явление возникает, т.к. сеть склонна интерполировать входные и выходные данные. Если функции активации плавные, весовые коэффициенты не слишком большие, и количество слоев не слишком велико, то выход сети тоже будет гладким и непрерывным. Для близких p будут получены близкие m на выходе. Но при решении задачи классификации такое допущение бывает неверным.

Отсюда неправильное решение.

Чтобы избежать ошибок, можно применить другие способы формализации или упорядочить но мера классов m так, чтобы близким m соответствовали близкие в пространстве P классы.

2. Распознавание букв алфавита.

Будем представлять буквы в виде точечных изображений (рис. ).

Рис.. Точечное изображение.

= 1 = Темной клетке пикселу на изображении соответствует Iij, светлому — Iij. Задача состоит в том, чтобы определить по изображению букву, которая была предъявлена.

= = 1..

Построим МСП с Ni N входами, каждому входу соответствует один пиксел: xk Iij, k Ni N.

j j Яркости пикселов будут компонентами входного вектора.

В качестве выходных сигналов выберем вероятности того, что предъявленное изображение соот T ветствует данной букве: y =.... Сеть рассчитывает выход:

c1 cM ( ) c Iij...

( ) cM где выход означает, к примеру, что предъявлено изображение буквы "А", и сеть уверена в c1 = 0, этом на 90%, выход c2 = 0, — что изображение соответствовало букве "Б" с вероятностью 10% и т.д.

Другой способ: входы сети выбираются так же, а выход — только один, номер m предъявленной буквы. Сеть учится давать значение m по предъявленному изображению I:

Iij m ( ) Недостаток, рассмотренный в примере 1, сохраняется и здесь: буквы, имеющие близкие номера m, но непохожие изображения, могут быть перепутаны сетью при распознавании.

3. Прогнозирование одномерной функции Пусть задана функция, определенная на интервале времени 0,t0, где t0 — текущее значение W, [ ] времени. Требуется предсказать значение функции при t > t0. Чтобы применить многослойный пер цептрон для прогнозирования, время придется дискретизировать. Будем считать известными значе ния функции в моменты времени:

= x0 f t ( ) = x1 f t0 - ( ) = x2 f t0 - 1 -2 = x, i > 0.

() = xn f t0 - 1 -...n () Будем предсказывать значение функции в момент времени t0 + 0 для 0 > 0. 0 называется ( ) интервалом прогнозирования. Решением задачи будем считать значение f t0 + 0 = y.

( ) Построим сеть, имеющую n входов и 1 выход. В качестве входного вектора возьмем вектор x, а выходного — один сигнал y.

Такая сеть предсказывает значение функции в одной точке y по (n+1) известным значениям функ ции, заданным вектором x. Выбрав при обучении сети набор интервалов i, его нельзя изменить после обучения. Сеть с данными параметрами, полученными при обучении, может прогнози W, ровать только с одним набором i.

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

Для этого найден интересный способ. Выберем все интервалы одинаковыми:

i = = const, = 0.... Построим и обучим сеть. Подадим на вход вектор x со значениями функции i n в известных точках. Рассчитав выход сети, получим прогнозируемое значение функции в точке f t0 + 0 = y. Теперь “сдвинем” компоненты входных и выходных векторов следующим образом ( ) (знак равенства означает “присвоить значение”):

= xn xn-...

= x1 x = x0 y Теперь выходной вектор стал одной из компонент входного. Снова рассчитываем выход, и полу чаем значение функции в точке t0 + 2. Повторив эти операции, можно прогнозировать функцию ( ) в любом количестве точек с дискретным шагом по времени, равным.

4. Аппроксимация многомерной функции.

Рассмотрим многомерную функцию y = f x, где вектор y имеет NO компонент, а вектор x — NI ( ) компонент. Самый простой способ формализации — использовать сеть с NI входами и NO выходами.

Компоненты вектора x подаются на вход сети, y — снимаются на выходе. Сеть обучается на извест ных значениях функции f.

Выбор количества нейронов и слоев Нет строго определенной процедуры для выбора количества нейронов и количества слоев в сети.

Чем больше количество нейронов и слоев, тем шире возможности сети, тем медленнее она обучает ся и работает и тем более нелинейной может быть зависимость вход выход.

Количество нейронов и слоев связано:

1) со сложностью задачи;

2) с количеством данных для обучения;

3) с требуемым количеством входов и выходов сети;

4) с имеющимися ресурсами: памятью и быстродействием машины, на которой моделируется сеть;

Были попытки записать эмпирические формулы для числа слоев и нейронов, но применимость формул оказалась очень ограниченной.

Если в сети слишком мало нейронов или слоев:

1) сеть не обучится и ошибка при работе сети останется большой;

2) на выходе сети не будут передаваться резкие колебания аппроксимируемой функции y(x).

Превышение требуемого количества нейронов тоже мешает работе сети.

Если нейронов или слоев слишком много:

1) быстродействие будет низким, а памяти потребуется много — на фон неймановских ЭВМ;

2) сеть переобучится: выходной вектор будет передавать незначительные и несущественные де тали в изучаемой зависимости y(x), например, шум или ошибочные данные;

3) зависимость выхода от входа окажется резко нелинейной: выходной вектор будет существен но и непредсказуемо меняться при малом изменении входного вектора x;

4) сеть будет неспособна к обобщению: в области, где нет или мало известных точек функции y(x) выходной вектор будет случаен и непредсказуем, не будет адекватен решамой задаче.

Подготовка входных и выходных данных Данные, подаваемые на вход сети и снимаемые с выхода, должны быть правильно подготовлены.

Один из распространенных способов — масштабирование:

x = x - m c ( ) где — исходный вектор, — масштабированный. Вектор m — усредненное значение совокуп x x ности входных данных. с — масштабный коэффициент.

Масштабирование желательно, чтобы привести данные в допустимый диапазон. Если этого не сделать, то возможно несколько проблем:

1) нейроны входного слоя или окажутся в постоянном насыщении (|m| велик, дисперсия вход ных данных мала) или будут все время заторможены (|m| мал, дисперсия мала);

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

Рассмотрим набор входных данных для сети с одним входом:

(s) 10 10,5 10,2 10,3 10,1 10, x {} { }= Если функция активации — гиперболический тангенс с множеством значений, то при весовых коэффициентах около единицы нейроны входного слоя окажутся в насыщении для всех x(s). При меним масштабирование с m=10,2 и c=4. Это даст значения в допустимом диапазоне (-1;

1.

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

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

= sgn yf ti+1 f ti ( )- ( ) () = или y c f ti+1 f ti ( )- ( ) () где f ti — значение курса в i й день.

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

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

Методы обучения Алгоритмы обучения бывают с учителем и без. Алгоритм называется алгоритмом с учителем, если при обучении известны и входные, и выходные вектора сети. Имеются пары вход + выход — извест ные условия задачи и решение. В процессе обучения сеть меняет свои параметры и учится давать нужное отображение. Сеть учится давать результаты, которые нам уже известны. За счет X Y способности к обобщению сетью могут быть получены новые результаты, если подать на вход век тор, который не встречался при обучении.

Алгоритм относится к обучению без учителя, если известны только входные вектора, и на их осно ве сеть учится давать наилучшие значения выходов. Что понимается под “наилучшими” — определя ется алгоритмом обучения.

Перцептрон обучается с учителем. Это означает, что должно быть задано множество пар векторов xs,ds xs = x1 xS ds = d1 dS,, где,..., — формализованное условие задачи, а,..., — { } { } { } { } { } s =1...S известное решение для этого условия. Совокупность пар xs,ds составляет обучающее множество.

{ } S — количество элементов в обучающем множестве — должно быть достаточным для обучения сети, чтобы под управлением алгоритма сформировать набор параметров сети, дающий нужное отобра жение.

X Y Количество пар в обучающем множестве не регламентируется. Если элементов слишком много или мало, сеть не обучится и не решит поставленную задачу.

Выберем один из векторов и подадим его на вход сети. На выходе получится некоторый вектор xs = ds. Тогда ошибкой сети можно считать Es - ys xs,ds. Чаще всего для оцен для каждой пары ys ( ) s = Ed - ys ( ) j j ки качества обучения выбирают суммарную квадратическую ошибку:. Реже s j s + d - ys 1 j j применяется средняя относительная ошибка: = S NO s j d +1 -1100%. Ее преимущест s j во в том, что она дает значение, не зависящее напрямую ни от количества примеров в обучающем множестве, ни от размерности выходного вектора, и имеет удобное для восприятия человеком зна чение в интервале от 0 до 100%.

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

{ } Большая часть методов обучения — итерационные. Параметрам сети (весовым коэффициентам и пороговым уровням) присваиваются малые начальные значения. Затем параметры изменяются так, чтобы ошибка E убывала. Изменения продолжаются до тех пор, пока ошибка не станет достаточно малой.

Общая схема обучения перцептрона:

1. Инициализировать веса и параметры функции активации в малые ненулевые значения;

2. Подать на вход один образ и рассчитать выход;

3. Посчитать ошибку Es, сравнив ds и ys.

4. Изменить веса и параметры функции активации так, чтобы ошибка Es уменьшилась.

5. Повторить шаги 2 4 до тех пор, пока ошибка не перестанет убывать или не станет достаточно малой.

Здесь веса меняются так, что убывает не E, а Es, относящаяся к образу s, а не ко всему обучающему множеству. Шаги в данном варианте алгоритма делаются не в направлении убывания E, а в направ лении убыли Es, таким образом, E не обязательно должна убывать. Какие условия необходимы для существенной убыли E? Опыт показывает, что для этого необходимо отсутствие упорядоченности в предъявлении образов, т.е. в выборе s на каждой итерации. Если образы выбираются случайно из обучающего множества, то ошибка E чаще всего убывает. Если же есть упорядоченность (например, образы предъявляются циклически: 1 й, 2 й,..., S й, 1 й,...) то чаще всего E(t), где t — время обуче ния, не имеет предела при, т.е. алгоритм расходится. В этом случае Es тоже убывает при каж t дом изменении параметров, но при следующей коррекции для образа (s + 1) ошибка Es+1 убывает, а Es, относящаяся к предыдущему образу, возрастает сильнее, так что E может увеличиться. Сеть "за бывает" текущий образ при предъявлении следующего.

Чтобы шаг по параметрам на каждой итерации делался в правильном направлении, надо провести усреднение по S, т.е. предъявить все образы, и коррекции вычислять по всем образам сразу. Такие алгоритмы называются алгоритмами с пакетной коррекцией (batch update). Они требуют больших затрат вычислительного времени и памяти, но сходятся за меньшее число итераций.

В большинстве случаев E W, ( ) при таком методе обучения сходится и достигает локального ми нимума. Для каждой конкретной задачи нет гарантий, что E сойдется к приемлемому значению за конечное число шагов.

min, E W ( ) является задачей безусловной оптимизации. Для ее решения известно Задача поиска W, множество методов [Гилл85]. В теории оптимизации функция ошибки E W, ( ) называется целевой функцией. Для нейронных сетей хорошо работают многие методы безусловной оптимизации, часто лучше, чем узкоспециальные, придуманные для обучения нейронных сетей.

Применяются следующие методы теории оптимизации:

1) для небольшого количества параметров — стабилизированные методы Ньютона, Гаусса Нью тона, Левенберга Маркардта;

2) для среднего количества параметров — квазиньютоновские методы;

3) для большого количества параметров — метод сопряженных градиентов.

Для сходимости алгоритма достаточно, чтобы на каждой итерации обеспечивалась существенная убыль E. Формулы, которым должно удовлетворять изменение E, можно найти в [Гилл85]. Была также доказана теорема об обучаемости перцептрона [Розенблат65], что перцептрон способен изу чить любое отображение, которое он способен дать на выходе. Если существует набор пара X Y метров с минимальным значением E0 = E W,, то этот набор может быть найден в результате ра ( ) боты алгоритма обучения.

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

Обучение однослойного перцептрона Задача обучения однослойного перцептрона решается просто. Его работа определяется выраже нием:

= NETj1 xij1, yj = F NETj1 - j1 или:

wij () i = yj F xij wij j, если отбросить ненужный индекс l=1, обозначающий слой.

i Подадим на вход один вектор из обучающего множества. Рассчитаем выход и сравним полу xs ченный выходной вектор с эталоном:. Зная разницу между ними, можно ввести коррекции ys ds для весовых коэффициентов и пороговых уровней:

wij = d s - ys xij ( ) j j () j = - d s - ys ( ) j j где — небольшое положительное число, характеризующее скорость обучения. Разница между s выходом и эталоном, d - ys и умножение на текущее значение входа xij обеспечивают правиль ( ) j j s < ное направление коррекций: если ys d, то выход должен увеличиться, и вес увеличивается, если j j > 0 < 0 = xij и уменьшается, если xij. Если xij, то вес менять нельзя, т.к. он не влияет на выход.

Абсолютное значение xij также учитывается при обучении. Если значение входа велико, то неболь шое изменение веса сильно меняет выход. Чем меньше меняются веса, тем меньше вероятность xij искажения уже запомненных образов. Поэтому множитель оправдан. Можно использовать s s sgn - ys вместо d - ys. Результаты при этом остаются похожими.

d ( ) ( ) j j j j Чем больше дисперсия параметров сети W,, тем больше количество информации, запомненное сетью. Такой выбор коррекций () способствует росту дисперсии, и, следовательно, увеличивает ко личество запомненной информации.

Расписание обучения Веса и пороговые уровни инициализируются случайными значениями. Созданная таким образом сеть абсолютно неадекватна решаемой задаче и может генерировать на выходе только шум. Поэтому ошибка в начале обучения очень велика, и есть смысл вводить большие коррекции параметров. Бли же к концу обучения ошибка значительно снижается, и коррекции должны быть малыми. Чтобы менять длину шагов по параметрам, используют расписание обучения (learning schedule). Выберем t скорость обучения зависящей от времени обучения:. Обычно скорость монотонно убывает с ( ) ростом времени. Для сходимости алгоритма необходимо:

t ( ) и (t) =+ t Часто выбирают t =1/t, > 0 или аналогичные функции.

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

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

Перцептронная представляемость Сложность задач, решаемых перцептроном, существенно зависит от количества слоев. Рассмот рим эти различия.

1. Однослойный перцептрон.

Круг проблем, которые под силу однослойному перцептрону, очень ограничен. Рассмотрим одно слойную сеть из одного нейрона (рис ).

Рис.. Сеть из одного нейрона.

Выход сети: y = F w1x1 + w2x2 -. Если F имеет вид жесткой ступеньки (рис. ) с двумя возможны () ми значениями, 0 и 1, то выход сети будет иметь вид (рис. ). Гиперплоскость (в случае многих вхо дов), разделяющая различные значения выхода, называется решающей поверхностью. Для жесткой ступеньки решающая поверхность задается уравнением:

() wx1 + w2x2 = Для двухвходового нейрона она имеет вид прямой, произвольно повернутой и смещенной из на чала координат. Угол поворота определяется коэффициентами, а смещение из начала коорди w1, w нат — порогом.

Рис.. Решающая поверхность однослойного перцептрона.

Если выбрана гладкая функция активации, то выход сети будет плавно меняться от нуля до едини цы в направлении, перпендикулярном прямой (). Зависимость выходного сигнала от входов удобно представлять полутоновой картой: черному цвету соответствует значение выхода, равное 0, белому — равное 1. По осям отложены значения входов. Реальная зависимость для функции активации в виде гиперболического тангенса — на рис..

Рис.. Выход однослойного перцептрона в виде полутоновой карты.

Для искусственного нейрона с гладкой функцией активации поверхности y=const — гиперпло NI скости i i. Ориентация плоскостей в пространстве может быть произвольной.

wx = i = 2. Двухслойный перцептрон.

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

В зависимости от вида комбинирования областей, а также от положения гиперплоскостей область может быть открытой или закрытой. Если область закрытая, то она всегда имеет вид выпуклого мно гоугольника. Пример открытой области, полученной объединением областей первого слоя — на рис.

. Первый слой содержит 4 нейрона, их выходы обозначены y1...y4. Выход сети получается объедине нием выходов первого слоя операцией "ИЛИ". Серым цветом показана область, в которой выход сети равнен единице.

Рис.. Открытая область, сформированная двухслойным перцептроном.

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

Рис.. Выходной сигнал двухслойного перцептрона с ФА — гиперболическим тангенсом.

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

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

Решающая область для трехслойного перцептрона с жесткой нелинейностью.

Проблема "исключающего ИЛИ" Наглядной и уже ставшей классической [Минский71] иллюстрацией ограниченности для одно слойного перцептрона является функция "исключающее ИЛИ". Эта булева функция от двух пере менных принимает значение "истина", когда значения входных переменных различны, и "ложь" — в противном случае. Попробуем применить однослойную сеть, состоящую из одного нейрона (рис. ), для построения этой функции.

Для сохранения симметрии будем сопоставим значению "ложь" сигнал нейросети, равный 1, а значению "истина" — равный 1. Значения входов и выходов дискретны, и есть смысл использовать жесткую ступеньку в качестве функции активации. Требуемая таблица истинности и соответствую щие уравнения для весов и порогов для функции "исключающее или":

x1 x2 y ycл вue 1 1 -1 w1 + w2 - < 1 -1 1 w1 - w2 - > (a) -1 1 1 -w1 + w2 - > -1 -1 -1 -w1 - w2 - < Табл.. Система неравенств для построения функции XOR.

Вычтем из первого уравнения второе, а из третьего — четвертое. Получим несовместную систему:

2w2 < () > 2w Хотя система (a) — лишь система неравенств, пусть содержащая три переменных и четыре уравне ния, она оказывается несовместной. Следовательно, функция XOR не реализуется на однослойном перцептроне. Тот же результат можно получить графически. Возможные значения входов сети — на рис..

Рис.. Графическое представление функции XOR.

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

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

Решение проблемы XOR Вообще говоря, для построения булевых функций c помощью нейросетей есть завершенные ма тематические методы [Мкртчян71]. Рассмотрим простейший пример и построим нейронную сеть без предварительного обучения.

Запишем функцию XOR в виде: y = x1 XOR x2 = x1 AND NOT x2 OR NOT x1 AND x2. Алгоритмиче () () ские обозначения операторов использованы для наглядности. Легко построить двухслойную сеть для реализации такой функции. Инверсию можно осуществить отрицательным весовым коэффи циентом, а операции AND и OR — каждую отдельным нейроном с различными значениями поро гов. Схема сети представлена на рис..

Рис.. Двухслойная сеть, реализующая функцию XOR.

Таблица истинности для такой сети: рис..

x1 x2 NET1 NET2 OUT1 OUT2 NET y -1 -1 0 0 -1 -1 -2w - -1 1 -w w -1 1 w 1 -1 w -w 1 -1 w 1 1 0 0 -1 -1 -2w - Рис.. Таблица истинности для нейронной сети.

Видно, что функция реализована правильно. Общие методы синтеза сетей для булевых функций изложены в [Мкртчян71].

Обучение многослойного перцептрона Алгоритм обратного распространения ошибки Для однослойного перцептрона алгоритм обучения очевиден. Как обобщить этот простой алго ритм на случай многослойной сети? Эту задачу решает алгоритм Румельхарта Хинтона Вильямся (алгоритм обратного распространения ошибки). Он был предложен в различных вариациях в не скольких научных работах, существует также множество улучшенных версий алгоритма.

Пусть задан многослойный перцептрон с гладкой функцией активации (рис. ).

Y X Рис.. Многослойный перцептрон.

Его работа задается:

NETjl = xijl wijl (1) i = OUTjl F NETjl (2) ( ) = xij(l+1) OUTil (3) Выберем суммарную квадратическую ошибку в качестве целевой функции:

s = Eys - d () j j (4) j s Сеть задается своим вектором параметров — набором весовых коэффициентов и пороговых уровней:

W P = где — вектор, компоненты которого — все весовые коэффициенты сети;

— вектор порого W вых уровней сети. Таким образом, если считать обучающее множество заданным, то ошибка сети зависит только от вектора параметров: E = E P.

( ) При обучении на каждой итерации будем корректировать параметры в направлении антиградиен та E:

P = -E P (5) ( ) В теории оптимизации доказано, что такой алгоритм обеспечивает сходимость к одному из ло кальных минимумов функции ошибки, при условии правильного выбора > 0 на каждой итерации.

Такой метод оптимизации называется методом наискорейшего спуска.

Коррекции необходимо рассчитывать на каждой итерации. Поэтому каждая итерация требует рас чета компонент градиента и выбора оптимального шага. Как рассчитать градиент с наи E E меньшими вычислительными затратами?

Самое простое, но не лучшее решение для этого — воспользоваться определением градиента:

EE P + pi E P P ( ) ()- ( ) = lim (6) pi pi pi где pi — приращение i й компоненты вектора параметров P.

Однако чтобы рассчитать каждое значение функции E, требуется подать входной вектор и просчи тать выходные значения для всех нейронов в сети. Это — очень большой объем вычислений. Если учесть, что требуется рассчитать все компоненты градиента таким образом, неэффективность мето да становится очевидной.

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

Запишем (5) для весовых коэффициентов:

x ijl w ijl, E W ( ) = wijl (7) wijl W, = + wijl wijl wijl (8) — значение производной рассчитывается для текущих значений параметров W, на данном шаге обучения. wijl — значение веса на следующем шаге обучения, wijl — на данном шаге. Индексы имеют тот же смысл, что и раньше. Аналогичные коррекции вводятся для пороговых уровней.

Для выходного слоя легко записать компоненты градиента по весам как производную сложной функции:

OUTjl NETjl E E = (9) wijl OUTjl NETjl jl Здесь индекс l равен номеру выходного слоя.

NETjl — сигнал NET для j го нейрона в выходном слое l.

wijl — i й вход j го нейрона в выходном слое.

Точно так же распишем производную по порогам:

OUTjl NETjl E E = (10) OUTjl NETjl jl jl = Для выходного слоя y OUTjl. Производная функции ошибки:

j E s = yj - d () j (11) OUTjl s Для удобства приведем схему формального нейрона:

Рис.. Схема формального нейрона.

Производная от взвешенной суммы по весам:

xijl wijl jl NETjl i (12) == xijl wijl wijl Производная от функции активации:

F NETjl OUTjl ( ) = (13) NETjl NETjl Производная по пороговому уровню:

NETjl =- (14) jl Если F NET = th NET, то ( ) ( ) F NETjl ( ) = 1- F NETjl ( ) (15) NETjl F NET — это текущее значение выходного сигнала нейрона. Поэтому производная рассчитыва ( ) ется через текущее значение сигнала OUTjl:

F NETjl ( ) = 1- OUTjl OUTjl () (16) NETjl NETjl Аналогично рассчитывается производная сигмоиды (функции Ферми):

= F NET NET = ( ) ( ) (17) 1+ e- NET F NET ( ) 1 e- NET - + == = eNET NET 1+ e- (18) NET 1+ e- NET 1+ e- NET () () = NET 1- NET ( ) ( ) () F NETjl ( ) = OUTjl OUTjl OUTjl 1 () (19) NETjl NETjl Благодаря тому, что для сигмоиды и гиперболического тангенса производная рассчитывается че рез значение выхода нейрона, эти две функции чаще всего применяются в сетях, обучаемых методом обратного распространения.

E E Значения производных и, рассчитанные по формулам (12) (19), позволяют ввести кор wijl jl рекции wijl и для нейронов последнего слоя. Как обобщить полученные результаты для остав jl шихся слоев?

Для последнего слоя:

OUTjl NETjl E E = (20) xijl OUTjl NETjl xijl OUTjl E Здесь OUTjl и NETjl уже рассчитаны (11), (13).

xijl wijl jl NETjl i (21) == wijl xijl xijl Но производная по входному значению xijl для последнего слоя совпадает по смыслу с производ ной по соответствующему выходу для предыдущего слоя:

EE = xijl OUTj(l-1) (22) Это выражение обеспечивает рекурсивный переход от последующего слоя к предыдущему и явля ется аналогом (11) для предыдущих слоев.

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

Итак, метод обратного распространения — способ быстрого расчета градиента функции ошибки.

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

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

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

= Как и в однослойном перцептроне, можно использовать расписание обучения, t, где t — ( ) время обучения. Это повышает скорость и точность сходимости во многих случаях.

Обратное распространение может применяться и в том случае, когда у функции активации не E сколько параметров, например, F NET = th NET -. Компонента градиента рассчитывает ( ) ( ) ся аналогично остальным производным. Конечно, ввод дополнительных параметров может быть избыточным с точки зрения представимости выходной функции. Например, параметр в данном примере эквивалентен умножению всех весовых коэффициентов данного нейрона на. Но иногда избыточные параметры повышают скорость сходимости алгоритма. Например, в нашем случае мо жет потребоваться столько коррекций весов, сколько входов у нейрона, чтобы добиться того же эффекта, который даст изменение на одной итерации.

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

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

В 1987 г. Сторнетта и Хьюберман показали, что симметричный диапазон (например, от 1 до 1) изменения весов и сигналов в сети дает прирост скорости обучения на 30 50%. Функция активации, конечно, должна быть симметричной, подходит, например, гиперболический тангенс. Сигмоида ( ) может использоваться после симметрирования: =- + NET.

Было предложено множество ускоренных видов обратного распространения, но практическое при менение получили в основном алгоритмы QuickProp и RProp [].

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

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

Чтобы избежать паралича при обучении, можно:

1. Уменьшить размер шага по W u. При этом увеличится время обучения.

E w 2. В области больших весов отказаться от зависимости, т.е. считать что длина шага не w связана с модулем градиента.

3. Применять эвристические правила для ограничения роста весов. Эти правила пока не система тизированы, нет выкладок, оправдывающих тот или иной выбор ограничений.

Выбор длины шага Вообще говоря, лучший выбор длины шага — точная одномерная оптимизация функции E вдоль вектора антиградиента. Требуется найти минимум функции E P ( ) P E1 = E - + P ( ) E PP ( ) где P0 — текущий вектор параметров, — независимая переменная. Найденное значение > T : E ( ) даст требуемую длину шага на данной итерации. Рис..

{min } Рис.. Одномерная оптимизация для поиска длины шага.

Есть множество способов для решения задачи одномерной оптимизации. К ним относятся: метод деления пополам, метод Ньютона, чисел Фибоначчи, золотого сечения. Подробное описание, на пример, в [Гилл85].

Применительно к нейросетям все эти методы имеют недостаток: каждый расчет значения E тре бует больших затрат времени и расчета выходов всех нейронов в сети. Поэтому часто оказывается выгоднее вообще не проводить одномерного поиска, а взять шаг, пропорциональный градиенту = в (5) или априорную зависимость от времени обучения t для коэффициента про ( ) = const порциональности между длиной шага и градиентом. Неудачный выбор априорных данных может привести:

1) к неточности обучения: оказавшись в окрестности локального минимума, когда требуются малые длины шага для точной настройки параметров, алгоритм с большим шагом даст неточ ные значения параметров;

2) к медленному обучению: если шаг слишком малый, обучение может стать недопустимо мед ленным;

3) к отсутствию сходимости, параличу сети и другим проблемам при очень большой длине шага;

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

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

Есть другой способ преодоления локальных минимумов — обучение с шумом. Будем выбирать кор рекцию для весов в виде:

E w = - + n w где n — случайная величина, имеющая нулевое математическое ожидание и небольшую диспер сию. Часто используется гауссовское распределение для n. Казалось бы, добавление шума должно снижать точность обучения. Так и происходит, скорость сходимости к данному локальному мини муму (если он единственный) снижается. Но если поверхность E(P) сложная, то шум помогает "вы рваться" из данного локального минимума (выход из минимума тем вероятнее, чем меньше размеры его области притяжения), и найти более глубокий, возможно — глобальный минимум.

Обучение с шумом снижает вероятность остановки алгоритма в неглубоком локальном минимуме целевой функции.

Чувствительность к порядку предъявления образов ' Временная неустойчивость Алгоритм требует, чтобы все обучающие образы предъявлялись перед каждой коррекцией параме тров. Это следует из необходимости суммировать функцию ошибки по всем образам из обучающего множества. В этом случае алгоритм всегда сходится, хотя количество итераций для сходимости мо жет оказаться сколь угодно большим. Если же суммирования по s нет, и коррекции параметров про водятся после предъявления каждого образа, или даже после расчета каждой компоненты градиента E, то алгоритм может не сойтись вообще, если:

а) образы предъявляются не в случайном порядке. Должно быть s = random(S) на каждой итера ции, если же есть простая закономерность в выборе s, алгоритм часто расходится;

б) обучающее множество постоянно меняется, и каждый образ предъявляется малое количество раз;

это встречается для систем, работающих в реальном времени, например, систем управле ния сложными системами или систем прогнозирования в реальном времени;

расходимость в ' этом случае называется временной неустойчивостью.

Проблема а) решается случайным предъявлением образов или применением алгоритма обучения с пакетной коррекцией. Проблема б) изначально присуща методу обратного распространения и ус траняется выбором другого алгоритма обучения или другой модели нейронной сети.

Примеры применения перцептронов I. Предсказание псевдослучайных последовательностей.

Существуют простые рекуррентные зависимости, генерирующие псевдослучайные последователь ности чисел. Например, модель, называемая логистической картой, в которой следующее значение последовательности x(t+1) связано с текущим x(t):

x t +1 = F x t F x = 4x 1- x, 0 x 1 (1) ( ) ( ) ( ) ( ) ( ) График функции F(x) показан на рис.. Она имеет максимум F(0,5) = 1.

Рис.. Функция, порождающая псевдослучайную последовательность.

Если задать x(0) в интревале (0, 1), то по рекуррентной формуле (1) получим псевдослучайную последовательность, элементы которой лежат в интервале (0, 1). Пример такой последовательности, для начального значения x(0)=0,2 — на рис..

Рис.. Псевдослучайная последовательность, полученная по формуле (1).

Задача состоит в том, чтобы по конкретной реализации случайной последовательности x(t) (рис. ), получить нейронную сеть, способную генерировать правильные псевдослучайные последователь ности, т.е. для любого x, поданного на вход сети, давать x(t+1) на выходе.

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

1 f NET == 1+ th NET ( )e2NET 2 () ( ) 1+ Проводилось обучение методом обратного распространения с обучающим множеством, содержа щим 1000 точек, т.е. 1000 известных отображений x t x t +1. Сеть также имела прямые синапсы ( ) ( ) со входа на выход, минуя скрытый слой.

В результате обучения сеть создала следующее отображение со входа на выход:

F* x =-0,64 f ( ) (-1,11x - 0,26 f 2,22x -1, )-1, ( ) -2, 265 f 3,91x + 4,82 3,905 f 2, 46x - 3,05 + (2) ()- ) ( +5,99 f 1,68x + 0,6 + 0,31x - 2, () Созданное сетью отображение аналитически совсем не похоже на исходную функцию F(x). Тем не менее, отклонение F от F* в рабочем интервале (0, 1) оказывается малым. Графики функций F(x) (пунктир) и F*(x) (непрерывная линия) представлены на рис..

Рис.. Созданная сетью (непр. линия) и исходная функция F(x) (пунктир).

Из графиков рис. следует:

1) на рабочем участке сеть правильно выделила закономерность из входных данных;

график F практически совпадает с F*;

разумеется, при правильно изученной функции F* сеть способна пра вильно прогнозировать последовательность (1) с любым x(0).

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

Данное исследование проведено Лапедесом и Фарбером в 1987 г.

II. Предсказание вторичной структуры белков Молекулы белков построены из аминокислотных остатков. В живых белковых молекулах встре чаются 20 различных аминокислот.

Различают три уровня структуры белковой молекулы. Первичная структура — порядок аминоки слотных остатков в белковой молекуле, когда она растянута в линейную цепь. Аминокислотные ос татки обозначаются трехбуквенными сочетаниями. Пример первичной структуры:

Лиз—Глу—Тре—Ала—Ала —соответствует цепи, состоящей из аминокислотных остатков: лизил—глутаминил—треонил—ала нил—аланил.

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

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

Для кодирования информации об одном аминокислотном остатке в нейросети используем 20 дво ичных входов, например:

Глицил 00000010... Аланил 0......... Одновременно в сеть вводится информация о 51 последовательном аминокислотном остатке, со сдвигом, как в примере 3 формализации задач. Всего получается 51 * 20 = 1020 входов. Сеть форми рует единственный выход — вероятность того, что участок молекулы, заданный последовательно стью из 51 входных аминокислотных остатков, имеет вид спирали. В экспериментах сеть состоя ла из 40 скрытых нейронов в одном слое, всего 40 000 весов и пороговых уровней.

Для обучения бралась известная информация о 56 белках. Для ускорения начального этапа обуче ния, когда ошибка очень высока, сначала обучающее множество состояло из данных лишь об одном (n=1) белке из 56. Остальные 55 использовались для контроля качества обучения. Когда ошибка немного снижалась, в обучающее множество добавлялась информация еще об одной молекуле и т.д.

На завершающем этапе в обучении участвовали все 56 (n=56) белков.

Зависимость правильных предсказаний по неизвестным сети молекулам от размера n обучающего множества — на рис..

Рис.. Точность предсказания в зависимости от размера обучающего множества.

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

Пример предсказания структуры для молекулы родопсина (ярко красного фоточувствительного белка сетчатки) — на рис..

Рис.. Пример предсказания спиральных структур в молекуле родопсина.

Исследование проведено Боором и его коллегами в 1988 г.

III. Синтез речи: NET talk В 1987 г. Сейновский, Розенберг провели эксперименты по преобразованию текста из английских букв в фонемы. Задача синтеза речевого сигнала из фонем гораздо проще, чем преобразование тек ста в фонемы. Полученное нейронной сетью фонетическое представление затем "прочитывалось" вслух одним из многочисленных коммерческих синтезаторов речи.

Для преобразования текста в фонемы применялся многослойный перцептрон с одним скрытым слоем из 80 нейронов. На вход одновременно подавалась последовательность из 7 букв, каждая из которых кодировалась группой из 29 входов (26 букв алфавита + знаки препинания). Сеть имела выходов для представления одной из 26 фонем с различной окраской звучания, сюда же относились фонемы паузы.

Сеть прошла 50 циклов обучения по обучающему множеству из 1024 английских слов, и достигла 95% вероятности правильного произношения для слов из этого множества, и вероятности 80% на неизвестных сети словах. Если учесть скромность затрат на реализацию эксперимента, по сравне нию с коммерческими синтезаторами, то этот результат очень хорош.

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

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

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

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

E t E t ( )- ( )

— пороговое значение убыли ошибки;

— минимальный интервал T времени обучения между добавлениями новых нейронов;

t0 — момент последнего добавления;

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

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

Рис.. Типичная зависимость ошибки от времени обучения при добавлении нейронов.

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

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

Условия и предпосылки для успешного обобщения:

1. Обобщенный выходной вектор y(x) для известных сейчас сетей никогда не бывает принципи ально новым. Он является результатом неявных допущений об отображении. Типичное X Y допущение — непрерывность и дифференцируемость функции y(x). Оно вводится, когда выби рается функция активации в виде гиперболического тангенса или сигмоиды. Т.к. функция активации гладкая, то и y(x) будет гладкой. Кроме этого, обобщенный результат всегда оказы вается простейшим в некотором смысле, в зависимости от конструкции сети.

2. Неизвестные входные вектора должны не слишком отличаться от векторов обучающего мно жества. Пример — график рис.. Аппроксимированная функция F*(x) совпадает с исходной F(x) на рабочем участке, но по мере удаления от исходного интервала, точность аппроксима ции падает.

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

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

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

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

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

При обучении без учителя сеть имеет для обучения лишь известные входные вектора. Правильные значения выходных векторов неизвестны. Какие вектора будут сформированы на выходе, зависит от xs алгоритма обучения. Обучающее множество состоит из S известных входных векторов, s =1...S, { } в процессе обучения сеть учится формировать выходные вектора для каждого вектора из обучаю ys xs щего множества.

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

Все сигналы в сети лежат в интервале [0, 1]. Сеть послойно полносвязная, как и многослойный перцептрон и содержит три слоя нейронов.

Последний, третий слой состоит из обычных формальных нейронов с детерминированным пове дением и непрерывными выходными сигналами:

yj3 NETj = ( ) NET = xij j3 wij i Скрытый слой состоит из стохастических нейронов с двумя значениями выхода, 0 и 1. Каждое из выходных значений принимается с вероятностями:

p yj 2 =1 = NETj ( ) ( ) p yj 2 = 0 = -NETj ( ) ( ) = w xij NETj 2 ij 2 i Первый слой не выполняет вычислений, а лишь распределяет входные сигналы по нейронам вто рого слоя.

xs,ds Обучающее множество содержит известные пары выходных и входных векторов, как и в { } алгоритме обратного распространения, — номер эталона в обучающем множестве. Функ s =1...S цию ошибки выберем нормированной и линейной, чтобы ее можно было трактовать как вероят ность:

= ys3 - d Es s () NO i j j где NO — количество выходов сети. За счет нормирования Es 0;

1.

[ ] Выходной слой обучается обычным способом, коррекции весов выходного слоя:

d NETj ( )ys s wij3 d = - ys ( ) j j j dNETj NETj Второй слой обучается с поощрением и наказанием. Введем градационный сигнал r, характеризую щий качество выходного результата. Возможны два варианта.

1. Дискретный градационный сигнал с двумя возможными значениями, 0 и 1, с вероятностями = 0 = p r Es, p r =1 =1- Es ( ) ( ) 2. Непрерывный градационный сигнал, = 1- Es.

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

Коррекции весов во втором слое выбираются в виде:

= - + 1- ) wij 2 r yj 2 NETj 2 xij 2 r yj - NETj 2 xij ( ( ) ( ) () (1- ) где — скорость обучения;

<< 1 — цена ошибки (в нейронных сетях, в отличие от задач поиска сигналов, цена ошибки намного меньше цены правильного решения).

Чтобы лучше понять выражение (), запишем его в алгоритмическом виде для дискретного r:

Если r = 1 то { если yj2 = 1, то вес увеличивается, иначе уменьшается } Если r = 0 то { если yj2 = 1, то вес уменьшается, иначе увеличивается } — такое правило обучения очень напоминает уже знакомое правило Хэбба.

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

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

Будем характеризовать объекты, подлежащие классификации, вектором параметров xp, име X T p ющим N компонент, компоненты обозначаем нижним индексом: xp =,...,. Вектор парамет x1p xN () ров — единственная характеристика объектов при их классификации.

= Введем множество классов C1,...,CM Cm в пространстве классов С:

{ } CM C C1 C2...

() Пространство классов может не совпадать с пространством объектов X и иметь другую размер ность. В простейшем случае, когда пространства классов и объектов совпадают, X = C, классы пред ставляют собой области пространства X, и объект xp будет отнесен к одному из классов m0, если xp Cm. В общем случае X и C различны.

cm = c1 cm Определим ядра классов,..., в пространстве классов C, как объекты, типические для { } своего класса. К примеру, если для классификации по национальности выбрать параметры {цвет глаз, рост, цвет волос}, то ядро класса "русский" может иметь параметры {голубоглазый, рост 185, волосы русые}, и к этому классу можно отнести объект с параметрами {светло голубоглазый, рост 182, волосы темно русые}, т.к. из ядер "русский", "эстонец", "киргиз" параметры объекта больше все го похожи на ядро "русский".

Очевидно, что близость объекта к ядру необходимо оценивать численно. Введем меру близости p x,cm d — скалярную функцию от объекта и ядра класса, которая тем меньше, чем больше объект ( ) похож на ядро класса. Могут потребоваться вспомогательные меры близости, определенные для двух 1 2 1,, объектов, d xp xp, и для двух ядер классов, d cm cm.

( ) ( ) d x, y = - yi ( ) ) (xi Чаще всего применяется эвклидова мера:

i x, y = - yi dxi ( ) или "city block":

i cm Задавшись числом классов M, можно поставить задачу классификации: найти M ядер классов { } xp и разбить объекты на классы Cm, т.е. построить функцию m(p) таким образом, чтобы мини { } { } мизировать сумму мер близости:

min = xp,cm(p) D () d p xp Функция m(p), определяющая номер класса по индексу p множества объектов, задает разби { } ение на классы и является решением задачи классификации.

0 В простейшем случае X = C, пространство объектов X разбивается на области Cm, и если xp Cm, { } то m p0 = m0, и объект относят к классу m0.

( ) Количество классов M может динамически меняться. При этом часто возникают ситуации, когда объекты распределены по классам неравномерно. Необходимо контролировать равномерность плот ности ядер cm в пространстве C и долю объектов, относящихся к каждому классу m0. Конкретные требования должны выбираться в зависимости от задачи. При необходимости можно корректиро вать плотность слиянием и разделением ядер. Критерии для этого могут использоваться разные, и, в основном, эмпирические. Например, два класса могут сливаться в один, если мера близости их ядер меньше, чем средняя мера близости ядер и всех объектов в этих двух классах. Применяя аналогич ные правила, надо помнить о "побочных эффектах". Приведенный критерий слияния может рабо тать некорректно (рис. ).

Рис.. Пример некорректной работы критерия слияния.

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

Полезно определить диаметр класса — максимальная мера близости между объектами данного класса.

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

Рассмотрим общий алгоритм с фиксированным количеством ядер M. Количество ядер выбирает ся заранее, исходя из конкретной задачи.

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

Каждая итерация алгоритма состоит из двух этапов:

cm = const xp 1. При неизменных ядрах ( ) { } ищем такое разбиение m p объектов на классы, { } чтобы минимизировать суммарную меру близости между объектами и ядрами их классов:

min = xp,cm(p) D () d p Результат этапа — создание функции m p, разбивающей объекты на классы.

( ) cm 2. При неизменном разбиении m p настраиваем ядра так, чтобы в пределах каждого клас ( ) { } са m0 суммарная мера близости ядра этого класса и объектов, ему принадлежащих, была минималь ной:

min = xp cm( p) для всех m0 = 1...M, Dd) ( :

p m p =m ( ) cm Результат этого этапа — новый набор ядер.

{ } Сеть Кохонена Если для классификации применять нейронные сети, необходимо формализовать задачу. Самый очевидный способ: выберем в качестве входных данных вектор параметров единственного объекта.

Результатом работы сети будет код класса, к которому принадлежит предъявленный на входе объект.

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

Выберем евклидову меру близости (). В этом случае ядро класса, минимизирующее сумму мер близости для объектов этого класса, совпадает с центром тяжести объектов:

cm = ) xp N m0 p: m(p =m ( ) где N m0 — число объектов в классе m0.

( ) xp При разбиении на классы должна быть минимизирована суммарная мера близости для всего мно xp жества входных объектов:

{ } = xip - cm(p) = D () i p i = xp, xp - 2 xp,cm(p) + cm( p),cm( p) ( ) () () p — расписано скалярное произведение. В этой сумме два слагаемых не зависят от способа разбие ния и постоянны:

cm(p),cm(p) const xp, xp = const ( ) ()=, p p Поэтому задача поиска минимума D эквивалентна поиску максимума выражения:

p p min max D x cim( ) i p i Запишем вариант алгоритма классификации для поиска максимума этой функции:

1. Цикл: для каждого вектора xp { 2. Цикл: для каждого m { = xipcim Dm, p.

3. Рассчитать i } // конец цикла : max m0 m Dm, p 4. Находим m0, для которого { } 5. Относим объект к классу m0.

} // конец цикла Такой алгоритм легко реализуется в виде нейронной сети. Для этого требуется M сумматоров, на ходящих все, и интерпретатора, находящего сумматор с максимальным выходом.

Dm, p xipcim очень напоминает взвешенную сумму NETjl = xijl, рассчитываемую формаль Сумма wijl i i ным нейроном. Выберем в качестве входных сигналов (что мы, впрочем, уже сделали) и компо xip ненты ядер в качестве весовых коэффициентов wijl. Тогда каждый формальный нейрон с числом cim входов, равным числу компонент во входном векторе, будет давать на выходе одну из сумм.

Dm, p Чтобы определить класс, к которому относится объект, нужно выбрать среди всех нейронов дан ного слоя один с максимальным выходом — это осуществляет интерпретатор. Интерпретатор — или программа, выбирающая нейрон с максимальным выходом, или слой нейронов с латеральным тор можением (описан в разделе о сети АРТ), состоящий из нейронов с обратными связями. На обыч ных ЭВМ программный интерпретатор эффективнее, т.к. латеральное торможение требует модели рования процесса во времени, что требует многих итераций.

Рассмотренная сеть нейронов, использующая евклидову меру близости для классификации объе ктов, называется сетью Кохонена (рис. ).

Рис.. Сеть Кохонена Нейроны слоя Кохонена генерируют сигналы. Интерпретатор выбирает максимальный сиг Dm, p нал слоя Кохонена и выдает номер класса m, соответствующий номеру входа, по которому интер претатором получен максимальный сигнал. Это соответствует номеру класса объекта, который был предъявлен на входе, в виде вектора xp.

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

Общее количество классов совпадает с количеством нейронов Кохонена. Меняя количество ней ронов, можно динамически менять количество классов.

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

Входные вектора сети чаще всего нормируются:

xp xp xp или xp 2 xp () xp p Возможны другие способы нормировки.

Обучение слоя Кохонена Задача обучения — научить сеть активировать один и тот же нейрон для похожих векторов xp на входе. Не важно, какой конкретно нейрон будет активирован.

1. Присвоение начальных значений Обычно начальные значения в нейронных сетях выбираются малыми случайными числами. Для слоя Кохонена такой выбор возможен, но имеет недостатки. Разумеется, если ядра классов норми рованы, то и начальные значения нужно нормировать.

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

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

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

1. Присваиваем начальные значения весовым коэффициентам.

xp 2. Подаем на вход один из векторов.

3. Рассчитываем выход слоя Кохонена, Dm,p, и определяем номер выигравшего нейрона m0, вы : max m0 Dm, p ход которого максимален,.

m 4. Корректируем веса только выигравшего нейрона m0:

p :

wm = wm + x - wm () () 0 0 wm — коррекция записана в виде векторного выражения (вектор весов нейрона m0 имеет столько компонент, сколько их у входного вектора xp ). — скорость обучения, малая положительная вели t монотонно убывает. Требования к чина. Часто используют расписание с обучением, когда = ( ) ( ) t те же, что и в случае многослойного перцептрона.

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

Алгоритм выполняется до тех пор, пока веса не перестанут меняться.

Метод выпуклой комбинации Этот метод полезен при обучении, чтобы правильно распределить плотность ядер классов (векто ров весов) в соответствии с плотностью входных векторов в пространстве X.

wim =, = dim n X 1. Присваиваем всем весам одно и то же начальное значение:. Вектора ве n сов получают длину, равную единице, как требует нормировка. Все вектора весов одинаковы.

xp 2. Задаем обучающее множество и проводим обучение, но не с векторами xp, а с вектора { } 1- t ( ) xp + t ( ) ми, где — время обучения, t — монотонно возрастающая функция, меняю t ( ) n щаяся от 0 до 1 по мере обучения.

В начале обучения t = 0 и все обучающие вектора одинаковы и равны начальному значению ( ) весов. По мере обучения t растет и обучающие вектора расходятся из точки с координатами ( ) n и приближаются к своим конечным значениям xp, которые достигаются при t =1. Каждый век ( ) тор весов "захватывает" группу или один обучающий вектор и отслеживает его по мере роста.

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

Примеры обучения Рассмотрим примеры обучения сети Кохонена обычным методом и методом выпуклой комбина ции.

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

Рис.. Обучение сети Кохонена.

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

Разберем работу метода выпуклой комбинации. Последовательное изменение картины векторов и весов показано на рис..

Рис.. Обучение методом выпуклой комбинации.

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

Модификации алгоритма обучения Чувство справедливости: чтобы не допустить отсутствие обучения по любому из нейронов, вво дится "чувство справедливости". Если нейрон чаще других выигрывает "состязание", т.е. получает максимальный выход чаще, чем в 1 из M случаев, то его значение выхода искусственно уменьшает ся, чтобы дать возможность выиграть другим нейронам. Это включает все нейроны сети в процесс обучения.

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

Режимы работы сети Обычная сеть Кохонена работает в режиме аккредитации. Это означает, что активируется единст венный нейрон Кохонена с максимальным значением выхода.

Можно не затормаживать остальные нейроны слоя Кохонена, а пронормировать выходные сиг налы, например, функцией активации softmax:

j eNET OUTj NETi = e i Тогда сумма всех выходов слоя будет равна единице и можно трактовать выходы, как вероятность отнесения объекта к каждому из классов.

Такой режим работы сети, когда активируется несколько нейронов одновременно, называется ре жимом интерполяции. Название режима объясняется тем, что если входной вектор xp плавно меня 1 ется от одного вектора весов, xp = wm к другому вектору весов xp = wm, то выход сети в режиме интерполяции (если применена функция softmax) будет плавно меняться от к, т.е. классифи m1 m кация оказывается непрерывной. Если же сеть работает в режиме аккредитации, выход изменится от к скачкообразно.

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

При этом неизбежны потери, если число классов меньше числа различных фрагментов данных.

Применим сеть Кохонена для сжатия изображений. Представим изображение в виде прямоуголь ного массива точек — пикселов. Каждый пиксел имеет свою яркость. Разделим изображение на не большие прямоугольные фрагменты, размером несколько пикселов. Создадим слой Кохонена, что бы количество входов совпадало с количеством пикселов в одном прямоугольном фрагменте. Ней ронов в слое Кохонена должно быть столько, сколько разновидностей фрагментов может встре титься в изображении. Если учесть, что различных фрагментов может быть, где с — число града cnm ций яркости в изображении, n x m — размеры фрагмента в пикселах, и для фрагмента 8 x 8 при градациях яркости может быть различных фрагментов, то очевидно, что потери при класси 7, фикации неизбежны.

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

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

Рис.. два фрагмента изображения — ядра классов, запомненные нейронами Кохонена, и фрагмент, предъявленный на входе.

Предъявим в виде входного вектора фрагмент изображения, рис..

Pages:     || 2 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

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