Нейрокомпьютеры: от вычислений-к распознаванию образов. Принцип работы нейронной сети.

Нечеткая логика и нейронные сети

Контрольные вопросы по предмету

0


Подпишитесь на бесплатную рассылку видео-курсов:

Текст видеолекции

Нейрокомпьютеры 

 

Содержание лекции:

  1. Нейрокомпьютеры: от вычислений - к распознаванию образов.
  2. Принцип работы нейронной сети.
  3. Этапы построения нейронных сетей.
  4. Обучение искусственных нейронных сетей.

 

 

  1. 1.     Нейрокомпьютеры: от вычислений - к распознаванию образов

 

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

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

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

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

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

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

Толчком к развитию нейрокомпьютинга послужили биологические исследования. По данным нейробиологии нервная система человека и животных состоит из отдельных клеток - нейронов. В мозге человека их число достигает 1.0e10 - 1.0e12. Каждый нейрон связан с 1.0e3 - 1.0e4 другими нейронами и выполняет сравнительно простые действия. Время срабатывания нейрона - 2-5 мс. Совокупная работа всех нейронов обуславливает сложную работу мозга, который в реальном времени решает сложнейшие задачи. Отличия нейрокомпьютеров от вычислительных устройств предыдущих поколений:

·         параллельная работа очень большого числа простых вычислительных устройств обеспечивает огромное быстродействие;

·         нейронная сеть способна к обучению, которое осуществляется путем настройки параметров сети;

·         высокая помехо- и отказоустойчивость нейронных сетей;

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

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

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

Разработки в области нейрокомпьютинга ведутся по следующим направлениям:

·         разработка нейроалгоритмов;

·         создание специализированного программного обеспечения для моделирования нейронных сетей;

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

·         электронные реализации нейронных сетей;

·         оптоэлектронные реализации нейронных сетей.

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

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

В России уже успешно функционирует один из первых мощных нейрокомпьютеров для финансового применения - CNAPS PC/128 на базе 4-х нейроБИС фирмы Alaptive Solutions. По данным фирмы "Торацентр" в число организаций, использующих нейронные сети для решения своих задач, уже вошли: Центробанк, МЧС, Налоговая Инспекция, более 30 банков и более 60 финансовых компаний.

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

2. Принцип работы нейронной сети

 

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

Принципы работы нейронных сетей рассмотрим на примере различных моделей нейронных сетей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автором когнитрона является японский ученый И. Фукушима.

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

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

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

 

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

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

Способом обратного распространения (back propogation) называется способ обучения многослойных нейронных сетей (НС).

Многослойная нейронная сеть

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

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

3. Этапы построения нейронных сетей

Процедура построения нейронной сети состоит из трех этапов:

- обработка и подготовка имеющихся данных,

- проектирование структуры нейронной сети,

- настройка параметров нейронной сети.

I этап требует выполнения следующих действий:

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

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

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

II этап включает следующие действия:

– выбрать функцию активизации. Это определяется спецификой задачи.

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

III этап состоит из следующих действий:

– задать начальное значение весовых коэффициентов.

– обучение нейронной сети.

– проверка результатов работы сети.

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

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

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

1. Инициализация весов.

2. Передача образа.

3. Расчет ошибки.

4. Изменение  и для уменьшения ошибки.

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

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

1. Стабилизирующие методы Ньютона, Гаусса – Ньютона, Левинберга – Маркардта.

2. Квазиньютоновские методы.

3. Методы сопряженных градиентов.

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

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

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

Нейронные сети могут быть реализованы двумя путями: первый - это программная модель НС, второй - аппаратная.

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

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

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

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

Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация перцептрона, разработанная Розенблатом, называлась Mark I).

Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений/с.

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

Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment), обеспечивающую программную совместимость моделей.

Помимо указанных моделей фирмы TRW предлагает также пакет Mark II - программный эмулятор НС.

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

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

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

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

Обучение с учителем и без учителя

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

Метод обучения Хэбба

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

Алгоритм обучения Хэбба

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

Идея алгоритма выражается следующим равенством:

 

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

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

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

Метод сигнального обучения Хэбба

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

 

где — выход NET нейрона , — выход нейрона , — вес связи нейрона с нейроном

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

 

где — сила синапса от нейрона к нейрону в момент времени , — выходной уровень пресинаптического нейрона равный , — выходной уровень постсинаптического нейрона, равный

Метод дифференциального обучения Хэбба

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

 

где — сила синапса от нейрона к нейрону в момент времени , — выходной уровень пресинаптического нейрона в момент времени , — выходной уровень постсинаптического нейрона в момент времени

Входные и выходные звезды

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

 


Рис. 15.1.

 


Рис. 15.2.

Обучение входной звезды

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

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

 

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

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

Обучение выходной звезды

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

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

 

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

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

Обучение персептрона

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

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

 


Рис. 15.3.

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

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

 

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

\theta_j,\\ 0, & \quad \text{в противном случае.} \end{aligned} \right." v:shapes="_x0000_i1076">

Здесь представляет собой порог, соответствующий нейрону (в простейшем случае все нейроны имеют один и тот же порог).

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

 

  1. Каждый вес модифицируется следующим образом:

 

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

Метод обучения Уидроу—Хоффа

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

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

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

 

Метод статистического обучения

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

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

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

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

  1. Подать обучающий вектор на вход сети и вычислить выход согласно соответствующим сетевым правилам.
  2. Вычислить значение средней квадратичной ошибки между желаемым и полученным выходными векторами.
  3. Изменить сетевые веса случайным образом, затем вычислить новый выход и результирующую ошибку. Если ошибка уменьшилась, оставить измененный вес; если ошибка увеличилась, оставить измененный вес с вероятностью, определяемой распределением Больцмана. Если изменения весов не производится, то вернуть вес к его предыдущему значению.
  4. Повторить шаги с 1 по 3, постепенно уменьшая искусственную температуру.

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

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

 

Самоорганизация

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

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

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

  1. Вектор подается на вход сети.
  2. Определяются расстояния (в -мерном пространстве) между и весовыми векторами каждого нейрона. В евклидовом пространстве это расстояние вычисляется по следующей формуле:

 

где — компонента входного вектора , — вес входа нейрона

  1. Нейрон, который имеет весовой вектор, самый близкий к , объявляется победителем. Этот вектор, называемый , становится основным в группе весовых векторов, которые лежат в пределах расстояния от
  2. Группа весовых векторов настраивается в соответствии со следующим выражением:

 

для всех весовых векторов в пределах расстояния от

  1. Повторяются шаги с 1 по 4 для каждого входного вектора.

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

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

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

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

 

Литература

  1. А. И. Галушкин. Нейронные сети. Основы теории. - М.: Горячая Линия — Телеком, 2010.
  2. Татузов А.Л. Нейронные сети в задачах радиолокации. – М.: Радиотехника, 2009.
  3. Саймон Хайкин. Нейронные сети. Полный курс. – М.: Вильямс, 2006.
  4. Яхъяева Г.Э. Нечеткие множества и нейронные сети. – М.: Бином, 2006.

 

 

http://www.statsoft.ru/home/textbook/modules/stneunet.html