МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Смоленский государственный университет» УТВЕРЖДАЮ Ректор СмолГУ _____________ /Х.Х. Хххх/ «___» ххххххх 201Х г. РЕКЛАМНО-ТЕХНИЧЕСКОЕ ОПИСАНИЕ Программная модель искусственных нейронных сетей Back Propagation и Delta Bar Delta .07871034.00033-01 99 01 Листов 10 Разработчик(и): ______________ / Иванов А.А. / ______________ / Петров А.Б. / ______________ / Фамилия, инициалы / «___» ххххххх 201Х г. 2 .07871034.00033-01 99 01 1. Функциональное назначение программы, область её применения, её ограничения 1.1 Назначение программы Разработанная программная модель искусственных нейронных сетей Back Propagation и Delta Bar Delta предназначена для изучения свойств искусственных нейронных сетей с обратным распространением ошибки. В модели предусмотрена возможность формирования нейронной сети, обучающейся по методам Back Propagation или Delta Bar Delta, с одним или двумя скрытыми слоями, которая может быть применена для решения задачи классификации входных ситуаций с большим числом признаков. Кластеризация обучающих ситуаций при этом осуществляется с помощью метода динамических ядер. Результаты классификации с помощью сетей Back Propagation и Delta Bar Delta идентичны. Увеличение числа обучающих ситуаций и уменьшение ошибки обучения позволяют улучшать результаты классификации ситуаций. Особенностью применения сети Delta Bar Delta является наиболее быстрое обучение за счет адаптивного алгоритма выбора шага обучения в отличие от сети Back Propagation, которая использует постоянный шаг, особенно при увеличении числа нейронов в скрытом слое. Программная модель искусственных нейронных сетей Back Propagation и Delta Bar Delta реализована в среде программирования Borland C++ Builder 6.0. 1.2 Краткое описание работы Интеллектуальные системы на основе искусственных нейронных сетей позволяют с успехом решать проблемы распознавания ситуаций, выполнения прогнозов, оптимизации, ассоциативной памяти и управления. Искусственные нейронные сети типов Back Propagation и Delta Bar Delta используют для обучения алгоритм обратного распространения ошибки. В сети Back Propagation применяется постоянный коэффициент скорости обучения, а в сети Delta Bar Delta коэффициент скорости обучения может адаптивно изменяться для каждого нейрона по-своему с помощью эвристических правил. Представленная программная модель искусственных нейронных сетей Back Propagation и Delta Bar Delta разработана для изучения свойств нейронных сетей с обратным распространением ошибки. 3 .07871034.00033-01 99 01 Работа программной модели (далее – программы) начинается с вкладки «Параметры», имеющей вид в соответствии с рисунком 1, где задаются основные параметры работы. Рисунок 1 – Окно ввода исходных параметров Далее на вкладке «Обуч. входные сигналы», в соответствии с рисунке 2, задаются обучающие входные сигналы, где изменяя коэффициент генерации также можно воспользоваться генератором входных сигналов. … Следующим этапом работы программы является кластеризация входных сигналов в соответствии с рисунком 3, который иллюстрирует вкладку «Кластеризация». Это позволяет автоматически получить обучающие выходные векторы, которые также можно задать вручную. … Для обучения сети также необходимо задать начальные значения весов (вкладка «Веса», рисунке 4), где также можно воспользоваться автоматическим генератором весов. … Следующим этапом работы программы является обучение сети (вкладка «Обучение», рисунок 5), критерием которого является достижение заданного значения ошибки обучения. В процессе обучения сетей Back Propagation или Delta Bar Delta значения весов изменяются, что отображается на вкладке «Веса». Для настрой- 4 .07871034.00033-01 99 01 ки весовых коэффициентов используется рекурсивный алгоритм, в котором приращением веса является произведение коэффициента скорости обучения и градиента изменения веса. Если размер шага (приращения) очень мал, то сходимость слишком медленная. Рисунок 5 – Окно вывода результатов обучения сети Обратное распространение ошибки использует разновидность градиентного спуска, и если размер шага очень велик, то сеть может попасть в локальный минимум. В точке локального минимума все направления ведут вверх, и сеть неспособна из него выбраться. Это явление связано со свойствами используемой передаточной функции – сигмоидальной функции Ферми: f (S ) 1 , 1 е 2aS где S – выход сумматора нейрона; а – параметр функции Ферми. Обучение может остановиться, если приращение веса у всех нейронов будет одинаковым в результате того, что выходы нейронов предыдущего слоя становятся равными 1 или очень близкими к ней. Это может быть следствием увеличения параметров S и a. 5 .07871034.00033-01 99 01 … Сеть Delta Bar Delta за счет адаптивного алгоритма выбора шага обучается намного быстрее, чем сеть Back Propagation, которая использует постоянный шаг, особенно при увеличении числа нейронов в скрытом слое. Скорость обучения сети Delta Bar Delta зависит от коэффициента увеличения скорости обучения, параметра a функции Ферми, числа нейронов в скрытом слое и числа скрытых слоев. При увеличении нейронов в скрытом слое скорость обучения падает. Увеличение числа скрытых слоев ведет к замедлению обучения. Коэффициент увеличения скорости обучения, параметр a функции Ферми, число нейронов в скрытом слое выбираются эмпирическим путем и зависят от конкретной задачи. После того как сеть обучена (рисунок 6), производится классификация векторов, которые задаются на вкладке «Классификация». Классификация является интеллектуальной деятельностью высокого уровня, необходимой нам для понимания природы. Пример классификации некоторого вектора к одному из кластеров представлен на рисунке 7. Рисунок 7 – Окно вывода классификации некоторого вектора к одному из кластеров Результаты классификации заданного на предыдущем рисунке входного вектора представлены на рисунке 8. Результаты классификации множества векторов для сети Delta Bar Delta при различном числе обучающих векторов представлены на рисунке 10. 6 .07871034.00033-01 99 01 а б Рисунок 10 – Результаты классификации для сети Delta Bar Delta при а) 25 обучающих векторах, б) 250 обучающих векторах Увеличение числа обучающих векторов приводит к снижению числа неправильно классифицированных векторов как для сети Back Propagation, так и для сети Delta Bar Delta. Это закономерно, т. к. различие сетей состоит только в алгоритме выбора приращения весов. Результаты классификации сетью Delta Bar Delta при разных ошибках обучения в графическом виде представлены на рисунке 11, из которого видно, что при большей ошибке обучения значительно больше неклассифицированных векторов. а б Рисунок 11 – Результаты классификации для сети Delta Bar Delta при ошибке обучения, равной а) 10, б) 0,1 7 .07871034.00033-01 99 01 Таким образом, при уменьшении ошибки обучения число неправильно классифицированных векторов уменьшается, а число неправильно классифицированных векторов среди тех, которые должны быть отнесены к какому-либо кластеру, стремится к нулевому значению. В ходе исследования, проведенного с использованием разработанной программной модели, установлено, что результаты классификации с помощью сетей Back Propagation и Delta Bar Delta идентичны, а увеличение числа обучающих векторов и уменьшение ошибки обучения позволяют улучшить результаты классификации обеими сетями. Применительно к классификации ситуаций с помощью сетей обратного распространения, увеличение числа признаков ситуаций позволяет уменьшить число нераспознанных ситуаций. Уменьшение ошибки обучения нейронной сети Delta Bar Delta уменьшает число нераспознанных ситуаций. 1.3 Область применения программы Разработанная программная модель сетей Back Propagation и Delta Bar Delta позволяет проводить анализ по изучению свойств искусственных нейронных сетей с обратным распространением ошибки, обучающихся по методам Back Propagation или Delta Bar Delta, с одним или двумя скрытыми слоями. Программная модель искусственных нейронных сетей Back Propagation и Delta Bar Delta может быть применена для решения задач обучения и классификации входных ситуаций с большим числом признаков в процессе решения задач управления в сложной организационно-технической системе. 1.4 Ограничения использования программы Данная программа рассчитана: для работы под управлением операционной системой семейства Microsoft Windows; на пользователя с базовыми навыками использования программного обеспечения. В программе предусмотрена возможность формирования нейронной сети, обучающейся по методам Back Propagation или Delta Bad Delta, с одним или двумя скрытыми слоями. Ограничения на структуру нейронной сети: максимальное число нейронов в слое – 1000; минимальное число нейронов в слое – 1; максимальное число обучающих образов – 1000; минимальное число обучающих образов – 1; 8 .07871034.00033-01 99 01 Ограничения на входные векторы: координаты в диапазоне от 0.0 до 1000.0. Для графического представления результатов кластеризации и классификации: размерность входных векторов должна быть равна 2. 2. Техническое описание программы 2.1 Структура программного продукта Структура разработанной программной модели имеет вид в соответствии с рисунком 12. Модуль инициализации сети Модуль определения элементов обучающей выборки Модуль организации взаимодействия Модуль отображения результатов Модуль вычисления текущего выходного сигнала Модуль настройки синаптических весов Модуль расчета ошибки сети Рисунок 12 – Структура программной модели Модули программной модели искусственных нейронных сетей Back Propagation и Delta Bar Delta включают процедуры и выполняют функции, указанные в таблице. Таблица – Описание модулей и процедур программной модели Имя модуля или процедуры Назначение модуля Этап 1. Инициализация сети: Button1Click задание параметров сети и типа сети; Button3Click генерация весов; Button4Click генерация входных сигналов. 9 .07871034.00033-01 99 01 Продолжение таблицы Этап 2. Определение элементов обучающей выборки: Button13Click кластеризация обучающих входных векторов и определение обучающих выходных векторов. Этап 3. Вычисление текущего выходного сигнала: BPN_Calc_InvislbleLayer1 вычисление выходов 1-го скрытого слоя сети Back Propagation; BPN_Calc_InvislbleLayer2 вычисление выходов 2-го скрытого слоя сети Back Propagation; DBD_Calc_OutputLayerOne вычисление выходов выходного слоя сети Delta Bar Delta для случая с одним скрытым слоем. Этап 4. Настройка синаптических весов: BPN_Calc_Weight_OutputLayer настройка весов выходного слоя сети Back Propagation; DBD_Calc_Weight_OutputLayer настройка весов выходного слоя сети Delta Bar Delta; DBD_Calc_Weight_InvisibleLayer2 настройка весов 2-го слоя сети Delta Bar Delta; Этап 5. Расчет ошибки сети: расчет ошибки сети по всем образам и выходным нейронам. Net_Calc_Error Этап 6. Организация взаимодействия: BPN_Work_Only вычисление сети Back Propagation; BPN_Work вычисление сети Back Propagation и подстройка весов; DBD_Work_Only вычисление сети Delta Bar Delta; DBD_Work вычисление сети Delta Bar Delta и подстройка весов. 2.2 Применяемые программные средства Для реализации разработанной программной модели использована среда программирования Borland C++ Builder 6.0. 2.3 Аппаратные требования Для нормального функционирования программы предъявляются следующие требования к аппаратно – программной части рабочего места пользователя: 1. минимальные: – процессор Intel или AMD Single Core с частотой не ниже 1 GHz; 10 .07871034.00033-01 99 01 – оперативная память емкостью не менее 64 Mb; – интегрированный видеоадаптер; – свободное место на системном разделе жесткого диска 40 Mb; – операционная система Microsoft Windows XP; 2. рекомендуемые: – процессор Intel или AMD Dual Core с частотой 2 GHz; – оперативная память емкостью 256 Mb; – интегрированный видеоадаптер; – свободное место на системном разделе жесткого диска 40 Mb; – операционная система Windows 7. 3. Специальные условия применения Программная модель рассчитана совместима с любыми версиями операционной системой семейства Microsoft Windows. 4. Условия передачи программной документации или ее продажи По вопросам приобретения и продажи программного продукта обращаться по адресу: 214000, Смоленск, ул. Пржевальского, 4 ФГБОУ ВПО «Смоленский государственный университет»; телефон: (xxx) xxx-xx-xx; e-mail: [email protected]. Авторский коллектив ФГБОУ ВПО «Смоленский государственный университет» кандидат технических наук Иванов Александр Алексеевич; кандидат военных наук, доцент Петров Алексей Борисович; /уч. степень, уч. звание, фамилия, имя, отчество/