
- •Содержание
- •3.2. Многослойный персептрон 34
- •12.1. Обоснование выбора темы и области применения разработки 142
- •12.2. Оценка ожидаемой экономической целесообразности разработки, изготовления и использования проектируемой системы 144
- •12.3. Выводы 151
- •7. Работа с сетью Кохонена. 170
- •Введение
- •Глава 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.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.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»
- •1. Цель работы
- •2. Знания и умения, формируемые данной лабораторной работой
- •3. Постановка задачи
- •4. Принципиальные особенности сетей Кохонена.
- •5. Создание сети Кохонена
- •6. Обучение сети Кохонена
- •7. Работа с сетью Кохонена.
- •8. Задание
- •9. Контрольные вопросы
- •Приложение 2. Вопросы контролирующего курса.
- •Приложение 3. Обучающие последовательности для контролирующей системы
- •Приложение 4. Листинг контролирующей программы.
2.2. Обучение нейронной сети
Для того чтобы нейронная сеть приобрела способность решать конкретную задачу, то есть на каждый входной сигнал выдавать необходимый выходной сигнал, необходимо провести настройку параметров сети. Настройка производится по обучающей выборке, которая состоит из пар (<вход>, <желаемый выход>) - обучающих примеров.
В зависимости от решаемой задачи в обучающей выборке используются те или иные типы данных и различные размерности входных/выходных сигналов. Входные данные примеров обучающей выборки - изображения, таблицы чисел, распределения. Типы входных данных - бинарные (0 и 1), биполярные (-1 и 1) числа, целые или действительные числа из некоторого диапазона. Выходные сигналы сети - вектора целых или действительных чисел. Для решения практических задач часто требуются обучающие выборки большого объема. Из-за жестко ограниченного объема оперативной памяти компьютера разместить в ней большие обучающие выборки невозможно. Поэтому выборка делится на страницы - группы примеров. В каждый момент времени лишь одна страница примеров располагается в памяти компьютера, остальные - на жестком диске. Страницы последовательно загружаются в память компьютера. Обучение сети происходит по всей совокупности страниц примеров, по всей обучающей выборке.
В настоящее время отсутствует универсальная методика построения обучающих выборок. Набор обучающих примеров формируется по усмотрению пользователя программы моделирования нейронных сетей индивидуально для каждой конкретной решаемой задачи.
Если в необученную нейронную сеть ввести входной сигнал одного из примеров обучающей выборки, то выходной сигнал сети будет существенно отличаться от желаемого выходного сигнала, определенного в обучающей выборке. Функция ошибки численно определяет сходство всех текущих выходных сигналов сети и соответствующих желаемых выходных сигналов обучающей выборки. Наиболее распространенной функцией ошибки является среднеквадратичное отклонение. Однако предложены и другие функции ошибки.
Цель обучения - минимизировать функцию ошибки, то есть найти такие значения параметров сети, при которых текущие выходные сигналы сети минимально отличаются от соответствующих желаемых выходных сигналов, заданных обучающей выборкой.
Для обучения нейронных сетей могут быть использованы различные алгоритмы. Можно выделить две большие группы алгоритмов - градиентные и стохастические. Градиентные алгоритмы обучения сетей основаны на вычислении частных производных функции ошибки по параметрам сети. Среди градиентных различают алгоритмы первого и второго порядков. В стохастических алгоритмах поиск минимума функции ошибки ведется случайным образом.
При обучении сетей, как правило, используется один из двух следующих критериев останова:
останов при достижении некоторого малого значения функции ошибки,
останов в случае успешного решения всех примеров обучающей выборки.
Перед обучением выполняется инициализация нейронной сети, то есть присваивание параметрам сети некоторых начальных значений. Как правило, эти начальные значения - некоторые малые случайные числа.
Для формирования обучающих выборок, инициализации и обучения в программах моделирования нейронных сетей используются специальные процедуры. Возможность использования многостраничного обучения является очень важной при решении практических задач с помощью нейронных сетей, моделируемых на обычных компьютерах.
Обучение - это итерационная процедура, которая при реализации на обычных компьютерах, требует значительного времени. Алгоритмы обучения существенно различаются по скорости сходимости. Одной из самых важных характеристик программ для моделирования нейронных сетей является скорость сходимости алгоритма (или алгоритмов) обучения, которые реализованы в программе.