Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 8(8)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2

Библиографическое описание:
Суша А.В. АНАЛИЗ МЕТОДОВ ОПТИМИЗАЦИИ ПАРАМЕТРОВ НЕЙРОННЫХ СЕТЕЙ НА ПРИМЕРЕ ЗАДАЧИ КЛАССИФИКАЦИИ ИЗОБРАЖЕНИЙ // Студенческий: электрон. научн. журн. 2017. № 8(8). URL: https://sibac.info/journal/student/8/79708 (дата обращения: 24.04.2024).

АНАЛИЗ МЕТОДОВ ОПТИМИЗАЦИИ ПАРАМЕТРОВ НЕЙРОННЫХ СЕТЕЙ НА ПРИМЕРЕ ЗАДАЧИ КЛАССИФИКАЦИИ ИЗОБРАЖЕНИЙ

Суша Александр Владимирович

магистрант, кафедра электронных вычислительных средств, Белорусский государственный университет информатики и радиоэлектроники,

Беларусь, г. Минск

Аннотация. В статье приведён обзор популярных методов оптимизации параметров нейронных сетей, а также представлены результаты сравнения этих методов на примере обучения свёрточной нейронной сети для решения задачи классификации символов.

Ключевые слова: нейронные сети, свёрточные нейронные сети, методы оптимизации.

 

Процесс обучения нейронной сети заключается в подстройке весов её нейронов. Целью обучения нейронных сетей является поиск такого состояния их весов, которое минимизирует некоторую целевую функцию на обучающей и тестирующей выборках. Задача обучения нейронных сетей достаточно сложна и это связано со следующими причинами:

- нейронная сеть может содержать очень большое количество связей, поэтому пространство возможных состояний нейронной сети огромно и рассмотреть их все практически невозможно;

- нейронные сети, которые содержат более чем один нейрон в скрытом слое, имеют не одно, а несколько оптимальных состояний, обусловленных наличием у функции ошибки нескольких минимумов, однако истинно оптимальным состоянием является только одно, где обеспечивается глобальный минимум;

- наличие множества локальных минимумов существенно затрудняет поиск глобального оптимума.

В настоящее время для решения задачи оптимизации параметров нейронных сетей разработано большое количество различных методов. В основном эти методы являются методами первого порядка и, в частности, вариациями градиентного спуска. Обновление весов нейронной сети происходит посредством применения итерационного метода обратного распространения ошибки [2]. Далее будут рассмотрены популярные методы оптимизации.

Градиентный спуск. Основная идея метода заключается в том, чтобы идти в направлении наискорейшего спуска, а это направление задаётся антиградиентом [1]. Тогда выражение изменения весов  на i-ой итерации имеет следующий вид:

(1)

где:  – коэффициент скорости обучения на -ой итерации;

        – градиент целевой функции  относительно весов , обновлённых на итерации .

Метод градиентного спуска может застревать в локальных минимумах целевой функции . Для преодоления этого используется так называемый метод моментов или инерции, который состоит в добавлении в формулу (1) терма «инерции»:

(2)

где:  – коэффициент инерции, может принимать как фиксированное значение, так и изменятся в зависимости от , например ;

        – изменение весов на предыдущей итерации.

AdaGrad. Этот метод был представлен в 2011 году [4]. Суть AdaGrad состоит в масштабировании коэффициента скорости обучения для каждого параметра в соответствии с историей градиентов этого параметра. Такое масштабирование делается путём деления текущего градиента на сумму квадратов предыдущих градиентов. Формула изменения весов методом AdaGrad следующая:

 

(3)

где:  – сумма квадратов градиентов;

        – коэффициент сглаживания, .

Adam. Метод Adam [5] можно рассматривать как обобщение AdaGrad. Он сочетает в себе и идею накопления движения, и идею более слабого обновления весов для типичных признаков. Метод Adam преобразует градиент следующим образом:

 

 

 

 

(4)

где:  – оценка математического ожидания;

        – оценка средней нецентрированной дисперсии;

        и  – окна накопления,  и ;

        и  – скорректированные значения оценок математического ожидания и средней нецентрированной дисперсии, влияет на первых шагах обучения;

        – коэффициент сглаживания, .

Выбор эффективного метода проводился на основе результатов тестирования нескольких методов оптимизации по критерию скорости сходимости. Тестирование проводилось на LeNet-подобных свёрточных нейронных сетях.

 

В качестве тестовой задачи была выбрана задача классификации рукописных цифр и для обучения использовалась база MNIST [7]. Эта база состоит из бинарных изображений рукописных цифр размером  пикселей. Количество изображений в обучающей и в тестирующей выборках составило 60000 и 10000 соответственно. Предварительной обработки изображений не проводилось. Пример изображений базы MNIST приведён на рисунке 1.

В эксперименте использовалось четыре сети, описание структур которых приведено в таблице 1. В таблице используется следующая нотация описания структуры свёрточных нейронных сетей:

