УДК 004.932, 004.89
М.А. Абросимов, А.В. Бровко
МЕТОД ОБУЧЕНИЯ СЛОЁВ СВЁРТКИ В ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ С ПОМОЩЬЮ ОГРАНИЧЕННОЙ МАШИНЫ БОЛЬЦМАНА
Представлен метод подготовки ядер свёртки для свёрточных нейронных сетей посредством обучения без учителя. Метод основан на использовании ограниченной машины Больцмана, применяемой для методов глубинного обучения искусственных нейронных сетей. При обучении данным методом затрагиваются только слои свёртки, отвечающие за построение карт признаков.
Искусственная нейронная сеть, карты признаков, ограниченная машина Больцмана, обучение нейронных сетей, свёрточная нейронная сеть
M.A. Abrosimov, A.V. Brovko
A METHOD FOR TRAINING CONVOLUTION LAYERS IN ARTIFICIAL NEURAL NETWORKS
USING THE RESTRICTED BOLTZMAN MACHINE
The paper presents a method for preparing convolution kernels for convolution layers in artificial neural networks using the unsupervised training. The method is based on using the Restricted Boltzman Machine, suitable for deep learning methods. The training process affects only convolution layers.
Artificial neural network, feature maps, restricted boltzman machine, neural network training, convolutional neural network
Свёрточные нейронные сети широко используются для задач распознавания изображений. Основные принципы данной технологии были заложены в неокогнитроне Яна Лекуна [1, 2].Такого рода архитектура искусственной нейронной сети основана на использовании разделяемых синаптиче-ских весов по подобию принципов работы зрительной коры ЦНС, что аналогично операции свёртки матрицы.
Таким образом, свёрточная нейронная сеть включает один или более слоёв свёртки, имеющих набор ядер свёртки; шаг операции свёртки может превышать один пиксель. На выходе слоя свёртки получается набор карт признаков, более подходящий для классификации [3].
Далее производится пулирование каждой карты признаков. Размерность карты признаков сокращается в несколько раз, в результирующей матрице записаны средние или максимальные по модулю значения для подгрупп сокращённых элементов. Результат пулирования может передаваться на вход следующего слоя свёртки и т. д.
Результат пулирования карт признаков последнего слоя свёртки (значительно меньшей размерности по сравнению с исходным изображением), как правило, передаётся на слои классифицирующей сети. Например, результирующие карты признаков могут передаваться персептрону.
Сложность эффективного обучения подобных сетей состоит в том, что требуется подобрать подходящие ядра свёртки для построения карт признаков. В случае обучения методом обратного распространения ошибки возникает проблема исчезающего градиента, так как эффективная топология свёрточной сети содержит более трёх слоёв, включая слои свёртки [4]. В связи с данной проблемой эффективность обучения слоёв свёртки методом обратного распространения ошибки значительно снижается. Таким образом, обучение свёрточных нейронных сетей относится к проблемам глубинного обучения.
Для глубинного обучения многослойных искусственных нейронных сетей активно используются ограниченные машины Больцмана, принцип их использования состоит в предварительном послойном обучении без учителя и последующем обучении с учителем всей сети в целом [4].
В данной статье предлагается метод обучения без учителя слоёв с разделяемыми синаптиче-скими весами.
Метод обучения слоёв свёртки, не подразумевающий проблему исчезающего градиента, затрагивающий только слои свёртки искусственной нейронной сети в процессе обучения слоёв свёртки, способен существенно ускорить обучение свёрточных нейронных сетей. Целью является обучение слоёв свёртки для построения независимых от ожидаемого ответа искусственной нейронной сети репрезентативных карт признаков, позволяющих повторное использование обученных слоёв свёртки для сетей, обучаемых на схожих выборках с различными наборами ожидаемых ответов.
1. Метод обучения слоёв свёртки
Ограниченная машина Больцмана (далее ОМБ) в применении к искусственным нейронным сетям представляет собой двухслойную сеть, которая в обученном состоянии способна отображать вход на выход и обратно с высокой точностью.
Ь 11
Рис. 1. Ограниченная машина Больцмана; Ь - видимый слой, И - скрытый слой
Таким образом, ОМБ, представленная на рис. 1, устанавливает однозначное соответствие между входными и выходными данными с определённой точностью, что, в частности, используется для сжатия информации. Использование ОМБ в глубинном обучении объясняется возможностью сжатия информации, аналогичной выделению признаков. Слой свёртки с разделяемыми синаптиче-скими весами предназначен для схожей цели - построение карт признаков.
Сходство в принципах работы позволяет предположить, что корректное изменение представления данных позволит использовать ОМБ для обучения слоёв свёртки. В данном случае основным различием является размерность входных данных. В случае ОМБ обрабатывается вектор, в случае слоя свёртки обрабатывается матрица.
Следовательно, необходимо реализовать механизм, позволяющий выполнить преобразование данных для обработки указанными механизмами, не нарушающий при прямом и обратном преобразовании целостность данных.
Требуется рассмотреть механизмы обработки данных для обоих случаев с целью составить представление о возможном преобразовании данных без нарушения целостности.
Рис. 2. Работа слоя свёртки; 1 - входные данные, 2 - карты признаков
Каждый нейрон в искусственной нейронной сети обрабатывает функцией активации взвешенную сумму, подсчёт последней аналогичен операции свёртки, проиллюстрированной рис. 2. Следовательно, если сгруппировать ядра свёртки свёрточного слоя по размерности и шагу свёртки, то каждую матрицу можно представить в виде синаптических весов одного из нейронов скрытого слоя ОМБ, размерность которого будет совпадать с числом матриц в группе.
Далее следует представить обучающую выборку свёрточной нейронной сети в соответствующей шагам свёртки и размерностям ядер виде для обучения ОБМ. Каждый пример из обучающей выборки преобразуется в набор входных векторов. Критериями остановки обучения ОБМ могут послужить:
- достаточно низкий уровень ошибки;
- прохождение тестов с указанной точностью.
После обучения ОБМ синаптические веса нейронов скрытного слоя приводятся к виду матриц свёртки и используются в слое свёртки. Результирующие карты признаков относительно обучающей выборки могут быть использованы для обучения следующего слоя свёртки и т.д.
Преимущество отдельного обучения каждого слоя свёртки состоит в скорости и независимости от ожидаемого ответа для данной обучающей выборки. Таким образом, если для той же выборки потребуется иная классификация, переобучение слоёв свёртки не потребуется.
2. Численные результаты
Рассмотрим численные результаты, полученные с использованием данной технологии. Было произведено построение карт признаков для одного и того же изображения с использованием ядер свёртки популярных фильтров и с использованием результатов обучения слоёв свёртки с применением вышеописанной технологии.
а б в
Рис. 3. Карты признаков для первого слоя свёртки искусственной нейронной сети; а - исходное изображение, б - популярные фильтры, в - обученный слой
В случае использования популярных фильтров для указания ядер свёртки слоёв свёртки искусственной нейронной сети обучение сети на выборке из 60 изображений, относящихся к 5 различным классам, занимает свыше 900 эпох. В аналогичных случаях обучения искусственной нейронной сети с обученными по данной технологии слоями свёртки обучение занимает около 227 эпох.
Из полученных данных, проиллюстрированных рис. 3, следует, что предлагаемый метод обучения существенно влияет на репрезентативность карт признаков, которые являются результатом работы обученных слоёв свёртки.
3. Заключение
Таким образом, разработан метод обучения слоёв свёртки искусственных нейронных сетей. Метод основан на использовании ограниченной машины Больцмана, активно применяемой в методах глубинного обучения [4].
Данный метод позволяет избежать проблемы исчезающего градиента [5] и, следовательно, ускорить процесс обучения свёрточных нейронных сетей, активно используемых для задач распознавания образов [2].
Репрезентативность карт признаков, построенных слоями свёртки после обучения, обоснована принципом однозначного соответствия для обученной ограниченной машины Больцмана, в виде которой в данном методе представляются группы ядер свёртки, объединённые по размерности и шагу свёртки [6].
Принцип обучения без учителя позволяет использовать независимо (от ожидаемого отклика) обученные слои свёртки при построении свёрточных нейронных сетей, использующих различные классификации для схожих выборок. Представленный в настоящей статье метод может быть также применен при создании интеллектуальных экспертных систем [7, 8].
Следует отметить, что обучение слоёв свёртки отдельно от остальных слоёв искусственной нейронной сети существенно сократит объём выполняемых вычислений.
ЛИТЕРАТУРА
1. Хайкин C. Нейронные сети: полный курс. 2-е изд. М.: Вильямс, 2006.
2. Fausett L.V. Fundamentals of Neural Networks: Architectures Algorithms and Applications. New Jersey: Prentice-Hall, 1994.
3. Bengio Y., Courville A., Vincent P. Representation Learning: A Review and New Perspectives // IEEE Transactions on Pattern Analysis and Machine Intelligence archive. 2013. Vol. 35. P. 1798-1828.
4. Bengio Y. Learning Deep Architectures for AI // Foundations and Trends in Machine Learning. 2009. Vol. 2. N 1. P. 1-127.
5. Exploring strategies for training deep neural networks / H. Larochelle, Y. Bengio, J. Louradour, P. Lamblin // Journal of Machine Learning Research. 2009. N 1. P. 1-40.
6. Salakhutdinov R., Hinton G. An Efficient Learning Procedure for Deep Boltzmann Machines // Neural Computation. 2012. Vol. 24. N 8. P. 1967-2006.
7. Долинина О.Н., Кузьмин А.К. Особенности создания экспертных систем, основанных на нейросетевом представлении знаний // Вестник СГТУ. 2009. Т. 33. № 2. С. 266-272.
8. Долинина О.Н., Шварц А.Ю. Некоторые аспекты повышения эффективности принятия решения интеллектуальными системами, использующими нечёткий вывод // Фундаментальные исследования. 2014. № 12. Ч. 4. С. 691-695.
Абросимов Михаил Александрович -
студент кафедры «Прикладные информационные технологии» Саратовского государственного технического университета имени Гагарина Ю.А.
Бровко Александр Валерьевич -
кандидат физико-математических наук, доцент кафедры «Прикладные информационные технологии» Саратовского государственного технического университета имени Гагарина Ю.А.
Mikhail A. Abrosimov -
Student
Department of Applied Information Technologies Yuri Gagarin State Technical University of Saratov
Aleksandr V. Brovko -
Ph.D., Associate Professor Department of Applied Information Technologies Yuri Gagarin State Technical University of Saratov
Статья поступила в редакцию 05.07.15, принята к опубликованию 15.09.15