КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИНСТИТУТ ВЫЧИСЛИТЕЛЬНОГО МОЕДЛИРОВАНИЯ СО РАН Миркес Е.М Учебное пособие по курсу НЕЙРОИНФОРМАТИКА Красноярск 2002 Введение Рабочая программа по курсу «Нейроинформатика» Лабораторная № 1 Лабораторная № 2 Лабораторная № 3 Лабораторная № 4 Лабораторная № 5 Лабораторная № 6 Лабораторная № 7 Вопросы к экзамену Лекция 1. Возможности нейронных сетей Лекции 2 и 3. Сети естественной классификации Содержательная постановка задачи Формальная постановка задачи Сеть Кохонена Обучение сети Кохонена Сеть Кохонена на сфере Метод динамических ядер Выбор начального приближения Примеры видов классификации Сферическая модель Пространственная модель Модель линейных зависимостей Определение числа классов Простой подбор Методы отжига Лекции 4, 5 и 6. Нейронные сети ассоциативной памяти, функционирующие в дискретном времени Описание задачи Формальная постановка задачи Сети Хопфилда Функционирование сети Ортогональные сети Тензорные сети Сети для инвариантной обработки изображений Конструирование сетей под задачу Численный эксперимент Доказательство теоремы Лекция 7.1. Двойственные сети Краткий обзор нейронных сетей Выделение компонентов Запросы компонентов нейрокомпьютера Запросы к задачнику Запрос к предобработчику Запрос к исполнителю Запросы к учителю Запрос к контрастеру Запрос к оценке Запрос к интерпретатору ответа Запросы к сети Лекция 7.2. Задачник и обучающее множество Структуры данных задачника Поля задачника Состав данных задачника Цвет примера и обучающая выборка Входные данные Комментарии Предобработанные данные Правильные ответы Полученные ответы Оценки Вес примера Достоверность ответа Уверенность в ответе Лекция 8. Предобработчик Нейрон Различимость входных данных Классификация компонентов входных данных Кодирование бинарных признаков Кодирование неупорядоченных качественных признаков Кодирование упорядоченных качественных признаков Числовые признаки Простейшая предобработка числовых признаков Оценка способности сети решить задачу Оценка константы Липшица сети Способ вычисления константы Липшица Синапс Умножитель Точка ветвления Сумматор Нелинейный Паде преобразователь Нелинейный сигмоидный преобразователь Адаптивный сумматор Константа Липшица сигмоидной сети Предобработка, облегчающая обучение Другие способы предобработки числовых признаков Модулярная предобработка Функциональная предобработка Позиционная предобработка Составной предобработчик Лекция 9. Описание нейронных сетей Конструирование нейронных сетей Элементы нейронной сети Составные элементы Функционирование сети Методы построения двойственных сетей Элементы самодвойственных сетей Правила остановки работы сети Архитектуры сетей Модификация синаптической карты (обучение) Контрастирование и нормализация сети Примеры сетей и алгоритмов их обучения Сети Хопфилда Сеть Кохонена Персептрон Розенблатта Лекция 10. Оценка и интерпретатор ответа Интерпретатор ответа Уровень уверенности Построение оценки по интерпретатору Глобальные и локальные оценки Составные интерпретатор ответа и оценка Лекция 11.1. Исполнитель Лекция 11.2, 12. Учитель Что можно обучать методом двойственности Задача обучения сети Описание алгоритмов обучения Краткий обзор макрокоманд учителя Неградиентные методы обучения Градиентные методы обучения Лекции 13, 14. Контрастер Задачи для контрастера Упрощение архитектуры нейронной сети Уменьшение числа входных сигналов Сведение параметров нейронной сети к выделенным значениям Снижение требований к точности входных сигналов Получение явных знаний из данных Множества повышенной надежности Формальная постановка задачи Классификация дублей Прямой дубль первого рода Косвенный дубль первого рода Прямой дубль второго рода Косвенный дубль второго рода Косвенный супердубль Процедура контрастирования Контрастирование на основе показателей значимости Контрастирование без ухудшения Гибридная процедура контрастирования Контрастирование при обучении Определение показателей значимости Определение показателей значимости через градиент Усреднение по обучающему множеству Накопление показателей значимости Лекции 15, 16. Персептрон Определение персептрона Обучение персептрона. Правило Хебба Целочисленность весов персептронов Двуслойность персептрона Приложение 1. Описание пакета программ CLAB (С.Е. Гилев) Описание пакета Общее описание Ptn— файл Задачник Создание нейросети Обучение нейросети Классификация объектов Дополнительные возможности нейросети Инструкции пользователю по работе с пакетом CLAB Инсталляция Обучение работе с пакетом clab на демонстрационной задаче Инструкции по созданию ptn-файла Инструкции по выбору файлов и директорий при работе с пакетом clab Инструкции по работе с программой editor Составление задачника без использования программы editor Инструкции по работе с программой netgener Инструкции по работе с программой teacher Инструкции по работе с программой tester Приложение 2. Описание программ пакета «Нейроучебник» Сервисные функции Главный индекс Основной режим Обучающее множество Нейронная сеть Параметры Обучение
Тест Приложение 3. Стандарт нейрокомпьютера Общий стандарт Стандарт типов данных Переменные типа цвет и операции с цветами Приведение и преобразование типов Операции Предопределенные константы Интерфейсные функции Строковые функции Описание языка описания компонентов Использование памяти Обработка ошибок Запросы, однотипные для всех компонентов Стандарт первого уровня компонента задачник Язык описания задачника Стандарт второго уровня компонента задачник Чтение и запись задачника Начало и конец сеанса Перемещение по примерам Определение, получение и изменение данных Окраска примеров Ошибки компонента задачника Стандарт первого уровня компонента предобработчик Неопределенные значения Стандартные предобработчики Язык описания предобработчика Стандарт второго уровня компонента предобработчик Запрос на предобработку Остальные запросы Ошибки компонента предобработчик Стандарт первого уровня компонента сеть Структура компонента Сигналы и параметры Обучаемые и не обучаемые параметры и сигналы Дополнительные переменные Стандарт языка описания сетей Стандарт второго уровня компонента сеть Запросы к компоненту сеть Запросы на функционирование Запросы на изменение параметров Запросы, работающие со структурой сети Стандарт первого уровня компонента интерпретатор ответа БНФ языка описания интерпретатора Описание языка описания интерпретаторов Пример описания интерпретатора Стандарт второго уровня компонента интерпретатор ответа Запрос на интерпретацию Остальные запросы Ошибки компонента интерпретатор ответа Стандарт первого уровня компонента оценка БНФ языка описания оценок Описание языка описания оценок Пример описания оценки Стандарт второго уровня компонента оценка Запрос на оценивание Остальные запросы Ошибки компонента оценка Стандарт второго уровня компонента исполнитель Позадачная обработка (TaskWork) Обработка обучающего множества (TaskSetWork) Ошибки компонента исполнитель Стандарт первого уровня компонента учитель Способ опознания сети для методов, привязанных к архитектуре сети Список стандартных функций Язык описания учителя Стандарт второго уровня компонента учитель Обучение сети Чтение/запись учителя Инициация редактора учителя Работа с параметрами учителя Обработка ошибок Стандарт первого уровня компонента контрастер Язык описания контрастера Стандарт второго уровня компонента контрастер Контрастирование сети Чтение/запись контрастера Инициация редактора контрастера Работа с параметрами контрастера Обработка ошибок ЛИТЕРАТУРА
Формальная постановка задачи Пусть задан набор из m эталонов — n- мерных векторов {xi }. Требуется построить сеть, которая при предъявлении на вход произвольного образа — вектора x — давала бы на выходе «наиболее похожий» эталон.
Всюду далее образы и, в том числе, эталоны — n- мерные векторы с координатами ±1. Примером понятия эталона «наиболее похожего» на x может служить ближайший к x вектор xi . Легко заметить, что это требование эквивалентно требованию максимальности скалярного произведения векторов x и xi :
Первые два слагаемых в правой части совпадают для любых образов x и xi , так как длины всех векторов-образов равны #8730;n. Таким образом, задача поиска ближайшего образа сводится к поиску образа, скалярное произведение с которым максимально. Этот простой факт приводит к тому, что сравнивать придется линейные функции от образов, тогда как расстояние является квадратичной функцией.