SoftCraft
разноликое программирование

Отправная точка
Программирование
Windows API
Автоматы
Нейроинформатика
Парадигмы
Параллелизм
Проектирование
Теория
Техника кодирования
Трансляторы
Учебный процесс
Прочие вопросы

Разное

Беллетристика
Брюзжалки
Цели и задачи
Об авторе


Нейроинформатика. Учебное пособие


Оглавление | Введение | П1 | П2 | П3 | Литература
Лекции: 1, 2-3, 4-6, 7.1, 7.2, 8, 9, 10, 11.1, 11.2-12, 13-14, 15-16


Приложение 2. Описание программ пакета «Нейроучебник»

Все программы пакета «Нейроучебник» имеют общий интерфейс. Данное описание сформировано на основе системы помощи пакета.

Сервисные функции

В данном разделе собраны описания сервисных функций общего назначения.

Работа с подсказкой

При работе с подсказкой на экране появляется окно, название которого совпадает с названием высвеченного раздела. В окне цветом, отличным от цвета основного текста, выделены ссылки. Одна из ссылок выделена цветом, отличным от цветов текста и остальных ссылок. Это выделенная ссылка.

Приведем список всех клавиш, используемых при работе с подсказкой:

F1 Переход в этот раздел подсказки.
SHIFT-F1 Переход в главный каталог разделов подсказки.
ALT-F1 Переход к предыдущему разделу.
ENTER Переход к подразделу по выделенной ссылке.
TAB Выделить следующую ссылку.
SHIFT-TAB Выделить предыдущую ссылку.
↑↓ Сдвинуть содержимое подсказки на строку вниз или вверх.
PgUp Сдвинуть содержимое подсказки на страницу вверх.
PgDown Сдвинуть содержимое подсказки на страницу вниз.
HOME Перейти к началу раздела.
END Перейти к концу раздела.
ESC Закончить работу с подсказкой.

Смена цветов.

На экране изображено окно, в правой части которого даны названия цветов, которые можно изменить.

В правой части Окна находятся подокна "Цвет текста", "Цвет фона", и "Образец текста".

В подокне "Цвет текста" черной точкой отмечен прямоугольник цвета букв.

В подокне "Цвет фона" черной точкой отмечен прямоугольник цвета фона.

В подокне "Образец текста" дан пример текста, написанного атрибутами (цвет фона и цвет текста) из верхних окон.

Выбрав курсором нужный цвет в правом списке нажмите ENTER. После этого Вы можете установить любую комбинацию фона и текста, пользуясь стрелками внутри окон "Цвет текста", "Цвет фона" и кнопкой TAB для перехода между ними. Если Вы раздумали менять цвет, то нажмите ESC.

Когда Вы подберете подходящую комбинацию цветов фона и текста нажмите ENTER. Чтобы закончить работу по подбору цветов нужно нажать ESC. После этого на нижней границе окна появляется вопрос: "Хотите запомнить измененные цвета?(y,n)". Если Вы нажмете "N", то сделанные Вами изменения будут действовать только во время текущего сеанса работы с программой. Если Вы ответите "Y", то измененные цвета будут запомнены в файле, содержащем эту программу. Это приведет к тому, что сделанные изменения сохранятся до следующего изменения.

Выбор файла

При выборе файла на экране появляется окно "Выбор файла", содержащее окна "Диски", "Каталоги", "Файлы". Внизу окна "Выбор файла" выводится информация о текущей дорожке и маске файлов.

Сразу после начала выбора файла, Вы находитесь в окне выбора диска. Выбор осуществляется при помощи стрелок "Влево", "Вправо" и клавиши ENTER. Если диск доступен и содержит файлы с заданной маской или каталоги, то после нажатия ENTER курсор переместится в окно "Каталоги" или "Файлы". Если окна "Каталоги" и "Файлы" не пусты, то выйти из режима выбора диска можно при помощи стрелок "Вверх", "Вниз" или клавиши TAB.

В окне "Каталоги" Вы можете выбрать нужный каталог и перейти в него при помощи стрелок "Вверх", "Вниз" и клавиши ENTER. Стрелка "Влево" переводит Вас в окно "Диски", а стрелка "Вправо" и клавиша TAB в окно "Файлы". При нажатии алфавитно-цифровой клавиши курсор перемещается на первый каталог, начинающийся на эту букву, или, если такого нет, на каталог, начинающийся на следующую за ней букву.

В окне "Файлы" выбор производится так же, как и в окне "Каталоги", за исключением того, что стрелка "Влево" переводит Вас в окно "Каталоги", а стрелка "Вправо" и клавиша TAB в окно "Диски".

Если Вы решили отказаться от выбора файлов – нажмите ESC.

Вертикальное меню

При работе с вертикальным меню, выбор пункта осуществляется при помощи стрелок "Вверх" и "Вниз", клавиш HOME, END, ENTER и соответствующих выделенным в пунктах буквам, а так же при помощи горячих клавиш.

Если вертикальное меню является подменю горизонтального меню, то стрелки "Влево" и "Вправо" переводят Вас в левое и правое соседнее подменю, если оно есть.

Для выхода из меню, без каких либо действий нажмите ESC.

Горизонтальное меню

При работе с горизонтальным меню, выбор пункта осуществляется при помощи стрелок "Влево", "Вправо" и "Вниз", клавиш HOME, END, ENTER и соответствующих выделенным в пунктах буквам, а так же при помощи горячих клавиш.

Если текущий пункт горизонтального меню имеет подменю, то стрелка "Вниз" и клавиша ENTER переводят Вас в подменю.

Для выхода из меню без каких либо действий нажмите ESC.

Приветствие

В окне приветствие приведены название данной программы, список спонсоров разработки и координаты группы "Нейрокомп", создавшей для Вас этот пакет. Более подробная информация о данной программе находится в разделе "О себе".

О себе

Программа Hopfield.

Эта программа является первой программой из серии обучающих программ по нейрокомпьютингу. В данной программе реализована одна из наиболее простых и, в тоже время, наиболее наглядных идеологий нейронных сетей – идеология сетей Хопфилда. Это единственная идеология нейронных сетей распознавания образов, которая не является классификационной по своей сути. Это, однако, часто приводит к эффекту ложной памяти, то есть на некоторые входные данные обученная сеть в качестве ответа выдает химеры – образы, не входившие в обучающее множество. Идеология сетей Хопфилда предполагает простой алгоритм построения синаптической карты. Говоря точнее, веса связей между нейронами не подстраиваются в ходе обучения, а вычисляются по заданному правилу при предъявлении обучающего множества. В данной программе реализованы два алгоритма вычисления синаптической карты – классический алгоритм Хопфилда и проекционный алгоритм, который повышает запоминающую способность сети Хопфилда. Конкретные характеристики о структуре сети, нейрона и других элементов программы Вы найдете в соответствующих разделах данного справочного материала.

 

Программа Pade.

Эта программа является пятой из серии обучающих программ по нейрокомпьютингу. В данной программе реализована полносвязная сеть с рациональными (Паде – в честь изобретателя Паде аппроксимации) нейронами. Эта сеть может обучаться различными способами. От сети, имитируемой программой SIGMOID, сеть программы PADE отличается только типом нейронов. Конкретные данные о структуре сети, нейрона и других элементов программы Вы найдете в соответствующих разделах данного справочного материала.

 

Программы Sigmoid и Sinus

Эти программа являются четвертой и шестой из серии обучающих программ по нейрокомпьютингу. В данной программе реализована полносвязная сеть с сигмоидными (синусоидными) нейронами. Эта сеть может обучаться различными способами. Конкретные данные о структуре сети, нейрона и других элементов программы Вы найдете в соответствующих разделах данного справочного материала.

Цвет

