Тема искусственных нейронных сетей родилась в конце двадцатого века и тут же приобрела не малую популярность среди множества учёных. В то время на искусственные нейронные сети возлагались очень большие ожидания. В процессе рассмотрения этой темы учёные пришли к выводу об ограниченности текущих нейронных сетей и невозможности решения поставленных задач. Неоправданные высокие ожидания от части практически замедлили развитие данной темы. Сейчас же в последние годы вспыхнул новый интерес к теме искусственных нейронных сетей. Это связано прежде всего с решением двух основных проблем, необходимых для построения искусственных нейронных сетей: нехватка вычислительных мощностей и обучающей выборки. Нехватка вычислительных мощностей решена появлением высокотехнологичных процессоров и видеокарт, а проблема обучающей выборки решена благодаря интернету и просто огромному количеству информации и данных, которые он содержит. Другой причиной популярности искусственных нейронных сетей служит тот факт, что их изучение продвинулось достаточно далеко и с каждым днём создаются всё более сложные архитектуры, позволяющие решать различные задачи от прогнозирования до сегментации.
Целью данной работы является теоретическое рассмотрение нейросетевого моделирования. Рассмотрение строится на основе материалов, которые изложены в книгах, учебных пособиях, научных статьях, в электронной энциклопедии и интернет ресурсах.
Первый раздел посвящён основным понятиям и определением связанные с текущей темой. Ключевым понятием в данной главе является понятие искусственных нейронных сетей. Оно рассмотрено с различных точек зрения.
Второй раздел состоит из двух частей. Обе части необходимы для рассмотрения принципов работы нейрона. В первой части рассматривается устройство и работа биологического нейрона. Вторая часть посвящена искусственному нейрону.
Третий раздел состоит из трёх частей. Темой раздела является рассмотрение основных типов архитектур искусственных нейронных сетей. Каждая из трёх частей описывает одну из рассматриваемых архитектур нейронных сетей.
Четвёртый раздел состоит из четырёх частей. Под этот раздел отводится рассмотрение обучения искусственных нейронных сетей. В первом разделе рассматриваются основные парадигмы, связанные с обучением. В остальных рассмотрены алгоритмы, используемые при обучении нейронных сетей.
Пятый раздел состоит из трёх частей. В нём рассматриваются программные продукты, которые можно использовать для проектирования искусственных нейронных сетей. В каждой части рассмотрено по одному программному решению.
Генеративно-состязательные сети появились в 2014 году. Данная архитектура основана на двух противоборствующих сетях - генераторе и дискриминаторе. Дискриминатор решает стандартную задачу классификации изображений, а генератор производит создание образов на основании отклика с дискриминатора. Соответственно из-за идеи работы и решаемой задачи (генерации объектов) данная сеть получила такое название.
В данной работе производится исследование генеративно-состязательных сетей. Исследование построено на основании теоретических и практических данных, которые представлены в научных статьях и электронных ресурсах.
1) Понятие генеративно-состязательных сетей;
2) Дискриминатор и генератор;
3) Применение генеративно-состязательных сетей для колоризации изображеий
В первом разделе рассматривается понятие генеративно-состязательных сетей, описание идеи и сути работы, рассмотрение процесса обучения генератора и дискриминатора, основные преимущества и недостатки, а также область применения.
Второй раздел посвящён более подробному раскрытию понятия дискриминатора и генератора. Представлены их типовые архитектуры с использованием свёрточных и транспонированных свёрточных нейронных сетей.
Помимо классических задач (распознавание и прогнозирование) искусственные нейронные сети находят применение и в других задачах. В данной работе рассматривается задача колоризации изображений при помощи генеративно-состязательных нейронных сетей. Под колоризацией понимается перевод чёрно-белого изображения в цветное. В настоящий момент колоризация изображений выполняется дизайнерами вручную с использованием графических редакторов, что занимает много времени. При помощи нейронной сети данную процедуру можно осуществлять за очень короткий промежуток времени.
Целью работы является исследование и решение нестандартной задачи для машинного обучения.
Курсовая работа включает в себя три главы:
1. Описание обучающего набора данных;
2. Разработка генеративно-состязательной нейронной сети для колоризации изображений;
3. Разработка интерфейса для взаимодействия с генеративно-состязательной сетью.
Первая глава посвящена рассмотрению обучающего набора данных. Представлена информация об особенностях датасета.
Вторая глава посвящена разработке генеративно-состязательной нейронной сети. Изложена общая архитектура генеративно-состязательных сетей. Особенности при обучении. Характеристики обучения и выбранной архитектуры.
Третья глава представляет собой разработку интерфейса для взаимодействия с нейронной сетью. Разработка осуществляется на языке Python при помощи библиотеки PyQT, которая позволяет создавать десктопные приложения.
Изучив теоретические основы нейросетевого моделирования, я пришёл к следующим выводам:
Развитие искусственных нейронных сетей началось в первой половине двадцатого века. Основоположниками считаются - У.Питтс и У.Маккалок. Они создали первый прототип искусственного нейрона. В данный момент понятие искусственные нейронные сети используются во многих науках и сферах жизни, поэтому однозначного определения данное понятие не имеет. В общем смысле под искусственной нейронной сетью можно понимать математическую модель, которая имеет некоторую аппаратную или программную реализацию, и она основана на принципах работы биологических нейронных сетей.
Искусственные нейронные сети состоят из искусственных нейронов. Принципы работы искусственного нейрона основаны на биологическом аналоге и копируют его основные черты. Искусственный нейрон состоит из входов, у каждого входа есть свой собственный параметр, называемый весом, сигналы, поступающие на входы в искусственный нейрон, умножаются на соответствующий вес, а затем они передаются в блок суммирования, который просто складывает все полученные сигналы и этот полученный сигнал передаётся в функцию активации, которая преобразует это значение и передаёт этот сигнал на выход. Функций активации много. Её выбор зависит от значений, с которыми работает нейронная сеть.
Искусственные нейроны располагаются по-разному и выбор их расположения зависит от задачи, которую необходимо решить. Существует множество архитектур, но их можно разбить на три класса: сети прямого распространения, свёрточные сети и рекуррентные сети. Все эти архитектуры имеют свои достоинства и недостатки. Самая популярная архитектура в использовании - сети прямого распространения. Особенностью данной архитектуры является то, что сигналы распространяются строго от входного слоя к выходному. Если появляется наличие обратной связи, то есть выход нейрона передаётся ему же на вход, то такую сеть можно назвать рекуррентной. Свёрточные нейронные сети состоят из свёрточного слоя, слоёв субдискретизации и полносвязных слоёв.
Самым главным свойством искусственных нейронных сетей является способность к обучению. В обучении нейронных сетей имеется три основные парадигмы: обучение с учителем, обучение без учителя и смешанное обучение. При обучении с учителем через сеть прогоняют обучающую выборку, получают результат и сверяют фактический результат с желаемым, если ошибка, то есть разница между желаемым результатом и фактическим, большая, то применяются специальные алгоритмы, с помощью которых изменяются синаптические веса. Специальных алгоритмов, которые позволяют пересчитать синаптические веса, большое количество. Их выбор также зависит от сети, которую необходимо обучить. Обучение с учителем всегда предполагает, что учитель должен знать правильные ответы. Обучение без учителя такой вид обучения, когда нет правильных ответов. В смешанном обучении перемешивается обучение с учителем и обучение без учителя.
Для построения и реализации искусственных нейронных сетей имеется множество программных решений. Наиболее популярные решения: Neural Network Toolbox, STATISTICA Automated Neural Networks и TensorFlow.
Проведя исследование генеративно-состязательных сетей, можно сделать следующие выводы:
Генеративно-состязательная сеть состоит из двух сетей: генератора и дискриминатора.
Перед генератором стоит задача подбора определённого образа к какой-то заданной категории, а затем создание объекта на основании подобранного образа.
Работа дискриминационных алгоритмов состоит в классификации входных изображений с учётом тех особенностей откуда они получены (или из генератора, или из набора данных)
В качестве архитектуры для дискриминатора чаще всего выбирают свёрточную нейронную сеть, а для генератора транспонированную свёрточную нейронную сеть.
Для обучения генеративно-состязательных сетей используется парадигма обучения без учителя и метод обратного распространения ошибки. Для обучения таких сетей требуется гораздо больше эпох, чем при обучении одной нейронной сети.
Основная проблема генеративно-состязательных сетей заключается в том, что необходимо сразу обучать две модели вместо одной, а также следить, чтобы ни одна из моделей не начала сильно выигрывать другую, потому что если дискриминатор будет постоянно определять, что изображение поддельно, то генератор не сможет обучиться. Таким образом необходимо на всём этапе обучения поддерживать баланс между сетями.
Выбор архитектуры для генератора и дискриминатора играет важную роль в конечном результате. При использовании многослойных персептронов можно получить неплохие результаты, но они в основном будут зашумлёнными даже после множества эпох обучения.
При использовании свёрточной сети в качестве дискриминатора и транспонированной свёрточной сети в качестве генератора можно добиться более лучших результатов нежели от использования многослойного персептрона. В данном случае пропадает изрядная зашумлённость изображения и генерируемые объекты получаются чистыми уже после тысячной эпохи обучения.
Помимо классических задач (распознавание и прогнозирование) искусственные нейронные сети находят применение и в других задачах. В данной работе рассматривается задача колоризации изображений при помощи генеративно-состязательных нейронных сетей. Под колоризацией понимается перевод чёрно-белого изображения в цветное. В настоящий момент колоризация изображений выполняется дизайнерами вручную с использованием графических редакторов, что занимает много времени. При помощи нейронной сети данную процедуру можно осуществлять за очень короткий промежуток времени.
Целью работы является исследование и решение нестандартной задачи для машинного обучения.
Курсовая работа включает в себя три главы:
4. Описание обучающего набора данных;
5. Разработка генеративно-состязательной нейронной сети для колоризации изображений;
6. Разработка интерфейса для взаимодействия с генеративно-состязательной сетью.
Первая глава посвящена рассмотрению обучающего набора данных. Представлена информация об особенностях датасета.
Вторая глава посвящена разработке генеративно-состязательной нейронной сети. Изложена общая архитектура генеративно-состязательных сетей. Особенности при обучении. Характеристики обучения и выбранной архитектуры.
Третья глава представляет собой разработку интерфейса для взаимодействия с нейронной сетью. Разработка осуществляется на языке Python при помощи библиотеки PyQT, которая позволяет создавать десктопные приложения.
1) Интернет ресурс machinelearning.ru:
http: //www.machinelearning.m/wiki/index.php?title=Модель_МакКаллока-Питтса (Дата обращения 10.02.2018)
2) Электронная энциклопедия Wikipedia:
https://ш.wikipedia.org/wiki/Искусственная_нейронная_сеть (Дата обращения
10.02.2018)
3) Нейронные сети: полный курс, 2-е издание / С. Хайкин: Пер. с англ. - М.: Издательский дом “Вильямс”, 2006. - 1104 с.: ил. - Парал. тит. англ.
4) Интернет ресурс neuralnet.info: http://neuralnet.info/chapter/основы-инс/# Функция-активации (Дата обращения 01.03.2018)
5) Интернет ресурс tproger.ru: https://tproger.ru/translations/neural-network- zoo-1/ (Дата обращения 07.03.2018)
6) Нейронные сети: основные модели. Учебное пособие к курсу “Нейронные сети” для студентов 5 курса магистратуры к. электроники физического ф-та Воронежского Государственного университета / И. В. Заенцев. М:
Воронежский Государственный университет, 1999. - 76 с.
7) Интернет ресурс habrahabr.ru: https://habrahabr.ru/company/oleg- bunin/blog/340184/ (Дата обращения 07.03.2018)
8) Интернет ресурс basegroup.ru:
https://basegroup.ru/community/glossary/hopfield-net (Дата обращения 09.03.2018)
9) Интернет ресурс neuralnet.info: https://neuralnet.info/chapter/основы- инс/#Виды-ИНС (Дата обращения 21.03.2018)
10) Интернет ресурс basegroup.ru:
https: //basegroup .ru/community/glossary/backpropagation (Дата обращения
21.03.2018)
11) Интернет ресурс aiportal.ru: http://www.aiportal.ru/articles/neural- networks/back-propagation.html (Дата обращения 22.03.2018)
12) Интернет ресурс mechanoid.kiev.ua: http://mechanoid.kiev.ua/neural-net- backprop2.html#mjx-eqn-eqermin (Дата обращения 22.03.2018)
13) Интернет ресурс intellect.ml: https://intellect.ml/obuchenie-s-uchitelem- metod-korrektsii-oshibki-metod-obratnogo-rasprostraneniya-oshibki-117 (Дата обращения 23.03.2018)
14) Интернет ресурс studbooks.net:
http: //studbooks .net/2180559/informatika/obzor_suschestvuyuschih_programmnyh_p roduktov (Дата обращения 5.04.2018)
15) Интернет ресурс readera.ru: https://readera.ru/obzor-mformacionnyh-sistem- reaHzujushhih-nejrosetevye-tehnologri-140220177 (Дата обращения 5.04.2018)
16) Интернет ресурс statsoft.ru:
http: //statsoft.m/products/STATISTICA_Neural_Networks/#tab-review-link (Дата обращения 7.04.2018.)
17) Интернет ресурс matlab.ru: https://matlab.ru/products/neural-network-toolbox (Дата обращения 7.04.2018)
18) Электронная энциклопедия Wikipedia:
https://ru.wikipedia.org/wiki/TensorFlow (Дата обращения 12.04.2018)
19) Википедия - свободная энциклопедия [Электронный ресурс]. - https: //en.wikipedia. org/wiki/Convolutional_neural_network. Дата обращения:
20.09.2018.
20) Habrahabr [Электронный ресурс]. - Режим доступа: https://habr.com/company/wunderfund/blog/314872/. Дата обращения: 27.09.2018.
21) Habrahabr [Электронный ресурс]. - Режим доступа: https://habr.com/post/348000/. Дата обращения: 01.10.2018.
22) Habrahabr [Электронный ресурс]. - Режим доступа: https://habr.com/post/309508/. Дата обращения: 08.10.2018.
23) Habrahabr [Электронный ресурс]. - Режим доступа: https://habr.com/company/oleg-bunin/blog/340184/. Дата обращения: 15.10.2018.
24) Habrahabr [Электронный ресурс]. - Режим доступа:
https://habr.com/company/wunderfund/blog/315476/. Дата обращения: 22.10.2018.
78
25) Habrahabr [Электронный ресурс]. - Режим доступа: https://habr.com/company/wunderfund/blog/330814/. Дата обращения: 29.10.2018.
26) Cornell University Library [Электронный ресурс]. - Режим доступа: https://arxiv.org/abs/1207.0580. Дата обращения: 01.11.2018.
27) Medium [Электронный ресурс]. - Режим доступа: https://towardsdatascience.com/l1-and-l2-regularization-methods-ce25e7fc831c.
Дата обращения: 05.11.2018.
28) Cornell University Library [Электронный ресурс]. - Режим доступа: https://arxiv.org/abs/1710.10570. Дата обращения: 13.11.2018.
29) MachineLearning [Электронный ресурс]. -
http: //www.machineleaming.ru/wiki/index.php?title=Модель_МакКаллока-Питтса. Дата обращения: 27.04.2019
30) Википедия - свободная энциклопедия [Электронный ресурс]. - https://ru.wikipedia.org/wiki/Искусственная_нейронная_сеть. Дата обращения:
30.04.2019
31) Нейронные сети: полный курс, 2-е издание / С. Хайкин: Пер. с англ. - М.: Издательский дом “Вильямс”, 2006. - 1104 с.: ил. - Парал. тит. англ.
32) Нейронные сети [Электронный ресурс]. -
http://neuralnetmfo/chapter/основы-инс/# Функция-активации. Дата обращения:
03.05.2019
33) Tproger [Электронный ресурс]. - https://tproger.ru/translations/neural- network-zoo-1/. Дата обращения: 04.05.2019
34) Нейронные сети: основные модели. Учебное пособие к курсу “Нейронные сети” для студентов 5 курса магистратуры к. электроники физического ф-та Воронежского Государственного университета / И. В. Заенцев. М:
Воронежский Государственный университет, 1999. - 76 с.
35) Habrahabr [Электронный ресурс]. - https://habrahabr.ru/company/oleg- bunin/blog/340184/. Дата обращения: 08.05.2019