Научная статья на тему 'Алгоритм обучения искусственных нейронных сетей на основе больших выборок с повторяющимися примерами'

Алгоритм обучения искусственных нейронных сетей на основе больших выборок с повторяющимися примерами Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
796
63
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИСКУССТВЕННАЯ НЕЙРОННАЯ СЕТЬ / ARTIFICIAL NEURAL NETWORK / АЛГОРИТМ ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ / NEURAL NETWORK'S TRAINING ALGORITHM / ОБУЧАЮЩАЯ ВЫБОРКА / TRAINING SAMPLE / ПОВТОРЯЮЩИЕСЯ ПРИМЕРЫ / REPEATING EXAMPLES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Папаев Павел Леонидович, Дударов Сергей Павлович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Папаев Павел Леонидович, Дударов Сергей Павлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ALGORITHM OF ARTIFICIAL NEURAL NETWORK TRAINING BASED ON LARGESIZE SAMPLES WITH REPEATING EXAMPLES

There is presented a new approach to artificial neural networks training (by the example of two-layer perceptron) using largesize samples with repeating examples and the frequency of observation of certain input variables combinations during real process or phenomenon. Described approach allows to decrease a dimension of used training data, therefore to intensify a training process and to ensure acceptable quality in conditions of limited time of training of multilayer neural networks with the large number of hidden neurons when very large training samples.

Текст научной работы на тему «Алгоритм обучения искусственных нейронных сетей на основе больших выборок с повторяющимися примерами»

_Успехи в химии и химической технологии. ТОМ XXIX. 2015. № 4_

УДК 004.8

П. Л. Папаев, С. П. Дударов*

Российский химико-технологический университет им. Д.И. Менделеева, Москва, Россия 125480, Москва, ул. Героев Панфиловцев, д. 20 * e-mail: dudarov@muctr.ru

АЛГОРИТМ ОБУЧЕНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ НА ОСНОВЕ БОЛЬШИХ ВЫБОРОК С ПОВТОРЯЮЩИМИСЯ ПРИМЕРАМИ

Аннотация

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

Ключевые слова: искусственная нейронная сеть, алгоритм обучения нейронной сети, обучающая выборка, повторяющиеся примеры.

Общепринятой практикой в задачах нейросетевого моделирования справедливо считается применение процедур исключения повторяющихся и противоречивых примеров с целью уменьшения размера обучающей выборки и, как следствие, ускорения самого процесса обучения [1]. Однако практический опыт решения таких задач показывает, что данный подход подтверждает свою эффективность всегда для малых и средних объёмов обучающих данных (до нескольких сотен примеров) и отнюдь не постоянно для выборок больших размеров, насчитывающих тысячи, десятки и сотни тысяч примеров. Связано это с тем, что для небольших выборок почти всегда можно подобрать достаточно простую структуру нейронной сети и осуществить процесс её обучения за приемлемый интервал времени таким образом, что она, если не обучится обобщать все возможные входные наборы с выдачей правильного отклика, то, по крайней мере, запомнит обучающие данные. Для больших же выборок, требующих к тому же более сложных структур нейронных сетей, временной фактор, обусловленный огромным объёмом вычислений, вступает в противоречие с достижением достаточного уровня ошибки обучения. И если для выборок размера в несколько тысяч примеров можно найти определённый баланс между временем обучения и уровнем ошибки, то в случаях, когда размер выборки достигает десяток и сотен тысяч примеров, не помогает даже распараллеливание вычислительных процедур.

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

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

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

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

- изменения этапа анализа повторяемости примеров в массиве обучающих данных;

- модификации структуры обучающей выборки;

- изменения алгоритма обучения;

- коррекции критерия обучения.

Анализ обучающих данных на наличие повторов остаётся необходимым этапом стадии настройки и обучения. Более того, происходит и существенное сокращение обучающей выборки, так как в ней всё равно остаются только уникальные примеры. В то же время на данном этапе дополнительно рассчитывается количество копий N каждого примера с номером к. Зная общее количество примеров в исходной выборке N¡6, определяется частота его присутствия в ней:

(рк = N / Иоб.

Данная информация становится неотъемлемым атрибутом любого к-го примера выборки и далее должна быть использована в процессе обучения. Таким образом, помимо столбцов входных и выходных значений переменных новая выборка дополняется столбцом частот присутствия соответствующих примеров в исходном массиве обучающих данных.

Приведённый далее алгоритм обучения использует в работе модифицированную вышеописанным способом выборку:

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

2. Весовые коэффициенты нейронов инициализируются небольшими случайными значениями.

3. Выбирается случайный пример обучающей выборки: на первом такте - любой; на каждом следующем такте обучения с номером Т - один из тех, для которых выполняется условие: ц/к ^ Щ, где ц/к -частота использования к-го примера для коррекции весовых коэффициентов нейронной сети. Последняя характеристика рассчитывается по соотношению:

щ = Мк / (Т-1),

где Мк - количество раз использования к-го примера для обучения нейронной сети после (Т-1) тактов обучения.

4. Весовые коэффициенты нейронов изменяются с использованием корректирующих соотношений используемого метода обучения, например, методов Уидроу-Хоффа или обратного распространения ошибки [1].

5. Проверяется достижение предельно заданного количества тактов обучения. Если оно не достигнуто, алгоритм продолжает работу с п. 3, иначе - переход к п. 6.

6. Выполняется оценка качества обучения нейронной сети с использованием следующего выражения накопленной ошибки:

N.

об

Е

X

к=1

Фк Nвы

N в

I

} = 1

