OPTIMISATION OF CONVOLUTIONAL NEURAL NETWORK STRUCTURE WITH SELF-CONFIGURING EVOLUTIONARY ALGORITHM IN ONE IDENTIFICATION PROBLEM
- Authors: Fedotov D.V.1, Popov E.A.1, Okhorzin V.A.1
-
Affiliations:
- Reshetnev Siberian State Aerospace University
- Issue: Vol 16, No 4 (2015)
- Pages: 857-863
- Section: Articles
- URL: https://journals.eco-vector.com/2712-8970/article/view/504700
- ID: 504700
Cite item
Full Text
Abstract
Computer technology development has opened great opportunities for researchers in the field of dynamic systems optimization offering new algorithms and ways of their combination into complex and powerful intelligent information technologies. A great interest in the field of machine learning has been given to dynamic objects identification and pattern recognition in computer vision systems in particular recently. Computer vision problems arise in various fields: industry, security and surveillance systems, data acquisition and processing systems, computer-human interaction systems, etc. Neural networks are widely and successfully used for solving machine learning tasks. Neural networks are computer models based on network of nerve cells of a living organism. Using classical neural network causes major difficulties for solving computer vision tasks as they require significant computational and/or time resources for learning as well as they lose important information about topology of the original data. For this kind of tasks a special type of neural network called convolutional neural network was developed. Convolutional neural network (CNN) is the part of subfield of machine learning called deep learning. CNN is used as the main technology in this paper. It allows to build complex hierarchies of features and perform objects identification based on them. Using of the pooling layers provides invariance to size of the image and concept of parameters sharing can significantly reduce the number of parameters that have to be adjusted and therefore save computational costs and time. Standard training method for neural network (back propagation) has certain weaknesses that can be partially eliminated by using a evolutionary optimization algorithm. The quality of the solution depends on the neural network structure, which can also be adjusted using evolutionary algorithms. In this paper, the self-configuring genetic algorithm SelfCGA is used for CNN’s structure and weighting coefficients adjustment. Proposed system is tested on the task of age identification based on the person’s photo.
Full Text
Введение. Современный мир характеризуется стремительным развитием технологий. Значительное увеличение вычислительной мощности и снижение ее стоимости, произошедшие за последние несколько лет, позволили более широко применять сложные комбинации алгоритмов для решения различных задач. Вместе с повышением мощностей, увеличился и объем данных, открывая огромные возможности исследователям в области анализа данных. Применение алгоритмов машинного обучения, в частности, распознавания образов, прочно вошло в жизнь современного человека в виде голосовых помощников (Siri, Cortana, Google Now), сервисов хранения фотографий, осуществляющих автоматическое определение лица, поиск похожих изображений и т. д. Трудно представить себе компьютерную систему, взаимодействующую с человеком, не использующую алгоритмы машинного обучения. Большой интерес представляет такой раздел машинного обучения, как компьютерное зрение. Результаты исследований в этой области успешно применяются в промышленности (системах управления процессами), системах видеонаблюдения, сбора информации и т. д. Одним из часто используемых методов моделирования в машинном обучении является нейронная сеть, которая имеет множество разновидностей, разработанных в соответствии с возникающими перед исследователями задачами. Входными данными в классическую нейронную сеть является вектор параметров, который характеризует объект анализа. При решении задач компьютерного зрения (распознавания объектов) входом является изображение, которое не может быть обработано классической нейронной сетью без предварительных преобразований. Одним из вариантов является разложение изображения (таблицы интенсивности пикселей) в вектор, но при этом теряется значительная часть информации, так как нарушается топология исходных данных. Помимо трудностей с предварительной обработкой информации, классической нейронной сети для обработки изображений потребуется также большое число межнейронных связей, что приведет к высоким вычислительным требованиям или затратам времени. Для решения подобных задач подходит сверточная нейронная сеть, которая не имеет описанных выше недостатков. Сверточные нейронные сети. Идея сверточных нейронных сетей была предложена в 1980 году и получила широкое распространение в конце 1990-х благодаря работам Яна ЛеКуна и Джошуа Бенжио [1-4]. Сверточная нейронная сеть строится наподобие системы нейронов зрительной коры головного мозга и позволяет эффективно решать задачи распознавания образов, наряду с анализом речи и временных рядов [5]. В данной работе будет описана сверточная нейронная сеть для анализа изображений. Сверточные нейронные сети позволяют строить сложные иерархии признаков на основе исходных данных, которые в дальнейшем используются для классификации. Ключевым понятием в теории сверточных нейронных сетей является свертка. Сверткой называется математическая операция, отражающая похожесть одной функции на отраженную и сдвинутую копию другой. Архитектура сверточной нейронной сети представляет собой чередование сверточных и субдискретизирующих слоев. На сверточных слоях выполняется операция свертки входной карты признаков с ядром свертки, которое определяют весовые коэффициенты нейрона. Входной картой признаков для нейронов первого слоя является исходное изображение. На рис. 1 показан результат свертки изображения x с ядром k. Для удобства представления ядро k было отражено по горизонтали и вертикали, таким образом свертку данных изображений можно рассмотреть в качестве корреляции x и k*: модифицированное ядро свертки перемещается по изображению x, формируя соответствующие значения выходной карты признаков c. Элементы изображения c рассчитываются по следующей формуле: , где r - размер ядра свертки. Карта признаков, полученная в результате свертки, проходит через активационную функцию, результат которой становится выходом нейрона сверточного слоя и, соответственно, входом для нейрона субдискретизирующего слоя. Слои субдискретизации, следующие после сверточных, уменьшают размерность карты признаков и обеспечивают инвариантность к масштабу. В отличие от сверточных слоев, они имеют один регулируемый параметр - фактор субдискретизации, который определяет, во сколько раз будет уменьшено изображение. Существуют различные способы уменьшения размера карты признаков с помощью слоев субдискретизации. Входная карта признаков разбивается на подобласти в соответствии с фактором субдискретизации. Например, если фактор равен 2, то карта признаков разби-вается на области размером 2 на 2. После этого в каждой области по определенному принципу выбирается или рассчитывается значение, которое становится элементом новой, выходной карты признаков. Одним из примеров правила расчета значений может быть усреднение значений внутри области (рис. 2). Идея сверточной нейронной сети предполагает использование разделяемых весов, т. е. применение одних и тех же весовых коэффициентов для различных межнейронных связей. Данный подход позволяет значительно сократить количество настраиваемых параметров и ускорить обучение нейронной сети [6]. После прохождения нескольких слоев карта признаков раскладывается в вектор, который используется в качестве входа для классификатора. Общую архитектуру сверточной нейронной сети с двумя сверточными слоями, содержащими 5 и 10 нейронов соответственно, можно изобразить в виде схемы, представленной на рис. 3. Размер входного изображения - 28×28 пикселей, размер ядра свертки - 5×5, количество классов - 10, фактор субдискретизации - 2. Рис. 1. Пример свертки изображений Рис. 2. Пример работы слоя субдискретизации Рис. 3. Архитектура сверточной нейронной сети Поскольку при использовании сверточной нейронной сети значительно сокращается количество настраиваемых весовых коэффициентов, возможно более гибкое и менее вычислительно затратное применение алгоритмов для обучения нейронной сети. Также на эффективность работы нейронной сети влияет ее структура, которая должна подбираться автоматически под каждую поставленную задачу. Для решения этих задач в данной работе используется генетический алгоритм. Самоконфигурируемый генетический алгоритм. Идея генетического алгоритма, как и нейронных сетей, заимствована у природы. В основе генетического алгоритма лежит концепция эволюции: отбор наиболее приспособленных индивидов, скрещивание и мутация. Генетические алгоритмы широко применяются в сложных задачах отыскания глобального оптимума, в частности, при отсутствии четкой математической модели. Генетический алгоритм имеет параметры, определяющие характер его работы, которые значительно влияют на эффективность решения поставленной задачи. Данные параметры не только отличаются для каждой решаемой задачи, но также требуют экспертных знаний от пользователя. При использовании только стандартных операторов получается более 100 их комбинаций, что делает задачу выбора определенного набора достаточно сложной [7-9]. Поскольку оптимальные значения параметров алгоритма не известны заранее, имеется необходимость в организации процедуры автоматического поиска таких значений для повышения качества решения задачи. Данная процедура реализована в самоконфигурируемом генетическом алгоритме SelfCGA [10]. Вероятности применения определенных типов операторов в SelfCGA рассчитываются исходя из их успешности на предыдущих поколениях. При работе алгоритма не требуется хранение информации о предыдущих поколениях (кроме последнего), в связи с этим не накладываются требования к большим ресурсам для хранения данных [11]. Помимо этого, вероятности применения операторов не включены в хромосому и не являются объектом эволюции, тем самым исключая увеличение пространства оптимизации. Вычислительные ресурсы, требуемые для работы алгоритма, не увеличиваются с ростом числа поколений. Описанные выше преимущества алгоритма SelfCGA позволяют успешно использовать его в сочетании с другими интеллектуальными информационными технологиями, например, с нейронной сетью [12-17]. Блок схема самоконфигурируемого алгоритма SelfCGA представлена на рис. 4. Настройка нейронной сети с помощью генетического алгоритма. Как отмечалось ранее, качество решения задачи с помощью нейронной сети значительно зависит от выбранной структуры и алгоритма обучения. Традиционно нейронные сети обучаются с помощью метода обратного распространения ошибки [18], который применим и в случае сверточной нейронной сети с некоторыми поправками, вызванными спецификой работы нейронов слоев свертки и субдискретизации. Однако алгоритм обратного распространения ошибки является градиентным методом и может приводить к попаданию в локальный оптимум, особенно при сложной поверхности функции ошибки. Во избежание такой ситуации следует применить генетический алгоритм для определения начальных значений весовых коэффициентов нейронной сети, после чего использовать метод обратного распространения ошибки для более тонкой их настройки. Рис. 4. Блок-схема самоконфигурируемого генетического алгоритма SelfCGA Выбор структуры сверточной нейронной сети подразумевает настройку таких параметров, как количество пар слоев свертки и субдискретизации, определение количества нейронов в каждом слое, размер ядра свертки и значение фактора субдискретизации. Решение задачи определения возраста человека по фотографии. Проверка эффективности предлагаемого подхода будет произведена на задаче определения возраста человека по его фотографии. В используемой базе данных содержится 646 примеров. Необходимо определить возрастную группу человека на фотографии из следующих: 1) 18-23 года; 2) 23-27 лет; 3) 25-36 лет; 4) 32-49 лет; 5) 46-60 лет; 6) 58-70 лет; 7) >70 лет. Для решения данной задачи для нейронной сети была выбрана следующая структура по умолчанию: 3 скрытых слоя, 7 нейронов на каждом слое, размер ядра свертки - 5, фактор субдискретизации - 2, количество эпох обучения - 300. Для выбора начальных весов использовался алгоритм SelfCGA со следующими параметрами: число индивидов - 50, число поколений - 100. После предварительной настройки весов обучение нейронной сети происходило с большей скоростью, что повысило эффективность системы. Подбор структуры нейронной сети с помощью генетического алгоритма является вычислительно затратным процессом, в связи с этим были использованы следующие параметры: число индивидов - 8, число поколений - 10. При подборе структуры сверточной нейронной сети наблюдались следующие тенденции: 1. Большей эффективностью при данных параметрах обучения обладают структуры со средним числом нейронов. Большое число нейронов в слое приводит к нехватке ресурсов для обучения. Соответственно, для обучения таких сетей необходимо использовать большее количество эпох, что существенно повышает вычислительную сложность. 2. Большей эффективностью обладают структуры, в которых размер ядра свертки уменьшается с увеличением номера слоя. Например, 3 слоя со следующими размерами ядер свертки: 7, 5, 3. 3. Положительно на эффективности сказывается увеличение количества нейронов в слое с увеличением его номера. Например, 3 слоя с 5, 7, 10 нейронами соответственно. Результаты тестирования сверточной нейронной сети для решения задачи определения возраста по фотографии представлены в таблице. Сверточная нейронная сеть обозначена аббревиатурой CNN. На основании данных, представленных в таблице, можно сделать вывод, что комбинирование сверточной нейронной сети с самоконфигурируемым генетическим алгоритмом для настройки структуры и начальных весовых коэффициентов позволяет повысить эффективность работы нейронной сети при решении задачи идентификации. Результаты тестирования сверточной нейронной сети CNN CNN + SelfCGA (веса) CNN + SelfCGA (веса и структура) Точность классификации 57,61 % [54, 11-58, 22] 61,97 % [59, 56-64, 38] 65,01 % [62, 33-66, 44] Заключение. Использование сверточных нейронных сетей в качестве моделей при решении задач идентификации, в частности, распознавания образов в системах компьютерного зрения, позволяет строить гибкие и эффективные модели. Комбинирование сверточной нейронной сети с самоконфигурируемым генетическим алгоритмом для настройки весовых коэффициентов и подбора структуры положительно сказывается на качестве решения задач.×
About the authors
D. V. Fedotov
Reshetnev Siberian State Aerospace University
Email: fedotov.dm.v@gmail.com
31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation
E. A. Popov
Reshetnev Siberian State Aerospace University31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation
V. A. Okhorzin
Reshetnev Siberian State Aerospace University31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation
References
- Gradient-Based Learning Applied to Document Recognition / Y. LeCun [et al.] // Proceedings of the IEEE. 1998. No. 86(11). P. 2278-2324.
- Bottou L., LeCun Y., Bengio Y. Global training of document processing systems using graph transformer networks // Proceedings of Computer Vision and Pattern Recognition. Puerto-Rico, 1997. P. 490-494.
- LeCun Y., Bottou L., Bengio Y. Reading checks with graph transformer networks // International Conference on Acoustics, Speech, and Signal Processing. 1997. Vol. 1. P. 151-154.
- Comparison of learning algorithms for handwritten digit recognition / LeCun Y. [et al.] // International Conference on Artificial Neural Networks. 1995. P. 53-60.
- LeCun Y., Bengio Y. Convolutional Networks for Images, Speech, and Time-Series // The Handbook of Brain Theory and Neural Networks. MIT Press, 1995. P. 255-258.
- Bengio Y., Goodfellow I. J., Courville A. Deep Learning Book in preparation for MIT Press. 2015. P. 173-190
- Wright A. Genetic algorithms for real parameter optimization // Foundations of Genetic Algorithms. 1991. P. 205-218.
- Eiben A. E., Smith J. E. Introduction to evolutionary computing. Berlin : Springer. 2003. 300 p.
- Сергиенко А. Б. Генетический алгоритм. Стандарт. Версия 3.12. Сиб. гос. аэрокосмич. ун-т, 2015.
- p.
- Semenkin E., Semenkina M. Self-configuring genetic algorithm with modified uniform crossover operator // Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 2012. 7331 LNCS (PART 1). P. 414-421.
- Gomez J. Self Adaptation of Operator Rates Evolutionary Algorithms // Genetic and Evolutionary Computation, GECCO, Lecture Notes in Computer Science. 2004. Vol. 3102. P. 1162-1173.
- Semenkina M., Semenkin E. Hybrid Self-configuring Evolutionary Algorithm for Automated Design of Fuzzy Classifier // Advances in Swarm Intelligence. 2014. Part 1, LNCS 8794. P. 310-317.
- Burakov S. V., Semenkin E. S. Solving variational and Cauchy problems with self-configuring genetic programming algorithms // International Journal of Innovative Computing and Applications. 2013. Vol. 5, Iss. 3. P. 152-162.
- Semenkin E., Semenkina M. Classifier Ensembles Integration with Self-Configuring Genetic Programming Algorithm // Adaptive and Natural Computing Algorithms: Lecture Notes in Computer Science. 2013. Vol. 7824. P. 60-69.
- Федотов Д. В., Семенкин Е. С. О прогнозировании экономических показателей с помощью нейроэволюционных моделей // Вестник СибГАУ. 2014. № 5 (57). P. 299-304.
- Fedotov D.V. On financial time series prediction using neural network models and evolutionary algorithms // Materials of the Third International Workshop on Mathematical Models and its Applications (IWMMA-2014). 2014. P. 1-3.
- Федотов Д. В. О применении сверточных нейронных сетей для решения задач распознавания образов // Проспект Свободный - 2015 : материалы науч. конф. / Сиб. федер. ун-т. Красноярск, 2015. P. 56-57.
- Werbos P. J. Beyond regression: New tools for prediction and analysis in the behavioral sciences / Harvard University. Cambridge, MA, 1974. 906 p.
- Gradient-Based Learning Applied to Document Recognition / Y. LeCun [et al.] // Proceedings of the IEEE. 1998. No. 86(11). P. 2278-2324.
- Bottou L., LeCun Y., Bengio Y. Global training of document processing systems using graph transformer networks // Proceedings of Computer Vision and Pattern Recognition. Puerto-Rico, 1997. P. 490-494.
- LeCun Y., Bottou L., Bengio Y. Reading checks with graph transformer networks // International Conference on Acoustics, Speech, and Signal Processing. 1997. Vol. 1. P. 151-154.
- Comparison of learning algorithms for handwritten digit recognition / LeCun Y. [et al.] // International Conference on Artificial Neural Networks. 1995. P. 53-60.
- LeCun Y., Bengio Y. Convolutional Networks for Images, Speech, and Time-Series // The Handbook of Brain Theory and Neural Networks. MIT Press, 1995. P. 255-258.
- Bengio Y., Goodfellow I. J., Courville A. Deep Learning Book in preparation for MIT Press. 2015. P. 173-190
- Wright A. Genetic algorithms for real parameter optimization // Foundations of Genetic Algorithms. 1991. P. 205-218.
- Eiben A. E., Smith J. E. Introduction to evolutionary computing. Berlin : Springer. 2003. 300 p.
- Сергиенко А. Б. Генетический алгоритм. Стандарт. Версия 3.12. Сиб. гос. аэрокосмич. ун-т, 2015.
- p.
- Semenkin E., Semenkina M. Self-configuring genetic algorithm with modified uniform crossover operator // Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 2012. 7331 LNCS (PART 1). P. 414-421.
- Gomez J. Self Adaptation of Operator Rates Evolutionary Algorithms // Genetic and Evolutionary Computation, GECCO, Lecture Notes in Computer Science. 2004. Vol. 3102. P. 1162-1173.
- Semenkina M., Semenkin E. Hybrid Self-configuring Evolutionary Algorithm for Automated Design of Fuzzy Classifier // Advances in Swarm Intelligence. 2014. Part 1, LNCS 8794. P. 310-317.
- Burakov S. V., Semenkin E. S. Solving variational and Cauchy problems with self-configuring genetic programming algorithms // International Journal of Innovative Computing and Applications. 2013. Vol. 5, Iss. 3. P. 152-162.
- Semenkin E., Semenkina M. Classifier Ensembles Integration with Self-Configuring Genetic Programming Algorithm // Adaptive and Natural Computing Algorithms: Lecture Notes in Computer Science. 2013. Vol. 7824. P. 60-69.
- Федотов Д. В., Семенкин Е. С. О прогнозировании экономических показателей с помощью нейроэволюционных моделей // Вестник СибГАУ. 2014. № 5 (57). P. 299-304.
- Fedotov D.V. On financial time series prediction using neural network models and evolutionary algorithms // Materials of the Third International Workshop on Mathematical Models and its Applications (IWMMA-2014). 2014. P. 1-3.
- Федотов Д. В. О применении сверточных нейронных сетей для решения задач распознавания образов // Проспект Свободный - 2015 : материалы науч. конф. / Сиб. федер. ун-т. Красноярск, 2015. P. 56-57.
- Werbos P. J. Beyond regression: New tools for prediction and analysis in the behavioral sciences / Harvard University. Cambridge, MA, 1974. 906 p.
- LeCun Y., Bottou L., Bengio Y., Haffner P. Gradient-Based Learning Applied to Document Recognition. Proceedings of the IEEE, 1998, No. 86(11), P. 2278-2324.
- Bottou L., LeCun Y., Bengio Y. Global training of document processing systems using graph transformer networks. Proceedings of Computer Vision and Pattern Recognition, Puerto-Rico, 1997, P. 490-494.
- LeCun Y., Bottou L., Bengio Y. Reading checks with graph transformer networks. International Conference on Acoustics, Speech, and Signal Processing, 1997, Vol. 1, P. 151-154.
- LeCun Y., Jackel L. D., Bottou L et al. Comparison of learning algorithms for handwritten digit recognition. International Conference on Artificial Neural Networks, 1995, P. 53-60.
- LeCun Y., Bengio Y. Convolutional Networks for Images, Speech, and Time-Series. The Handbook of Brain Theory and Neural Networks, MIT Press, 1995, P. 255-258.
- Bengio Y., Goodfellow I. J., Courville A. Deep Learning Book in preparation. MIT Press, 2015, P. 173-190.
- Wright A. Genetic algorithms for real parameter optimization. Foundations of Genetic Algorithms, 1991, P. 205-218.
- Eiben A. E., Smith J. E. Introduction to evolutionary computing. Springer, Berlin, Germany 2003, 300 p.
- Sergienko A. B. Geneticheskiy algoritm. Standart. Versiya 3.12 [Genetic algorithm. Standard. Version 3.12], Krasnoyarsk, SibGAU Semenkin E., Semenkina M. Self-configuring genetic algorithm with modified uniform crossover operator. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2012, 7331 LNCS (Part 1), P. 414-421.
- Semenkin E., Semenkina M. Self-configuring genetic algorithm with modified uniform crossover operator. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 2012. 7331 LNCS (PART 1).
- P. 414-421.
- Gomez J. Self Adaptation of Operator Rates Evolutionary Algorithms. Genetic and Evolutionary Computation, GECCO 2004, Lecture Notes in Computer Science, 2004, Vol. 3102, P. 1162-1173.
- Semenkina M., Semenkin E. Hybrid Self-configuring Evolutionary Algorithm for Automated Design of Fuzzy Classifier. Advances in Swarm Intelligence ICSI, 2014, Part 1, LNCS 8794, P. 310-317.
- Burakov S. V., Semenkin E. S. Solving variational and Cauchy problems with self-configuring genetic programming algorithms. International Journal of Innovative Computing and Applications, 2013, Vol. 5, Iss. 3,
- P. 152-162.
- Semenkin E., Semenkina M. Classifier Ensembles Integration with Self-Configuring Genetic Programming Algorithm. Adaptive and Natural Computing Algorithms. Lecture Notes in Computer Science, 2013, Vol. 7824,
- P. 60-69.
- Fedotov D. V., Semenkin E. S. [On forecasting economic indexes by means of neuroevolutionary models]. Vestnik SibGAU, 2014, No. 5 (57), P. 299-304 (In Russ.).
- Fedotov D. V. On financial time series prediction using neural network models and evolutionary algorithms. Materials of the Third International Workshop on Mathematical Models and its Applications (IWMMA-2014), 2014, P. 1-3.
- Fedotov D. V. [On using convolutional neural networks for pattern recognition tasks]. Prospekt Svobodnyy-2015 : materialy nauch. konf. [Svobodnyy avenue 2015: Materials of scientific conference], 2015, P. 56-57 (In Russ.).
- Werbos P. J. Beyond regression: New tools for prediction and analysis in the behavioral sciences. Harvard University, Cambridge, MA, 1974, 906 p.
Supplementary files
![](/img/style/loading.gif)