Это подменю служит для настройки программы на конкретную машину и конкретного пользователя. Наиболее уязвимым местом PC является разнородность используемых мониторов. Подстройка цветов позволяет сделать программу легко адаптируемой к любой машине. Более подробно о смене цветов смотрите в разделе Смена цветов.

Закончить работу

Выполнение этой функции приводит к немедленному завершению работы. При этом обучающее множество и синаптическая карта теряются. Для того чтобы избежать потерь, необходимо воспользоваться функциями запомнить обучающее множество и запомнить карту.

Главный индекс


Режимы работы программы

Основной режим

Редактирование задачи

Тестирование

Обучение

Контрастирование

Основные объекты

Стандартный задачник

Обучающее множество

Задача

Нейрон

Нейронная сеть

Синаптическая карта

Все программы кроме программы Hopfield

Параметры сети

Число нейронов в сети

Число срабатываний сети

Характеристика нейронов

Параметры метода обучения

Использовать MParTan

Организация обучения

Вычисление направления

Способ оценивания

Уровень УДАРА

Параметры контрастирования

Норма для исключения

Норма для включения

Количество контрастируемых связей

Количество замораживаемых связей

Количество размораживаемых связей

Число циклов накопления критерия

Набор выделенных значений (1/2^n)

Методы предобработки

Чистый образ

Сдвиговый автокоррелятор

Автокоррелятор сдвиг+отражение

Автокоррелятор сдвиг+вращение

Автокоррелятор сдвиг+вращение+отражение


Основной режим

Основной режим работы позволяет Вам изменять обучающее множество, читать, записывать синаптическую карту, обучать нейронную сеть, тестировать ее, а также выполнять ряд других функций.

В верхней строке экрана находится основное меню программы. Ниже находятся поля пяти задач обучающего множества и тестовой задачи. Под полями задач приведен краткий список горячих клавиш и их функций. Ниже приведен полный список горячих клавиш и их функций для основного режима:

←→ Смена активной задачи. Активная задача отличается цветами рамки и заголовка.
↑↓ Смена активного примера в поле задачи.
Home Сделать активным первый пример задачи.
End Сделать активным последний пример задачи.
ENTER Перейти в режим редактирования задачи.
DELETE Удалить пример.
F1 Высветить справочную информацию. Отметим, что эта клавиша работает во всех режимах.
F2 Открыть стандартный задачник.
F3 Запомнить обучающее множество.
F4 Прочитать обучающее множество.
F5 Тест обучающего множества.
CTRL-F5 Тест текущего тестового примера.
ALT-F5 Тест тестовой задачи.
SHIFT-F5 Тест статистический (Кроме программы Hopfield).
F6 Обучение нейронной сети.
ALT-F6 Случайное изменение карты.
CTRL-F6 Контрастирование.
F7 Запомнить карту.
F8 Прочитать карту.
CTRL-F8 Редактировать карту.
ALT-F8 Сгенерировать новую карту (Кроме программы Hopfield).
F9 Выйти в меню.
F10 Закончить работу.
ALT-C Записать изображение активного примера активной задачи в карман.

Кроме того, часть функций может быть выполнена только через выход в меню. Выбрав нужный пункт в меню и нажав F1 Вы получите справку о выполняемой им функции.

Обучающее множество

Обучающее множество – это совокупность всех примеров задач 1,...,5. Обучающее множество может рассматриваться как целое (См. разделы Запомнить обучающее множество, Тест обучающего множества и Прочитать обучающее множество) или как совокупность задач (См. разделы Задача, Удалить задачу и Редактирование задачи). Программа предоставляет Вам возможность создавать, редактировать, записывать и читать обучающее множество.

Запомнить обучающее множество

При выполнении функции "Запомнить обучающее множество" на экран выводится запрос "Введите имя файла для запоминания" и предлагается имя последнего записанного или прочитанного файла обучающего множества. Все файлы обучающих множеств ВСЕГДА имеют расширение ".PBL". Это необходимо учитывать при создании таких файлов средствами отличными от данной программы. При ответе на запрос можно не набирать расширение файла, поскольку оно будет заменено стандартным.

Прочитать обучающее множество

При чтении обучающего множества на экране появляется окно выбора файла. Вы должны выбрать нужный Вам файл или отказаться от чтения. При зачтении нового обучающего множества старое – стирается.

Открыть стандартный задачник

Функция открытия стандартного задачника предназначена для подготовки файла стандартного задачника к просмотру. Все файлы стандартных задачников имеют расширение ".TSK" и НЕСОВМЕСТИМЫ по формату с файлами обучающего множества. Программа не предусматривает средств создания и редактирования стандартных задачников. Если Вас интересует создание новых стандартных задачников, воспользуйтесь программами TaskBook и Pbl2Tsk.

Очистить обучающее множество

Эта функция производит операцию Удаления задачи со всеми задачами Обучающего множества.

Стандартный задачник

Стандартный задачник служит для облегчения создания обучающего множества и никак не влияет на обучение нейронной сети. Поэтому можно менять стандартный задачник во время обучения сети, не опасаясь влияния этой смены на ход обучения. Открытие стандартного задачника возможно несколькими способами:

  • через пункт "Открыть стандартный задачник" в подменю "Обучающее множество".

После открытия стандартного задачника Вы получаете возможность выбирать из него изображения и вводить их в обучающее множество или в число примеров тестовой задачи.

Задача

Под задачей понимается совокупность примеров, которые Вы отнесли к одному классу изображений. На экране вся информация о задаче отображается в окне "Задача #", где # – номер задачи. В окне "Задача" можно выделить следующие объекты:

номер текущего примера;

данные текущего примера;

вес текущего примера;

оценка текущего примера;

ответ текущего примера;

средняя оценка по всем примерам задачи.

Первые пять объектов относятся к примерам и меняются при просмотре примеров. Средняя оценка является характеристикой всей задачи в целом. Номер примера служит для идентификации примеров внутри задачи. Поле данных примера содержит задаваемую Вами в режиме редактирования задачи исходную информацию для сети. Поле ответа содержит ответ сети на предъявленный Вами пример. Для получения более полной информации о полях "вес текущего примера", "оценка текущего примера" и "средняя оценка по всем примерам задачи" смотрите разделы Вес примера и Оценка примера.

Просмотр примеров

Просмотр примеров активной задачи осуществляется в основном режиме при помощи клавиш "Вверх" и "Вниз". При этом в окне задачи появляются соответствующие поля номер примера, данные примера, вес примера, оценка примера, ответ примера.

Редактирование задачи

Режим редактирования задачи имеет свой набор горячих клавиш. Горячие клавиши основного режима НЕ действуют. В режиме редактирования задачи Вы можете создавать новые примеры или редактировать старые. Ниже приведен список горячих клавиш режима редактирования задачи и описание их функций:

←→↑↓ Перемещение курсора.
Пробел Поставить/стереть точку.
CTRL-← Сдвинуть изображение влево
CTRL-→ Сдвинуть изображение вправо
PAGEUP Сдвинуть изображение вверх
PAGEDOWN Сдвинуть изображение вниз
F1 Справочная информация
F2 Просмотр стандартного задачника
F3 Инвертирование изображения
F4 Затенение изображения
F5 Инвертирующий шум
CTRL-F5 Изменить уровень инвертирующего шума
F6 Добавляющий шум
CTRL-F6 Изменить уровень добавляющего шума
F7 Гасящий шум
CTRL-F7 Изменить уровень гасящего шума
DELETE Очистить изображение
В Ввести новый вес примера
П Повернуть изображение на 90 градусов по часовой стрелке
О Отразить изображение относительно вертикальной оси
ALT-C Записать текущее изображение в карман
ALT-P Заменить текущее изображение хранящимся в кармане.

Просмотр стандартного задачника

