Книга: Учебное пособие по курсу «Нейроинформатика»

Параметры

Параметры

Программа Hopfield

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чистый образ

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

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

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

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

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

Программа Hopfield

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

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

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

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

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

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

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

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

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

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

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

Использовать MParTan Да или Нет

?

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

?

Организация обучения Усредненная Позадачная Задаче номер

?

Вычисление направления Случайный спуск Градиентный спуск

?

Метод оценивания Метод наименьших квадратов Расстояние до множества

?

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

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

1. Начальная карта.

2. Процедура вычисления Направления спуска.

3. Локальное обучающее множество.

4. Процедура вычисления оценки.

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

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

2. Используя процедуру вычисления Направления спуска, вычисляет направление спуска и производит спуск в этом направлении. Этот шаг алгоритма выполняется дважды.

3. Запоминаем текущую карту и оценку текущего Обучающего множества,

4. Делаем спуск в направлении, ведущем из первой запомненной карты во вторую.

5. Если оценка не равна 0, то повторяем всю процедуру сначала.

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

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

2. Если оценка не равна 0, то повторяем всю процедуру сначала.

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

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

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

Использовать MParTan Да или Нет

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

Организация обучения Усредненная Позадачная Задаче номер

?

Вычисление направления Случайный спуск Градиентный спуск

Метод оценивания Метод наименьших квадратов Расстояние до множества

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

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

1. Подаем на вход сети задачу.

2. Получаем ответ.

3. Вычисляем оценку.

Производим корректировку сети. (Процедура спуска)

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

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

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

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

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

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

Использовать MParTan Да или Нет

?

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

?

Организация обучения Усредненная Позадачная Задаче номер

?

Вычисление направления Случайный спуск Градиентный спуск

?

Метод оценивания Метод наименьших квадратов Расстояние до множества

?

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

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

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

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

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

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

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

Использовать MParTan Да или Нет

?

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

?

Организация обучения Усредненная Позадачная Задаче номер

?

Вычисление направления Случайный спуск Градиентный спуск

?

Метод оценивания Метод наименьших квадратов Расстояние до множества

?

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

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

1. Начальная карта.

2. Направление спуска.

3. Локальное обучающее множество.

4. Процедура вычисления оценки.

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

1. Вычисляем оценку по локальному обучающему множеству (Е1).

2. Делаем пробный шаг, добавляя к начальной карте вектор направления спуска умноженный на шаг S.

3. Вычисляем оценку по локальному обучающему множеству (Е2).

4. Если Е2<E1, то увеличиваем шаг S, полагаем E1=E2 и повторяем шаги алгоритма 1–4 до тех пор, пока не станет E2>E1. Карта, которой соответствует оценка E1,и является результатом работы процедуры.

5. Если после первого выполнения шага 3 оказалось, что E2>E1, то уменьшаем шаг S, полагаем E1=E2 и повторяем шаги алгоритма 1–3 и 5 до тех пор, пока не станет E2<E1. Карта, которой соответствует оценка E1, и является результатом работы процедуры.

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

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

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

Использовать MParTan Да или Нет

?

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

?

Организация обучения Усредненная Позадачная Задаче номер

?

Вычисление направления Случайный спуск Градиентный спуск

?

Метод оценивания Метод наименьших квадратов Расстояние до множества

?

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

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

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

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

N-ый нейрон должен выдать на выходе 1.

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

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

N-ый нейрон должен выдать на выходе 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.
3 0, ?, 2/4, ?, 1.
4 0, ?, 2/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.
3 0, ±?, ±2/4, ±?, ±1.
4 0, ±?, ±2/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)

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

 Чистый образ

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

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

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

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

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

Оглавление книги


Генерация: 0.105. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз