ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 А.Д. ГОЛЬЦЕВ, В.И. ГРИЦЕНКО Международный научно-учебный центр информационных технологий и систем, Киев, Украина agoltsev@adg.kiev.ua МОДУЛЬНАЯ НЕЙРОННАЯ СЕТЬ С МЕЖМОДУЛЬНЫМИ ОБУЧАЮЩИМИСЯ СВЯЗЯМИ Описывается модульная нейронная сеть с обучением. Сеть изначально искусственно разделена на одинаковые нейронные модули, количество которых определяется количеством распознаваемых классов. В процессе обучения сети изменяются только веса тех связей, которые соединяют друг с другом нейроны разных модулей. Выполнено компьютерное моделирование сети. Проверка ее работоспособности проведена на базе MNIST. Для распознавания рукописных цифр базы MNIST модель непосредственно использует значения яркостей пикселей изображения в качестве признаков. Максимальный процент распознавания, достигнутый сетью, равен 98.15 %. 1. Введение Одной из современных тенденций в области нейронных сетей является использование модульных нейронных сетей [2, 15, 16, 17]. Термин «модульная нейронная сеть» подразумевает сеть, состоящую из аналогичных и, в определенной степени, независимых нейронных модулей. В серии работ [3 – 11] описаны нейронные сети с несколько различными алгоритмами функционирования, каждая из которых решала практическую задачу классификации данных, относящихся к ограниченному количеству классов. Основные отличительные особенности этих сетей состояли, во-первых, в модульной структуре сетей, причем, количество модулей равнялось числу распознаваемых классов и, во-вторых, в том, что внутри каждого модуля межнейронные связи формировалась в процессе обучения на основе алгоритма Хебба с образованием взаимо-пересекающихся нейронных ансамблей (в полном соответствии с гипотезой Хебба [12]). Данная работа является продолжением этих исследований. В отличие от модульных ансамблевых нейронных сетей, упомянутых УДК 004.032.26(06) Нейронные сети 214 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 выше, в данной работе описывается модульная нейронная сеть, использующая аналогичные алгоритмы функционирования, в которой, однако, процедура обучения выполняется посредством изменения весов только межмодульных связей. 2. Модульная нейронная сеть с межмодульными связями Модульная нейронная сеть, состоящая из нескольких модулей и имеющая связи не только между нейронами одного и того же модуля, но и между нейронами, принадлежащими разным модулям, рассматривалась для случая межмодульных тормозных связей в [5]. Для изучения свойств модульной нейронной сети с любыми межмодульными обучаемыми связями "в чистом виде", в данной работе вовсе не использовались внутримодульные межнейронные связи. 2.1. Общее описание сети Как и в работах [3 – 11], рассматриваемая ниже сеть предназначена для решения задачи распознавания объектов, принадлежащих некоторому ограниченному числу классов. Для каждого из классов имеется своя обучающая выборка. Задачей сети является правильная классификация тестовых объектов, относящихся к тем же классам. В данной работе для распознавания объектов не выделялись никакие искусственные признаки; в качестве признаков использовались яркостные значения пикселей исходного изображения. Назовем те нейроны сети, каждый из которых представляет определенный признак, выделяемый из исходных данных, признаковыми. За исключением нейронов, служащих идентификаторами классов (Rнейронов), все остальные нейроны сети являются признаковыми. Сеть имеет модульную предорганизацию, которая заключается в том, что она искусственно разделена на несколько изначально идентичных модулей, по одному на каждый распознаваемый класс. Каждый модуль состоит из одинакового количества нейронов, представляющих все признаки, которые могут быть выделены из исходных данных. Подобная модульная предорганизация нейронных сетей описана в [2, 17]. Таким образом, для распознавания объектов из M классов, сеть включает в себя M модулей. Индексы u, d, h и v (изменяющиеся в диапазоне от 1 до M) используются далее для обозначения различных модулей сети. Индекс h служит для обозначения правильного модуля, т.е. УДК 004.032.26(06) Нейронные сети 215 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 именно того модуля, который соответствует действительному классу объекта, поданного на сеть для распознавания, а индекс v обозначает некоторый неправильный модуль и класс. Каждый модуль состоит из N признаковых нейронов, пронумерованных индексами i и j отдельно по каждому модулю (i = 1, 2, …, N; j = 1, 2,…, N), так что нейроны разных модулей, представляющие одинаковые признаки, имеют одинаковые индексы i и j в последующих формулах. Состояние каждого нейрона сети характеризуется его уровнем активности. Нейроны имеют линейную, беспороговую выходную характеристику. Введем вектор Eu из N компонент для представления активности нейронов некоторого модуля u. Как и в предшествующих работах, тестирование сети было проведено на задаче распознавания отдельных рукописных цифр, собранных в базе MNIST [14]. База MNIST содержит 60 000 цифр в обучающей выборке и 10 000 цифр – в тестовом множестве. Каждая цифра нарисована в квадратном растре размером 28 × 28, все пиксели которого представляют значения яркостей исходного изображения, нормированных к целочисленному диапазону 0 - 255. На исходных изображениях цифры базы MNIST нарисованы черным цветом на белом фоне. В данной работе единственным преобразованием, которое выполняется над данными базы MNIST, является инверсия яркостных значений пикселей растра, в результате чего черные цифры на белом фоне превращаются в белые цифры на черном фоне. Инверсные значения яркостей подаются на сеть в качестве входных признаков, так что яркость каждого пикселя исходного растра трансформируется в уровень активации соответствующего признакового нейрона в каждом модуле. Таким образом, суммарное количество признаковых нейронов в одном модуле составляет число N = 784. Набор из N = 784 входных признаков, представленный уровнями активации соответствующих признаковых нейронов в одном из модулей сети, называется паттерном начальной нейронной активности. Введем вектор G(x) из N компонент для обозначения паттерна начальной нейронной активности некоторого образца базы MNIST с номером x. Процесс обучения сети состоит из двух этапов: этапа начального обучения и этапа дифференциации. В ходе обучения все примеры обучаемой выборки подаются на сеть поочередно. Процедура изменения весов связей сети, которая выполняется в результате предъявления на вход сети каждого образца обучающей выборки, называется "шагом УДК 004.032.26(06) Нейронные сети 216 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 обучения". 2.2. Процедура предварительного обучения Сеть имеет единственную матрицу связей W. Обозначим вес связи, направленной от i-го нейрона модуля u к j-му нейрону модуля d, как Wi(u), j(d). Процедура предварительного обучения образца обучающей выборки с номером x, относящегося к классу h, начинается с формирования одного и ΔWi, j Gi(x) G j(x). (1) того же паттерна начальной нейронной активности G(x) во всех модулях сети. Во всех процессах обучения, выполняемых в сети, используется один и тот же модификатор веса связи ΔWij, определяемый по формуле: В результате (t+1)-го шага обучения структура межмодульных связей изменяется следующим образом. Рассмотрим пару модулей {v, h} с постоянным индексом h и переменным индексом v, меняющимся от 1 до M, причем v ≠ h. В процессе (t+1)-го шага предварительного обучения веса связей между всеми нейронами каждой пары модулей {v, h} изменяются в соответствии со следующими двумя формулами: W j(v), i(h)(t 1 ) W j(v), i(h)(t) ΔW j, i. (2) Wi(h), j(v)(t 1 ) Wi(h), j(v)(t) ΔWi, j. (3) В уравнениях 2 и 3 i = 1, 2, 3, ..., N; j = 1, 2, 3, ..., N; v = 1, 2, 3, ..., M; v ≠ h. Такие же обучающие процедуры выполняются для всех образцов обучающей выборки всех классов, после чего процесс предварительного обучения завершается. 2.3. Алгоритм распознавания Процесс распознавания в сети начинается с генерации паттерна начальной нейронной активности во всех модулях сети. Эта нейронная активность распространяется (только один раз) по структуре связей сети, в результате чего формируется некоторое вторичное распределение активности во всех нейронах сети. Вектор вторичной нейронной активности Eu(x) модуля u выражается формулой: M Eiu(x) Gi(x) N G j(x) W j(d), i(u) , УДК Нейронные сети d 004.032.26(06) 1 j 1 (4) 217 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 где i = 1, 2, 3, ..., N; j = 1, 2, 3, ..., N; d = 1, 2, 3, ..., M; d ≠ u. В процессе распознавания используются нейроны идентификаторы классов – R-нейроны. Каждый Ru-нейрон суммирует вторичную активность всех нейронов модуля u. Вектор R(x), состоящий из M компонент, представляет активность всех R-нейронов сети. Компонент u этого вектора вычисляется в соответствии с уравнением: N Ru(x) Eiu(x). (5) i 1 Собственно алгоритм классификации заключается в выборе R-нейрона с максимальной активностью, который определяет модуль – победитель процедуры распознавания и, соответственно, класс образца, предъявленного для распознавания. Рис. 1 схематически изображает модульную сеть с межмодульными обучаемыми связями. Рис. 1. Схематическое изображение модульной нейронной сети с межмодульными связями. Каждая пара взаимных связей между двумя УДК 004.032.26(06) Нейронные сети 218 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 нейронами сети показана на рисунке одной линией. Нейроны, имеющие разные уровни активности, изображены на рисунке черными и белыми кружками 2.4. Процедура дифференциации После предъявления сети некоторого образца обучающей выборки, сеть старается распознать его и затем, в зависимости от результатов распознавания, изменяет часть весов связей. Если сеть правильно распознает образец и уровень активности Rh-нейрона превышает все остальные R-нейроны сети более чем на заданный порог , то никакого изменения весов связей сети не происходит и сеть переходит к обработке следующего образца обучающей выборки. Для последующего объяснения, введем разность между уровнями активности правильного Rhнейрона и R-нейрона, имеющего максимальный уровень активности среди всех остальных R-нейронов сети. Последний из упомянутых R-нейронов представляет, очевидно, неправильный класс и, поэтому, должен быть обозначен как Rv-нейрон, в соответствии с веденными выше обозначениями. Разность между активностями Rh-нейрона and Rv-нейрона может быть как положительной, так и отрицательной. Если величина разности принимает значение меньшее, чем , то выполняются следующие две процедуры. В первой из них веса связей, направленные от всех нейронов неправильного модуля v ко всем нейронам правильного модуля h, увеличиваются в соответствии с формулой: W j(v), i(h)(k 1 ) W j(v), i(h)(k) ΔW j, i . (6) Во второй процедуре веса связей, направленные от всех нейронов правильного модуля h ко всем нейронам неправильного модуля v, описываются формулой: W j(h), i(v)(k 1 ) W j(h), i(v)(k) ΔW j, i. (7) Последующие стадии алгоритма дифференциации выполняются следующим образом. Повторно производится распознавание того же образца обучающей выборки x с целью проверить, достаточно ли модифицирована структура связей сети для правильного распознавания этого образца при условии, что активность правильного Rh-нейрона превышает активности всех остальных R-нейронов сети более, чем на величину . Если это условие не выполнено, то обе процедуры (уравнения (6) и (7)) повторяются. Такие итерации продолжаются до УДК 004.032.26(06) Нейронные сети 219 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 удовлетворения указанного условия, после чего сеть приступает к рассмотрению следующего образца обучающей выборки. Последовательная обработка всех доступных образцов обучающей выборки продолжается, эпоха за эпохой, до тех пор, пока соответствующие R-нейроны не получат заданного превышения своего уровня активности . В экспериментах, описанных ниже, значение увеличивалось после достижения конвергенции на каждом из этапов процедуры дифференциации. Как следует из результатов экспериментов, такая методика приводит к значительному росту распознающей способности сети. Необходимо отметить, что механизм использования искусственно заданного противодействия правильному распознаванию известен и широко применяется (см., в частности, [1, 13]). 2.5. Тестирование сети Сеть была проверена в экспериментах по распознаванию рукописных цифр базы MNIST. Эксперименты состояли в следующем. Прежде всего, выполнялась процедура начального обучения сети, в результате которой формировалась исходная структура связей между нейронами всех 10 ее модулей (параграф 2.2, уравнения (2), (3)). Затем начинался процесс дифференциации, цель которого состояла в подборе весов связей сети в соответствии с каждым образцом обучающей выборки. В рамках процедуры дифференциации значение параметра постепенно увеличивалось с шагом в 1% после достижения конвергенции на предыдущем значении этого параметра. В ходе выполнения всех этапов процедуры дифференциации параметр изменялся от 0 до 45% максимального уровня активности соответствующего Rh-нейрона. Эксперименты показали, что при такой схеме увеличения параметра , сеть всегда достигала конвергенции на обучающей выборке базы MNIST. После достижения конвергенции на каждом шаге изменения параметра производилось измерение распознающей способности сети на тестовой выборке базы MNIST. При этом был зафиксирован неравномерный рост процента правильного распознавания сетью. Кривая зависимости процента правильного распознавания сетью от значений параметра имеет максимум примерно в середине исследованного диапазона изменения , что соответствует результатам, представленным в [9, 11]. В начале процедуры дифференциации (при = 0%), сеть неправильно распознала 245 образцов обучающей выборки (из 10 000). При = 22% УДК 004.032.26(06) Нейронные сети 220 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 количество ошибок достигло минимума в 185 ошибок. Это означает, что процесс дифференциации повысил распознающую способность сети до 98.15%. УДК 004.032.26(06) Нейронные сети 221 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Заключение Процедура дифференциации значительно увеличивает распознающую способность сети. Однако это весьма долгая процедура, причем каждый последующий шаг процедуры требует все большего количества циклов рассмотрения всех образцов обучающей выборки (эпох) до достижения конвергенции. Таким образом, выполнение нескольких последовательных этапов процедуры дифференциации требуют сотни эпох и занимает недели непрерывной работы обычного 2 GHz компьютера. В отличие от этого, процесс распознавания выполняется значительно быстрее. В частности, распознавание всех 10 000 образцов тестовой выборки базы MNIST занимает 12 мин. Полученные в настоящей работе результаты (проценты распознавания) были достигнуты без использования выделения каких-либо эвристических признаков из изображений цифр или же искусственного увеличения размера обучающей выборки посредством дополнительного искажения имеющихся в выборке изображений. На сайте MNIST [14] имеется таблица, в которой приведены результаты распознавания этой базы различными классификаторами. При сравнении минимального процента ошибок, достигнутого сетью (1.85%), с результатами классификаторов, также не использующих выделение признаков и-или искусственное расширение обучающей выборки, видно, что он выше, чем у таких известных классификаторов, как классификатор на основе K ближайших соседей (2.83%); двухслойный персептрон, включающий 1 000 скрытых нейронов (4.5%); трехслойный персептрон, включающий 500+150 скрытых нейронов (2.95%). В то же время необходимо отметить, что процент ошибок распознавания, достигнутый модульной нейронной сетью, все еще значительно выше минимального процента ошибок, приведенного в таблице и составляющего всего 0.39% (полученного, однако, при использовании выделения дополнительных признаков и искусственного увеличения размера обучающей выборки). Список литературы 1. Baidyk T., Kussul E., Makeyev O., Caballero A., Ruiz L., Carrera G., Velasco G. Flat image recognition in the process of microdevice assembly // Pattern Recognition Letters. 2004. Vol. 25. No. 1. P. 107-118. 2. Ezhov A.A., Vvedensky V.L. Object generation with neural networks (when spurious memories are useful) // Neural Networks. 1996. Vol. 9. No. 9. УДК 004.032.26(06) Нейронные сети 222 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 P. 1491-1495. 3. Гольцев А.Д. Структурированная нейроподобная сеть с обучением, предназначенная для текстурной сегментации изображения // Кибернетика и системный анализ. 1991. № 6. С. 149-161. 4. Goltsev A. An assembly neural network for texture segmentation // Neural Networks. 1996. Vol. 9. No. 4. P. 643-653. 5. Goltsev A., Wunsch D.C. Inhibitory connections in the assembly neural network for texture segmentation // Neural Networks. 1998. Vol. 11. No. 5. P. 951-962. 6. Goltsev А., Húsek D. Some properties of the assembly neural networks // Neural Network World. 2002. Vol. 12. No. 1. P. 15-32. 7. Goltsev A., Wunsch D.C. Generalization of features in the assembly neural networks // International Journal of Neural Systems. 2004. Vol. 14. No. 1.P. 39-56. 8. Goltsev A., Kussul E., Baidyk T. A process of differentiation in the assembly neural network // Lecture Notes in Computer Science. 2004. Vol. 3316. P. 452-457. 9. Goltsev A. Secondary learning in the assembly neural network // Neurocomputing. 2004. Vol. 62. P. 405-426. 10. Goltsev A., Rachkovskij D. Combination of the assembly neural network with a perceptron for recognition of handwritten digits arranged in numeral strings // Pattern Recognition. 2005. Vol. 38. No. 3. P. 315-322. 11. Гольцев А.Д. Нейронные сети с ансамблевой организацией. Киев: Наукова Думка, 2005. 200 с. 12. Hebb D.O. The Organization of Behavior. A Neuropsychological Theory. New York: Wiley and Sons. 1949. 13. Kussul E., Baidyk T., Kasatkina L., Lukovich V. Rosenblatt perceptrons for handwritten digit recognition // Proceedings of International Joint Conference on Neural Networks "IJCNN'01". Washington, USA. 2001. P. 1516-1521. 14. MNIST database (2001) http://yann.lecun.com/exdb/mnist/. 15. Muthuraman S., Maxwell G., MacLeod C. The evolution of modular artificial neural networks for legged robot control // Lecture notes in computer science. 2003. Vol. 2714. P. 488-495. 16. Nourashrafoddin N., Vahdat A., Ebadzadeh M. Automatic design of modular neural networks using genetic programming // Proceedings of The 17th International Conference on Artificial Neural Networks "ICANN 2007". Porto, Portugal. 2007. P. 788-798. 17. Schwenk H., Milgram M. Structured diabolo-networks for hand-written character recognition // International Conference on Artificial Neural Networks. УДК 004.032.26(06) Нейронные сети 223 ISBN 978-5-7262-1226-5. НЕЙРОИНФОРМАТИКА – 2010. Часть 2 Sorrento, Italy. 1994. P. 985-988. УДК 004.032.26(06) Нейронные сети 224