Просмотр стандартного задачника осуществляется с помощью клавиш "Вправо" и "Влево". Для введения текущего изображения в обучающее множество необходимо нажать ENTER, после чего программа перейдет обратно в режим редактирования задачи. Если Вы хотите отказаться от ввода задачи из стандартного задачника – нажмите ESC.

Вес примера

Вес примера является задаваемой Вами величиной, влияющей на вклад данного примера в изменение синаптической карты при обучении. Чем больше вес примера (вес не может превышать 1 и быть меньше 0), тем весомее вклад данного примера в синаптическую карту и наоборот.

Оценка примера

Программа Hopfield.

В данной программе оценка примера выполняет чисто информационные функции и равна числу несовпадающих точек в исходном изображении и ответе.

 

Все программы, кроме программы Hopfield.

В данной программе оценка примера может вычисляться по одному из двух правил Метода наименьших квадратов или Расстояния до множества. Кроме того, при тестировании примеров тестовой задачи в окне "Оценка" отображается уровень уверенности сети в решении предъявленного примера. Уровень надежности вычисляется по формулам, приведенным в разделах Метод наименьших квадратов и Расстояния до множества.

Затенение изображения

При исполнении команды "Затенить изображение", при редактировании задачи или, во всех программах, кроме программы Hopfield, во время Статистического теста с тенью, необходимо затенить часть изображения. Затенение осуществляется по следующему алгоритму:

  1. При помощи генератора случайных чисел генерируется уравнение прямой, проходящей через изображение.
  1. Та часть изображения, которая не содержит точку с координатами (5,5) стирается.

Затенение изображения – одно из четырех предоставляемых этой программой искажений изображения. Остальные искажения описаны в разделах: Добавляющий шум, Инвертирующий шум, Гасящий шум.

Добавляющий шум

При исполнении команды "Добавляющий шум", при редактировании задачи или, во всех программах, кроме программы Hopfield, во время Статистического теста с добавляющим шумом производится наложение на изображение добавляющего шума. Алгоритм "зашумления" с заданным уровнем добавляющего шума:

  1. Для каждой точки изображения генерируется случайное число из диапазона (0,1).
  1. Если это число меньше либо равно заданному уровню шума, то в изображение добавляется соответствующая точка.

Добавляющий шум – одно из четырех предоставляемых этой программой искажений изображения. Остальные искажения описаны в разделах: Затенение изображения, Инвертирующий шум, Гасящий шум.

Инвертирующий шум

При исполнении команды "Инвертирующий шум", при редактировании задачи или, во всех программах, кроме программы Hopfield, во время Статистического теста с инвертирующим шумом производится наложение на изображение инвертирующего шума. Алгоритм "зашумления" с заданным уровнем Инвертирующего шума:

  1. Для каждой точки изображения генерируется случайное число из диапазона (0,1).
  1. Если это число меньше либо равно заданному уровню шума, то в изображении инвертируется соответствующая точка.

Инвертирующий шум – одно из четырех предоставляемых этой программой искажений изображения. Остальные искажения описаны в разделах: Затенение изображения, Добавляющий шум, Гасящий шум.

Гасящий шум

При исполнении команды "Гасящий шум", при редактировании задачи или, во всех программах, кроме программы Hopfield, во время Статистического теста с гасящим шумом производится наложение на изображение гасящего шума. Алгоритм "зашумления" с заданным уровнем Гасящего шума:

  1. Для каждой точки изображения генерируется случайное число из диапазона (0,1).
  1. Если это число меньше либо равно заданному уровню шума, то в изображении гасится соответствующая точка.

Гасящий шум – одно из четырех предоставляемых этой программой искажений изображения. Остальные искажения описаны в разделах: Затенение изображения, Добавляющий шум, Инвертирующий шум.

Удалить пример

Эта функция удаляет активный пример активной задачи. Если после этого примеров не остается, то заводится пустой пример. Таким образом, все задачи всегда содержат хотя бы один пример.

Первый пример

Эта функция делает активным первый пример активной задачи.

Последний пример

Эта функция делает активным последний пример активной задачи.

Удалить задачу

Эта функция удаляет все примеры активной задачи и заводит один пустой пример.

Нейронная сеть

Программа Hopfield

Нейронная сеть в данной программе является полносвязной (каждый нейрон связан с каждым, в том числе и с самим собой), однородной (все нейроны одинаковы), стонейронной (поскольку в сетях Хопфилда каждой точке изображения соответствует свой нейрон, а в этой программе используются изображения 10*10) сетью Хопфилда. Алгоритм формирования Синаптической карты описан в разделах "Параметры" и "Обучение". Алгоритм функционирования каждого нейрона описан в разделе "Нейрон".

 

Все программы кроме программы Hopfield

Сеть, имитируемая данной программой, является полносвязной (каждый нейрон получает на каждом шаге сигналы со всех нейронов), с выделенными связями для получения входных данных. Подробная схема нейрона приведена в разделе Нейрон. Число нейронов в сети может варьироваться от 5 до 10 (см Число нейронов в сети). Число обменов сигналами между нейронами может варьироваться от 2 до 5 (см. Число срабатываний сети).

Нейрон

Программа Hopfield.

В данной программе все нейроны сети одинаковы и очень просты. Обозначив вектор сигналов сети через a[i] (i=1,...,100), а элементы синаптической карты – синаптические веса – через X[ij], работу нейрона можно описать следующими формулами:

J[i]= Сумма по j от 1 до 100 (a[j]*X[ij])

a'[i]= 1, если J[i]>0; 0, если J[i]<0.

a'[i] – новый сигнал i-ого нейрона.

 

Программа Pade.

Схема рационального нейрона представлена на рисунке ниже. Он состоит из шести частей: входных синапсов (x[i,j], y[i,j]), сумматоров (N,D) и функционального преобразователя (F).

Схема действия i-го нейрона проста – в каждый момент времени со всех нейронов на него поступают сигналы. Перед сумматором каждый сигнал умножается на синаптический вес x[i,j] для сумматора N и y[i,j] для сумматора D. Индекс i показывает номер нейрона получающего, а индекс j – номер передавшего сигнал. Отметим, что в силу ограничений, принятых в данной модели нейронной сети, все синаптические веса неотрицательны. После этого сигналы поступают на сумматоры. Вычисленные сумматорами сигналы передаются на функциональный преобразователь F. В данной программе все нейроны одинаковы (во всем, кроме синаптических весов, поскольку они являются характеристиками не нейронов, а нейронной сети в целом) и преобразуют сигнал по следующему правилу: F = N / (C + D), где С – Характеристика нейрона


В программах Sinus и Sigmoid нейроны отличаются только видом функционального преобразователя. Схема нейрона представлена на рисунке ниже. Он состоит из четырех частей: входных синапсов (x[i,j]), сумматора (N) и функционального преобразователя.

Схема действия i-го нейрона проста – в каждый момент времени со всех нейронов на него поступают сигналы. Перед сумматором каждый сигнал умножается на синаптический вес x[i,j]. Индекс i показывает номер нейрона получающего, а индекс j – номер – передавшего сигнал. Отметим, что в силу ограничений, принятых в данной модели нейронной сети, все синаптические веса не могут по абсолютной величине превосходить 1. После этого сигналы поступают на сумматор. Вычисленный сумматором сигнал передается на функциональный преобразователь. В данной программе все нейроны одинаковы (во всем, кроме синаптических весов, поскольку они являются характеристиками не нейронов, а нейронной сети в целом) и преобразуют сигнал по следующему правилу:

F = Sin(Т)(программа Sinus).
А = N / (C + |N|)(программа Sigmoid).

где С – Характеристика нейрона

Синаптическая карта

Синаптическая карта является важнейшей частью нейронной сети. Она задает веса, с которыми передаются сигналы от одних нейронов к другим. Синаптическая карта формируется при обучении нейронной сети, Случайном изменении карты, Контрастировании, а для программ, отличных от программы Hopfield, и при Редактировании карты, Генерации новой карты.

Запомнить карту

При выполнении этой функции на экран выводится запрос "Введите имя файла для запоминания". Все файлы карт имеют расширение ".MAP", которое можно не набирать при ответе на запрос.

Прочитать карту

При чтении карты на экране появляется окно выбора файла. Вы должны выбрать нужный Вам файл или отказаться от чтения.

Редактировать карту

Эта функция позволяет "увидеть" на экране синаптическую карту и изменить, в соответствии с вашими желаниями значения отдельных связей. Ниже приведен список клавиш, позволяющих Вам редактировать карту:

F1 помощь;
←→↑↓ перемещение курсора;
PgUp на страницу вверх;
PgDown на страницу вниз;
^← на 10 влево;
^→ на 10 вправо;
HOME в начало;
END в конец;
ENTER редактировать;
Пробел заморозить/разморозить связь (Кроме программы Hopfield);
ENTER редактировать.

Далее для всех программ, кроме программы Hopfield.

Операция замораживания (размораживания) связи позволяет исключить (подключить ранее исключенную) эту связь из процесса обучения. Связи могут быть заморожены либо при редактировании карты, либо при контрастировании.

Опишем формат отображения синаптической карты на экран. В первом столбце идут номера входных сигналов (в случае отсутствия предобработки это единица для позиции, где есть точка и -1 – для остальных). Точки изображения нумеруются, как показано в следующей таблице:

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100

Кроме того, к вектору входных сигналов любого примера каждой задачи добавляется сигнал с номером 0 и значением 1). Во второй колонке находятся значения синаптических весов, на которые будут подаваться соответствующие входные сигналы. В третьей колонке стоят номера нейронов, сигналы с которых будут подаваться на синапсы, веса которых указаны в четвертой колонке.

В программе Pade, во второй колонке находятся значения синаптических весов сумматора числителя функционального элемента, на которые будут подаваться соответствующие первой колонке входные сигналы. В третьей колонке находятся значения синаптических весов сумматора знаменателя функционального элемента, на которые будут подаваться соответствующие первой колонке входные сигналы. В четвертой колонке стоят номера нейронов, сигналы с которых будут подаваться на синапсы, веса которых указаны в пятой (сумматор числителя) и шестой (сумматор знаменателя) колонках.

Сгенерировать новую карту

Выполнение этой функции приводит к замене текущей синаптической карты на случайную, с указанными Вами параметрами. Если Вы указали уровень синапсов равным L, то каждый синапс будет получен с помощью случайной величины, равномерно распределенной внутри интервала [-L,L] (для программы Pade – в интервале [0,L]).

Случайное изменение карты

Выполнение этой функции приводит к изменению всех весов синаптической карты на случайную величину, равномерно распределенную в диапазоне [-L,L], где L – задается в меню Параметры, в пункте Уровень УДАРА. Для каждого синаптического веса генерируется своя случайная поправка.

Контрастирование карты

Программа Hopfield.

Эта процедура удаляет из сети "лишние" связи. Вы можете задать понятие лишних связей, задав параметры контрастирования в меню Параметры.

 

Все программы, кроме программы Hopfield.

Эта процедура удаляет из сети "лишние" связи, замораживает медленно обучающиеся и размораживает ранее замороженные или отконтрастированные. Вы можете задать понятие лишних, медленных и подлежащих размораживанию связей задав значения параметров контрастирования в меню Параметры. Ниже приведена схема процедуры контрастирования:


Накопление показателей чувствительности
|
V
Выделение размораживаемых связей
|
V
Контрастирование связей
|
V
Замораживание связей
|
V
Размораживание выделенных связей

  1. Накопление показателей чувствительности для размораживания (Норма для включения) и для замораживания и контрастирования (Норма для исключения) ведется раздельно в ходе указанного Вами числа (Число циклов накопления критерия) тактов обучения сети по методу Усредненного антиградиентного спуска.
  1. После накопления показателей чувствительности определяются связи подлежащие размораживанию – Количество размораживаемых связей с самым большим показателем чувствительности. Отметим, что связи только отмечаются, но не размораживаются.
  1. Среди обучаемых связей выделяем Количество контрастируемых связей с самыми маленькими модернизированными показателями чувствительности. Модернизация производится по следующему алгоритму:
    1. Для каждой неотконтрастированной связи определяем расстояние до ближайшего выделенного значения.
    1. Умножаем показатель чувствительности этой связи на вычисленное расстояние.
    1. Величины отобранных связей заменяем ближайшим выделенным значением и замораживаем (исключаем из обучения).
  1. Среди незамороженных (обучаемых) связей находим Количество замораживаемых связей и замораживаем, не изменяя их величин.
  1. Связи, включенные в список подлежащих размораживанию на втором шаге алгоритма, размораживаем, не изменяя их величин.

Параметры

Программа Hopfield

В этом подменю, Вы можете установить параметры Метода обучения, Контрастирования и Уровень УДАРА.

 

Все программы, кроме программы Hopfield.

В меню "Параметры" Вы можете задать следующие параметры:

Параметры сети

Число нейронов в сети

Число срабатываний сети

Характеристика нейронов

Параметры метода обучения

Использовать MParTan

Организация обучения

Вычисление направления

Способ оценивания

Уровень УДАРА

Параметры контрастирования

Норма для исключения

Норма для включения

Количество контрастируемых связей

Количество замораживаемых связей

Количество размораживаемых связей

Число циклов накопления критерия

Набор выделенных значений (1/2^n)

Методы предобработки

Чистый образ

Сдвиговый автокоррелятор

Автокоррелятор сдвиг+отражение

Автокоррелятор сдвиг+вращение

Автокоррелятор сдвиг+вращение+отражение

Параметры метода обучения

Программа Hopfield

Этот пункт позволяет Вам выбрать один из двух заложенных в программу алгоритмов построения синаптической карты по обучающему множеству. Если Вы выбрали "Классический Хопфилд", то формирование происходит так, как описано в разделе обучение. Если Вы предпочли "Проекционный Хопфилд", то производится предварительная обработка обучающего множества. Входные данные, задаваемые каждым примером, можно рассматривать как стомерный вектор. Процедура предварительной обработки состоит в ортонормировании системы векторов, задаваемых всеми примерами обучающего множества. Отметим, что при тестировании предобработка отсуствует.

 

Все программы, кроме программы Hopfield.

В этом меню Вы можете задать следующие параметры метода обучения:

Использовать MParTan

Организация обучения

Вычисление направления

Способ оценивания

Уровень УДАРА

Использовать MparTan

Все программы, кроме программы Hopfield.

При построении метода обучения Вы пользуетесь следующей схемой:


Использовать MParTan Да или Нет
|
V
 
Процедура спуска  
|
V
 
Организация обучения Усредненная
Позадачная
Задаче номер
|
V
 
Вычисление направления Случайный спуск
Градиентный спуск
|
V
 
Метод оценивания Метод наименьших квадратов
Расстояние до множества
|
V
 
Нейронная сеть  

Входными параметрами процедуры MParTan являются:

  1. Начальная карта.
  1. Процедура вычисления Направления спуска.
  1. Локальное обучающее множество.
  1. Процедура вычисления оценки.

Процедура ParTan работает по следующему алгоритму:

  1. Запоминаем текущую карту и оценку текущего Обучающего множества, определяемую в соответствии с тремя более низкими уровнями схемы.
  1. Используя процедуру вычисления Направления спуска, вычисляет направление спуска и производит спуск в этом направлении. Этот шаг алгоритма выполняется дважды.
  1. Запоминаем текущую карту и оценку текущего Обучающего множества,
  1. Делаем спуск в направлении, ведущем из первой запомненной карты во вторую.
  1. Если оценка не равна 0, то повторяем всю процедуру сначала.