Уп

9

Ур

Последнее расчётное соотношение отличается от аналогов учётом частоты срк, с которой к-й пример встречается во время моделируемого процесса или явления. Таким образом, производимая с его помощью оценка будет соответствовать существующей в действительности картине.

Следует заметить, что в данном алгоритме не используется традиционное обучение нейронной сети по эпохам - циклам однократного предъявления в случайном порядке всех примеров обучающей выборки.

Рассмотрим примеры использования

предложенного алгоритма для обучения двухслойного перцептрона (рис. 1) на примере двух серий вычислительных экспериментов с двумя выборками, содержащими, соответственно, 500 и 5000 уникальных обучающих примеров, для каждого из которых заранее известна частота его реализации во время реального процесса или явления. Использованные структуры двухслойных перцептронов включали 5 входных независимых переменных и 2 выходные результирующие переменные (2 искусственных нейрона в выходном слое). Количество скрытых нейронов N0^ варьировалось от 3 до 25.

Поскольку инициализация весовых

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

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

где Ук,- - значение результирующей переменной с

номером, в обучающем примере с номером к; Ур- -

значение результирующей переменной с номером рассчитанной по обученной нейронной сети для входного вектора обучающего примера с номером к; ^ых - количество выходных переменных. Ошибка Е также может быть выражена в процентах, т. к. рассчитывается для выходных переменных, нормализованных в пределах [0, 1].

Рис. 1. Структура двухслойного перцептрона

На рисунке 2 показана зависимость ошибки обучения от сложности структуры перцептрона, изменявшейся за счёт добавления или сокращения количества скрытых нейронов для выборки в 500 примеров после 10000 тактов обучения. На данном графике сравниваются структуры сетей, обучавшихся по предложенному алгоритму с учётом различной

X

X

2

X

3

X

4

X

5

частоты использования каждого примера, и аналогичные им структуры сетей, обучавшихся на выборках с одинаковой частотой использования каждого примера (эквивалент традиционного подхода). Из рисунка видно, что подтверждается общеизвестная тенденция к уменьшению ошибки с усложнением структуры сети. Однако главное наблюдение - это наличие в среднем 0,5 % разницы в

ошибке в пользу предложенного подхода для двухслойных перцептронов практически любой сложности. В некоторых случаях в зависимости от размера выборки, сложности структуры сети и сложности воспроизводимой ею функциональной зависимости разница может достигать 1-2 %, что весьма существенно для не до конца обученных перцептронов.

9,0 8,5 8,0

<Й И

*8 7,5 в

° 7,0 6,5 6,0

8,44

' Без частоты ' С частотой .

8,01

7,82И 7,30

■ - - „ ________ __ - - - ---- 6,84

7,00

05 10 15 20 Количество скрытых нейронов 25

Рис. 2. Зависимость ошибки обучения от количества нейронов в скрытом слое

На рисунке 3 показано распределение ошибок для нейронных сетей, обучавшихся с использованием предложенного и традиционного подходов на 500 и 5000 примерах, в зависимости от количества тактов обучения. Из представленной диаграммы можно сделать следующие выводы:

- увеличение продолжительности обучения способствует снижению ошибки для всех случаев;

- учёт частоты использования примеров позволяет снизить ошибку, причём для

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

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

обусловливает, на наш взгляд, меньшую ошибку (на 2-3 %) для выборки размера 5000 примеров в сравнении с выборкой, содержащей 500 примеров.

Рис. 3. Распределение ошибок для выборок из 500 и 5000 примеров при различной продолжительности обучения

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

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

Папаев Павел Леонидович, аспирант кафедры Информационных компьютерных технологий РХТУ им. Д. И. Менделеева, Россия, Москва.

Дударов Сергей Павлович, к.т.н., доцент кафедры Информационных компьютерных технологий, декан факультета Информационных технологий и управления РХТУ им. Д. И. Менделеева, Россия, Москва.

Литература

1. Дударов С. П. Теоретические основы и практическое применение искусственных нейронных сетей: учеб.пособие/ С. П. Дударов, П. Л. Папаев. - М.: РХТУ им. Д. И. Менделеева, 2014. - 104 c.

Papaev PavelLeonidovich, Dudarov Sergey Pavlovich*

D. Mendeleev University of Chemical Technology of Russia, Moscow, Russia * e-mail: dudarov@muctr.ru

ALGORITHM OF ARTIFICIAL NEURAL NETWORK TRAINING BASED ON LARGESIZE SAMPLES WITH REPEATING EXAMPLES

Abstract

There is presented a new approach to artificial neural networks training (by the example of two-layer perceptron) using largesize samples with repeating examples and the frequency of observation of certain input variables combinations during real process or phenomenon. Described approach allows to decrease a dimension of used training data, therefore to intensify a training process and to ensure acceptable quality in conditions of limited time of training of multilayer neural networks with the large number of hidden neurons when very large training samples.

Key words: artificial neural network, neural network's training algorithm, training sample, repeating examples.

i Надоели баннеры? Вы всегда можете отключить рекламу.