Научная статья на тему 'ПРИМЕНЕНИЕ АУГМЕНТАЦИИ И ГЕНЕРАТИВНО-СОСТЯЗАТЕЛЬНОЙ НЕЙРОННОЙ СЕТИ ДЛЯ УВЕЛИЧЕНИЯ НАБОРОВ ДАННЫХ'

ПРИМЕНЕНИЕ АУГМЕНТАЦИИ И ГЕНЕРАТИВНО-СОСТЯЗАТЕЛЬНОЙ НЕЙРОННОЙ СЕТИ ДЛЯ УВЕЛИЧЕНИЯ НАБОРОВ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
20
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
нейронные сети / наборы данных / обучающая выборка / аугментация / генеративно-состязательная нейронная сеть / генератор / дискриминатор / neural networks / data sets / training set / augmentation / generative adversarial neural network / generator / discriminator

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — С.В. Окунев, М.Н. Фаворская

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — С.В. Окунев, М.Н. Фаворская

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

APPLICATION OF AUGMENTATION AND A GENERATIVE-ADVERSARIAL NEURAL NETWORK TO INCREASE DATA SETS

This article discusses the automatic extension of datasets for training neural networks. The main methods of expanding data sets are presented, in particular using augmentation, as well as a generative-adversarial neural network. The principles and the scheme of operation of GAN networks are described, the algorithm of the generator and discriminator operation is described, the difficulties of their application and the difficulties encountered in learning are considered.

Текст научной работы на тему «ПРИМЕНЕНИЕ АУГМЕНТАЦИИ И ГЕНЕРАТИВНО-СОСТЯЗАТЕЛЬНОЙ НЕЙРОННОЙ СЕТИ ДЛЯ УВЕЛИЧЕНИЯ НАБОРОВ ДАННЫХ»

УДК 004.94

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

С. В. Окунев Научный руководитель - М. Н. Фаворская

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газеты «Красноярский рабочий», 31

E-mail: ragdor97@gmail.com

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

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

APPLICATION OF AUGMENTATION AND A GENERATIVE-ADVERSARIAL NEURAL NETWORK TO INCREASE DATA SETS

S. V. Okunev Scientific supervisor - M. N. Favorskaya

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation E-mail: ragdor97@gmail.com

This article discusses the automatic extension of datasets for training neural networks. The main methods of expanding data sets are presented, in particular using augmentation, as well as a generative-adversarial neural network. The principles and the scheme of operation of GAN networks are described, the algorithm of the generator and discriminator operation is described, the difficulties of their application and the difficulties encountered in learning are considered.

Keywords: neural networks, data sets, training set, augmentation, generative adversarial neural network, generator, discriminator.

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

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

Секция «Программные средства и информационные технологии»

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

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

Типы аугментацию можно разделить на следующие группы: геометрические, яркостные, аддитивные (наложение двух изображений), зашумления. Преобразования обычно выбираются на основе возможных деформаций на изображениях. Например, в проблеме распознавания символов, снятых цифровой камерой [3], наиболее актуальными являются сглаживание, проекционные искажения, изменения яркости, добавление гауссовского шума и повороты. При распознавании симметричных объектов можно использовать отражения вдоль оси. Аугментация показывает себя очень хорошо, если обучение происходит на искусственно сгенерированных данных. Деформации «идеальных» созданных изображений делают их более реалистичными и увеличивают общую изменчивость данных.

Способов аугментации данных достаточно много. Наиболее популярными являются: горизонтальное отражение (horizontal flip), случайное кадрирование (random crop) и изменение цвета (color jitter). А также возможно применять различные комбинации, например, одновременно выполнять поворот изображения и случайное масштабирование. Кроме того, можно изменять значение насыщенности и значение всех пикселей (компоненты S и V цветового пространства HSV). В частности, можно повысить эти компоненты до степени из интервала от 0,25 до 4, умножить их на коэффициент из интервала от 0,7 до 1,4 или добавить к ним значение из интервала от -0,1 до 0,1. Можно добавить значение из интервала от -0,1 до 0,1 к значению оттенка всех пикселей (компонент H цветового пространства HSV) [4]. Подобные преобразования могут быть применены к фрагментам изображения.

Основные методы увеличения данных:

- перевернуть изображение вертикально или горизонтально;

- повернуть изображение на заданную степень;

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

- обрезать изображение: объект появляется в разных положениях и в разных пропорциях;

- увеличить, уменьшить;

- изменение яркости или контрастности.

А также существует еще один эффективный способ преумножения изображений - это применение генеративно-состязательной нейронной сети (GAN), представляющей собой архитектуру, которая состоит из генератора и дискриминатора. Архитектура данной сети состоит из двух разных сетей. Одна нейронная сеть - генератор, создает случайные новые экземпляры данных, а другая — дискриминатор, оценивает их на подлинность. То есть дискриминатор принимает решение, относится ли экземпляр данных к набору тренировочных данных или нет. Так же существует разновидность данной архитектуры, называемой DGAN (Deep Convolutional Generative Adverserial Networks) - сверточные генеративно-состязательные сети. Эта модель заменяет сверточными слоями полностью соединённые слои генеративной состязательной сети. Данную сеть можно эффективно применить при уже имеющемся наборе данных [5].

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

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

При использовании сети GAN для генерации изображений существует определенная трудность с обучением данной сети. Существует ряд правил, которых стоит придерживаться, например, при обучении дискриминатора необходимо удерживать значения генератора постоянными и наоборот. То есть каждая сеть должна тренироваться против статичного «противника».

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

Еще одной проблемой может стать длительность обучения. Необходимо иметь большие вычислительные мощности. Обучение на одном процессоре может занять целый день.

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

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

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

Библиографические ссылки

1. Обучение нейронной сети [Электронный ресурс]. URL: https://habr.com /blog/428255/ (дата обращения: 24.12.2019).

2. Обучение нейронной сети [Electonics resource]. URL: https://www.bigdataschool.ru/ bigdata/dataset-data-preparation.html (дата обращения: 23.12.2019).

3. Gerard Medioni, Sing Bing Kang Emerging Topics in Computer Vision. Издательство Prentice Hall Ptr, 2004. 45 c.

4. Латыпова P. Нейронные сети [Текст]. M.: LAP Lambert Academic Publishing, 2012. 180 c.

5. Radhakrishna, A. Frequency-tuned Salient Detection [Electonics resource]. - URL: http://infoscience.epfl.ch (date of visit: 05.05.2020).

6. Глория, Буэно Гарсия Обработка изображений с помощью OpenCV Г М.: ДМК Пресс, 2015. 387 c.

© Окунев С. В., 2020

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