Процедура MParTan несколько отличается от предыдущей, но ее описание слишком сложно. Однако в ее основе лежит та же идея. Если Вы не используете MParTan, то используется следующая процедура

  1. Используя процедуру вычисления Направления спуска, вычисляет направление спуска и производит спуск в этом направлении.
  1. Если оценка не равна 0, то повторяем всю процедуру сначала.

Организация обучения

Все программы, кроме программы Hopfield.

При построении метода обучения Вы пользуетесь следующей схемой:


Использовать MParTan Да или Нет
|
V
 
Процедура спуска  
|
V
 
Организация обучения Усредненная
Позадачная
Задаче номер
|
V
 
Вычисление направления Случайный спуск
Градиентный спуск
|
V
 
Метод оценивания Метод наименьших квадратов
Расстояние до множества
|
V
 
Нейронная сеть  

Под организацией обучения будем понимать способ порождения обучающего множества для одного шага обучения. Исторически самым первым был способ позадачного обучения. Если быть более точным – то попримерного. Процедура попримерного обучения состоит из следующих шагов:

  1. Подаем на вход сети задачу.
  1. Получаем ответ.
  1. Вычисляем оценку.
  1. Производим корректировку сети. (Процедура спуска)

Таким образом, локальное обучающее множество для процедур MParTan, Процедура спуска и Вычисление направления состоит только из одного примера.

Алгоритмы получения локального обучающего множества для различных способов организации обучения:

Попримерный Для каждого шага обучения новый пример.
Позадачный Для первого шага обучения – все примеры первой задачи, для второго второй и т.д.
Задаче номер N На всех шагах обучения локальное обучающее множество состоит из всех примеров N-ой задачи.
Усредненный Локальное обучающее множество совпадает с полным, то есть включает в себя все примеры всех пяти задач обучающего множества.

Вычисление направления

Все программы, кроме программы Hopfield.

При построении метода обучения Вы пользуетесь следующей схемой:


Использовать MParTan Да или Нет
|
V
 
Процедура спуска  
|
V
 
Организация обучения Усредненная
Позадачная
Задаче номер
|
V
 
Вычисление направления Случайный спуск
Градиентный спуск
|
V
 
Метод оценивания Метод наименьших квадратов
Расстояние до множества
|
V
 
Нейронная сеть  

Данная программа предусматривает два способа вычисления направления спуска. Первый способ известен как Случайный поиск, а второй как метод наискорейшего спуска. В первом случае в качестве направления спуска используется случайный вектор, а во втором – вектор антиградиента функции оценки.

Уровень УДАРА

Этот пункт позволяет задать параметр Случайного изменения карты. Уровень УДАРА должен лежать в пределах от 0.001 до 1.

Процедура спуска

Все программы, кроме программы Hopfield.

При построении метода обучения Вы пользуетесь следующей схемой:


Использовать MParTan Да или Нет
|
V
 
Процедура спуска  
|
V
 
Организация обучения Усредненная
Позадачная
Задаче номер
|
V
 
Вычисление направления Случайный спуск
Градиентный спуск
|
V
 
Метод оценивания Метод наименьших квадратов
Расстояние до множества
|
V
 
Нейронная сеть  

Входными параметрами процедуры спуска являются

  1. Начальная карта.
  1. Направление спуска.
  1. Локальное обучающее множество.
  1. Процедура вычисления оценки.

Алгоритм процедуры спуска:

  1. Вычисляем оценку по локальному обучающему множеству (Е1).
  1. Делаем пробный шаг, добавляя к начальной карте вектор направления спуска умноженный на шаг S.
  1. Вычисляем оценку по локальному обучающему множеству (Е2).
  1. Если Е2<E1, то увеличиваем шаг S, полагаем E1=E2 и повторяем шаги алгоритма 1-4 до тех пор, пока не станет E2>E1. Карта, которой соответствует оценка E1,и является результатом работы процедуры.
  1. Если после первого выполнения шага 3 оказалось, что E2>E1, то уменьшаем шаг S, полагаем E1=E2 и повторяем шаги алгоритма 1-3 и 5 до тех пор, пока не станет E2<E1. Карта, которой соответствует оценка E1, и является результатом работы процедуры.

Метод оценивания

Все программы, кроме программы Hopfield.

При построении метода обучения Вы пользуетесь следующей схемой:


Использовать MParTan Да или Нет
|
V
 
Процедура спуска  
|
V
 
Организация обучения Усредненная
Позадачная
Задаче номер
|
V
 
Вычисление направления Случайный спуск
Градиентный спуск
|
V
 
Метод оценивания Метод наименьших квадратов
Расстояние до множества
|
V
 
Нейронная сеть  

В данной программе принят способ кодирования ответа номером канала: номер того из пяти ответных нейронов, который выдал на последнем такте функционирования наибольший сигнал, задает номер класса, к которому сеть отнесла предъявленный образ. Оценка, таким образом, может быть вычислена только для задачи, ответ которой известен.

Данная программа предусматривает два различных способа оценивания решения. Различие в способах оценки связано с различием требований, накладываемых на обученную сеть. Пусть пример относится к N-ой задаче. Тогда требования можно записать так:

Метод наименьших квадратов (Программа Pade)

  1. N-ый нейрон должен выдать на выходе 1.
  1. Остальные нейроны должны давать на выходе 0 (как можно более близкое к 0 число).

 

Метод наименьших квадратов (Программы Sigmoid и Sinus).

  1. N-ый нейрон должен выдать на выходе 1 (поскольку сигнал 1 для нейрона невозможен (см. Нейрон), то число как можно более близкое к 1).
  1. Остальные нейроны должны давать на выходе -1 (как можно более близкое к -1 число).

 

Расстояние до множества

В этом случае требование только одно – разница между выходным сигналом N-го нейрона и выходными сигналами остальных нейронов должна быть не меньше уровня надежности.

 

Таким образом, для Метода наименьших квадратов оценка примера N-ой задачи равна

H = ( Сумма по I<>N от 1 до 5 (A[I]+1)^2) ) + (A[N]-1)^2

и является обычным Евклидовым расстоянием от правильного ответа до ответа, выданного сетью.

Как следует из названия второго метода оценивания, вычисляемая по этому способу оценка равна расстоянию от выданного сетью ответа до множества правильных ответов. Множество правильных ответов для примера N-ой задачи задается неравенствами

A[N]-R > A[I], для всех I<>N.

Предобработка входных данных

Все программы, кроме программы Hopfield.

Входные данные задачи распознавания черно-белых изображений представляют собой последовательность 0 и 1 (есть точка – 1, нет – 0). Такие данные не всегда оптимальны для решения задачи распознавания. В связи с этим возникает задача предобработки данных. Возможны различные виды предобработки – преобразования Фурье, построение различных инвариантов и т.п. В этой программе предусмотрено несколько видов предобработки:

Чистый образ

Сдвиговый автокоррелятор

Автокоррелятор сдвиг+отражение

Автокоррелятор сдвиг+вращение

Автокоррелятор сдвиг+вращение+отражение

В результате предобработки получается не только более информативный вектор входных сигналов, но иногда и вектор меньшей размерности. Кроме того, вектор входных сигналов, полученный предобработкой типа "сдвиговый автокоррелятор" является инвариантным к сдвигу.

Чистый образ

Все программы, кроме программы Hopfield.

Это "пустая" предобработка – никакой предобработки не производится.

Сдвиговый автокоррелятор

Все программы, кроме программы Hopfield.

Основная идея этого метода предобработки – сделать вектор входных сигналов нейронной сети инвариантным к сдвигу. Другими словами, два вектора, соответствующие одному и тому же образу, расположенному в разных местах шаблона 10*10, после предобработки этим способом должны совпадать! Рассмотрим подробно метод вычисления автокоррелятора. Пусть дано изображение X. x[i,j] – точка изображения в i-ом ряду и j-ом столбце. Будем считать x[i,j]=0, если хотя бы один индекс (i или j) находится вне пределов интервала (1,10). Элемент автокоррелятора A – a[l,k] вычисляется по формуле:

a[l,k] = Сумма по i от 1 до 10 (Сумма по j от 1 до 10 < x[i,j]*x[i+l,j+k] > )

Другими словами, a[l,k] – число точек совпадающих при наложении изображения X на это же, но сдвинутое на вектор (l,k) изображение. Легко заметить, что ненулевыми могут быть только элементы автокоррелятора A с индексами -9<=l,k<=9. Однако a[l,k]=a[-l,-k] Таким образом можно рассматривать только часть коррелятора с индексами -9<=i<=9 и 0<=j<=9. Если Вы задаете размер автокоррелятора m*n, то входными сигналами для сети будут служить элементы a[i,j] при -(n-1)<=i<=(n-1), 0<=j<=m-1.

Автокоррелятор сдвиг+отражение

Все программы, кроме программы Hopfield.

Этот метод предобработки в качестве исходных данных использует сдвиговый автокоррелятор. Идея вычисления автокоррелятора сдиг+отражение (S) очень проста: Сложим значения, соответствующие симметричным точкам, и будем считать их новыми значениями. s[k,l]=a[k,l]+a[k,-l]. Очевидно, что автокоррелятор S инвариантен относительно сдвига и отражения. Кроме того, можно ограничиться только элементами с неотрицательными индексами. Если Вы задали размеры автокоррелятора m*n, то входными сигналами сети будут s[l,k] при 0<=l<=n-1, 0<=k<=m.

Автокоррелятор сдвиг+вращение

Все программы, кроме программы Hopfield.

Этот метод предобработки в качестве исходных данных использует сдвиговый автокоррелятор. Идея вычисления автокоррелятора очень проста: поворачиваем автокоррелятор A на 90 градусов относительно элемента a[0,0] и получаем элемент автокоррелятора R умножением соответствующих элементов – r[p,q]=a[p,q]*a[q,-p]. Очевидно, что автокоррелятор R инвариантен относительно сдвига и поворота на 90 градусов. Кроме того, можно ограничиться только элементами с неотрицательными индексами. Если вы задали размеры автокоррелятора m*n, то входными сигналами сети будут s[l,k] при 0<=l<=n-1, 0<=k<=m.

Автокоррелятор сдвиг+вращение+отражение

Все программы, кроме программы Hopfield.

Этот метод предобработки в качестве исходных данных использует автокоррелятор сдвиг+вращение. Идея вычисления автокоррелятора сдиг+вращение+отражение (C) очень проста: Сложим значения, соответствующие симметричным точкам, и будем считать их новыми значениями. c[k,l]=r[k,l]+r[k,-l]. Очевидно, что автокоррелятор C инвариантен относительно сдвига, вращения и отражения. Кроме того, можно ограничиться только элементами с неотрицательными индексами. Если вы задали размеры автокоррелятора m*n, то входными сигналами сети будут с[l,k] при 0<=l<=n-1, 0<=k<=m.

Параметры нейронной сети

Все программы, кроме программы Hopfield.

Этот пункт меню позволяет Вам изменять структуру нейронной сети. Вы можете изменить такие важнейшие параметры сети, как

Число нейронов в сети

Число срабатываний сети

Характеристика нейронов

Число нейронов в сети

Все программы, кроме программы Hopfield.

Этот пункт меню позволяет Вам изменять число нейронов в сети от 5 до 10. Подробно структура сети и нейрона описана в разделах Нейронная сеть и Нейрон.

Число срабатываний сети

Все программы, кроме программы Hopfield.

Наиболее широкую известность получили нейронные сети слоистой архитектуры. В таких сетях за время решения примера сигнал только один раз попадает на нейроны каждого слоя. Имитируемая данной программой сеть является полносвязной сетью – каждый нейрон передает сигнал всем другим (в том числе и себе). Однако любую полносвязную сеть можно представить в виде слоистой сети с идентичными слоями. В рамках такого представления число срабатываний сети равно числу слоев нейронной сети, следующих за входным слоем. Число срабатываний сети может изменяться от 1 до 5.

Характеристика нейронов

Программа Sigmoid

В разделе Нейрон описана структура работы нейрона. В функциональном преобразователе нейрона, работающем по формуле F = R / (C+|R|), присутствует величина С, называемая характеристикой нейрона. Этот пункт меню позволяет Вам изменять эту величину от 0.001 до 5.

 

Программа Sinus не имеет параметра Характеристика нейрона

Программа Pade

В разделе Нейрон описана структура работы нейрона. В функциональном преобразователе нейрона, работающем по формуле F = N / (C+D) присутствует величина С, называемая характеристикой нейрона. Этот пункт меню позволяет Вам изменять эту величину в пределах от 0.001 до 5.

Параметры контрастирования

Программа Hopfield.

Если Вы посмотрите на синаптическую карту (воспользуйтесь клавишей <CTRL-F8> для перехода в режим Редактирования карты), то заметите, что большая часть синаптических весов мала и одинакова по величине. Процедура контрастирования (вызывается нажатием клавиш <CTRL-F6>) позволяет исключить часть связей из функционирования. Вам предлагается два способа исключения "лишних" связей:

Меньше х.ххх все синаптические веса, меньшие числа х.ххх по абсолютной величине устанавливаются равными 0. Число х.ххх должно лежать в интервале от 0 до 1.
Дальше хх все синаптические веса связей с нейронами, удаленными от данного более чем на хх устанавливаются равными 0. По этому алгоритму обрабатываются последовательно все нейроны. Расстояние определяется как сумма модулей разности индексов двух нейронов (сумма расстояния по горизонтали и по вертикали). Например, расстояние между вторым нейроном пятой строки и шестым нейроном первой строки равно ¦2-6¦+¦5-1¦=8. Задаваемый Вами радиус контрастирования хх должен принадлежать интервалу от 1 до 18.

 

Все программы, кроме программы Hopfield.

Это подменю позволяет Вам определить понятие "лишних" и "медленно обучаемых" связей, а также связей подлежащих возвращению в обучаемое состояние, путем задания следующих параметров процедуры Контрастирования:

Норма для исключения

Норма для включения

Количество контрастируемых связей

Количество замораживаемых связей

Количество размораживаемых связей

Число циклов накопления критерия

Набор выделенных значений (1/2^n)

Норма для исключения

Все программы, кроме программы Hopfield.

При накоплении показателей чувствительности для исключения из обучения связей программа позволяет использовать три варианта нормы:

  • Показатель чувствительности связи равен максимуму модуля соответствующего элемента векторов антиградиента по всем циклам накопления критерия.
  • Показатель чувствительности связи равен сумме модулей соответствующего элемента векторов антиградиента по всем циклам накопления критерия.
  • Показатель чувствительности связи равен сумме соответствующего элемента векторов антиградиента по всем циклам накопления критерия.

Норма для включения

Все программы, кроме программы Hopfield.

При накоплении показателей чувствительности для включения в обучение связей программа позволяет использовать три варианта нормы:

  • Показатель чувствительности связи равен максимуму модуля соответствующего элемента векторов антиградиента по всем циклам накопления критерия.
  • Показатель чувствительности связи равен сумме модулей соответствующего элемента векторов антиградиента по всем циклам накопления критерия.
  • Показатель чувствительности связи равен сумме соответствующего элемента векторов антиградиента по всем циклам накопления критерия.

