Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
- Название:Учебное пособие по курсу «Нейроинформатика»
- Автор:
- Жанр:
- Издательство:КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
- Год:2002
- Город:Красноярск
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Е. Миркес - Учебное пособие по курсу «Нейроинформатика» краткое содержание
Данное учебное пособие подготовлено на основе курса лекций по дисциплине «Нейроинформатика», читавшегося с 1994 года на факультете Информатики и вычислительной техники Красноярского государственного технического университета.
Несколько слов о структуре пособия. Далее во введении приведены учебный план по данному курсу, задания на лабораторные работы. Следующие главы содержат одну или несколько лекций. Материал, приведенный в главах, несколько шире того, что обычно дается на лекциях. В приложения вынесены описания программ, используемых в данном курсе (Clab и Нейроучебник), и проект стандарта нейрокомпьютера, включающий в себя два уровня — уровень запросов компонентов универсального нейрокомпьютера и уровень языков описания отдельных компонентов нейрокомпьютера.
Данное пособие является электронным и включает в себя программы, необходимые для выполнения лабораторных работ.
Учебное пособие по курсу «Нейроинформатика» - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Начальные значения весов синапсов генерируются датчиком псевдослучайных чисел в диапазоне от LOW до HIGH. Рекомендуется задавать значение этих параметров близким к значению параметра CH.
Обучение нейросети
Для обучения нейросети в пакете CLAB содержится программа teacher. Вначале она предлагает пользователю указать имя файла, содержащего карту синапсов, имя ptn-файла и имя файла задачника. Затем программа переходит непосредственно к обучению нейросети на примерах задачника.
Выходные сигналы могут принимать значения в интервале (-1,1). Они интерпретируются как координаты точки внутри квадрата [-1,1]*[-1,1]. Как только программа Teacher приступает к обучению, этот квадрат высвечивается на левой половине экрана. На нем крестиками изображаются ответы нейросети. Для каждого примера координаты крестика соответствуют выходным сигналам нейросети. Цвет крестика (красный либо синий) показывает класс этого примера, указанный в задачнике.
На этом же квадрате указаны два курсора — красный и синий. Стандартное положение красного курсора — в левом нижнем углу, синего — в правом верхнем. В процессе обучения курсоры можно передвигать. Расстояние от крестика до курсора соответствующего цвета показывает правильность ответа — чем меньше это расстояние, тем точнее ответ.
В правой половине экрана высвечиваются две колонки. В левой колонке указываются веса и значения целевой функции для «красных» примеров, в правой колонке — для «синих».
После завершения каждого цикла накопления оценки по примерам с данной страницы в нижней части экрана высвечиваются значения средних оценок для «красных» и «синих» примеров, а также средняя оценка для всех примеров. Если пользователь сочтет эти оценки приемлемыми, то он может перейти к следующей странице задачника.
В пакете CLAB имеются средства, позволяющие вмешиваться в процесс обучения для его ускорения.
Как было сказано выше, пользователь может изменять положение курсоров. Это приводит к изменению вида целевой функции. Такое действие может оказаться полезным в случае, когда на протяжении нескольких циклов обучения подряд оценка существенно не меняется.
Опыт работы с пакетом показывает, что на конечном этапе обучения небольшое улучшение оценки на одной странице задачника может привести к ухудшению оценок на других страницах. Поэтому на этапе доучивания можно сблизить курсоры Это ослабит жесткость требований к разделенности классов.
Можно приблизить курсор к ближайшему крестику того же цвета, т. е. крестику, соответствующему примеру с наименьшей оценкой. Тогда вклад этого примера в суммарный градиент уменьшится, а вклад примеров с худшими оценками увеличится. В результате крестики этого цвета будут собираться более плотной группой.
Изменять относительный вклад градиентов от разных примеров можно также путем изменения их весов. Стандартные значения весов задаются для всех примеров равными 1. Их можно изменять в интервале от 0 (это соответствует полному исключению примера) до 9. Однако задавать большой разброс в значениях весов не рекомендуется. В этом случае при небольшом улучшении оценки примера с большим весом могут существенно ухудшиться оценки других примеров. Опыт показывает, что в большинстве случаев достаточно задать для двух-трех примеров с наихудшими оценками значения весов, равные 2.
В случаях, когда целевая функция достигает локального минимума, возникают тупиковые ситуации — на протяжении многих циклов подряд оценка практически не изменяется. Для выхода из таких ситуаций в пакете CLAB имеется процедура BUMP. Она вносит в карту синапсов случайный вклад, величина которого, называемая уровнем BUMP'а, задается при вызове процедуры.
Отметим интересный эффект, который наблюдался при обучении нейросети с частым применением процедуры BUMP. В этом случае сеть постепенно приобретала помехоустойчивость, т. е. со временем уровень BUMP'ов можно было повышать без существенного ухудшения оценки. Этот эффект можно легко объяснить. Представим целевую функцию как рельеф в многомерном пространстве карт синапсов. Понятно, что применение процедуры BUMP позволяет легко выходить из узких ям и оврагов, но для вывода из широких долин уровень BUMP'ов может оказаться недостаточным. В результате частого применения процедуры сеть закрепляется на широкой долине.
Существует много принципиально различных стратегий для применения процедуры BUMP. Поэтому обучение с ее автоматическим применением не включено в пакет CLAB. Пользователь может сам выбирать стратегию в процессе обучения.
При обучении сети пользователь может столкнуться с тупиковыми ситуациями, когда в верхней части экрана появляются сообщения "zero step" или "infinite step". В этих случаях можно порекомендовать следующие действия: применить процедуру BUMP; изменить положение курсоров; изменить веса примеров; проверить, нет ли в задачнике противоречивых примеров, например, примеров с одинаковыми входными сигналами, но относящихся к разным классам. Если в результате всех этих действий не удалось добиться никаких положительных изменений, то придется вернуться назад и вновь начать обучение сети.
При обучении нейросети можно воспользоваться «дыроколом». Это следует делать в тех случаях, когда нейросети будут предъявляться для классификации объекты, у которых информация о некоторых входных сигналах отсутствует. Имена таких входных сигналов должны быть помечены звездочками в ptn-файле. «Дырокол» позволяет заменять у примеров задачника сигналы на этих входах нулевыми значениями. При этом для обучения предъявляются все варианты расстановки «дыр» по отмеченным входам для каждого примера. Оценка примера представляется суммой оценок по всем вариантам. Наблюдая за процессом обучения, можно заметить определенные закономерности. Распознавать часть примеров нейросеть обучается быстро. При распознавании другой части примеров нейросеть может допускать ошибки, т. е. выходные сигналы нейросети для этих примеров не всегда соответствуют указанным в задачнике. Среди последних могут быть примеры, при распознавании которых нейросеть ошибается почти постоянно. Наличие таких примеров может стать предметом специального исследования. Чтобы проиллюстрировать это, рассмотрим один конкретный пример.
Рассматриваемые ниже эксперименты были проведены американским исследователем Кори Ваксманом и подробно описаны в его работе (см. приложение).
Пакет CLAB использовался для решения задачи предсказания результата выборов президента США. Входные сигналы в этой задаче представлялись в виде ответов на 12 различных вопросов. Эти вопросы касаются экономической и политической ситуации и социальных условий во время выборов, а также личностей кандидатов на пост президента. Выходные сигналы показывали, к какой партии принадлежал победитель выборов — к партии, которая является правящей в настоящий момент, или к оппозиционной. В качестве обучающей выборки использовались результаты выборов с 1860 по 1980 годы.
Читать дальшеИнтервал:
Закладка: