Scientific journal
Scientific Review. Technical science
ISSN 2500-0799
ПИ №ФС77-57440

INFORMATION NEURAL NETWORKS

Ivanko A.F. 1 Ivanko M.A. 1 Kolesnikova O.D. 1
1 Moscow Polytechnic University
1277 KB
The subject of this article is the practical application of information neural networks. A neural network is a machine learning algorithm based on a model of a human neuron. These neurons are associated with a special structure known as synapses. Synapses allow neurons to transmit signals. A neural network is formed from a large number of simulated neurons. This technology is developing rapidly at the present time. Information neural networks are capable of analyzing the obtained data, pattern recognition, information classification and self-learning. This technology is widely used in programming of unmanned vehicles, machine learning, creation of media and audio information based on the data and many other areas of information technology. The article explores the spheres of application of neural networks, their layer structure, the model of each «neuron», their joint work and the basic algorithms of this technology. The simplest example of the work of the INS, its step-by-step analysis is given. Neural networks that function at the present time and are very useful to society and the development of many advanced technologies are also being investigated. The results of this article are the description of the work of information neural networks, their structure and mechanism of work and consideration of examples of already existing ANNs.
neural network
machine learning
programming
face recognition
image processing
information systems

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

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

Целью исследования статьи являются: выявление закономерностей работы нейронных сетей, анализ области их применения и определение значения ИНС для развития других иновационных технологий.

Методами исследования данной статьи являются: аналогия работы нейронных сетей с биологическим процессом мозга человека, основанным на нейронах, описание структуры ИНС, анализ области применения данной технологии, описание современных, уже работающих нейросетей [1].

Нейронная сеть – это алгоритм машинного обучения, основанный на модели человеческого нейрона. Человеческий мозг состоит из миллионов нейронов. Он отправляет и обрабатывает сигналы в виде электрических и химических сигналов. Эти нейроны связаны со специальной структурой, известной как синапсы [2, 3]. Синапсы позволяют нейронам передавать сигналы. Из большого количества моделируемых нейронов формируется нейронная сеть.

Цель исследования: определить возможности нейронных сетей для анализа и синтеза информационных данных.

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

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

Нейронная сеть может содержать следующие три слоя:

1. Входной слой.

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

Узлы входного слоя являются пассивными, то есть они не изменяют данные. Они получают единственное значение на своем входе и дублируют значение на своих многочисленных выходах. Из входного слоя каждое значение дублируется и отправляется всем скрытым узлам [4].

2. Скрытый слой.

Скрытые слои применяют данные преобразования к входным значениям внутри сети. При этом входящие дуги идут от других скрытых узлов или от входных узлов, подключенных к каждому узлу. Они соединяются с исходящими дугами для выходных узлов или других скрытых узлов. В скрытом слое фактическая обработка выполняется через систему взвешенных «соединений». Скрытый слой может быть один или несколько. Значения, входящие в скрытый узел, умноженные на веса, представляют собой набор заранее определенных чисел, хранящихся в программе. Затем добавляются взвешенные входные данные для получения одного числа [5].

3. Выходной слой.

Затем скрытые слои связываются с «выходным слоем». Выходной слой получает соединения от скрытых слоев или от входного слоя, возвращает выходное значение, которое соответствует прогнозу переменной ответа. В задачах классификации обычно есть только один выходной узел. Активные узлы выходного слоя объединяют и изменяют данные для получения выходных значений [6].

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

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

Рассмотрим внутреннюю структуру искусственного нейрона и процесс преобразования поступающаго на его входы сигнала [8]. На рисунке ниже представлена полная модель искусственного нейрона (рис. 1).

ivan1.tif

Рис. 1. Внутренняя структура искусственного нейрона

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

Способность нейронной сети обеспечивать полезные манипуляции с данными заключается в правильном выборе весов. Это отличает ее от обработки информации компьютером. Если весам связей присвоить случайные значения, то ничего осмысленного такая нейросеть делать не будет. То есть их надо еще как-то правильно подобрать. Иными словами, нейросеть надо обучить [10, 11].

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

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

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

ivan2.tif

Рис. 2. Нейронная сеть с прямой связью

Более сложным нейроном (рис. 3) является модель МакКаллоха и Питтса. Отличие от предыдущей модели состоит в том, что входные данные являются «взвешенными», а эффект, который каждый вход имеет при принятии решения, зависит от веса конкретного входа. Вес ввода – это число, которое при умножении на вход дает взвешенный ввод. Эти взвешенные входы затем складываются вместе, и, если они превышают предварительно установленное пороговое значение, нейрон срабатывает [14]. В любом другом случае нейрон не срабатывает [15].

В математических терминах нейрон срабатывает тогда и только тогда, когда

X 1 W 1 + X 2 W 2 + X 3 W 3 + ...> T.

Добавление входных весов и порога делает этот нейрон очень гибким и мощным. Нейрон Маккаллока – Питтса обладает способностью адаптироваться к конкретной ситуации, изменяя свои веса или порог [16].

Нейронные сети были изобретены еще многие десятилетия назад, но тогда не хватало вычислительной мощности для их использования. В настоящее время разработаны довольно мощные видеокарты, подходящие для работы ИНС.

Рассмотрим достижения современных нейронных сетей [17].

Нейросеть AlphaGo от Google DeepMind в марте 2016 г. обыграла в игру Го, логическую настольную игру с глубоким стратегическим содержанием, возникшую в Древнем Китае, лучшего игрока в мире – Ли Седоля. Вариантов ходов в ней в 10 раз больше, чем в шахматах, а число возможных партий больше количества атомов во вселенной. Сначала нейросеть просмотрела матчи лучших игроков, а потом стала играть сама с собой, становясь все совершеннее [18].

Также осенью 2016 г. компания DeepMind объявила, что их нейросеть научилась правдоподобно имитировать речь человека [19]. У этой технологии в совокупности с распознавателем речи и переводчиком есть перспектива создать приложение, с помощью которого с легкостью будут общаться носители разных языков. Нейронная сеть будет распознавать речь, переводить и транслировать голосом и интонацией, неотличимой от человеческой [20].

Компания Nvidea разработала нейросеть для визуальных вычислений, с помощью которой возможно обучение вождению беспилотных автомобилей. Нейросеть уже умеет идеально водить даже на загруженной дороге, распознавая светофоры, знаки, другие машины и людей. Чем больше автомобили ездят по дорогам, тем больше обучается нейронная сеть [21].

В марте 2019 г. запущена открытая веб-версия «Paint эпохи искусственного интеллекта» работающая на нейросети GauGAN от Nvidia [22]. Данная нейросеть превращает простые наброски в реалистичные пейзажи (рис. 4). Достаточно лишь обозначить контуры объектов и цвета (голубые воспринимаются как вода, коричневые – горы, зеленые – трава). Нейросеть GauGAN не использует шаблоны, а каждый раз генерирует новые пейзажи.

ivan3.tif

Рис. 3. Нейрон MCP

ivan4.tif

Рис. 4. Пейзаж, нарисованный нейросетью от Nvidia

Нейронные сети очень часто используют для систем создания и распознавания лиц. Например, нейросеть DeepFake накладывает выбранное лицо на лицо с видеоряда. В сети множество видео с лицами знаменитостей, которые были наложены данной ИНС. Они выглядят достаточно правдоподобно [23].

Нейронная сеть FindFace – лучшая в мире технология для распознавания лиц. По загруженному фото человека, даже не очень отчетливому, сайт выдает странички интернет-пользователей с похожими лицами. Эта система очень эффективна, ее использовали даже полицейские для поиска преступников в розыске, стоило только договориться о встрече с пользователем странички [24].

Разработчик Филипп Ванг создал сайт ThisPersonDoesNotExist.com, который генерирует реалистичное лицо несуществующего человека при каждом обновлении страницы (рис. 5). Для разработки ресурса Ванг использовал алгоритм генеративно-состязательной сети StyleGAN, работу которого в конце 2017 г. показала компания Nvidia. StyleGAN комбинирует две нейросети: одна из них генерирует «образцы», а другая пытается отличить реалистичные изображения от неправдоподобных. Метод позволяет сети самой улучшать качество выдаваемых результатов.

ivan5.tif

Рис. 5. Изображения сгенерированные на сайте ThisPersonDoesNotExist.com

Развитие ИНС полным ходом идет и в России. Нейросети Яндекса уже пишут стихи и музыку.

Нейросеть под именем «Зинаида Фолс» проанализировала по нескольку раз всю поэзию, написанную на русском языке, это примерно 130 Мб текста (полное собрание сочинений Уильяма Шекспира – примерно 5 Мб). Вот пример стихотворения, написанного Зинаидой Фолс с запросом наличия слов «будущее», «будет» и «время» (авторское название стихотворения, орфография и пунктуация сохранены):

Так будет завтра длиться

так будет завтра длиться

в темном сумраке сада

там где пляшет колесница

от радости бога награда

мы поняли что время от руки

не осилить не выйду не встану

не любя ни разу ни строки

кто кого из нас не выйдет замуж

кто же вы те дни и те ночи

да слабые мысли и вздохи о них

мой город прекрасен и скучен

покуда был первый жених

В 2017 г. нейронные сети Яндекса создали альбом в стиле группы «Гражданская оборона». Эти песни вышли под исполнителем «Нейронная оборона» и по стилю и тексту действительно похожи на оригинального исполнителя. Немного позже аналогично был сделан альбом на английском языке от исполнителя «Neurona», в стиле легендарной группы Nirvana.

А свою конференцию Yac-2017 Яндекс начали с музыки, написанной нейронной сетью в стиле произведений композитора Александра Скрябина.

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

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

Выводы

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

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