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

NEURAL NETWORKS: GENERAL TECHNOLOGICAL CHARACTERISTICS

Ivanko A.F. 1 Ivanko M.A. 1 Sizova Yu.A. 1
1 Moscow Polytechnic University
1107 KB
The article reveals the concept of the term «neural networks», provides a brief historical background of their development, describes the principles of operation and devices inherent in all neural networks, and some of the most popular types in particular (convolutional, recurrent, Hopfield neural network). In addition, various areas of application and use of artificial neural networks are highlighted, and the main problems of artificial neural networks that arise during their creation and use are considered. The chosen topic is relevant today, as in the past few years we have seen a widespread explosion of interest in neural networks. In this regard, it is necessary to have an idea of ??how these networks work and how they are arranged in order to effectively use such technology, knowing its capabilities. Modern neural networks are successfully used in many areas – information technology, business, technology, medicine, geology and others. At present, neural networks have entered practice wherever it is necessary to solve problems of forecasting, pattern recognition, classification or control. As a result of this work, the effectiveness and availability of the use of neural network technologies in various areas of human activity is confirmed.
network
neural network
artificial intelligence
neuron
node
machine learning
layer

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

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

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

В будущем разработка таких нейробиологических моделей может привести к созданию действительно мыслящих компьютеров. Между тем «простые» нейронные сети, уже построенные системой ST Neural Networks, являются мощными инструментами в арсенале специалиста, например, в прикладной статистике [4, с. 84].

Цель исследования: рассказать о развитии нейронных сетей, выявить основные особенности в работе и структуре нейронных сетей, выявить популярные области их использования.

Материалы и методы исследования

Исследование области искусственных нейронных сетей проводилось на основе анализа информации, доступной пользователям Всемирной паутины.

Результаты исследования и их обсуждение

История развития нейронных сетей в науке и технике восходит к появлению первых компьютеров или компьютеров. Итак, еще в 1943 г. Маккала и Питтс создали упрощенную модель нервной клетки – искусственного нейрона. Кроме того, они предложили построить сеть из этих элементов для выполнения логических операций. Но самое главное, ученые доказали, что такая сеть способна к обучению. В конце 1940-х гг. Дональд Хебб разработал механизм нейронной сети, который заложил правила компьютерного обучения [1, 5, 6].

Дальнейшая хронология событий была следующей. В 1954 г. произошло первое практическое использование нейронных сетей в работе компьютеров. В 1958 г. Фрэнк Розенблат разработал алгоритм распознавания образов и математическую аннотацию к нему. В 1960-х гг., после публикации работы по машинному обучению в Минске и Паперте, интерес к развитию нейронных сетей немного угас. Они обнаружили основные вычислительные проблемы, связанные с компьютерной реализацией искусственных нейронных сетей. Одной из важных проблем была слабая мощь компьютеров того времени, которая не позволяла эффективно обрабатывать огромное количество вычислений, необходимых для больших нейронных сетей. Интерес к нейронным сетям возродился еще в 1980-х гг., когда компьютеры достигли высокой вычислительной мощности. Именно в этот период появляется система с механизмом обратной связи, разрабатываются алгоритмы самообучения [1, 7].

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

Принцип нейронной сети

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

В искусственных сетях используются искусственные нейроны, которые являются компьютерными процессорами. То есть искусственная нейронная сеть представляет собой множество взаимосвязанных процессоров, которые выполняют несколько процессов одновременно [10].

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

Например, в системе распознавания объектов можно сохранить тысячи помеченных изображений домов, автомобилей, стульев и т.д. И она сможет найти визуальные закономерности и особенности этих изображений, чтобы в дальнейшем связать их с конкретными метками (рис. 1).

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

ivan1.tif

Рис. 1. Пример сетевого обучения

Все нейронные сети состоят из тысяч или миллионов простых, но тесно взаимосвязанных узлов обработки информации, обычно организованных по слоям. Это похоже на нейроны и синапсы в мозге. Мы индуцируем узел с помощью исходных данных, а этот узел, в свою очередь, индуцирует узлы, связанные с ним. Различные типы сетей различаются в зависимости от количества слоев, количества соединений между узлами и количества узлов в каждом из уровней [11, 12].

Задача первого «входного» слоя состоит в обработке нашей информации. Задача «скрытого» слоя, которого может быть достаточно большое количество, выполнить задачу, для которой мы строим нейронную сеть, – заняться анализом. И задача «выходного» слоя – представить информацию в окончательном виде. Каждый узел – это искусственный нейрон. Важны только входные и выходные узлы, поэтому они предполагают, что узлы в середине скрыты, хотя они выполняют большую часть работы [13, 12].

ivan2.tif

Рис. 2. Схема устройства простой сети

Большинство современных нейронных сетей (рис. 2) организованы в слои узлов, в которых данные перемещаются только в одном направлении. Один узел может быть подключен к нескольким узлам на нижележащем уровне, с которого он получает данные, и к нескольким узлам на уровне над ним, на который он отправляет данные [11].

Каждому из его узлов входящих соединений присваивается номер, известный как «вес». В активной сети узел получает от каждого входящего соединения другой элемент данных, другое число, символизирующее электрический сигнал, и умножает его на уже указанный вес, а затем складывает эти значения, полученные из всех входов, вместе, получая одно число, Если число превышает пороговое значение, определенное функцией активации, которая принимает это число в качестве аргумента, узел «работает», что в современных нейронных сетях обычно означает отправку числа – суммы взвешенных входных данных – по всем исходящим от него соединениям [11, 2].

