2018 Вычислительные методы в дискретной математике №41
ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ
УДК 007.52
АРХИТЕКТУРА НЕЙРОННОЙ СЕТИ С ПОПАРНО ПОСЛЕДОВАТЕЛЬНЫМ РАЗДЕЛЕНИЕМ ОБРАЗОВ
П. Ш. Гейдаров
Институт систем управления НАН Азербайджана, г. Баку, Азербайджанская Республика
На основе архитектуры нейронной сети, реализующей метод ближайшего соседа, рассматривается архитектура нейронной сети с попарно последовательным разделением образов без использования аналитических выражений и набора выбранных эталонов. Изучаются возможности данной архитектуры. Показано, что такая архитектура может быть применена к задаче распознавания с очень большим количеством образов. Предлагаемая нейронная сеть отличается простой и понятной архитектурой, возможностью простого обучения нейронной сети с добавлением в неё новых распознаваемых образов без необходимости изменения предыдущих настроек сети.
Ключевые слова: архитектуры нейронных сетей, определяемые нейронные сети, нейрокопьютер, сверточные сети, алгоритмы обучения нейронных сетей.
DOI 10.17223/20710410/41/10
THE ARCHITECTURE OF A NEURAL NETWORK WITH A SEQUENTIAL DIVISION OF IMAGES INTO PAIRS
P. Sh. Geidarov
Institute of Control Systems of ANAS, Baku, Republic of Azerbaijan
E-mail: [email protected]
The known classical architectures of neural networks have many weak properties and high limitations such as great difficulties in choosing proper parameters (the numbers of neurons, connections, layers), in learning and in expanding a learned network and some others. In this paper, to overcome these shortcomings, we consider the architecture of a neural network in which the recognition is performed in pairs. The neural network is created on the basis of the neural network architecture that implements the method of the nearest neighbor, without using analytical expressions and a set of selected samples. The paper shows that such an architecture can be applied to the recognition problem with a very large number of images (classes). At the same time, the proposed neural network has a simple architecture, with the possibility of simpler learning of the neural network. The neural network architecture allows to add new recognizable images to the neural network without changing the previous network settings.
Keywords: neural network architectures, neural networks, neurocomputer, convolu-tional networks, neural network training algorithms.
Введение
Создание простых и понятных архитектур нейронных сетей с прозрачной архитектурой, способных решать сложные задачи, по-прежнему является актуальной задачей. Известные в настоящее время классические архитектуры нейронных сетей [1-3] имеют ряд слабых сторон и ограничений, среди которых такие, как:
1. Сложность выбора структуры архитектуры нейронной сети и её параметров (количества нейронов, связей, слоёв). Эти параметры выбираются либо эмпирически, либо при помощи приближённых подходов и рекомендаций, либо имеют весьма сложную многослойную форму, как, например, для сетей с глубоким обучением [4-6].
2. Сложность обучения нейронной сети с большим количеством распознаваемых образов. Чем больше количество распознаваемых образов, тем сложнее обучаются нейронные сети и тем хуже, как правило, результат обучения. Это приводит к ограничению возможного количества образов, используемых в задачах распознавания с применением нейронных сетей.
3. Сложность расширения уже обученной нейронной сети и добавления к ней новых образов, которые часто требуют переобучения сети с полным или частичным изменением предыдущих весовых и пороговых значений.
В данной работе рассматривается возможность создания прозрачной архитектуры нейронной сети на основе нейронной сети, реализующей метрические методы распознавания, что позволит обойти приведённые трудности.
В работах [7, 8] рассмотрены архитектуры нейронных сетей, реализованные на основе метрических методов распознавания (НСММР) [9]. В [10] выполнено преобразование этих сетей в многослойный персептрон с полной системой связи, которое показало, что данные сети являются частным случаем многослойного персептрона. Но при этом в отличие от классических схем многослойного персептрона структура и параметры НСММР, такие, как количество нейронов, связей, слоёв, а также значения весов и порогов вычисляются аналитически, исходя из начальных условий задачи — количества распознаваемых образов, эталонов, используемых метрических выражений. В частности, на рис. 1 приведена схема трёхслойной нейронной сети прямого распространения с пороговой функцией активации, реализующей метод ближайшего соседа [7, 10].
В качестве соседних элементов метода ближайшего соседа используется набор отобранных эталонов из обучающей выборки. Набор эталонов может отбираться как интуитивно, так и при помощи алгоритма обучающего отбора [7].
Структура данной сети (количество нейронов, слоёв и связей) строго определяется согласно схеме на рис. 2. Каждый нейрон первого слоя выполняет попарное сравнение изображений двух эталонов. При этом значения весов нейронов первого слоя определяются аналитически на основе метрических выражений, например для рис.2, б по выражению
и^Г = ¿2 - ¿1 = ((С1 - Ср)2 + (п - Гр)2) - ((С2 - Ср)2 + (Г2 - Гр}2) , (1)
где (с1, г1) и (с2, г2) являются координатами точек (ячеек таблицы весов) до ближайшей точки (ячейки) изображения эталона с координатами (ср,гр) (рис.2, а). В качестве выражений меры близости могут использоваться и другие более простые или сложные выражения [9], отличные от (1).
Рис. 1. Архитектура сети на основе метода ближайшего соседа для N эталонов и образов (классов)
Рис. 2. Расстояния ¿1 и й2 для точки (ср,гр) (а); таблица весов для эталонов «2» и «7» (б); нейрон с пороговой функцией активации (в)
Функции состояния Бп^ и активации / () для каждого нейрона первого слоя
определяются по формулам
я с
Е Е
г=0 с=0
= Е £хс,г^, / (Б</) = ^ Л _ ^(1)
(1)\ I 1, если Бп(1 < 0, 0, если Бп(1 > 0,
где С, Я — количество столбцов и строк в таблице весов (на рис.2, б С = 5, Я = 7). Значения весов для каждого входа нейронов второго и третьего слоя равны 1:
(2) (3) ,
Ч/ = Ч/ = 1
Количество нейронов второго слоя равно количеству используемых эталонов п2 = N. Значения функций состояния и активации для к-го нейрона второго слоя определяются по выражениям
= Е /(^пЦ);
¿=1, 3=к У 7
, (~(2)\ Г1, если 5пк2) ^ (Ж - 1) = В(2), = Ь, если 5пк2) < (Ж - 1) = В(2).
Здесь В(2) = N - 1 —пороговое значение нейрона второго слоя. Если выход к-го нейрона второго слоя равен ук2) = 1, то это означает, что объекту X на входе нейронной сети соответствует к-й эталон. Нейроны третьего слоя объединяют выходы эталонов одного к-го образа в единый выход ук3). Функции состояния 5пк3) и активации / ($пк3)) для
нейрона третьего слоя определяются по формулам
^=К / / ^¡я Л1, если 5п[3) >0,
к Ш, у ) V кУ |о, если 5пк3) = 0.
Если на рис. 1 каждому распознаваемому образу соответствует один эталон, то архитектура нейронной сети преобразуется в двуслойную нейронную сеть (рис. 1, а,б), где количество нейронов второго слоя равно количеству распознаваемых образов Жобр.
1. Постановка задачи и методы решения
Как уже было сказано, архитектура нейронной сети на рис. 1 реализует метод ближайшего соседа, где значения весов первого слоя вычисляются аналитически по формулам (1) на основе выделенного набора эталонов. При этом напрашивается вопрос: может ли данная архитектура нейронной сети обучаться классическими алгоритмами обучения без использования выделенных эталонов и аналитических выражений?
Представим каждый нейрон на рис. 1, а,б первого слоя как отдельный блок нейронной сети (NN1) рис.3, а, выполняющий задачу разделения двух образов. При этом у каждого блока NNi¿ имеется один бинарный выход у(1) Е {0,1}, значение которого указывает на близость объекта X к образу г или ]. Первый блок NN1,2 на рис. 3, а выполняет разделение образов 1 и 2, второй блок NN1^ разделяет образы 1 и 3 и т. д., вплоть до блока NN1,^-1, разделяющего образы 1 и N - 1. Затем следуют блоки NNi¿ для разделения пар образов {2,1}, {2, 3}, ... , {2, N - 1}, {3,1} и т.д. Каждый блок NN1] обучается отдельно на разделение своей пары образов. Для обучающей выборки блока NN1] используются только объекты образов г,^ (рис.3). Для обучения блока NN1] могут использоваться любые известные классические алгоритмы обучения. Если на вход нейронной сети (рис. 3, а) подаётся объект X, который принадлежит к-му образу, то на выходах первого слоя будут активны N - 1 выходов, начиная от
блока NNk¿ до блока NNk,N (к = ]), а на выходе второго слоя (рис.3, б), согласно
(2)
формулам (2) и (3), будет активен выход к-го нейрона ук) = 1. На выходах остальных
(2)
нейронов второго слоя (г = к) будем иметь у =0, поскольку для каждого г = к существует один блок NN1^, у которого = 0. Таким образом, максимальное значение
тах (бП^) = N - 2, тогда из (3) следует / ^п^^ = 0.
В простейшем случае блок NN1] может состоять из одного нейрона. Это будет в том случае, когда разделяемые образы достаточно удалены друг от друга и легко разделяются одной гиперплоскостью. В более сложных случаях блок может состоять из нескольких нейронов и слоёв. Можно также установить фиксированное значение нейронов и слоёв для каждого блока NNi¿. Нейроны блока NNi¿ могут быть
Рис. 3. Схема обучения нейронной сети
как с пороговыми, так и с непрерывными функциями активации. В последнем случае необходим дополнительный нейрон на выходе блока NNi,¿, преобразующий выходное непрерывное значение блока NNi,¿ в бинарное значение у(1) Е {0,1} (рис. 4). Для этого нейрона функция активации определяется по выражению
/ (ysigm)
1, если у8^т > 0,5, 0, если у8^т ^ 0,5.
В качестве алгоритмов обучения для блоков NNi,¿ могут использоваться любые известные классические алгоритмы для нейронных сетей прямого распространения.
Рис. 4. Преобразование выхода NN1^ в бинарную форму
Недостатком архитектуры нейронной сети является большое количество п блоков NNi,j, которое для схемы на рис. 3 увеличивается по формуле п = ^ - 1) N. Здесь возможно уменьшить это количество в 2 раза, если исключить блоки, повторяющие разделение одноимённых пар образов, например таких, как {1, 2} и {2,1} [7]. В этом
случае выход уЗ блока NN¿3, выполняющего разделение образов г и ], будет соеди-
' / (!) (2)\
няться с г-м нейроном второго слоя (у\ ■ = х\ ), а инвертированное значение выхода
уЗ — с ]-м нейроном второго слоя (уЗ = х32)) (рис.5). Можно предположить, что количество блоков NN 3 может быть ещё меньше, если исходить из того, что не все блоки NN являются жизненно важными и, возможно, некоторые из них могут быть удалены. Последнее утверждение требует дополнительных исследований.
Рис. 5. Сжатие сети путём исключения блока NN
Таким образом, обучение нейронной сети (рис. 3) сводится к независимому обучению каждого отдельного блока NN , 3. Обучение нейронной сети становится проще, понятнее и надёжнее, поскольку обучение множества N образов приводится к задаче попарного разделения двух образов. Исходя из этого, понадобится меньшая обучающая выборка по сравнения с классическими нейронными сетями, разделяющими много образов. Количество эпох обучения по этой же причине будет также меньше. Нет также необходимости обучать слой, приведённый на рис. 3, б. Обучение каждого блока NN¿3 выполняется независимо от других блоков, что позволяет легко расширять нейронную сеть, добавляя новые распознаваемые образы к общей задаче. При этом нет необходимости заново переобучать всю сеть, предыдущие весовые и пороговые значения сохраняются. Возможное количество распознаваемых образов потенциально может быть очень большим ^ — то). Для каждого последующего ^ + 1)-го образа к схеме нейронной сети на рис. 3 для каждого к-го образа добавляются по одному блоку NNkN+1 (всего N блоков) и N блоков NNN+1,3 для ^ + 1)-го образа. Итого 2N блоков, где N — последнее значение количества образов. В случае сжатого варианта нейронной сети (рис. 5) для каждого нового образа добавляются только N новых блоков NN¿3. При добавлении образа пороговое значение В(2) нейрона второго слоя (3) (рис. 3, б) увеличивается на 1.
Покажем работу схемы нейронной сети на рис. 3 и 5 на примере задачи распознавания образов трёх символов «А», «В», «С». Пусть для каждого образа существует обучающая выборка с п элементами. На рис. 6 приведена сжатая схема нейронной сети (рис. 5) для данной задачи распознавания. Поскольку количество блоков на схеме равнозначно количеству нейронов первого слоя на рис. 6, б, то, исходя из выражения
п(1) = С 2 = N! = N ^ - 1) = 3(3 - 1) = 3
п =См = 2!^ - 2)!= 2 = 2 =3,
определяющего количество нейронов первого слоя из общего количества распознаваемых образов на основе метрического метода распознавания [7], понадобится три блока NN¿3, три нейрона второго слоя и три выхода нейронной сети У. Если соответствие
выходов нейронной сети к распознаваемому образу обозначено так, как на рис. 6 (в порядке «Л», «В», «С» сверху вниз), то, согласно схеме, первый блок NN1^ выполняет разделение образов «А», «В», блок NN1^ — образов «А», «С», блок — «В», «С».
На рис. 6, а каждому блоку соответствует бинарная матрица символа. При обучении на первую матрицу подаются бинарные изображения обучающих выборок образов «А», «В», на вторую — образов «А», «С» и на третью — образов «В», «С». При программной реализации данная матрица может быть в единственном числе и отдельно использоваться для каждого блока. Размерность бинарной матрицы (Д — количество строк, С — столбцов) может быть различной, она определяет количество связей (ДС) для каждого входного нейрона блока . Количество входных нейронов блока
может быть также различно. Чем больше размерность бинарной матрицы X и чем больше количество входных нейронов в одном блоке, тем лучше будет результат распознавания на выходе данного блока после его обучения. Каждый блок обучается отдельно при помощи известных классических алгоритмов обучения, то есть классическим способом определяется таблица весов отдельно для каждого блока NN¿,7-.
Весовые значения для нейронов второго слоя равны = 1. Поскольку использует
ся сжатая форма нейронной сети, на входах нейронов 2 и 3 второго слоя (рис. 6, в) используются инвертированные значения выходов блоков ух,2, ух,3, у2,3, которые равнозначно заменяют соответствующие входы на расширенной форме схемы нейронной сети на рис. 1. Для схемы на рис.6 на трёх выходах нейронной сети значение «100» соответствует образу символа «А», «010» — «В» и «001» — «С».
Рис. 6. Схема нейронной сети для задачи распознавания трёх образов: бинарные таблицы (а), слой блоков NNij (б), второй слой нейронной сети (в)
Предположим, что после проверки результатов обучения контрольной выборкой для каждого блока количество неверно идентифицированных символов составило для первого блока кх символов, для второго — к2 и для третьего блока — к3 символов. В табл. 1 и 2 приведены значения состояний и выходов нейронов второго слоя (рис. 6, в)
для распознаваемого символа «А» в зависимости от значений выходов блоков NN1,2 и NN1,3. Поскольку выход блока NN1,2 определяет разделение образов «А», «В» (у12 = 1 для символа «А» и у12 = 0 для символа «В»), а выход блока NN1,3 определяет разделение образов «А», «С» (у1,3 = 1 для символа «А» и у1,3 = 0 для символа «С»), из табл. 1 можно видеть, что для всех блоков с правильно идентифицированными символами «А» (у1,2 = 1 и у13 = 1) в соответствии с выражениями (2) и (3) на выходах нейронной сети формируется сигнал «100», соответствующий образу символа «А».
Таблица 1
Значения выходов всех блоков и нейронов второго слоя для распознаваемого символа «А» для случая, когда блоки NN1,2 и NN1,3 распознают символ «А» правильно
№ блоков Выходы блоков № нейрона второго слоя Значение нейрона второго слоя £п Выход нейрона второго слоя 1^, N - 1 = 2 Выбранный образ
1, 2 У1,2 = 1 1 = У1,2 + У1,3 = = 1 + 1 = 2 = N - 1 11 = 1 (= 2) «А»
1, 3 У1,з = 1 2 5П2 = У12 + У2,з = = 0 + (0 или 1) = = (0 или 1) < N - 1 12 = 0 (< 2) -
2, 3 У2,3 = = (1 или 0) 3 5П3 = У1з + У2з = = 0 + (1 или 0) = = (1 или 0) < N - 1 13 = 0 (< 2) -
Таблица 2
Значения выходов всех блоков и нейронов второго слоя для распознаваемого символа «А» для случая, когда блок NN1,2 распознаёт
символ «А» неправильно
№ блоков Выходы блоков № нейрона второго слоя Значение нейрона второго слоя £п Выход нейрона второго слоя 1^, N - 1 = 2 Выбранный образ
1, 2 У1,2 = 0 1 £п1 = У1,2 + У1,3 = = 0 + 1 = 1 < N - 1 11 =0 (< 2) -
1, 3 У1,3 = 1 2 ^П2 = У12 + У2,3 = = 1 + (0 или 1) = = (1 или 2) < N - 1 12 = 0 « 2) «В» или -
2, 3 У2,3 = = (1 или 0) 3 5Пз = У13 + У23 = = 0 + (0 или 1) = = (0 или 1) < N - 1 13 = 0 (< 2) -
Напротив, для случая неправильной идентификации символа «А» в блоках NN1,2 или NN1,3 на выходе итоговой нейронной сети формируется сигнал «010» или «001», соответствующий символам «В» или «С» (табл. 2). Таким образом, можно видеть, что результат работы нейронной сети (рис. 6) зависит только от правильности работы блоков NNij, то есть, иными словами, от того, насколько хорошо обучены блоки NN5,^.
Если множество ошибочно идентифицируемых символов для каждого блока обозначить как Е (А, В), Е (А, С), Е (В, С) (рис. 7), то максимальная ошибка работы сети на контрольной выборке определяется как сумма ошибок всех блоков нейронной сети; для схемы на рис. 6 Ктах = + к2 + к3 в том случае, когда множества неправильно идентифицированных символов каждого образа не пересекаются друг с другом (рис. 7, а). Возможная минимальная ошибка может быть равна количеству элементов множества с максимальным количеством элементов, например Е (А, В) (рис.7, в). Для рис.7, б ошибка К определяется количеством элементов множества Е, которое формируется по выражению
|Е| = |Е(А, В)| + |Е(А, С)| - |Е(А, В) п Е(А, С)| + |Е(В, С)| - |Е(А, В) п Е(В, С)|.
Рис. 7. Непересекающиеся множества ошибок для каждого блока (а); пересекающиеся множества (б) и (в)
Нужно также отметить, что, в отличие от схемы на рис. 1, в которой входные данные представляются в виде бинарной матрицы, для схем на рис. 3 и 6 значения входных матриц могут быть отличны от 0 и 1, поскольку попарное разделение двух образов выполняется классической схемой нейронной сети. Это позволяет в качестве входных данных в схемах на рис. 3 и 6 использовать чёрно-белые растровые изображения, у которых каждый пиксель может принимать значение в диапазоне 0 ^ 256; например, на рис. 8 показано изображение символа «8» со значениями пикселей в серых оттенках.
Матрица на рис.8 может быть нормирована, например, в диапазон (0,1). Могут быть также использованы отдельные палитры цветных изображений, представленные в той или иной цветовой схеме, например RGB, CMYK и т. д. Это может позволить в качестве входных данных нейронных сетей на рис. 3 и 6 использовать цветные изображения.
Само представление входных данных может быть отлично от непосредственного использования пикселей изображения. В качестве входных данных могут быть использованы предварительно определённые, выделенные или вычисленные данные изображения, которые более информативны для решаемой задачи. Например, в работе [10] приведены подходы представления входных данных для различных задач, в частности возможные способы представления данных для задачи распознавания лиц, а также для задачи распознавания символов с использованием инвариантных способов представления символов [11], позволяющие узнавать изображения символов с учётом возможных сдвигов, поворотов и масштабирования данного изображения.
0 А 0 Л 0 Л 0 0 0 0 0 ООО 0 0 0 0 0 0 0 0 А 0 А о 0 0
0 0 А 0 0 0 0 0 0 0 0 ООО 0 0 0 0 0 0 0 0 о А 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 ООО 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 Л Л 0 0 0 0 0 0 0 0 ООО 0 0 0 0 0 0 0 А Л А о 0 0 0
о д 0 л 0 Л 0 0 0 0 0 ООО 0 0 0 0 0 0 0 0 о 0 А 0 0 о
0 о 0 л 0 0 0 0 о 0 4 62 146 162 254 254 161 176 139 15 л 0 о 0 А 0 0
о 0 0 0 0 0 0 0 0 34 166 253 217 206 136 136 136 166 232 99 о 0 0 0 Л 0 А д
0 0 0 0 0 0 0 0 61 242 206 111 3 0 0 0 0 0 16 32 107 43 о 0 0 0 0 0
0 0 0 0 0 0 0 0 156 242 23 ООО 0 0 0 0 13 191 161 6 0 0 0 0 0 0
0 0 0 0 0 0 0 0 121 255 96 3 0 0 0 0 0 6 194 225 12 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 169 253 120 3 0 0 0 0 126 247 51 0 0 л 0 0 0 0 0
0 0 0 0 0 0 0 0 0 3 111 244 169 19 0 14 131 249 117 0 0 0 0 0 0 о 0 0
0 0 0 0 0 0 0 0 0 0 0 59 241 235 72 142 229 66 0 0 0 0 0 0 о 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 25 216 254 231 36 0 0 0 0 0 0 0 о о 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 133 253 221 33 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 19 237 111 196 217 19 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 174 136 0 23 193 204 16 0 0 0 0 А 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 96 224 0 0 0 25 216 169 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 215 136 0 0 0 0 66 253 99 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 215 97 0 0 0 0 3 162 214 11 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 215 97 0 0 0 0 0 116 253 66 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 165 157 0 0 0 0 0 40 254 96 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 50 244 61 0 0 0 0 112 244 56 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 174 251 142 59 63 167 244 111 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 6 133 253 253 253 169 61 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 с с с 0 с 0 0 с 0 с 0 0 0 0 0 0 0 0 0 с 0 с 0 0 0 0 0
Рис. 8. Матрица символа «8» в диапазоне значений 0 ^ 256
Заключение
По сравнению с классическими и другими известными схемами нейронной сети, приведённая схема имеет ряд преимуществ, в частности:
1) архитектура сети сравнительно проста;
2) за исключением размерности матрицы и количества входных нейронов блока NN, все остальные параметры архитектуры сети строго определяются исходя из начального условия задачи — количества распознаваемых образов (классов);
3) количество распознаваемых образов может легко и последовательно увеличиваться и достигать очень больших значений, позволяя решать задачи с огромным количеством распознаваемых классов. При этом при добавлении новых образов (классов) предыдущие полученные весовые и пороговые значения не меняются;
4) обучение использует классические алгоритмы и при этом является более простым, поскольку сводится к разделению двух попарных образов. Следовательно, потребуется меньший объем обучающей выборки и количество эпох обучения;
5) простота попарного обучения также должна значительно уменьшить вероятность попадания нейронной сети в локальный минимум в процессе обучения.
Можно добавить, что рассмотренные возможности архитектуры нейронной сети на рис. 3 имеют некоторую схожесть с возможностями биологического мозга. В частности, в рассмотренной архитектуре объекты узнаются сразу целиком, как это обычно и
свойственно биологическому мозгу. Это отличает данную архитектуру, например, от архитектуры сверточных сетей [4 - 6], где объекты последовательно (послойно) анализируются от простейших деталей изображения до сложных. Кроме того, в предлагаемой архитектуре количество распознаваемых или добавляемых образов практически не ограничено, что также очень похоже на возможности биологического мозга, который может легко запоминать и узнавать огромное количество объектов и образов.
ЛИТЕРАТУРА
1. Барский А. Б. Нейронные сети: распознавание, управление, принятие решений. М.: Финансы и статистика, 2004.
2. Головко В. Л. Нейронные сети: обучение, организация и применение / под ред. А. И. Галушкина. Кн. 4. М.: ИПРЖР, 2001.
3. Уоссермэн Ф. Нейрокомпьютерная техника. Теория и практика. М.: Мир, 1992.
4. LeCun Y., Bengio Y., and Hinton G. Deep learning // Nature. 2015. No. 521. P. 436-444.
5. Schmidhuber J. Deep learning in neural networks: An overview // Neural Networks. 2015. No. 61. P. 85-117.
6. http://www.neuralnetworksanddeeplearning.com/index.html — Neural Networks and Deep Learning.
7. Geidarov P. Sh. Neural networks on the basis of the sample method // Automatic Control and Computer Sci. 2009. V.43. No. 4. P. 203-210.
8. Geidarov P. Sh. Multitasking application of neural networks implementing metric methods of recognition // Autom. Remote Control. 2013. V. 74. No. 9. P. 1474-1485.
9. Биргер И. А. Техническая диагностика. M.: Машиностроение, 1978.
10. Гейдаров П. Ш. Алгоритм реализации метода ближайшего соседа в многослойном пер-септроне // Труды СПИИРАН. 2017. Вып. 51. С. 123-151.
11. Васин Д. Ю., Аратский А. В. Распознавание символов на основе инвариантных моментов графических изображений //25 Междунар. конф. GraphiCon 2015. М., 2015. С. 259-264.
REFERENCES
1. Barskiy A. B. Neyronnye seti: raspoznavanie, upravlenie, prinyatie resheniy [Neural Networks: Recognition, Management, Decision Making]. Мoscow, Finansy i Statistika Publ., 2004. (in Russian)
2. Golovko V. L. Nejronnye seti: obuchenie, organizacija i primenenie [Neural Networks: Training, Organization and Application]. Book4, Мoscow, IPRJR Publ., 2001. (in Russian)
3. Wasserman F. Neyrokomp'yuternaya tekhnika. Teoriya i praktika [Neurocomputing. Theory and Practice]. Мoscow, Mir Publ., 1992. (in Russian)
4. LeCun Y., Bengio Y., and Hinton G. Deep learning. Nature, 2015, no. 521, pp. 436-444.
5. Schmidhuber J. Deep learning in neural networks: An overview. Neural Networks, 2015, no. 61, pp. 85-117.
6. http://www.neuralnetworksanddeeplearning.com/index.html — Neural Networks and Deep Learning.
7. Geidarov P. Sh. Neural networks on the basis of the sample method. Automatic Control and Computer Sci., 2009, vol.43, no. 4, pp. 203-210.
8. Geidarov P. Sh. Multitasking application of neural networks implementing metric methods of recognition. Autom. Remote Control, 2013, vol.74, no.9, pp. 1474-1485.
9. Birger I. A. Tekhnicheskaya diagnostika [Technical Diagnostics]. Moscow, Mashinostroenie Publ., 1978. (in Russian)
10. Geidarov P. Sh. Algoritm realizacii metoda blizhajshego soseda v mnogoslojnom perseptrone [Algorithm for realizing the method of the nearest neighbor in a multilayer perceptron]. Trudy SPIIRAN, 2017, no. 51, pp. 123-151. (in Russian)
11. VasinD. Yu. and Aratskiy A. V. Raspoznavanie simvolov na osnove invariantnyh momentov graficheskih izobrazhenij [Character recognition based on invariant moments of graphic images]. 25th Intern. GraphiCon Conf., Moscow, 2015, pp. 259-264. (in Russian)