-  обозначает операцию свёртки, где  – число выходных каналов,  и  – высота и ширина ядра фильтра свёртки;

-  обозначает операцию объединения с размером окна и шагом по осям равными  соответственно, где  – функция, применяемая к окну объединения;

- запись вида  обозначает операцию матричного умножения на веса соответствующего полносвязного слоя с  нейронами;

- функции активации записываются одном словом их названия (например , ) и к аргументу этих функций в обязательном порядке прибавляется вес смещения поканально, в случае если предыдущей операцией была свёртка, или понейронно – если предыдущей операцией было матричное умножение на веса полносвязного слоя; число параметров смещения соответственно равно числу каналов или нейронов предыдущей операции.

Таблица 1.

Структуры сетей используемых в проводимом эксперименте

Уровень глубины

CNN-3

CNN-4

9226 параметров

79296 параметров

1

2

3

 

Классификатор

 

Шаг обучения  задавался для всех методов равным . Коэффициент инерции для градиентного спуска с инерцией вычислялся по следующей формуле: . Для метода Adam параметры  и  устанавливались равными  и  соответственно. В качестве целевой функции использовалась средняя категориальная перекрёстная энтропия [3]. Параметры сетей инициализировались посредством метода описанного Яном ЛеКуном [6]. Значения весов смещения инициализировались константным значением равным . Последний слой сетей, расположенный непосредственно перед функцией SoftMax полностью инициализировался константным значением . Всего было проведено  эпох обучения для каждой сети. За одну эпоху по всей обучающей выборке формировались мини пакеты по 5000 примеров.

На рисунках 2 и 3 приведены графики изменения значения целевой функции в процессе обучения сетей с шифрами CNN-3 и CNN-4. В таблицу 2 сведены значения целевой функции на обучающей и тестирующей выборках обученных разными методами оптимизации свёрточных нейронных сетей.

Таблица 2.

Значения целевой функции обученных сетей

Структура сети

Градиентный спуск

Градиентный спуск с инерцией

AdaGrad

Adam

обуч.

тест.

обуч.

тест.

обуч.

обуч.

тест.

обуч.

CNN-3

1,136

1,108

0,140

0,130

0,370

0,343

0,050

0,049

CNN-4

2,240

2,234

0,128

0,126

0,324

0,301

0,025

0,044

 

а)                                                                  б)

а – графики изменения целевой функции на обучающей выборке;

б – графики изменения целевой функции на тестирующей выборке;

Рисунок 2. Графики изменения целевой функции сети с шифром CNN-3.

 

a)                                                         б)

а – графики изменения целевой функции на обучающей выборке;

б – графики изменения целевой функции на тестирующей выборке;

Рисунок 3. Графики изменения целевой функции сети с шифром CNN-4.

 

Основываясь на полученных результатах, очевидно, что наиболее эффективным методом оптимизации является метод Adam. Он показал наибольшую скорость сходимости для обоих вариантов сетей по сравнению с другими методами. Второе место принадлежит методу градиентного спуска с инерцией. Однако, несмотря на хорошую скорость сходимости, на такой простой задаче он имеет нестабильную траекторию схождения (исходя из выбросов на приведённых графиках), поэтому вместо него следует использовать AdaGrad. Простой градиентный спуск за указанное число итераций не сумел сойтись. Это связано в первую очередь с маленьким коэффициентом шага обучения, однако исходя из опыта, этот метод эффективен только на начальных итерациях и часто застревает в локальных минимумах.

 

Список литературы:

  1. Градиентный спуск // Википедия : свободная энциклопедия. – 2017. [электронный ресурс] – Режим доступа. – URL: https://ru.wikipedia.org/wiki/Градиентный_спуск (дата обращения 12.05.2017).
  2. Метод обратного распространения ошибки // Википедия : свободная энциклопедия. – 2017. [электронный ресурс] – Режим доступа. – URL: https://ru.wikipedia.org/wiki/Метод_обратного_распространения_ошибки (дата обращения 12.05.2017).
  3. Cross entropy // Википедия : свободная энциклопедия. – 2017. [электронный ресурс] – Режим доступа. – URL: https://en.wikipedia.org/wiki/Cross_entropy (дата обращения 12.05.2017).
  4. Duch, J. Adaptive Subgradient Methods for Online Learning and Stochastic Optimization / J. Duch, E. Hazan, Y. Singer // Journal of Machine Learning Research. – 2011. – P.2121-2159.
  5. Kingma, D.P. Adam: A Method for Stochastic Optimization / D.P. Kingma, J.L. Ba. – 2014. – 15 p. – (Preprint / arXiv.org; № 1412.6980).
  6. LeCun, Y. Efficient BackProp / Y. LeCun [et al.]. // Neural Netowriks: ticks of the trade. – UK Springer, 1998. – P.9-50.
  7. LeCun, Y. Gradient-based learning applied to document recognition / Y. LeCun [et al.]. // Proceedings of the IEEE. – 1998. – P.2278-2324.

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.