УДК 681.327.12.001.362
ДОРОГОЙ Я.Ю.
АРХИТЕКТУРА ОБОБЩЕННЫХ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ
В статье рассмотрена архитектура обобщенных сверточных нейронных сетей, позволяющих исполь-
зовать преимущества классических сверточных нейронных сетей с дополнительными возможностями
нового класса в задачах распознавания человека по фотопортрету.
The structure of the generalized convolutional neural networks which allow advantages of classical convolu-
tional neural networks to be used with capabilities of new network class for problem of human face recognition was
described in this article.
Данный тип сетей хорошо зарекомендовал
Введение в проблему
себя для решения проблемы распознавания че-
ловека по фотопортрету [3]. В ходе подробного
Для распознавания лиц людей широко ис-
исследования был выявлен ряд недостатков
пользуется архитектура нейронной сети, кото-
СНС:
рая получила название сверточной нейронной
1. Высокая сложность архитектуры.
сети (СНС). Данная нейронная сеть была впер-
2. Полносвязность.
вые описана в [1,2] и сейчас успешно применя-
3. Фиксированная площадь окна слоя
ется для решения широкого класса задач свя-
свертки.
занных с распознаванием паттернов, таких как
распознавание трехмерных объектов, предска-
Цель работы
зание погоды, автоматическое управление и др.
Изначально архитектура сверточной нейрон-
Целью работы является разработка новой
ной сети разрабатывалась с учетом особенно-
архитектуры сверточной нейронной сети, кото-
стей строения некоторых участков мозга чело-
рая позволит устранить недостатки, описанные
века, ответственных за зрение.
выше, а также, по возможности, улучшить точ-
В данной статье предлагается ряд улучше-
ность распознавания и скорость обучения сети.
ний в архитектуре обычной сверточной
нейронной сети, которые позволят повысить
Архитектура классической сверточной
нейронной сети
эффективность работы системы распознавания,
дадут возможность применять сверточные
нейронные сети к более широкому классу за-
Рассмострим архитектуру обычной сверточ-
дач.
ной нейронной сети (рис. 1.), описанной в [3].
Статья является продолжением исследова-
ний сверточных нейронных сетей, впервые
описанных в [3].
Анализ существующих решений
В 1981 году нейробиологи Торстен Визел и
Девид Хабел исследовали зрительную кору го-
Рис. 1. Структура СНС
ловного мозга кошки и выявили, что суще-
Нейронная сеть состоит из пар слоев - слоев
ствуют так називаемые простые клетки, кото-
подвыборки и слоев свертки, каждый из кото-
рые особенно сильно реагируют на прямые ли-
рых в свою очередь состоит из карт признаков.
нии под разными углами и сложные клетки, что
Нетрудно убедиться в том, что каждая карта
реагируют на движение линий в одном направ-
признаков в идеале фильтрует изображение,
лении.
находя какой-то один определенный, специ-
Позднее Ян Лекун предложил использовать
фичный для данной карты, признак. Например,
так называемые сверточные нейронные сети,
первая карта признаков научена искать
как аналог зрительной коры головного мозга
кружочки, вторая - квадратики и т.д.
для распознавания изображений [1,2].
230
Архитектура обобщенных сверточных нейронных сетей
Исходное изображение подается на входной
ных данных на прямоугольные области n×m,
слой. В первом слое подвыборки каждая карта
только входными данными второго слоя слу-
признаков осуществляет поиск определенного,
жит выход первого слоя. Т. о., каждая карта
закрепленного только за данной картой, при-
признаков второго слоя осуществляет поиск
знака. Достигается это за счет использования
признаков второго порядка одновременно во
общей для всей карты признаков матрицы весов
всех картах признаков первого слоя.
и особой организацией локального рецептивно-
Очевидно, что с ростом количества слоев
го поля для каждого нейрона такой карты.
уменьшается размерность каждой карты при-
Каждый нейрон карты признаков получает
знаков, хотя, в целом, количество нейронов в
входные данные от прямоугольной области
слое сильно растет за счет использования
размера n×m входного изображения. Такая об-
большего количества карт признаков в верхних
ласть достаточно мала и множество таких обла-
слоях сети.
стей на входном изображении пересекаются и
Сверточной нейронной сети с тремя парами
накладываются по принципу черепицы.
слоев подвыборки-свертки вполне достаточно
Смежные нейроны карты признаков получа-
для точного распознавания лиц людей [1].
ют в качестве входного воздействия смежные
Такая нейронная сеть хорошо себя зареко-
прямоугольные области, причем весовые коэф-
мендовала в задачах распознавания, но ее ис-
фициенты для всех нейронов карты признаков
пользование в некоторых случаях достаточно
будут одинаковыми.
проблематично.
Для простоты изложения будем называть об-
Одной из проблем классической сверточной
ласть, формирующую локальное рецептивное
нейронной сети является подбор оптимального
поле нейрона слоя подвыборки, окном. Соот-
значения размера локального рецептивного по-
ветственно, площадь окна
- количеством
ля (окна) нейрона в слое подвыборки. Малые
нейронов в такой области.
значеня n и m позволяют повысить разрешаю-
Таким образом, можно говорить о том, что
щую способность сети и дают возможность
карта признаков в целом осуществляет опера-
находить довольно малые признаки, но в тоже
цию поиска признака во входных данных. Дру-
время аналогичный признак большего масшта-
гие карты признаков имеют другой набор весо-
ба будет пропущен и принят за совокупность
вых коэффициентов и, соответственно, осу-
других признаков. Таким образом, классиче-
ществляют поиск других признаков во входных
ская сверточная нейронная сеть плохо работает
данных.
с изображениями, на которых могут присут-
Конкретные признаки, извлекаемые той или
ствовать одинаковые признаки разного мас-
иной картой признаков, определяются в про-
штаба
(например, на ненормализованных по
цессе обучения нейронной сети с учителем.
масштабу изображениях)
n и m - достаточно малые числа, которые
определяют
разрешающую
способность
Архитектура обобщенной сверточной
нейронной сети - минимальный размер призна-
нейронной сети
ка, который данная сеть может регистрировать.
Для введения инвариантности нейронной се-
Допустим, на картинке есть как маленькие
кружочки, так и большие, и необходимо найти
ти к смещениям и небольшим деформациям,
максимум кружочков в первом же слое подвы-
используется слой свертки. Для каждой карты
признаков существует соответствующая ей кар-
борки.
та свертки, которая уменьшает размерность
Меняя площадь локального рецептивного
карты признаков с n×m до n/2×m/2 путем
поля каждого нейрона в каждой карте призна-
ков можно добиться нахождения кружочков
усреднения значений по квадрату 2×2 нейро-
разного размера за один раз, но тогда кусочки
нов.
других размеров останутся незамеченными.
После выполнения свертки сеть теряет часть
В первом слое подвыборки сделаем несколь-
информации о точном положении найденного
ко карт признаков с одним размером рецептив-
признака, но сохраняет информацию относи-
ного поля, несколько - с чуть большим разме-
тельно взаимного расположения различных
ром поля, несколько - с еще большим.
признаков.
Для решения этой проблемы предлагается
Следующий слой подвыборки осуществляет
использовать в одном слое карты признаков хо-
аналогичную первому слою сегментацию вход-
Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №54
231
тя и одного размера, но с разными размерами
В отличие от соединений, общее количество
окна для разных карт признаков.
весов за счет использования методики разделя-
Например, вместо 10 карт признаков с раз-
емых весов, растет незначительно и нет смысла
мером окна каждого нейрона 3×3 предлагается
их сокращать.
использовать 5 карт признаков с размером поля
Для данной карты признаков, применяя раз-
3×3, 3 карты с полем 5×5 и 2 карты признаков с
режение матрицы связей входного слоя с кар-
той признаков, можно получить значительное
размером окна 7×7.
сокращение связей, уменьшив, тем самым, рас-
Такая конфигурация позволит находить при-
ход памяти и ускорив процесс обучения сети.
знаки разного размера одновременно сразу в
Следует отметить, что в случае разрежения
первом слое подвыборки, что должно повысить
матрицы связей каждый нейрон карты призна-
общее качество распознавания объектов, уско-
ков получает индивидуальную, отличную от
рить обучение нейронной сети и способство-
соседних нейронов в данной карте признаков,
вать уменьшению количества карт признаков в
матрицу связей.
высших слоях нейронной сети, что приведет к
Применение вышеизложенных рекоменда-
уменьшению количества связей нейронной се-
ций по улучшению архитектуры сверточной
ти, и как следствие - уменьшение потребления
нейронной сети ставит задачу оптимального
памяти и ускорение обучения.
распределения карт признаков с разным разме-
При такой организации первого слоя подвы-
ром поля, а также задачу выбора количества
борки закономерно возникает проблема с пере-
отсекаемых связей в случае разрежения матриц
сечением окон смежных нейронов одной карты
связей.
признаков - для получения одинакового разме-
К сожалению, количественные параметры
ра карт признаков с разными размерами окон
сверточной нейронной сети должны подбирать-
необходимо разместить одинаковое количество
ся строго под поставленную задачу после про-
таких полей на входном слое, что ведет к уве-
ведения ряда экспериментов для доказательства
личению площади пересечения смежных полей
допустимости той или иной конфигурации.
с ростом размера поля.
Следует также отметить, что приведенные
К сожалению, бороться с таким резким уве-
выше выкладки, несмотря на свою ориентиро-
личением количества связей крайне проблема-
ванность на задачу распознавания образов, мо-
тично, но следующее улучшение позволит
гут быть вполне использованы для построения
уменьшить общее количество связей в сверточ-
ных нейронных сетях, что особенно актуально
сверточных нейронных сетей, решающих иные
сходные задачи, к числу которых относятся
для описанной в данной статье архитектуры
прогнозирование и управление.
сверточной нейронной сети.
Рассмотрим подробно один нейрон из карты
Эксперименты и результаты
признаков первого слоя подвыборки. Такой
нейрон получает информацию из прямоуголь-
Для проверки данных гипотез был проведен
ной области входного изображения, формиру-
ряд экспериментов со множеством сверточных
ющей его локальное рецептивное поле (окно).
нейронных сетей. В нейронные сети вносились
Общее количество входящих связей для нейро-
предложенные улучшения, осуществлялся ана-
на равно n×m, где (n; m) - размер окна.
лиз степени влияния той или иной модифика-
С увеличением n и m пропорционально рас-
ции на качество распознавания, скорость обу-
тет количество связей, но в тоже время вклад,
чения и пр. Несмотря на то, что в конечном
вносимый одной связью в суммарный вход
итоге предложенные улучшения оправдали
нейрона уменьшается.
лишь некоторые из возложенных на них
Это означает, что при большом количестве
надежд, тем не менее, они позволяют значи-
связей можно без значительного ущерба для
тельно повысить качество распознавания объ-
качества работы сети переходить к разрежен-
ектов, в т. ч. и лиц людей. Все эксперименты
ной форме соединений, удаляя некоторую ма-
проводились с использованием набора про-
лую их часть случайным образом.
граммного обеспечения PANN [4,5].
Например, для окна 5×5 нейронов можно
Для исследования нейронные сети трениро-
удалить 5 соединений, незначительно умень-
вались на фотографиях 5-и человек из базы лиц
шив точность, но при этом на 20% сократив
ORL Faces по 10 фотографий на каждого. Из
общее количество соединений.
232
Архитектура обобщенных сверточных нейронных сетей
имеющихся 50 фотографий 60% были исполь-
зованы для непосредственного обучения, в то
время как остальные - для промежуточного те-
стирования нейронных сетей на ранее не ви-
денных образах.
Ниже приведены некоторые полученные за-
висимости для конфигурации классических
сверточных нейронных сетей (рис. 2-8):
Рис. 5. Зависимость установившейся
ошибки от размера окна
Рис. 2. Зависимость точности
распознавания от плотности связей
Рис. 6. Зависимость скорости обучения
от плотности связей
Рис. 3. Зависимость точности
распознавания от размеров окна в первом
слое
Рис. 7. Зависимость скорости обучения от
размера окна
Рис. 4. Зависимость ошибки распознавания
от плотности связей
Вісник НТУУ «КПІ» Інформатика, управління та обчислювальна техніка №54
233
Рис. 8. Зависимость скорости обучения от
параметра скорости обучения
Рис. 9. Ошибка на тренировочном
множестве
Очевидно, что чем больше плотность сети,
тем лучше она учится. Но если плотность
слишком большая (>0.8), то обучение замедля-
ется.
Сравнение классической и обобщенной
сверточных сетей
Далее была проведена серия экспериментов
над топологиями сверточных нейронных сетей
с внесенными изменениями, предложенными
выше. Ниже приведены графики процессов
обучения и тестирования двух различных
нейронных сетей с различной конфигурацией.
Рис. 10. Ошибка на тестовом множестве
Сеть
№1 - это классическая сверточная
Сеть 2 - из 20 фото 0 неправильно опо-
нейронная сеть с размером окна 5×5 и 7-ю кар-
знанных.
тами признаков в первом слое подвыборки и
После серии тестов оказалось, что для клас-
плотностью связей 80%, что дает в сумме 5600
сической сверточной сети точность распозна-
связей в первом слое нейронной сети.
вания составляет порядка 97-98%, а для обоб-
Сеть №2 - обобщенная сверточная нейрон-
щенной сверточной нейронной сети - 99-99,5%.
ная сеть с двумя полносвязными картами при-
знаков размером 3×3, двумя картами признаков
Выводы
5×5 и плотностью связей 80%, а также тремя
Эти и другие эксперименты над сверточны-
картами признаков размером 7×7 и плотностью
ми нейронными сетями подтвердили превос-
связей 50%. В результате количество связей в
ходство обобщенной топологии над классиче-
первом слое сократилось до 5320, в то время
ской. Использование нескольких карт призна-
как в первом слое были использованы карты
ков разного размера одновременно позволяет
признаков разного размера - от 3×3 до 7×7, что
получить лучшее обобщение для обученной
позволяет одновременно обрабатывать первич-
нейронной сети, т.е. снизить процент ложных
ные признаки различного размера.
срабатываний для образов, не входивших во
Результаты экспериментов представлены на
множество обучения. Благодаря снижению
рис. 9-10.
плотности связей для больших карт признаков
Для экспериментов были взяты 50 фотогра-
удается вносить эти изменения в архитектуру
фий 5 людей - 30 шт. для обучения, 20 - для
сети без роста количества связей, что благо-
тестов. В результате экспериментов получены
творно сказывается на потреблении памяти,
следующие данные:
скорости обучения.
Сеть 1 - из 20 фотографий 2 неправиль-
К сожалению, предложенные улучшения не
но опознаны;
дают видимого выигрыша в скорости обучения
234
Архитектура обобщенных сверточных нейронных сетей
сверточной нейронной сети, что дает почву для
новых исследований в этой области.
Список литературы
1.
LeCun Y. A theoretical framework for backpropagation // Proc. of IEEE. - 1998. - P.21-28.
2.
LeСun Y., Bottou L., Bengio Y., Haffne P. Gradient-Based Learning Applied to Document Recognition //
Proc. IEEE. - 1998. - P.59-67.
3.
Дорогой Я.Ю. Применение компактных ячеистых сверточных нейронных сетей для биометрической
идентификации человека по лицу // Вісник НТУУ “КПІ”, “Інформатика, управління та обчислюваль-
на техніка”. - 2007. - №46. - С.135-149.
4.
Дорогой Я.Ю., Яшин В.Е. Программный комплекс для симуляции многопоточных нейронных сетей //
Вісник НТУУ “КПІ”, “Інформатика, управління та обчислювальна техніка”. - 2008. - №49. - С.123-
127.
5.
Дорогий Я.Ю., Яшин В. Є., Яцук С. В. Застосування багатопотокового симулятора нейронних мереж
до задачі розпізнавання облич // Тези 5-ї Міжнародної науково-технічної конференції «Інформаційно-
комп’ютерні технології 2010». - Житомир: ЖДТУ, 20-22 травня 2010 року. - С.53-55.