Читаем Учебное пособие по курсу «Нейроинформатика» полностью

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

Все программы, кроме программы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.

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

Меньше х.хххвсе синаптические веса, меньшие числа х.ххх по абсолютной величине устанавливаются равными 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.

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

Программа Pade

ПараметрЗначения
00.
10, 1.
20, ½, 1.
30, ¼, 2/4, ¾, 1.
40, ⅛, 2/8, ⅜, …, ⅞, 1.
50, 1/16, 2/16, …, 15/16, 1.
60, 1/32, 2/32, …, 31/32, 1.
70, 1/64, 2/64, …, 63/64, 1.
80, 1/128, 2/128, …, 127/128, 1.

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

ПараметрЗначения
00.
10, ±1.
20, ±½, ±1.
30, ±¼, ±2/4, ±¾, ±1.
40, ±⅛, ±2/8, ±⅜, …, ±⅞, ±1.
50, ±1/16, ±2/16, …, ±15/16, ±1.
60, ±1/32, ±2/32, …, ±31/32, ±1.
70, ±1/64, ±2/64, …, ±63/64, ±1.
80, ±1/128, ±2/128, …, ±127/128, ±1.
Показать все параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 Чистый образ

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

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

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

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

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

Перейти на страницу:

Похожие книги