1.5 Выбор пакета НС
Требования для выбора пакета НС:
1. наличие в пакете выбранной модели НС
2. возможность создания выбранной структуры
3. возможность задания исходных данных для обучения и расчета
4. доступность пакета
5. трудоемкость по его освоению
6. наличие русификации
7. интерфейс
8. другие достоинства
9. другие недостатки
В таблице 2 приведены характеристики некоторых пакетов [http://alife.narod.ru/].
Таблица 2:
Название пакета | 1 | 2 | 3 | 4 | 5 | 7 | 6 |
Neural10 | нет | нет | да | freeware | легко | неудобный | есть |
NeuroPro | нет | нет | да | freeware | легко | неудобный | есть |
Neural Planner | да | да | да | - | легко | слишком упрощённый | есть |
BrainMaker 3.10 | да | да | да | - | легко | очень удобный | есть |
NeuroShell 2 | да | да | да | freeware | очень легко | очень удобный | есть |
Название пакета | 8 | ||||||
Neural10 | допускаются любые расширения файлов с обучающими парами | ||||||
NeuroPro | возможности упрощения сети | ||||||
Neural Planner | встроенный графический редактор, аналог табличного редактора | ||||||
BrainMaker 3.10 | набор утилит широкого назначения | ||||||
NeuroShell 2 | очень хорошая справка, собственные алгоритмы обучения | ||||||
Название пакета | 9 | ||||||
Neural10 | ограниченность настройки параметров сети | ||||||
NeuroPro | невозможность сохранения результатов опроса обученной сети | ||||||
Neural Planner | ограниченность по числу алгоритмов обучения | ||||||
BrainMaker 3.10 | ограниченные функциональные возможности | ||||||
NeuroShell 2 | возможность импорта только 5 типов входных файлов |
Исходя из данных таблицы 2, наиболее подходящим пакетом является пакет NeuroShell 2.
1.6 Минимальные требования к информационной и программной совместимости
Microsoft Office 97 и выше
Пакет NeuroShell 2
1.7 Минимальные требования к составу и параметрам технических средств
MS Windows 9х/2000/Ме/NT/XP
32 Mb RAM
IBM – совместимый персональный компьютер класса 486/66 или выше (желательно Pentium II или выше)
Видеоадаптер SVGA
Монитор VGA и выше
Клавиатура, мышь
2. Обучение нейронной сети
Под обучением искусственной нейронной сети понимается процесс настройки весовых коэффициентов
ее базовых процессорных элементов, результатом чего является выполнение сетью конкретных задач — распознавания, оптимизации, аппроксимации, управления. Достижение подобных целей формализуется критерием качества Q, минимальное значение minWQ=Q* которого соответствует наилучшему решению поставленной задачи [5].Рассматривается классификация цифр арабского алфавита, написанных шрифтом Arial 10ым размером. Для формирования исходных данных (вектор признаков) использовалось растровое представление цифр (в виде массива из 0 и 1). Размер изображения, исходя из шрифта написания, составил 6х10 квадратов. Отсюда размерность входного вектора – 60.
Выходной вектор (-вектор, значения всех координат которого должны быть равными 0, за исключением координаты, соответствующей выходному элементу, представляющему искомый класс(значение этой координаты должно быть равным 1)) имеет размерность 10, в нем номер позиции единицы соответствует номеру цифры. Таким образом, обучающая пара содержит 60 + 10 = 70 значений.
Для каждого желаемого образа формируется соответствующий массив, записанный в одну строку (сверху вниз слева направо), и также в процессе обучения используются реальные выходные значения, которые записаны в конце строки сформированного массива.
2.2 Окончательный выбор модели, структуры и параметров обучения НС
В NeuroShell 2 предлагается несколько моделей НС.
По рекомендациям разработчиков пакета критерием остановки обучения будет: события после минимума > 20000, так как с использованием встроенной калибровки этот критерий позволяет избежать переучивания сети и запоминания тестовых примеров.
Окончательный выбор нейронной сети основан на анализе полученных экспериментально результатов для средней ошибки < 0,000001.
Таблица 1 Окончательный выбор нейронной сети
Нейронная сеть | Время обучения | Количество эпох |
Многослойный персептрон | 0:09 | 4047 |
Реккурентная сеть | 2:13 | 29274 |
Сеть Ворда | 0:00 | 224 |
Сеть Ворда с обходным соединением | 0:00 | 87 |
Трехслойная сеть с обходным соединением | 0:01 | 149 |
Из анализа таблицы 1 следует, что наилучшей моделью является сеть Ворда с двумя блоками скрытого слоя, имеющими разные передаточные функции, с обходным соединением.
Окончательный выбор структуры нейронной сети основан на анализе полученных экспериментально результатов для средней ошибки < 0,000001.
Изменяем количество скрытых нейронов и передаточные функции скрытых блоков для выбора оптимальной структуры сети.
Передаточная функция блока 1 – Б1.
Передаточная функция блока 2 – Б2.
Таблица 2 Окончательный выбор структуры нейронной сети
Параметр сети | Время обучения | Количество эпох |
Количество нейронов - 30 | 0:00 | 99 |
Количество нейронов - 40 | 0:00 | 87 |
Количество нейронов - 50 | 0:00 | 86 |
Б1 – Гаусса, Б2 - Гаусса | 0:00 | 87 |
Б1 – Гаусса, Б2 – комп. Гаусса | 0:00 | 87 |
Б1 – Гаусса, Б2 – sin | 0:00 | 87 |
Б1 – комп. Гаусса, Б2 – комп. Гаусса | 0:00 | 86 |
Б1 – sin, Б2 - sin | 0:00 | 87 |
Б1 – комп. Гаусса, Б2 - логистическая | 0:00 | 112 |
Из анализа таблицы 2 следует, что оптимальной структурой сети является:
• комплем. Гауссова функция для блока 1;
• комплем. Гауссова функция для блока 2;
• количество скрытых нейронов – 50(25 в каждом из блоков);
Выбор параметров обучения основан на анализе результатов эксперимента для сети Ворда с двумя скрытыми блоками, имеющими разные передаточные функции, с обходным соединением, с количеством скрытых нейронов равном 50.
Таблица 3 Выбор скорости обучения
Скорость обучения | Время обучения | Количество эпох |
0,1 | 0:00 | 86 |
0,2 | 0:00 | 62 |
0,3 | 0:00 | 49 |
0,4 | 0:00 | 37 |
0,5 | 0:00 | 37 |
0,6 | 0:00 | 37 |
0,7 | 0:00 | 36 |
Из анализа таблицы 3 следует, что оптимальная скорость обучения равна 0,7.
Проанализируем теперь зависимость обучаемости сети от момента при выбранной скорости обучения.
Таблица 4 Выбор момента
Момент | Время обучения | Количество эпох |
0,1 | 0:00 | 36 |
0,2 | 0:00 | 37 |
0,3 | 0:00 | 37 |
0,4 | 0:00 | 37 |
Из анализа таблицы 4 следует, что оптимальное значение момента равно 0,1.
Таким образом оптимальными параметрами обучения для данной сети являются:
· Скорость обучения – 0,7
· Момент – 0,1
2.3 Блок-схема алгоритма обучения
Блок-схема алгоритма обучения с обратным распространением ошибки[6]:
3 Анализ качества обучения
Для проверки способностей к обобщению на вход сети подаются зашумленные последовательности входных сигналов. Процент зашумления показывает, какое количество битов входного вектора было инвертировано по отношению к размерности входного вектора.
Исходные и выходные файлы для анализа качества обучения [6,7]:
Листы Шум 7, Шум 13 и Шум 20 в файле cifri.xls для 7%,13% и 20% соответственно.
В силу большой размерности таблиц, содержащих входные и выходные вектора, данные файлы прилагаются к пояснительной записке в электронном виде.
При зашумлении до 13% сеть хорошо решает предложенную задачу. При вводе сигналов с уровнем шума 20% обученная сеть выдает неверные значения на 40% экзаменационных наборах (т.е. сеть не может отдать предпочтение одной из нескольких цифр).
Например, при подаче зашумленного вектора, соответствующего цифре 8, выход сети, соответствующий 8 равен 0,61, выход 1 – 0,73.
При подаче цифры 3 соответствующий выход равен 0,34, выход 8 – 0,51.
Понизить ошибку можно увеличив размерность сетки, которой разбиваются цифры, например 16х16, тогда размерность входного вектора 256.
Кроме того можно понизить среднюю ошибку при обучении сети.
Но, несмотря на все выше сказанное, можно сказать, что сеть хорошо обучилась и обладает хорошими способностями к обобщению.
4. Тестовый пример
Для тестирования сети используем экзаменационные данные из файла "test.xls" с уровнем шума 7 %.
Результаты отражены в файле "test.out", который прилагается к пояснительной записке в электронном виде.