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

  • Глава 1. Введение в искусственные нейронные сети
  • 1.1 Проблемы, решаемые в контексте ИНС
  • Кластеризация/категоризация.
  • Память, адресуемая по содержанию.
  • 1.2 Краткий исторический обзор
  • 1.3 Модель технического нейрона
  • 1.4 Архитектура нейронной сети
  • 1.5 Обучение нейронных сетей
  • Правило коррекции по ошибке
  • Обучение методом соревнования.
  • 1.6 Многослойные сети прямого распространения
  • 1.6.1 Многослойный персептрон
  • 1.6.3 Нерешенные проблемы
  • 1.7 Самоорганизующиеся карты Кохонена
  • 1.8 Модели теории адаптивного резонанса
  • 1.9.1 Ассоциативная память
  • 1.9.2 Минимизация энергии
  • Глава 2. Основные функциональные возможности программ моделирования нейронных сетей
  • 2.1 Формирование (создание) нейронной сети
  • 2.2 Обучение нейронной сети
  • 2.3 Имитация функционирования (тестирование) обученной нейронной сети
  • Глава 3. Персептроны
  • 3.1 Однослойный персептрон
  • Алгоритм обучения однослойного персептрона

  • Скачать 56.61 Kb.


    Дата02.07.2019
    Размер56.61 Kb.
    ТипРубрика

    Скачать 56.61 Kb.

    Содержание

    Введение

    Глава 1. Введение в искусственные нейронные сети

    1.1 Проблемы, решаемые в контексте ИНС

    1.2 Краткий исторический обзор

    1.3 Модель технического нейрона

    1.4 Архитектура нейронной сети

    1.5 Обучение нейронных сетей

    1.6 Многослойные сети прямого распространения

    1.6.1 Многослойный персептрон

    1.6.2 RBF-сети

    1.6.3 Нерешенные проблемы

    1.7 Самоорганизующиеся карты Кохонена

    1.8 Модели теории адаптивного резонанса

    1.9 Сеть Хопфилда

    1.9.1 Ассоциативная память

    1.9.2 Минимизация энергии

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

    2.1 Формирование (создание) нейронной сети

    2.2 Обучение нейронной сети

    2.3 Имитация функционирования (тестирование) обученной нейронной сети

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

    3.1 Однослойный персептрон

    3.2 Многослойный персептрон

    3.2.1 Архитектура сети

    3.2.2 Алгоритм обратного распространения

    3.2.3 Модификации алгоритма обратного распространения и RPROP-алгоритма

    3.3. Применение многослойных персептронов

    3.3.1 Решение конкретных задач

    3.3.2 Естественные координаты

    3.3.3 Репликативные нейронные сети

    3.3.4 Практическое использование репликативных нейронных сетей

    Глава 4. Сети Кохонена

    4.1 Основной принцип работы сети Кохонена

    4.2 Сходимость алгоритма самообучения

    Глава 5. Сети радиальных базисных функций

    5.1 Архитектура сетей

    5.2 Интерполяция при помощи центральных функций

    5.3 Интерполяция с помощью центральных функций и полиномов

    5.4 Аппроксимация с помощью центральных функций

    5.5 Вариационное исчисление для решения проблемы аппроксимации с помощью RBF-сетей

    5.6 Расширение на случай многих функций

    5.7 Расширение линейной частью

    5.8 Сети гипер-базисных функций (Hyper-Basisfunktionen-Netze = HBF-Netze)

    5.9 Итеративное дополнительное обучение RBF- и HBF-сетей

    5.10 Выбор центров и радиусов в RBF-сетях

    5.10.1 Итеративный алгоритм кластеризации

    5.10.2 Выбор параметра

    5.10.3 Расчет выходной весовой матрицы C

    Глава 6. Нейронные сети и генетические алгоритмы

    6.1 Эволюция как способ оптимизации

    6.2 Генетические алгоритмы

    6.3 Нейро-генетические способы

    Глава 7. Система моделирования нейронных сетей Trajan 2.0

    7.1. Создание сети и обучающей последовательности

    7.1.1 Создание сети

    7.1.2 Количество и размерность слоев в сети

    7.1.3 Создание обучающей последовательности

    7.1.4 Редактирование набора образцов

    7.2. Обучение сети

    7.2.1 Типы сетей

    7.2.2 Создание обучающей и проверочной последовательностей образов

    7.2.3 Создание сокращенной обучающей последовательности

    7.2.4 Визуализация процесса обучения

    7.2.5 Оптимизация процесса обучения

    7.2.6 Обучение с перекрестной проверкой

    7.3 Работа с сетью

    7.3.1 Возможности сети по работе с образцами

    7.3.2 Интерпретация классификации

    7.3.3 Работа с сетью Кохонена

    7.4 Генетический алгоритм выбора входных атрибутов

    7.5 Сохранение результатов работы

    Глава 8. Экспериментальное исследование эффективности применения нейронных сетей

    Глава 9. Методика представления, архивирования и обработки обучающей последовательности для алгоритмов обучения нейросетей

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

    Глава 11. Создание программ для среды WWW

    Глава 12. Технико-экономический анализ и обоснование разработки адаптивного обучающего и контролирующего курсов по нейросетям

    12.1 Обоснование выбора темы и области применения разработки

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

    12.2.1 Расчет затрат на разрабоку и изготовление предлагаемого курса

    12.2.2 Расчет экономического эффекта от создания и использования обучающего курса

    12.3 Выводы

    Глава 13. Обучение контролирующей системы

    Глава 14. Дистанционный обучающий и контролирующий курс

    Заключение

    Литература

    Приложение 1. Лабораторная работа «Кластеризация образов с помощью системы моделирования нейросетей Trajan 2.1»

    Приложение 2. Вопросы контролирующего курса

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

    Приложение 4. Листинг контролирующей программы

    Введение

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

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

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

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

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

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

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

    Глава 1 посвящена введению в нейронные сети. В главе 2 проведен обзор возможностей программ моделирования нейронных сетей. Главы 3-5 содержат детальное описание определенных видов нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. В главе 6 рассматривается генетический алгоритм и его применение для оптимизации нейросетей. Глава 7 содержит описание возможностей системы моделирования нейронных сетей Trajan 2.0 и рекомендации по ее применению. Результаты экспериментального исселдования возможности применения нейросетей для контроля знаний приведены в главе 8, а глава 9 содержит методику обучающей последовательности. В главах 10-11 приведены возможности использования среды WWW в дистанционном обучении, создания программ для нее и примеры программ: демонстрация работы сети Кохонена и программа дистанционного контроля знаний, использующая нейросеть. В главе 12 проведен технико-экономический анализ и обоснование разработки адаптивного обучающего и контролирующего курсов по нейронным сетям. В главе 13 представлена методика обучения контролирующей системы на основе нейросети и в главе 14 приведено описание работы созданного комплекса дистанционного обучения.

    Глава 1. Введение в искусственные нейронные сети

    нейронный сеть моделирование алгоритм

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

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

    * массовый параллелизм,

    * распределенное представление информации и вычисления,

    * способность к обучению и способность к обобщению,

    * адаптивность,

    * свойство контекстуальной обработки информации,

    * толерантность к ошибкам,

    * низкое энергопотребление.

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

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

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

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

    1.1 Проблемы, решаемые в контексте ИНС

    Представим некоторые проблемы, решаемые в контексте ИНС и представляющие интерес для ученых и инженеров.

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

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

    Аппроксимация функций. Предположим, что имеется обучающая выборка ((x1,y1), (x2,y2)..., (xn,yn)) (пары данных вход-выход), которая генерируется неизвестной функцией (x), искаженной шумом. Задача аппроксимации состоит в нахождении оценки неизвестной функции (x). Аппроксимация функций необходима при решении многочисленных инженерных и научных задач моделирования.

    Предсказание/прогноз. Пусть заданы n дискретных отсчетов {y(t1), y(t2)..., y(tn)} в последовательные моменты времени t1, t2,..., tn . Задача состоит в предсказании значения y(tn+1) в некоторый будущий момент времени tn+1. Предсказание/прогноз имеют значительное влияние на принятие решений в бизнесе, науке и технике. Предсказание цен на фондовой бирже и прогноз погоды являются типичными приложениями техники предсказания/прогноза.

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

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

    Управление. Рассмотрим динамическую систему, заданную совокупностью {u(t), y(t)}, где u(t) является входным управляющим воздействием, а y(t) - выходом системы в момент времени t. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью. Примером является оптимальное управление двигателем.

    1.2 Краткий исторический обзор

    Исследования в области ИНС пережили три периода активизации. Первый пик в 40-х годах обусловлен пионерской работой МакКаллока и Питтса. Считается, что теория нейронных сетей, как научное направление, впервые была обозначена в классической работе МакКаллока и Питтса 1943 г., в которой утверждалось, что, в принципе, любую арифметическую или логическую функцию можно реализовать с помощью простой нейронной сети. Второй возник в 60-х благодаря теореме сходимости персептрона Розенблатта и работе Минского и Пейперта, указавшей ограниченные возможности простейшего персептрона. Результаты Минского и Пейперта погасили энтузиазм большинства исследователей, особенно тех, кто работал в области вычислительных наук. Возникшее в исследованиях по нейронным сетям затишье продлилось почти 20 лет. С начала 80-х годов ИНС вновь привлекли интерес исследователей, что связано с энергетическим подходом Хопфилда и алгоритмом обратного распространения для обучения многослойного персептрона (многослойные сети прямого распространения), впервые предложенного Вербосом и независимо разработанного рядом других авторов. Алгоритм получил известность благодаря Румельхарту в 1986году Андерсон и Розенфельд подготовили подробную историческую справку о развитии ИНС.

    1.3 Модель технического нейрона

    МакКаллок и Питтс предложили использовать бинарный пороговый элемент в качестве модели искусственного нейрона. Этот математический нейрон вычисляет взвешенную сумму n входных сигналов xj, j = 1, 2... n, и формирует на выходе сигнал величины 1, если эта сумма превышает определенный порог u, и 0 - в противном случае.

    Часто удобно рассматривать u как весовой коэффициент, связанный с постоянным входом x0 = 1. Положительные веса соответствуют возбуждающим связям, а отрицательные - тормозным. МакКаллок и Питтс доказали, что при соответствующим образом подобранных весах совокупность параллельно функционирующих нейронов подобного типа способна выполнять универсальные вычисления. Здесь наблюдается определенная аналогия с биологическим нейроном: передачу сигнала и взаимосвязи имитируют аксоны и дендриты, веса связей соответствуют синапсам, а пороговая функция отражает активность сомы.

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

    Математическая модель нейрона:

    N

    S = wi xi (1)

    i=1

    y = f (S) (2)

    где

    wi - вес синапса (weight), (i=1,2...N);

    S - результат суммирования (sum);

    xi - компонента входного вектора (входной сигнал), (i=1,2,...N);

    y - выходной сигнал нейрона;

    N - число входов нейрона;

    f - нелинейное преобразование (функция активации).

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

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

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

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

    На входной сигнал (s) нелинейный преобразователь отвечает выходным сигналом f(s,p), который представляет собой выход нейрона (y). Здесь p - параметр или набор параметров, от которых зависит функционирование преобразователя. Пример передаточной функции представлен на рис. 2.

    1.4 Архитектура нейронной сети

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

    Нейронные сети могут иметь различные архитектуры. Можно выделить три основных типа нейронных сетей:

    полносвязные сети (рис. 3-а),

    многослойные сети (рис. 3-б),

    слабосвязные сети (нейронные сети с локальными связями) (рис. 3-в).

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

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

    В многослойных сетях нейроны объединяются в слои. Слой - это совокупность нейронов c единым входным сигналом. Внешние входные сигналы подаются на входы нейронов первого слоя, а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько промежуточных (скрытых) слоев. Вход нейронной сети можно рассматривать как выход "нулевого слоя" вырожденных нейронов. Связи от выходов нейронов некоторого слоя m к входам нейронов следующего слоя (m+1) называются последовательными.

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

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

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

    1.5 Обучение нейронных сетей

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

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

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

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

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

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

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

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

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

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

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

    Таблица 1. Известные алгоритмы обучения нейросетей

    Парадигма

    Обучающее правило

    Архитектура

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

    Задача

    С учителем

    Коррекция ошибки

    Однослойный и многослойный персептрон

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

    Обратное распространение Adaline и Madaline

    Классификация образов

    Аппроксимация функций

    Предсказание, управление

    Больцман

    Рекуррентная

    Алгоритм обучения Больцмана

    Классификация образов

    Хебб

    Многослойная прямого распространения

    Линейный дискриминантный анализ

    Анализ данных

    Классификация образов

    Соревнование

    Соревнование

    Векторное квантование

    Категоризация внутри класса Сжатие данных

    Сеть ART

    ARTMap

    Классификация образов

    Без учителя

    Коррекция ошибки

    Многослойная прямого распространения

    Проекция Саммона

    Категоризация внутри класса Анализ данных

    Хебб

    Прямого распространения или соревнование

    Анализ главных компонентов

    Анализ данных

    Сжатие данных

    Сеть Хопфилда

    Обучение ассоциативной памяти

    Ассоциативная память

    Соревнование

    Соревнование

    Векторное квантование

    Категоризация

    Сжатие данных

    SOM Кохонена

    SOM Кохонена

    Категоризация

    Анализ данных

    Сети ART

    ART1, ART2

    Категоризация

    Смешанная

    Коррекция ошибки и соревнование

    Сеть RBF

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

    Классификация образов

    Аппроксимация функций

    Предсказание, управление

    1.6 Многослойные сети прямого распространения

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

    1.6.1 Многослойный персептрон

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

    1.6.2 RBF-сети

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

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

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

    1.6.3 Нерешенные проблемы

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

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

    1.7 Самоорганизующиеся карты Кохонена

    Самоорганизующиеся карты Кохонена (SOM) [16] обладают благоприятным свойством сохранения топологии, которое воспроизводит важный аспект карт признаков в коре головного мозга высокоорганизованных животных. В отображении с сохранением топологии близкие входные примеры возбуждают близкие выходные элементы. На рис. 2 показана основная архитектура сети SOM Кохонена. По существу она представляет собой двумерный массив элементов, причем каждый элемент связан со всеми n входными узлами.

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

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

    1.8 Модели теории адаптивного резонанса

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

    Карпентер и Гроссберг, разработавшие модели теории адаптивного резонанса (ART1, ART2 и ARTMAP) [17], сделали попытку решить эту дилемму. Сеть имеет достаточное число выходных элементов, но они не используются до тех пор, пока не возникнет в этом необходимость. Будем говорить, что элемент распределен (не распределен), если он используется (не используется). Обучающий алгоритм корректирует имеющийся прототип категории, только если входной вектор в достаточной степени ему подобен. В этом случае они резонируют. Степень подобия контролируется параметром сходства k, 0

    Чтобы проиллюстрировать модель, рассмотрим сеть ART1, которая рассчитана на бинарный (0/1) вход. Упрощенная схема архитектуры ART1 [2] представлена на рис. 4. Она содержит два слоя элементов с полными связями.

    Направленный сверху вниз весовой вектор wj соответствует элементу j входного слоя, а направленный снизу вверх весовой вектор i связан с выходным элементом i; i является нормализованной версией wi . Векторы wj сохраняют прототипы кластеров. Роль нормализации состоит в том, чтобы предотвратить доминирование векторов с большой длиной над векторами с малой длиной. Сигнал сброса R генерируется только тогда, когда подобие ниже заданного уровня.

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

    1.9 Сеть Хопфилда

    Хопфилд использовал функцию энергии как инструмент для построения рекуррентных сетей и для понимания их динамики [7]. Формализация Хопфилда сделала ясным принцип хранения информации как динамически устойчивых аттракторов и популяризовала использование рекуррентных сетей для ассоциативной памяти и для решения комбинаторных задач оптимизации.

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

    1.9.1 Ассоциативная память

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

    Ассоциативная память обычно работает в двух режимах: хранения и восстановления. В режиме хранения веса связей в сети определяются так, чтобы аттракторы запомнили набор p n-мерных образцов {x1, x2,..., xp), которые должны быть сохранены. Во втором режиме входной пример используется как начальное состояние сети, и далее сеть эволюционирует согласно своей динамике. Выходной образец устанавливается, когда сеть достигает равновесия.

    Сколько примеров могут быть сохранены в сети с n бинарными элементами? Другими словами, какова емкость памяти сети? Она конечна, так как сеть с n бинарными элементами имеет максимально 2n различных состояний, и не все из них являются аттракторами. Более того, не все аттракторы могут хранить полезные образцы. Ложные аттракторы могут также хранить образцы, но они отличаются от примеров обучающей выборки. Показано, что максимальное число случайных образцов, которые может хранить сеть Хопфилда, составляет Pmax ( 0.15 n. Когда число сохраняемых образцов p ( 0.15 n, достигается наиболее успешный вызов данных из памяти. Если запоминаемые образцы представлены ортогональными векторами (в отличие от случайных), то количество сохраненных в памяти образцов будет увеличиваться. Число ложных аттракторов возрастает, когда p достигает емкости сети. Несколько правил обучения предложено для увеличения емкости памяти сети Хопфилда. Заметим, что в сети для хранения p n-битных примеров требуется реализовать 2n связей.

    1.9.2 Минимизация энергии

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

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

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

    2.1 Формирование (создание) нейронной сети

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

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

    - Многослойные нейронные сети.

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

    последовательные, если s=1,

    прямые, если s>1,

    обратные, если s<0.

    Связи между нейронами одного слоя называют латеральными (боковыми).

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

    - Нейронные сети с локальными связями. Нейроны в таких сетях располагаются в узлах прямоугольной решетки. Каждый нейрон связан с небольшим числом (4 или 8) своих топологических соседей.

    - Неструктурированные нейронные сети. К этой группе относятся все модели нейронных сетей, которые нельзя отнести ни к одной из предыдущих групп.

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

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

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

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

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

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

    2.2 Обучение нейронной сети

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

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

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

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

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

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

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

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

    останов в случае успешного решения всех примеров обучающей выборки.

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

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

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

    2.3 Имитация функционирования (тестирование) обученной нейронной сети

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

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

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

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

    3.1 Однослойный персептрон

    Модель однослойного персептрона (single layer perceptron) разработана Розенблаттом в 1959 г.

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

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

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

    Алгоритм обучения однослойного персептрона:

    1. Инициализация синаптических весов и смещения:

    Значения синаптических весов wj(0) (0 i N-1) и смещение нейрона b устанавливаются равными некоторым малым случайным числам.