ФЭНДОМ



© Сергей Яковлев, 2002

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



Изменение способа расчета уровня активации нейронной сети в методе СС4 Править

С. Яковлев, Mg.sc.comp. e-mail: : sergeyk@fis.lv, tac@inbox.lv

Аннотация. Работа посвящена анализу трехслойных нейронных сетей, обученных по методу СС4, предложенному Subhash C. Kak. Исследуется мера обобщения . Найдена математическая зависимость активации элемента скрытого слоя от меры обобщения . Найденные соотношения слабо зависят от размерности входных данных и их количества. Это позволяет значительно уменьшить время моделирования работы нейронной сети на компьютере, которое таким образом несущественно зависит от размеров задачи.

Ключевые слова: распознавание образов, нейронные сети, обобщение

1. Введение Править

Подход угловой классификации [1] в нейронном обучении сети сначала был предложен в 1992 году и впоследствии предоставлен американский патент. До настоящего времени обучение многослойной структуры нейронной сети в значительной степени выполнялось с использованием алгоритма backpropagation. Имеются и другие методы [2,3], но они требуют более трудоемкого и длительного обучения. Как будет показано далее, угловая классификация требует, чтобы каждая выборка обучения была представлена сети только однажды. Этот подход почти мгновенен и поэтому предлагает привлекательное альтернативное решение проблемы обучения нейронных сетей.

Данная работа нацелена на исследование природы обобщения. Один из методов обобщения, с одной стороны, встроен в алгоритм СС4 (Cornel Classification) [1], который используется для обучения нейронной сети, а с другой стороны, использует алгоритм работы самой нейронной сети.

В статье предлагается алгоритм обобщения, который не базируется на других алгоритмах и понятиях. Такое разделение понятий на “Модель обобщения”, “Алгоритм обучения”, “Структуру и работу нейронной сети” дает, по мнению автора, во-первых, более точное понятие каждой сущности, и во-вторых, что наиболее полезно в техническом смысле, возможность увеличить скорость моделирования нейронной сети на компьютере.

В данной работе основное внимание уделено расчету активации элемента скрытого слоя нейронной сети. Расчет активации элемента происходит очень часто, поэтому хотелось бы уменьшить время расчета, и к тому же сократить количество таких расчетов. В данной работе предложен метод ССМ (Cornel Classification In Model), с помощью которого можно свести расчет активации элемента скрытого слоя нейронной сети к выбору значения из массива, который создан заранее и постоянно хранится в памяти. Вторая цель – сокращение количества расчетов, достигается за счет того, что в методе ССМ можно оперировать не двоичными цифрами, а десятичными.

Это позволяет значительно уменьшить время моделирования работы нейронной сети на компьютере, которое таким образом становится менее зависимым от размеров задачи. Это позволяет применять данный метод в таких задачах как видеонаблюдение, в частности, распознавание трёхмерных объектов [4, 5], распознавание людей по фотопортретам [6], т.е. там, где нужно обрабатывать данные в реальном времени.

Метод ССМ основан на понятии “Модели обобщения”, заложенном в алгоритме СС4. Поэтому мы переходим к рассмотрению алгоритма СС4 и рассмотрению сущности понятия “Модели обобщения”. А затем рассмотрим собственно метод ССМ.

2. Метод СС4 Править

Метод CC4 использует сетевую архитектуру, состоящую из трех уровней двоичных нейронов. Уровни входа и выхода полностью связаны. Число входных нейронов равно длине входного вектора плюс один дополнительный нейрон, являющийся нейроном смещения, который имеет постоянное значение 1. Число скрытых нейронов равно числу обучающих выборок. Каждый скрытый нейрон соответствует одной обучающей выборке. Рис.1 показывает структуру общей сети CC4.


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

(1) \qquad \qquad w_j[i] = \begin{cases}1 & \text{if } x_i[j] = 1\\0 & \text{if } x_i[j] = 0\\r - s +1 & \text{if} j = n\end{cases}

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

Ccm 1

Рис. 1. Архитектура нейронной сети для метода СС4


for (int i=1; i <= n - 1; i++) // n = длина вектора, включая смещение
{
  si = no of 1s in xi [i];
 
  for (j = 1; j <= n - 1; j++)
  {
    if (xi [j] == 1)
    {
      wi [j] = 1; // Входной вес
    }
    else
    {
      wi [j] = -1;
    }
  }
  wi [n] = r – si + 1; // r = радиус обобщения
  for (k = 1; k <= m; k++) // m = длина выходного вектора
  { 
      if (yi [k] == 1)
      { 
        ui [k] = 1; // Выходной вес 
      }
      else
      { ui [k] = -1; }
    }
  }
}