Количество контрастируемых связей

Все программы, кроме программы Hopfield.

Этот пункт меню позволяет Вам задать число связей, подлежащих Контрастированию.

Количество замораживаемых связей

Все программы, кроме программы Hopfield.

Этот пункт меню позволяет Вам задать число связей, подлежащих Замораживанию.

 

Количество размораживаемых связей

Все программы, кроме программы Hopfield.

Этот пункт меню позволяет Вам задать число связей, подлежащих Размораживанию.

Число циклов накопления критерия

Все программы, кроме программы Hopfield.

Этот пункт меню позволяет Вам задать число циклов обучения для накопления показателей чувствительности для процедуры Контрастирования.

Набор выделенных значений (1/2^n)

Все программы, кроме программы Hopfield.

Процедура контрастирования (вызывается нажатием клавиш <CTRL-F6>) позволяет Вам исключить часть связей из функционирования, а остальные связи привести к небольшому числу выделенных значений. Этот пункт позволяет Вам задать набор выделенных значений. Ниже приведена таблица соответствия набора выделенных значений задаваемому Вами параметру:

Программа Pade

Параметр Значения
0 0.
1 0, 1.
2 0, 1/2, 1.
3 0, 1/4, 2/4, 3/4, 1.
4 0, 1/8, 2/8, 3/8, ..., 7/8, 1.
5 0, 1/16, 2/16, ..., 15/16, 1.
6 0, 1/32, 2/32, ..., 31/32, 1.
7 0, 1/64, 2/64, ..., 63/64, 1.
8 0, 1/128, 2/128, ..., 127/128, 1.

 

Программы Sinus и Sigmoid

Параметр Значения
0 0.
1 0, ±1.
2 0, ±1/2, ±1.
3 0, ±1/4, ±2/4, ±3/4, ±1.
4 0, ±1/8, ±2/8, ±3/8, ..., ±7/8, ±1.
5 0, ±1/16, ±2/16, ..., ±15/16, ±1.
6 0, ±1/32, ±2/32, ..., ±31/32, ±1.
7 0, ±1/64, ±2/64, ..., ±63/64, ±1.
8 0, ±1/128, ±2/128, ..., ±127/128, ±1.

Показать все параметры

Все программы, кроме программы Hopfield.

Этот пункт меню позволяет Вам увидеть на экране все параметры, задаваемые в меню "Параметры":

Параметры сети

Число нейронов в сети

Число срабатываний сети

Характеристика нейронов

Параметры метода обучения

Использовать MParTan

Организация обучения

Вычисление направления

Способ оценивания

Уровень УДАРА

Параметры контрастирования

Норма для исключения

Норма для включения

Количество контрастируемых связей

Количество замораживаемых связей

Количество размораживаемых связей

Число циклов накопления критерия

Набор выделенных значений (1/2^n)

Методы предобработки

Чистый образ

Сдвиговый автокоррелятор

Автокоррелятор сдвиг+отражение

Автокоррелятор сдвиг+вращение

Автокоррелятор сдвиг+вращение+отражение

Кроме того, на экран выводится число тактов функционирования сети уже затраченных на обучение и средняя оценка по обучающему множеству.

Обучение

Программа Hopfield.

При вычислении синаптической карты в данной программе предусмотрено использование одного из двух заложенных алгоритмов. Выбор алгоритма производится в подменю "Параметры" главного меню. Там же описана процедура предварительной обработки обучающего множества в случае применения алгоритма "Проекционный Хопфилд". В этом разделе описана общая для обоих алгоритмов процедура вычисления элемента синаптической карты по векторам обучающего множества. Поскольку мы имеем дело со стонейронной нейронной сетью, исходные данные любого примера можно представить в виде стомерного вектора. Обозначим вектора соответствующие обучающему множеству через A[1],...,A[k], вес l-ого примера – W[l], а ij-ый элемент синаптической карты – X[ij]. Тогда алгоритм вычисления синаптической карты можно представить в виде формулы:

X[ij] = Сумма по l от 1 до k (A[l][i]*A[l][j]*W[l])

 

Все программы, кроме программы Hopfield.

В данной программе реализован "генетический" подход к формированию стратегии обучения. У Вас в руках ряд процедур, с помощью которых Вы можете подобрать стратегию обучения сети. Ниже приведена таблица всех возможных режимов

Использовать MParTan Организация обучения Вычисление направления Способ оценивания Допустимость
1 Да Средн. Антиградиент МНК Допустим
2 Да Средн. Антиградиент РДМ Допустим
3 Да Средн. Случайное МНК Допустим
4 Да Средн. Случайное РДМ Допустим
5 Да Позад. Антиградиент МНК Недопустим
6 Да Позад. Антиградиент РДМ Недопустим
7 Да Позад. Случайное МНК Недопустим
8 Да Позад. Случайное РДМ Недопустим
9 Да Зад. N Антиградиент МНК Допустим
10 Да Зад. N Антиградиент РДМ Допустим
11 Да Зад. N Случайное МНК Допустим
12 Нет Зад. N Случайное РДМ Допустим
13 Нет Средн. Антиградиент МНК Допустим
14 Нет Средн. Антиградиент РДМ Допустим
15 Нет Средн. Случайное МНК Допустим
16 Нет Средн. Случайное РДМ Допустим
17 Нет Позад. Антиградиент МНК Допустим
18 Нет Позад. Антиградиент РДМ Допустим
19 Нет Позад. Случайное МНК Допустим
20 Нет Позад. Случайное РДМ Допустим
21 Нет Зад. N Антиградиент МНК Допустим
22 Нет Зад. N Антиградиент РДМ Допустим
23 Нет Зад. N Случайное МНК Допустим
24 Нет Зад. N Случайное РДМ Допустим

Обозначения, использованные в таблице:

Средн. – Обучение по усредненной оценке (градиенту);

Позад. – Позадачное обучение;

Зад. # – Обучение задаче номер;

Случайно – Случайный спуск;

Антиградиент – Градиентный спуск;

МНК – Оценка типа Метода наименьших квадратов;

РДМ – Оценка типа Расстояние до множества.

Задать процедуру обучения Вы можете в меню Параметры, в подменю метода

Тест

В режиме Тест Вы можете проверить навыки нейронной сети. Возможно несколько видов тестирования: Тест обучающего множества, при котором проверяется правильность ответов сети при предъявлении ей примеров из обучающего множества; Тест текущего тестового примера, при котором проверяется решение сетью активного примера в тестовой задаче; Тест тестовой задачи – проверка решения сетью всех примеров тестовой задачи; все программы, кроме программы Hopfield Статистический тест – проверка сети на устойчивость к искажениям.

Тест обучающего множества

Часто бывает важно знать, какие ответы дает сеть при предъявлении ей примеров из обучающего множества. Это бывает полезно при выявлении "плохих" задач и во многих других случаях. После проведения Теста обучающего множества каждому примеру из обучающего множества ставится в соответствие ответ. Результаты теста можно узнать, просмотрев обучающее множество.

Тест текущего тестового примера

При работе с обученной нейронной сетью часто бывает важно узнать ее ответ на пример, не входящий в обучающее множество. Для этой цели предназначены режимы Тест текущего тестового примера и Тест тестовой задачи. Чтобы проверить реакцию сети на интересующий Вас пример Вы должны ввести этот пример в окне "Тест" и выполнить Тест текущего тестового примера.

Тест тестовой задачи

Этот режим служит для проверки навыков обученной нейронной сети. Чтобы проверить реакцию сети на интересующие Вас примеры, Вы должны ввести их все в окне "Тест" и выполнить Тест тестовой задачи.

Тест статистический

Все программы, кроме программы Hopfield.

