Круглов В.В., Борисов В.В. - Искусственные нейронные сети (ИНС) Теория и практика (778918), страница 31
Текст из файла (страница 31)
Файл для обучения нейронной сети имеет расширение *.ргп и следующее содержание: * Комментарий 1 * Комментарий п йн цтз)г [Оцтрцтз) 1 ооо о 11 1о1 11о Несколько первых строк, начинающихся звездочкой, отводятся под комментарии; далее находится строка, указывающее число входов — ()ГчРОТЗ] 2, затем — строка, указывающее число выходов — [00ТР()ТЗ) 1.
Вообще-то эти параметры можно и не указывать, они все равно будут запрошены программой. В нашем примере как входы, так и выход изменяются от нуля до единицы, но в общем случае диапазоны изменений могут быть произвольными, в связи с чем для работы с данным нейропакетом рекомендуется сначала провести масштабирование данных. Дело в том, что активационные функции чаще всего имеют ограниченный диапазон значений: сигмоидальная функция — (О, 1), гиперболический тангенс — (-1, 1), функция Гаусса — (О, 1); для линейной 193 функции ограничений нет Соответственно, в обучающих и тестирующих файлах выходные данные должны быть приведены к тому или иному масштабу Для входных данных отсутствие масштабирования является не обязательным, но желательным условием, поскольку уменьшает возможность насыщения нейронов Рекомендуемые диапазоны для масштабирования ° для всех входов от 0 до 1 или от -1 до +1, ° для выходов — в случае сигмоидальной или гауссовой функций активации — от 0 1 до 0,9, а в случае гиперболического тангенса — от -0 9 до +О 9 Нейропакет имеет опцию, позволяющую проводить соответствующее масштабирование и обратное преобразование к естественным, исходным значениям Подготовим текстовый файл, содержащий только таблицу, без комментариев и указания количества входов ооо 811 1о1 1к8 и сохраним его под именем хог гав Запустим нейропакет Выберем в меню (рис 527) пункт Вса!е) Всаге 0а1а й!е При атом появится окно диалога (рис 5 28) Рис 5 28 Диалоговое окно при выполнении масвпабированип данных 194 Полагая, что в дальнейшем будем строить сеть с сигмоидальными активационными функциями, оставим предлагаемые по умолчанию установки масштабирования и нажмем кнопку !при( Е1(е (Входной файл) В последующем диалоге укажем файл хог гав После этого появится окно, требующее указать число входов и выходов в таблице обучающей выборки (рис 5 29) Рис 5 29 Диалоговое окно задания числа входов и выходов Введем 2 в строку л(цгпЬег ог !при!в (Число входов) и ! в строку л(игпЬег от Ои(ри(в (Число выходов) Подтвердим ввод нажатием кнопки ОК, после чего вернемся к окну рис 5 28 Нажмем кнопку Ои1ри1 ЕИе (Выходной файл) и в ответ на подсказку введем имя файла хог 1гп Нажмем далее кнопку Зса!е Е11е (Файл масштаба) и в ответ на подсказку введем имя хог Данный файл будет сохранен с расширением по умолчанию вс! Выполним операцию масштабирования Зса1е и по нажатию кнопки Ех11 (Выход) вернемся к контрольной панели на рис 5 27 Созданный файл хог !гп с обучающей выборкой будет иметь структуру, со строками (1ИРОТЗ] 2, (00ТРОТЗ] ! и с диапазонами изменений входов и выходов согласно отмеченным рекомендациям [1нРцта! 2 [ООТРцтв! 1 О ОООООО О ОООООО О 1ООООО 0 000000 1 000000 0 900000 1 000000 0 000000 0 900000 1 ОООООО ! ОООООО О 1ООООО 195 В» х 50»ь За»в Кмр 0)ЮЩ~ д-)В.)Ьа)ЗО) 5~ми ЕВ РР О»В Нав»1аанр» 4»» ав М !ар Е 1 ьа и Она»и ! 104 М» вь Еирм0 (О Ев вв «»ЕМ (О 01 М 4 0 Еа«ь (г00000 Е М в Рав» Е»» ймв.ьм.
Г Б 1» рнр В 001 5 Г Рц*'"' 3 1Ва Н ° (О и рнэ. „(О Ев Чара»1 ар Г 04 ° 5» а 1 'вр 5ММ 505! ОООЕЗЗ» ООЕОЕ1 О О!в!Е1 100 ЧЧ рн М»Н! ч н м» рор Ра«ва Г оы л 1» мр»н» ) Ха» !вам ОМ ! «„», Е Н»Ь 1 «!1 Е» ! !1ОМЕЕ М» ЙМЕЕ»а М Е ° Л»С Р «а»с» !М МН Грр О Г Р в»5ы а! ОЕВ»ЯЗ» 0 0550%1 0 ВЕ»и» 4 101 РФ 4 1«в ) Риь «4 Рис б 30 контрольная панель по завершении процесса обучения нейронной сети 196 2) Задание структуры сети и параметров обучения Используя кнопки и диалоговые мини-окна контрольной панели, зададим следующую структуру нейронной сети ° количество скрытых слоев (МигпЬег о( Нре(е)еп Ьауегв) — 1 ° число нейронов в скрытом слое (Н!е(е(еп 1ЕМеигопв) — 2 ° функции активации нейронов скрытого слоя (Н!е(е(еп 1!' АсЬча(юп гипс(роп) — сигмоидные (ЯЕдгпо40(), ° функция активации выходного нейрона (Оц(рцУАс(!чаг!оп Рипс(Еоп) — сигмоидная (Зрдгпо!е)) Сохраним остальные параметры процесса обучения по умолчанию как на рис 527, убрав лишь флажок в окне СговвЧа))е)а!е Тга)п)пд (Обучение с перекрестным пересечением) Далее нажатием кнопок Тга)п)пд Ра!а и Тевбпд Рата выберем и в качестве обучающего и в качестве тестирующего один и тот же файл — хог (гп 3) Обучение нейронной сети Используя кнопку с треугольным значком Тга)п Ме!иеог)е (Обучение сети) в верхней части контрольной панели или кнопку Тга)п (Обучение) в ее правой нижней части, запустим процесс обучения Данный процесс будет сопровождаться изменением цифр в разделах панели Тга)п!пд 8!аев (Статистика обучения) и Тевбпд 3!а!в (Статистика тестирования) По истечении процесса обучения панель программы примет вид, соответствующий рис 5 30 Судя по результату, обучение прошло успешно (правильно оценены все 4 образца, т е 100/~ образцов, количество периодов (Ерос)т) обучения — 566? — меньше предельно заданного (10000) значения, величины ошибок также в заданных пределах Теперь можно в полной мере оценить графические возможности пакета Рассмотрим, например, графическое изображение сети, используя кнопку Ч(еуч Ме1кчогк ипи соответствующие опции меню(рис 5 31) Рис 5 31 Вид структуры нейронной сети Можно просмотреть график анализа сети (МеЬчог)с Апа!ув!в Р!о1) с разнообразными опциями его представления (рис 5 32), а также, используя пункты меню Ч!еуч/Соп1оиг Р!о1 или кнопку ЗР, увидеть трехмерное изображение выхода сети (рис 5 33) и даже повращать его Можно просмотреть файл протокола обучения сети (опция меню Ч!еиг!Тга!и!пд Н!в1огу) и еще многое другое 4) Сохранение результатов С помощью опций меню Е((е)Заче ав ...
сохраним полученную сеть, например, под именем хог (с расширением по умолчанию * пе1) При работе с нейропакетом необходимо отдельно сохранять веса и смещения обученной сети (с помощью кнопки Заче ууе)ЗИВ) в файле с расширением по умолчанию тч(з, например, с именем хогчлв Он, кстати, имеет текстовый формат, что удобно 197 для просмотра) Закроем программу, теперь обученную нейрон сеть можно использовать дпя прогнозирования ВМЗ Еггог тУО. Ратоегп 1ог ай Гордее е Оа ока О 60 ш о та О 20 оао т з Раке е Рис 5 32 График анализа нейронной сети га Раа ЦИ а Нна Рис 5 33 Трехмерное представление выхода обученной нейронной сети 198 5) Опрос сети.
Для выполнения прогноза, подготовим файл текстового формата со следующим содержимым [гнРОТЗ) 2 о ооаооо а оооооо о оооооо з оооооо з оооооо о оооооо 1 Оааааа з аааааа т е включающим только значения входов Сохраним его под име- нЕМ ХОГ(ЕЗГ (5( Запустим нейропакет, откроем файл хогпе( с сохраненной структурой сети и файл хогиг(в с ее весами. Далее нажатием кнопки Тев0пд Оата в качестве тестового файла укажем созданный файл когтев((э( После чего нажмем кнопку Тевт в правом нижнем углу контрольной панели (рис 5.30).
При этом появляется диалоговое окно (рис 5.34), предлагающее указать имя выходного файла (с расширением по умолчанию * оог) Рис 5 34 Диапоговое окно дяя задания имени выходного файна Укажем имя хог и нажмем кнопку Сохранить, после чего появляется новое окно (рис 535), запрашивающее запись имен столбцов (Фгйе со!игпп леаг)егв) и выходов-образцов тестового файла (Фг(те тев1 6)е оитри$в (1агдетв)) 199 Рис 5 35 Запрос на вид выходного файла В нашем случае выходов у тестового файла нет, поэтому укажем только запись имен, подтвердив это нажатием кнопки ОК После этого в рабочей директории нейропакета появится файл хог ои1 с содержимым Омро11 0 160291 0 822393 0 821254 0 199978 Цифры, в общем, близки к цифрам последнего столбца файла хог1гп (см выше), не надо забывать, что к тому же выход сети здесь представлен в масштабируемом виде Можно перейти к естественному масштабу Дпя этого вначале несколько изменим содержание фала хог ош, добавив звездочку в начало первой строки (т е превратив заголовок в комментарий), затем с помощью пункта меню Зса!е/Зса!е Оа1а Где перейдем к окну масштабирования вида рис 5 28 Укажем в нем в качестве входного файл (модифицированный) хог 001 Далее в появившемся окне диалога вида рис 5 29 укажем чисяо входов — О, число выходов — 1 После возвращения к окну масштабирования, зададим имя выходного файла (001ри1 Не), например хогоц1 1гп, укажем в качестве файла масштаба (Зса!е Р!!е) ранее созданный хог зс(, установим опцию ()овса!е 1гогп б!е (в правой верхней части окна) и нажмем кнопку Зса!е После завершения процесса преобразования данных можно за~рыть окно масштабирования В итоге, получим текстовый файл хогои1 1гп с содержимым [оцтрцт6) 1 0 075364 0 902991 0 901568 О 124972 которое и является прогнозируемым выходом нашей сети в естественном масштабе Как видно погрешность здесь все же не очень мала Можно попытаться повторить процесс обучения, задать дру- 200 гие параметры (меньшую величину ошибки и т и ), при этом ре- зультат, естественно, будет точнее 5.3.3.
Общее суждение Рассмотренный пакет имеет много привпекатепьных черт он компактен, достаточно прост в изучении и обращении, имеет хорошие иллюстративные графические возможности позволяет сохранять обученную нейронную сеть в кодах языка С, имеет достаточно хорошие возможности по моделированию и обучения нейронных сетей К недостаткам пакета, на наш взгляд, спедует отнести необходимость использования, по сути, ручного масштабирования данных и опроса сети 6.4. Нейропакет Меога! Р!аппег 5.4.1. Общая характеристика )хейга! Р(аппег — программная оболочка, позволяющая моде- пировать нейронные сети различной конфигурации Может работать под уу!пг!оччз как в сети, так и на локальном компьютере и не предъявляет особых требований к оборудованию (чеига! Р)аппег предназначен дпя решения различных задач классификации объектов, обработки значений случайных процессов, решения некоторых математических задач, создания эффективных экспертных систем !чецга! Р)аппег использует один из двух реализованных алгоритмов обучения с учителем, которые будут описаны ниже Основными разделами пакета являются встроенный графический редактор и аналог табличного редактора Графический редактор позволяет легко и наглядно создавать и редактировать нейронные сети без необходимости их описания в текстовом виде Аналог табличного редактора позволяет создавать и редактировать обучающие векторы и векторы опроса, а также управлять процессом обучения Условно-бесплатная (впагеччаге) версия пакета доступна в Интернет по адресу п1!р //чччч зкп(е! пеФ/зип!е! пе(/чч!пЗ/перга(-рге й!пч! (файп пр452з з!Р) Разработчик — 8 й/о(з!еппо!!пе (18 Зеугпоиг Ноаг!, Спеаг!(е Нц)гпе, СПезй!ге, 8К8 6Ы, 0К, е-та~! з!ечещ!горяева г!егпоп со ц) 201 5.4.2.