Причина для назначения весов таким образом может быть объяснена первым предположением, состоящим в том, что r=0 . Когда обучающийся вектор подан на вход сети, скрытый нейрон, соответствующий этой обучающей выборке, принимает значение 1 и зависит от значений входных нейронов, которые представлены с помощью 1, и принимает значение 0 для тех входных нейронов, которые представлены значением 0. В то же самое время скрытый слой получает сигнал -s+1 от нейрона смещения. Таким образом, значения входов, полученных скрытыми нейронами, изменяются от -s+1 до 1. В связи с тем, что скрытый нейрон использует двоичную функцию активации, а порог был принят равным нулю, скрытый нейрон будет активен. Все другие нейроны скрытого слоя принимают значение ноль, или вход сети является негативным вследствие несоответствия в значениях входа (+1) и веса (+1). Таким образом, только один скрытый нейрон будет активен для каждого вектора обучающей выборки, поданного на вход сети. Во внешнем уровне способ, которым веса выхода были назначены, гарантирует, что единичный вход, активизирующий скрытый нейрон, осуществляет связь с обучающим вектором. При этом считают выход положительно коррелированным с обучающим вектором, а все другие нейроны скрытого слоя считаются отрицательно коррелированными с обучающим вектором.

Если тестовый вектор, который не был в наборе обучения, теперь подан на вход сети, все скрытые нейроны примут значение ноль, что соответствует негативному выходу сети из-за отрицательной корреляции, и ни один из выходных нейронов не будет активен. Отсюда следует, что, когда r=0 , сеть узнает, что обучающая выборка воспроизводится корректно, но вывод не будет осуществляться.

Рассмотрим случай r>1 . Когда тестовый вектор подан на вход, сеть его блокирует, если данный вектор в значительной степени отличается от любого из обучающих векторов, которые сеть уже узнала и сохранила [1].

3. Понятие “Модель обобщения” Править

В данном разделе объясняется понятие “Модель обобщения”. Данное понятие достаточно абстрактно и поэтому будет представлена конкретная модель. “Модель обобщения” определяется двумя параметрами:

  1. Методом обучения нейронной сети;
  2. Размерностью задачи (или, что то же самое, структурой нейронной сети).

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

  1. Размерность данных: 1 байт (числа от 0 до 255);
  2. Количество данных: 256.

В методе СС4, как было описано выше, “Модель обобщения” выбирается с помощью k – коэффициента обобщения. Причем k при нашей размерности находится в приделах от 1 до 8. “Модель обобщения” для каждого можно описать бинарной матрицей. Такие матрицы представлены на рис. 2 – 9, где 1 – черная точка, а 0 – белая точка. Такая бинарная матрица описывает подобие входных элементов (ось y) с элементами в памяти (ось x), т.е. такими элементами, которым была обучена нейронная сеть в процессе обучения методом СС4. Причем 1 – означает, что элемент подобен, а 0 – нет.

Для нашего примера такой вид модели (рис. 2 - 9) строго определяется самим методом обучения – СС4, который в режиме тестирования (или при распознавании) динамически создает ту или иную часть “Модели обобщения”. Выбор этой части заложен в алгоритм работы нейронной сети, а если конкретнее, в расчет активации элемента скрытого слоя. Таким образом, построить бинарную матрицу, отражающую определенную “Модель обобщения” для i-го коэффициента обобщения, можно, подавая на вход последовательно все варианты возможных входных данных (ось y) и соответствующую активацию каждого из элементов (ось x). То есть в матрице отражается активация N–го элемента (1 – активен, 0 – неактивен) для M–ой входной последовательности.

Ccm 2

Рис. 2. “Модель обобщения” при k = 0

Ccm 3

Рис. 3. “Модель обобщения” при k = 7

Ccm 4

Рис. 4. “Модель обобщения” при k = 1

Ccm 5

Рис. 5. “Модель обобщения” при k = 6

Ccm 6

Рис. 6. “Модель обобщения” при k = 2

Ccm 7

Рис. 7. “Модель обобщения” при k = 5

Ccm 8

Рис. 8. “Модель обобщения” при k = 3

Ccm 9

Рис. 9. “Модель обобщения” при к = 4

4. Выбор подмоделей обобщения Править

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

Но в любой “Модели обобщения” есть определенная симметрия и подобие различных частей. Поэтому имеет смысл построить набор достаточно малых по размерности “Моделей обобщения” и в конкретном случае применить ту или иную модель. Покажем это на примере. Пусть наша задача имеет следующую размерность:

  1. Размерность данных – 2 байта (числа от 0 до 65535);
  2. Количество данных – 65536,

т.е. теперь наша задача имеет в 2 раза большую размерность, чем было принято в предыдущем разделе. Но именно для этой задачи мы сможем использовать 4 “Модели обобщения” (рис. 2, 4, 6, 8) из 8 построенных ранее (рис. 2 - 9) для задачи, чья размерность была в 2 раза меньше.

Остается только определить, когда использовать ту или иную модель, что и будет описано в следующем разделе.

5. Стратегия выбора подмоделей обобщения Править

Ниже представлена стратегия выбора “Модели обобщения”. Данная стратегия может быть описана двумерной матрицей (или массивом) с размерностью , где - максимальный коэффициент обобщения (для нашего примера - 4), а N – количество входов нейронной сети, которая нужна для получения “Модели обобщения”, - размер модели (для нашего примера – 16). Элементы данной матрицы указывают на номер “Модели обобщения”. Под номером “Модели обобщения” понимается то, для какой степени обобщения пригодна данная “Модель обобщения”. Заполняется данная матрица, исходя из следующего алгоритма:

