Научная статья на тему 'Распараллеливание процесса обучения многомерного нейросетевого классификатора при моделировании роста алмазных плёнок'

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

CC BY
97
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛМАЗНАЯ ПЛЁНКА / DIAMOND FILM / НЕЙРОННАЯ СЕТЬ / NEURAL NETWORK / КЛАССИФИКАЦИЯ ОБРАЗОВ / IMAGE CLASSIFICATION / ИСКУССТВЕННАЯ ИММУННАЯ СИСТЕМА / ARTIFICIAL IMMUNE SYSTEM

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

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

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

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

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

PARALLELIZING OF TRAINING PROCESS OF NEURAL NETWORK CLASSIFIER DURING THE MODELING OF DIAMOND FILM GROWTH

It is suggested a structure of multidimensional neural network classifier for modeling of diamond film growth. It is shown questions of training data sample formation and of classifier training. It is developed an algorithm of neural network training based on artificial immune system. It is applied methods of parallel programming in order to accelerate the procedure of classifier training. It is carried out an evaluation of training speed increase in comparison with single-flow way of algorithm realization.

Текст научной работы на тему «Распараллеливание процесса обучения многомерного нейросетевого классификатора при моделировании роста алмазных плёнок»

УДК 004.8:681.3.06

А. Н. Диев, Г. Ю. Аверчук, С. П. Дударов*

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

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

Аннотация

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

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

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

взаимодействующих атомов [1].

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

реализующаяся методом Монте-Карло. Она учитывает вероятностную природу роста алмазной плёнки, имитируя её формирование. Несмотря на это, расчёты с помощью данной модели ограничены огромными затратами вычислительных ресурсов, требующихся для получения результатов на всех стадиях [2].

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

нейросетевой классификатор. Его структура для решения конкретной задачи представлена на рисунке 1.

Слой Слой Выходной слой -

КМ-элементов К-элементов Д-элемент

Рис. 1. Структура многомерного нейросетевого классификатора

Многомерный нейросетевой классификатор содержит 14 входных переменных. Каждая из первых 13 переменных - это двоичный вектор, соответствующий одному из валентных состояний атомов, в трёхмерной окрестности базовой ячейки (показана пунктиром на рис. 2). Валентное состояние атома определяется количеством не спаренных электронов и типами связей с соседними атомами в различных плоскостях кристаллической решётки. Всего состояний насчитывается 36. Таким образом, минимальная разрядность векторов, используемых для кодирования этих классов, равна 6. 14-я входная переменная учитывает стохастическую природу образования новой структурной единицы на поверхности плёнки по одному из возможных механизмов.

двоичных весовых коэффициентов К- и Д-элементов. Ввиду большого количества нейронных элементов и связей между ними данная задача имеет очень высокую размерность. С учётом того, что оптимизируемые переменные представляются в двоичном формате, для решения задачи наиболее целесообразно применить один из эволюционных методов: генетический или иммунный алгоритм, оперирующий экземплярами решения (особями, антителами) в виде единого двоичного вектора, в который объединены все весовые вектора и коэффициенты. В зависимости от количества чередующихся К- и Д-слоёв длина каждой особи может достигать десятков тысяч битов. Так, в рассматриваемой задаче при использовании всего двух слоёв конъюнкторов или дизъюнкторов длина особи составила 1460 битов, трёх слоёв - 6984 бита, четырёх - 24712 битов. Отсюда очевидно, что процесс обучения многомерного нейросетевого

классификатора очень требователен к вычислительным ресурсам, в связи с чем его алгоритм целесообразно распараллелить.

Рассмотрим этапы иммунного алгоритма обучения классификатора:

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

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

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

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

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

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

Согласно алгоритму, формирование каждого нового потенциального решения (антитела) должно

Рис. 2. Трёхмерное изображение окрестности ячейки на поверхности алмазной плёнки

Первый слой классификатора - КМ-элементы, в которые попарно, во всех возможных комбинациях поступают входные вектора. Для 14 входных векторов создаётся 91 КМ-элемент. В каждом из них к поступающей паре входных векторов последовательно применяются операторы

многопозиционных кроссовера и мутации в соответствии с К- и М-масками, служащими аналогами весов синаптических связей классических нейронных сетей. Второй и последующие слои классификатора - чередующиеся слои нейронов-конъюнкторов (К-элементов) и нейронов-дизъюнкторов (Д-элементов). Их минимальное количество равно двум, причём количество элементов в последнем слое должно соответствовать количеству выходных векторов классификатора. В нашем случае это единственный вектор, указывающий на следующее валентное состояние центрального атома, в базовой ячейке исследуемой окрестности (рис. 2).

Выходы нейронов-конъюнкторов и нейронов-дизъюнкторов рассчитываются по соотношениям:

N ( \ Ы

Уд=ПК+х ь ^ = Х V*'

д=1 д=1

где wq, Vд - двоичные весовые коэффициенты К- и Д-элементов соответственно; N - количество входных векторов нейронного элемента.

Обучение многомерного нейросетевого классификатора, использующегося для

моделирования роста алмазных плёнок, проводится по 405097 уникальным примерам. Каждый пример включает 14 входных векторов и соответствующий им 1 выходной вектор. Кроме того, каждый пример дополнен частотой его реального использования при моделировании методом Монте-Карло. Критерий качества обучения (оптимизации) определяется как сумма частот ошибочно классифицированных входных векторов обучающей выборки. Для нейросетевого классификатора обученного наилучшим образом оно должно быть минимальным. Введение частоты в выражение для расчёта критерия оптимизации позволяет обучить классификатор так, чтобы на этапе его практического использования часто встречающиеся примеры давали в относительном количестве меньше ошибок, чем примеры, встречающиеся редко.

При обучении осуществляется подбор оптимальных векторов-масок КМ-элементов и

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

- в процессе клональной селекции для проведения независимых серий мутаций родительских антител;

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

Сравнение скорости работы алгоритма обучения до и после распараллеливания показало её увеличение в несколько раз. Так, на компьютерах с четырёхъядерным процессором в первом случае скорость этапа увеличилась примерно в 4 раза, а во втором - в 2,5 раза, что в целом дало ускорение процесса поиска решения примерно в 2 раза.

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

Работа выполнена при частичной поддержке гранта РФФИ № 14-07-00960.

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

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

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

Литература

1. Предметно-ориентированный язык для анализа процесса роста кристалла на атомарном уровне / Аверчук Г. Ю. [и др.]. - Успехи в химии и химической технологии. 2014. Т. 28, № 1 (150). - С. 78-81.

2. Аверчук Г. Ю. Интегральная модель роста алмазной плёнки / Г. Ю. Аверчук, Е. С. Куркина, Ш. Ю. Мустафаев. - Успехи в химии и химической технологии. 2014. Т. 28, № 1 (150). - С. 86-89.

Diev Andrey Nikolaevich, Averchuk Gleb Yurievich, Dudarov Sergey Pavlovich*

D. Mendeleev University of Chemical Technology of Russia, Moscow, Russia * e-mail: [email protected]

PARALLELIZING OF TRAINING PROCESS OF NEURAL NETWORK CLASSIFIER DURING THE MODELING OF DIAMOND FILM GROWTH

Abstract

It is suggested a structure of multidimensional neural network classifier for modeling of diamond film growth. It is shown questions of training data sample formation and of classifier training. It is developed an algorithm of neural network training based on artificial immune system. It is applied methods of parallel programming in order to accelerate the procedure of classifier training. It is carried out an evaluation of training speed increase in comparison with single-flow way of algorithm realization.

Key words: diamond film, neural network, image classification, artificial immune system.

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