При работе с нейронными сетями большой интерес представляет вопрос об устойчивости полученных навыков к различным искажениям. Для исследования этого вопроса и предназначен статистический тест обучающего множества. В режиме статистического теста Вы можете

Убрать меню с экрана

Провести Полный статистический тест

Провести Статистический тест с тенью

Провести Статистический тест с добавляющим шумом

Провести Статистический тест с инвертирующим шумом

Провести Статистический тест с гасящим шумом

Задать параметры теста

Сохранить результаты на диске

Прочитать с диска результаты работы

Очистить таблицу тестов

Закончить работу со статистическим тестом

Убрать меню с экрана

Все программы, кроме программы Hopfield.

Этот пункт позволяет "спрятать" меню, закрывающее часть полезной информации на Экране статистического теста. Чтобы вернуть меню на экран необходимо нажать любую клавишу.

Экран статистического теста

Все программы, кроме программы Hopfield.

В первой строке экрана отображается название тестируемого обучающего множества, во второй строке – имя тестируемой карты, в третьей – число предъявлений на один пример (см. Задать параметры теста). Ниже расположены таблицы результатов четырех тестов: Статистического теста с тенью, Статистического теста с добавляющим шумом, Статистического теста с инвертирующим шумом, Статистического теста с гасящим шумом. Результаты представлены в виде двух строк заголовка и таблицы. Первая строка заголовка содержит имя теста. Для тестов с шумами во второй строке дан уровень шума (см. Затенение изображения, Инвертирующий шум, Добавляющий шум, Гасящий шум). Ниже приведена расшифровка данных таблицы.

Статистический тест с добавляющим шумом (1)
Уровень добавляющего шума – 0.200 (2)
  1 (3) 2 3 4 5
1 (4) (5) 16 0 0 4 0
2 0 12 0 (6) 8 > 0
3 0 0 20 0 0
4 0 0 0 20 0
5 0 0 0 0 0

Цифрами в круглых скобках обозначены следующие объекты:

  • Имя теста.
  • Параметр теста (уровень шума).
  • Номер класса ответа (за что приняли)
  • Номер тестируемой задачи (что предъявляли)
  • Число предъявлений 1-ой задачи, которые были распознаны как 1-ый образ
  • Число предъявлений 2-ой задачи, которые были распознаны как 4-ый образ
  • Полный статистический тест

    Все программы, кроме программы Hopfield.

    Проведение полного статистического теста включает в себя проведение последовательно четырех тестов: Статистического теста с тенью, Статистического теста с добавляющим шумом, Статистического теста с инвертирующим шумом, Статистического теста с гасящим шумом. Причем параметры тестов задаются при помощи пункта Задать параметры теста. Вся полученная в ходе тестирования информация отображается в соответствующих полях Экрана статистического теста

    Статистический тест с тенью

    Все программы, кроме программы Hopfield.

    При выполнении этого теста каждый пример обучающего множества искажается при помощи затенения изображения и предъявляется нейронной сети для распознавания. С каждым примером эта процедура проделывается заданное (см. Задать параметры теста) число раз. Результаты теста отображаются в таблице результатов. Если Вас интересует, какое число ошибок было сделано при предъявлении каждого примера обучающего множества, то Вам необходимо выйти из режима тестирования и просмотреть обучающее множество. В поле "Оценка" отображается доля правильных ответов на каждый пример. Необходимо помнить, что эти данные отражают результаты только ПОСЛЕДНЕГО теста!

    Статистический тест с добавляющим шумом

    Все программы, кроме программы Hopfield.

    При выполнении этого теста каждый пример обучающего множества искажается при помощи Добавляющего шума с уровнем, заданным при помощи пункта Задать параметры теста, и предъявляется нейронной сети для распознавания. С каждым примером эта процедура проделывается заданное (см. Задать параметры теста) число раз. Результаты теста отображаются в таблице результатов. Если Вас интересует, какое число ошибок было сделано при предъявлении каждого примера обучающего множества, то Вам необходимо выйти из режима тестирования и просмотреть обучающее множество. В поле "Оценка" отображается доля правильных ответов на каждый пример. Необходимо помнить, что эти данные отражают результаты только ПОСЛЕДНЕГО теста!

    Статистический тест с инвертирующим шумом

    Все программы, кроме программы Hopfield.

    При выполнении этого теста каждый пример обучающего множества искажается при помощи Инвертирующего шума с уровнем, заданным при помощи пункта Задать параметры теста, и предъявляется нейронной сети для распознавания. С каждым примером эта процедура проделывается заданное (см. Задать параметры теста) число раз. Результаты теста отображаются в таблице результатов. Если Вас интересует, какое число ошибок было сделано при предъявлении каждого примера обучающего множества, то Вам необходимо выйти из режима тестирования и просмотреть обучающее множество. В поле "Оценка" отображается доля правильных ответов на каждый пример. Необходимо помнить, что эти данные отражают результаты только ПОСЛЕДНЕГО теста!

    Статистический тест с гасящим шумом

    Все программы, кроме программы Hopfield.

    При выполнении этого теста каждый пример обучающего множества искажается при помощи Гасящего шума с уровнем, заданным при помощи пункта Задать параметры теста, и предъявляется нейронной сети для распознавания. С каждым примером эта процедура проделывается заданное (см. Задать параметры теста) число раз. Результаты теста отображаются в таблице результатов. Если Вас интересует, какое число ошибок было сделано при предъявлении каждого примера обучающего множества, то Вам необходимо выйти из режима тестирования и просмотреть обучающее множество. В поле "Оценка" отображается доля правильных ответов на каждый пример. Необходимо помнить, что эти данные отражают результаты только ПОСЛЕДНЕГО теста!

    Задать параметры теста

    Все программы, кроме программы Hopfield.

    При исполнении этого пункта у Вас последовательно запрашиваются "Число искажений на пример" – сколько различных экземпляров искажений каждого примера будет предъявляться сети для распознавания; "Уровень добавляющего шума" – для Статистического теста с добавляющим шумом (см. Добавляющий шум); "Уровень инвертирующего шума" – для Статистического теста с инвертирующим шумом (см. Инвертирующий шум); "Уровень гасящего шума" – для Статистического теста с гасящим шумом (см. Гасящий шум).

    Сохранить результаты на диске

    Все программы, кроме программы Hopfield.

    Этот пункт позволяет сохранить на диске точную копию Экрана статистического теста. Отметим, что информация о доле правильных ответов на каждый пример, отображаемая в поле "Оценка" обучающего множества НЕ СОХРАНЯЕТСЯ!

    Прочитать с диска результаты работы

    Все программы, кроме программы Hopfield.

    При выполнении этого пункта с диска считывается сохраненная при помощи пункта Сохранить результаты на диске тестовая информация. Отметим, что информация о доле правильных ответов на каждый пример, отображаемая в поле "Оценка" обучающего множества НЕ СОХРАНЯЕТСЯ на диске, и при чтении НЕ ВОССТАНАВЛИВАЕТСЯ!

    Очистить таблицу тестов

    Все программы, кроме программы Hopfield.

    Исполнение этого пункта приводит к потере текущей тестовой информации, и очистке полей данных тестов на Экране статистического теста. Если Вы хотите сохранить результаты теста на диске, то воспользуйтесь пунктом Сохранить результаты на диске.

    Закончить работу со статистическим тестом

    Все программы, кроме программы Hopfield.

    Исполнение этого пункта приводит к выходу из статистического теста. При этом результаты теста сохраняются до проведения другого тестирования или выхода из программы. Если Вы хотите сохранить результаты теста на диске, то воспользуйтесь пунктом Сохранить результаты на диске.


    Оглавление | Введение | П1 | П2 | П3 | Литература
    Лекции: 1, 2-3, 4-6, 7.1, 7.2, 8, 9, 10, 11.1, 11.2-12, 13-14, 15-16