Круглов В.В., Борисов В.В. - Искусственные нейронные сети (ИНС) Теория и практика (778918), страница 33
Текст из файла (страница 33)
Любой нейрон остается выбранным, до тех пор, пока он не помечен второй раз. 206 Для удаления синапса необходимо воспользоваться командой Ое(е1е 8упврве(в) При удалении синапса сначала помечается нейрон-источник, затем нейрон, с которым он соединен Если необходимо осуществить полносвязное соединение двух слоев нейронов, то можно воспользоваться командой Соппес1 (.ауегв.
Для нормального, без обратной связи, соединения сначала выбирается предыдущий слой, затем последующий. Синапсы, обеспечивающие обратную связь, могут соединять слои только справа налево и только между скрытыми или выходными нейронами. Для разъединения слоев нужно воспользоваться командой О)всоппес1 (.ауегв. Для разъединения нормального соединения сначала выбирается правый уровень, для разъединения обратной связи — левый уровень. Для построения более сложной сети можно применить ее деление на эоны при помощи команды АМ Еопев(в).
При помощи зон можно разбивать существующую нейронную сеть на несколько отдельных частей и затем рассматривать их как независимые (и обучать, и опрашивать отдельно). При создании или добавлении зоны вначале помечается левый верхний угол выделяемой области, затем правый нижний.
Для удаления зоны используется команда Ое)е1е колее(в) После выбора этой команды достаточно щелкнуть мышью внутри зоны и она автоматически удалится. После того, как сеть будет создана, ее необходимо сохранить при помощи стандартных команд Захе или Заче Ав. При этом файлу автоматически присваивается расширение *.ппр. Для того, чтобы создать сеть вторым способом, необходимо воспользоваться командой Сгеа1е йе1ккогк из меню Ас1юп. Для этого предлагается выбрать какой-либо 1(йфайл (как создавать такие файлы будет рассмотрено ниже) После выбора файла на его основе автоматически будет создана сеть, по умолчанию содержащая только один слой скрытых нейронов.
Созданную таким образом сеть необходимо сохранить под тем же именем, что и 11Р файл. Заметим, что всю необходимую информацию о сети в целом и по каждому нейрону и синапсу в отдельности можно при помощи команд меню О!вр(ау: ° Меигоп (.аЬе!в — метки нейронов. При выборе этой команды на экране появляются метки всех нейронов в текущей загруженной сети, но при этом обязательно должен существовать соответствующий 11) файл. 207 ° Мецгоп Асбча1!опв — активации нейронов. При выборе этой команды появляются уровни активации всех нейронов. Чем длиннее полоса, тем выше уровень активации. ° Меигоп Ое1а)!в — позволяет отобразить всю информацию о любом выбранном в сети нейроне (рис 5.89).
Для того, чтобы это сделать, необходимо сначала выбрать команду, затем выбрать нейрон. Кроме того, можно, не покидая окна, выбрать другой нейрон, соединенный с предыдущим синапсом, нажав кнопку Мех1 Зупарве, или соседний нейрон кнопкой Мех1 Меагоп. торе ьиы«» нег 1орм -7.73232 Аегнаиоо 0.000430235 Еггог -0.0507509 Оева .2.57433е-05 01 ° .0.94505 аоое оооо 17е10М -0.23070 горо1 0.014015 Ргоиоег -5.7\ 300 Рис 5.39.
диалоговое окно неигол оегаае В окне отображается следующая информация ° Туре — тип выбранного нейрона ()при! — входной, ои1ри! — выходной, П(гЫеп — скрытый); ° Ме1 (про! - уровень входного сигнала, ° Ас()ча!(оп — уровень активации в относительных единицах; ° Епог — ошибка вычисления; ° С!е((а — разность между полученным выходом и требуемым (целевым); ° В(аэ — смещение нейрона; ° Лопе — в какой зоне расположен выбранный нейрон; ° ууе(дП1 — вес синапса в относительных единицах; ° (прц1 — сумма всех весов синапсов, умноженных на входы нейрона; ° Ргобис! — вес синапса умноженный на входное значение.
° зупарве ууе!пп15 — веса синапсов (входов). при выборе этой команды отображаются веса всех синапсов сети. При этом 208 Иеззооз зунерзе соснес!Нгнз 19 42 В 0499937 О О499997 ооз Геае1 Азегере еког ! озгезг сеог !!оеегу нор! !1оИегу!нр! Везг 1еи гезсхз !!ооегу.ьор! тезису ! * 19435 Рис. 5 40 Окно Неьеогк Ое1акз ° р)етукогк Топев — эоны сети. При выборе этой команды показываются все зоны, если сеть на них разбита.
° УУагп!пя Мевваяев — предупреждающие сообщения. При выборе этой команды подавляются все предупреждающие сообгцения, выводимые программой. 2) Обучение нейронной сети В р)ецга! Р!аппег, так же, как и в ранее рассмотренных нейРопакетах, предполагается процесс обучения с учителем, при котором сети для ее обучения необходимо предъявлять обучающую выборку из векторов, содержащих известные входные и выходные значения. Эта выборка записывается в специальный текстовый 209 ширина синапса показывает его вес относительно всех других.
Синапсы с положительным весом выделяются желтым цветом, с отрицательным — синим. Черным цветом выделяются синапсы, веса которые близки к нулю и подлежат удалению, поскольку не оказывают никакого влияния на вычисления. ° Ме1игогк 0е1а!!в — детали сети. Эта команда позволяет в отдельном диалоговом окне отобразить всю информацию о любом выбранном нейроне (рис. 5 40): ° Меогопз — количество нейронов; ° Зупарзе соппесйопз — количество соединений; ° Ачегаде еггог — средняя ошибка; ° 1.оууез1 еггог — наименьшая ошибка; ° Вез1 1ез1 гезц!19 -лучший результат тестирования; ° То1а! сус!ез — количество циклов обучения. файл с расширением *.!1). Файл состоит из четырех разделов обу чения, опроса, тестирования и ограничений. Для того, чтобы создать новый файл обучения, тестирования и опроса, необходимо выбрать команду р)еигlТга)п)пд, Тевдпд, !и1еггода1)пд тде (Новый файл обучения, тестирования, опроса) из меню Рде. После этого появится диалоговое окно, приведенное на рис.
5.41, в котором необходимо указать метки входных и выходных нейронов (разделы )при1в и Ои1ри1в). Рис 5 41 Диалоговое окно ввода меток нейронов Метками могут служить любые символы или группы символов После ввода каждой метки нажимается кнопка Ак!д )прц1 или Аг!д Ои1ри1, удалить метку можно при помощи кнопки )кегпоче После ввода всех меток необходимо нажать кнопку р!п)в)т и сохранить файл. Кнопка даче используется, если редактируется уже существующий файл.
В итоге формируется каркас 1(рфайла Для ввода в !(йфайл векторов обучения нужно открыть требуемый раздел командой Орел(Тга)п!пд Еде Зесбоп из меню Где В левую часть появившегося диалогового окна (рис 5 42) необходимо занести имя вводимого вектора, а в правую — значения его компонентов. Порядок ввода следующий, вводится имя веюора, нажимается кнопка л)емг, затем в правой части окна символы «о» заменяются на значения компонентов, после ввода всех компонентов нажимается кнопка йер)асе, Кнопка Сору создает копию текущего вектора, укаэанного курсором. Кнопка Ое)е1е удаляет текущий вектор.
После ввода всех векторов необходимо нажать кнопку Р)п)в)т, и ввод будет завершен 210 ° !.аЬе!з аае Ке3иез Сазе Навез 26 йииьы ! НииЬез 2 ЗВ Нииьы 3 Навьи~ 4 45 Ниеье~ 5 наива~ 6 49 26 ЬФ!слета 5сзеаеа МВ зее!ас» а!Ь ча!иез иИЬ еевее ча!иез М Гие сииеивр зе!*стад сазе. Рис 5 42 Диалоговое окно ввода векторов обучения Следует обратить внимание на автоматически появляющиеся вектора с именами Н!дпв (Верхний), (.оууэ (Нижний) и Оцпнпу (Шабпон, Болванка) Компонентами двух первых векторов будут присвоены максимальные и минимапьные значения из всех введенных, а компоненты вектора Оцгпгпу по умолчанию — нупевые (данный вектор следует удалить) Перед началом процесса обучения необходимо выбрать один из двух обучающих алгоритмов.
Алгоритм Оп-Ыпе ВасК Ргорадабоп предусматривает вычисление ошибки после предъявпения каждого вектора обучающей выборки внутри цикла обучения. Алгоритм Ва(сй Васк Ргорада((оп предусматривает вычиспение ошибки после завершения каждого цикпа обучения. Общих рекомендаций по выбору того, ипи иного алгоритма не существует. Процессом обучения можно достаточно эффективно управлять при помощи опций диалогового окна Соптго! (см, рис.
5 37). Рассмотрим зти опции и их влияние на процесс обучения. Опция (.еагп(пд гате (коэффициент скорости обучения) определяет скорость изменения веса синапсов в течение каждого цикла обучения сети. Значение (.еагп!пд гаке может изменяться в пределах от 0,1 до 1 Например, если задано значение 0,5, а первоначапьное значение веса какого-либо синапса было 5, то в спедующем цикпе обучения значение веса может измениться не более, чем на 5 + 0,5 ° 5, или не менее, чем на 5 — 0,5 ° 5. Малый коэффициент замедляет процесс обучения, но делает его более на- 211 дежным, в то время как высокий коэффициент может заставить обучение отклониться от оптимального направления спуска к нулевой ошибке Коэффициент может быть изменен в течение обучения Опция Могпепгцгп (импульс) определяет величину изменения веса синапса относительно изменения в предыдущем цикле обучения Значение Могпеп1цгп может изменяться в пределах от 0 до 1.
Например, если задано значение 0,5, а в предыдущем цикле обучения вес синапса изменился на 2,5, то в следующем цикпе вес не может измениться более чем на 1,25. Маленький импульс будет замедлять обучение, но также повышает надежность сходимости процесса обучения, в то время как высокий импульс может приводить к колебаниям относительно оптимапьного направления спуска к нулевой ошибке. Очень большой импупьс может иногда привести процесс обучения к локальному минимуму. Импульс может быть изменен в течение обучения При помощи приведенных двух опций можно достаточно эффективно управлять процессом обучения сети. Опция Таг9е1 Еггог задает так называемую целевую ошибку. Обучение останавливается, если средняя ошибка Ачегаде Еггог, которая уменьшается в процессе обучения, достигнет значения, меньшего, чем заданная целевая ошибка.
Очевидно, что чем меньшее значение этой опции задано, тем более длительным будет процесс обучения Опция Сус!ев Рег Ре1гев)г определяет количество циклов обучения, которые должны быть завершены между каждой регенерацией дисплея. После того, как установлены все опции окна Соп1го! и выбран обучающий алгоритм, необходимо запустить процесс обучения сети при помощи команды 1.еагп)пя Ргогп Ейе из меню Ас1)оп. При выполнении команды появляется стандартное диапоговое окно, в котором необходимо выбрать соответствующий 11рфайл. Перед началом обучения сеть автоматически проверяется на совместимость с 11рфайпом. Критерием совместимости служат метки нейронов Если метки в сети и в файле не совпадают, выдается сообщение об ошибке.
Одновременно с запуском процесса обучения на экране появляется окно, в котором отражаются все процессы, протекающие в сети при обучении (рис. 5 43). Рассмотрим опции окна. В заголовке приводится тип обучающего алгоритма, далее — имя сетевого файла и имя обучающего файла. Ниже показывается график средней ошибки Ось «Х» графика является безразмерной, ось «т» соответствует вепичине 212 средней ошибки. График можно отключить при помощи кнопки Отар)т. Еще ниже в числовом виде отображаются средняя и целевая ошибки (К)еига! Р)аппег периодически запоминает в файле с расширением !пр сеть с наименьшей к текущему моменту ошибкой, показанной в опции 1.оигев1 Зачед), процент векторов обучения, при прогнозе которых средняя ошибка меньше заданной целевой (Свеев < Тагде1). Рис 5 4З Окно, отображающее процесс обучения Отметим, что дпя обучения сети можно воспользоваться также командой Згпагт-З1аг1 из меню Ас1)оп Эта команда аналогична команде ! еагп)по Ргогп Р!)е, но здесь й)еига! Р)аппег автоматически установит такие параметры окна Соп1го), при которых обеспечивается минимальная средняя ошибка за один цикл обучения.