В режиме обучения для всех весов и порогов нейронной сети первоначально устанавливаются случайные значения. Учебные данные поступают на нижний уровень – входной слой – и проходят через последующие слои, умножаются и складываются, пока не достигнут выходного уровня. Во время обучения шкалы и пороги постоянно корректируются до тех пор, пока данные тренировки с одинаковыми метками не получат аналогичные результаты [11].

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

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

– сверточные нейронные сети,

– текущие нейронные сети,

– нейронная сеть Хопфилда.

Далее мы рассмотрим их более подробно.

Сверточные нейронные сети

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

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

ivan3.tif

Рис. 3. Сверточная архитектура нейронной сети

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

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

Рекуррентные нейронные сети

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

– каждое соединение имеет свой вес, это тоже приоритет;

– узлы делятся на два типа: вводные и скрытые.

ivan4.tif

Рис. 4. Схема рекуррентной нейронной сети

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

Рекуррентные нейронные сети используются при распознавании и обработке текстовых данных. В частности, на их основе работает гугл-переводчик – яндекс-алгоритм «Палех», который ищет смысл, а не слова голосового помощника Apple Siri.

Нейронная сеть Хопфилда

Эта модель является одной из наиболее распространенных математических моделей в нейробиологии. Сеть Хопфилда (рис. 5) представляет собой разновидность нейронных сетей с обратной связью. Эта сеть состоит из одного слоя нейронов, число которых также равно количеству входов и выходов сети. Каждый из ее нейронов имеет один вход, через который поступает сигнал, а его выход соединен со всеми другими нейронами. Поэтому эти сети часто также называют полностью связанными.

Считается, что выход каждого нейрона замкнут через элемент единичной задержки для всех других нейронов. Это означает, что нейрон сети Хопфилда не имеет обратной связи с самим собой [5, 15].

Существует три основных варианта использования сетей этого типа:

1. Ассоциативная память.

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

2. Распознавание образов.

В конце расчета значения «замораживаются», и сеть может использоваться непосредственно для распознавания.

3. Решение задач комбинаторной оптимизации [5, 16].

ivan5a.tifivan5b.tif

Рис. 5. Схема нейронной сети Хопфилда

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

– машинное обучение. Он основан на обучении искусственному интеллекту на примере миллионов подобных задач. В настоящее время машинное обучение активно внедряется поисковыми системами Google, Yandex, Bing, Baidu. Таким образом, на основе миллионов поисковых запросов, которые мы каждый день вводим в поисковые системы, их алгоритмы учатся показывать нам наиболее подходящие результаты, чтобы мы могли найти именно то, что ищем;

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

– архитекторы компьютерных систем используют нейронные сети для решения задачи параллельных (одновременных) вычислений;

– с помощью нейронных сетей математика может решать различные сложные математические задачи [1];

– в экономике. Здесь нейронные сети чаще всего используются для прогнозирования цен, обменных курсов, а также для оптимизации торговли на рынке. Самый популярный пакет нейронных сетей называется Brain Marker, его основная цель – найти решение нетрадиционных задач, таких как прогнозирование акций или моделирование различных рыночных ситуаций. Он основан на нейронной сети, которая учится на многих примерах [18, с. 80];

– в системах безопасности и охраны: распознавание лиц. Технология распознавания лиц с использованием нейронной сети позволяет защищать мобильные устройства от доступа других лиц и, соответственно, от кражи личных данных, таких как Apple Face ID, а также помогает находить и идентифицировать преступников в местах, где большое количество людей перемещается с помощью видеокамер, установленных там – искусственная нейронная сеть МВД [18, с. 80, 19];

– в промышленном производстве. В качестве примеров успешного использования нейронных сетей в этой области можно упомянуть оптимизацию режимов производственного процесса, управление процессами обработки, предотвращение аварийных ситуаций и т.д. Большой опыт был накоплен в использовании искусственных нейронных сетей в управлении качеством в промышленности. Например, нейронная сеть, используемая на предприятиях Intel для выявления дефектов в производстве микросхем, способна отбраковывать неисправный чип с точностью до 99,5 %. А специалисты Национального института стандартов и технологий (NIST), применяя звуковые волны и получая отраженный сигнал, а затем обрабатывая искусственную нейронную сеть, проверяют качество бетона при толщине материала до полуметра [20, с. 14, 21];

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

Значительно увеличилось количество военных разработок с использованием нейронных сетей, ориентированных на создание сверхбыстрых, «умных» суперкомпьютеров [14, с. 2].

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

В интернет-технологиях. Здесь на основе нейронных сетей внедряются такие технологии, как электронные секретари и пользовательские агенты в интернете, фильтрация информации, блокировка спама и автоматическая рубрикация новостных каналов [20, с. 14].

Проблема скрытности нейронных сетей

Быстро развивающиеся технологии искусственного интеллекта, частью которых являются искусственные нейронные сети, все еще могут представлять определенную опасность для людей. Это связано с тем, что разработчики не могут получить доступ к тому, что происходит внутри сети, в этом «черном ящике». Мы формируем входы, затем рассчитываем выходы и просто сравниваем их друг с другом. У нас нет возможности подробно и пошагово проследить, как рассчитывались выходные значения. Такой способ выполнения вычислений в «черном ящике» чрезвычайно усложняет процесс интерпретации результатов и модификации сети – неясно, что нужно изменить в нем, чтобы стать более точным. Соответственно, нам трудно контролировать процессы, происходящие в нейронной сети, и прогнозировать поведение этих программ.

В науке сейчас происходит резкий слом – изменение устоявшейся модели. И если раньше такие изменения происходили таким образом, что ученые как-то могли проверять происходящее, то теперь мы видим, что те же сверточные нейронные сети дают хорошие практические результаты, но они все еще остаются для нас «черным ящиком» [24, 25].

Заключение

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