Ccm 10

Рис. 10. Матрица, описывающая стратегию выбора “Модели обобщения”

for (int i=1; i<= kmax; i++)
{
  Model[i].Value[1] = kmax-i+1;
  Model[i].Value[2] = kmax-i+2;
}
 
for (int j=3; j<= Sm; j++)
{
  Model[1].Value[j] = kmax+1;
}
 
for (int n=1; n <= N-1; n++)
{
  for (int (int i=2; i <= kmax; i++)
  {
    for (int j=1+2^n; j <= 2^(n+1); j++)
    {
      Model[i].Value[j] = Model[i-1].Value[j-2^n];
    }
  }
}


Для примера, описанного в предыдущей главе, матрица, описывающая стратегию выбора “Модели обобщения”, показана на рис.10. Причем номер 5 – соответствует “пустой” “Модели обобщения”.

6. Расчет активации методом ССМ Править

Чтобы рассчитать активность скрытого элемента нейронной сети, нужно знать следующие три величины:

  1. k - текущий коэффициент обобщения;
  2. x - число, которому обучен данный элемент (десятичное представление всех весовых коэффициентов данного элемента);
  3. y - число, поданное на вход (десятичное представление всех сигналов, поданных на вход).

Далее, исходя из этих величин, нужно рассчитать две величины по формулам (2), (3).

(2) \qquad \qquad ModelNumber = ABS ( INT( \frac {x-y} {S_M} ) ) + 1

(3) \qquad \qquad ElementNumber = ABS ( MOD( \frac {x-y} {S_M} ) ) + 1

где ABS (x) - абсолютное значение числа;

INT (x) - целая часть числа;

MOD (x) - остаток от деления.

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

(4) \qquad \qquad Model = ModelArray[k+1].Value[ModelNumber]

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

(5) \qquad \qquad Activ = ElementArray[Model].Value[ElementNumber]

6. Выводы Править

В данной работе описан способ расчета активации элементов среднего слоя нейронной сети, который позволяет существенно сократить время работы нейронной сети. Ряд экспериментов, сделанных в последствии [7], и проведенных для сравнения метода ССМ с СС4, показывают, что применение метода ССМ по времени эффективнее приблизительно в 2 раза.

Таким образом, основное отличие метода ССМ – это повышение скорости работы за счет оптимизации расчета активации элементов среднего слоя. Качество распознования остается прежним, т.к. алгоритм расчета активации элементов среднего слоя в методе ССМ концептуально не изменился, а лишь оптимизирован и дает с точки зрения распознования те же результаты, что и метод СС4.

7. Список литературы Править

  1. Subhash C. Kak. (1998). On generalization by neural networks, Information Sciences 111, P.293-302.
  2. Fausett L. (1994). Fundamentals of Neural Networks: Architectures, Algorithms and Applications, Prentice Hall International Inc.
  3. Rojas R. (1996). Neural Networks. A Systematic Introduction. Berlin, Springer – Verlag.
  4. Belhumeur P. N., Hespanha J. P. and Kriegman D. J. Eigenfaces vs Fisherfaces: Recognition Using Class Specific Linear Projection. IEEE Transactions on Pattern Analysis and Machine Intelligence 1997, Vol. 19, pp. 711-720.
  5. Vetter T. and Poggio T. Linear Object Classes and Image Synthesis From a Single Example Image. IEEE Transactions on Pattern Analysis and Machine Intelligence 1997, Vol. 19, pp. 733-742.
  6. Самаль Д.И., Старовойтов В.В. – Подходы и методы распознавания людей по фотопортретам. – Минск, ИТК НАНБ, 1998. – 54с.
  7. Jakovlev S. (2004). The identification system of dynamic objects on the basis of artificial neural networks. Scientific proceedings of Riga Technical University, Issue 5, Vol.2, RTU, Riga, P. 93-99.


© Сергей Яковлев, (2002). Способ математического расчета уровня активации нейронной сети – ССМ. Proceedings of the International Conference “Traditions and Innovations in Sustainable Development of Society. Information Technologies”, Rezekne, February 28 – March 2, P. 187-194.


THE DIGITAL CALCULATIONS METHODS OF THE NEURAL NETWORKS ACTIVATION LEVEL

S. Jakovlev

Technical University of Riga

The paper is devoted to the analysis of three-layer neural networks, learned by CC4 method, which was proposed by Subhash C. Kak. The radius of generalization is being investigated. It is found that the activation of a disclosed layer’s element is mathematically dependent on the radius of generalization. The determined correlations weakly depend on the sizing and the amount of input data. This allows the modeling time of neural networks operations on the computer to be significantly reduced. Thus, the modeling time does not substantially depend on the size of a task.

Keywords: image recognition, neural networks, generalization


© Сергей Яковлев, (2002). Способ математического расчета уровня активации нейронной сети – ССМ. Proceedings of the International Conference “Traditions and Innovations in Sustainable Development of Society. Information Technologies”, Rezekne, February 28 – March 2, P. 187-194.

Обнаружено использование расширения AdBlock.


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

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

Также на ФЭНДОМЕ

Случайная вики