s=zpf->poisk(0.0000001);
);
Во вложенном цикле решение поисковых задач осуществляется полиморфными объектами указателей на базовый класс. Если рассматривать паттерн как описание взаимодействия объектов и классов, адаптированных для решения задачи, то разработанные иерархии классов можно рассматривать как первое приближение к проектированию паттерна исследования функций.
Список литературы
1. Страуструп Б. Язык программирования C++. СПб.: Бином, 1999. c.
990
2. Русакова З.Н. Динамические структуры данных и вычислительные алгоритмы Visual C++. Санкт-Петербургбург.2014, 272 с.
3. Русакова З.Н. Система моделирования и интеллектуализации задач принятия решений. Инженерный журнал: Наука и инновации #2.14/2013, c.9.
4.Грешилов А.А. Математические методы принятия решений. МГТУ им. Н.Э. Баумана, Москва 2016. 320 с.
ТИПЫ И ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ
Львов Федор Алексеевич
магистр, МГТУ имени Н.Э. Баумана 121108, г. Москва, Рублёвское шоссе, д.5
TYPES AND APPLICATIONS OF NEURAL NETWORKS
Fedor Lvov
Bauman Moscow State Technical University
Аннотация. В статье рассмотрены типы нейронных сетей, а именно: нейронная сеть прямого распространения, сеть радиально-базисных функций, самоорганизующаяся сеть Кохонена, рекуррентная нейронная сеть, свёрточная нейронная сеть, модульная нейронная сеть. Также рассмотрены способы применения данных сетей.
Abstract. The article describes the types of neural networks, namely: feedforward neural network, radial basis function neural network, Kohonen self-organizing neural network, recurrent neural network, convolutional neural network, modular neural network. The article also describes how to use these networks.
Ключевые слова: Нейронные сети, типы, применение, слои, информация.
Key words: Neural networks, types, applications, layers, information.
Ввведение
Искусственные нейронные сети - это вычислительные модели, которые работают аналогично функционированию нервной системы человека. Существует несколько видов искусственных нейронных сетей. Эти типы сетей реализуются на основе математических операций и набора параметров, необходимых для определения выходных данных. Рассмотрим некоторые из нейронных сетей.
1. Нейронная сеть прямого распространения
В этой сети (см. рис. 1) информация перемещается только в одном направлении вперед от входных узлов (крайний левый ряд), через скрытые узлы (средние ряд или ряды, если есть) и к выходным узлам (крайний правый ряд). В сети нет циклов или петель.
Рисунок 1 - Структура нейронной сети прямого распространения
Данные проходят через входные узлы и выходят на выходных узлах. Эта нейронная сеть может иметь или не иметь скрытые слои.
Применение нейронных сетей прямого распространения встречается в компьютерном зрении и распознавании речи, где сложно классифицировать целевые классы. Такого рода нейронные сети реагируют на шумные данные и просты в обслуживании.
2. Сеть радиально-базисных функций
Радиальные базовые функции (Radial basic functions - RBF, см. рис. 2) учитывают расстояние от точки до центра. Функции RBF имеют два уровня: первый, где элементы объединяются с функцией радиального базиса на внутреннем уровне, и второй, где выходные данные этих элементов учитываются при вычислении того же результата на следующем временном шаге, который в основном представляет собой память.
Рисунок 2 - Структура нейронной сети радиально-базисных функций
Эта нейронная сеть была применена в системах восстановления энергии. Силовые системы увеличились в размерах и сложности. Эти факторы увеличивают риск серьезных сбоев в электроэнергии. После отключения электричества необходимо восстановить его как можно быстрее и надежнее.
3. Самоорганизующаяся нейронная сеть Кохонена
Целью сети Кохонена является ввод векторов произвольной размерности в дискретную карту, состоящую из нейронов. Карта должна быть обучена для создания собственной организации тренировочных данных. Она состоит из одного или двух измерений. При обучении сети местоположение нейрона остается постоянным, но веса различаются в зависимости от значения. Этот процесс самоорганизации состоит из разных частей: на первом этапе каждое значение нейрона инициализируется с небольшим весом и входным вектором (на рисунке 3 круглыми фигурами обозначаются нейроны, квадратными - данные).
Рисунок 3 - Исходная структура
На втором этапе выбирается одна из точек данных (рисунок 4), находится ближайший к точке нейрон (рисунок 5) и данный нейрон двигается к выбранной точке данных (Рисунок 6).
Рисунок 4 - Выбор точки данных
Рисунок 5 - Определение ближайшего к точке нейрона
Рисунок 6 - сдвиг нейрона ближе к точке данных
Ближайший к точке нейрон - это «выигрышный нейрон», и нейроны, подключенные к выигрышному нейрону, также будут двигаться к точке, как показано на рисунке 7 ниже.
Рисунок 7 - сдвиг соседних нейронов ближе к точке данных
Расстояние между точкой и нейронами рассчитывается по евклидову расстоянию, выигрывает нейрон с наименьшим расстоянием. В ходе итераций все точки кластеризуются, и каждый нейрон представляет каждый вид кластера. Это суть организации нейронной сети Кохонена.
Нейронная сеть Кохонена используется для распознавания закономерностей в данных. Его применение можно найти в медицинском анализе, чтобы объединить данные в разные категории. Карта Кохонена могла классифицировать пациентов, имеющих клубочковые или трубчатые протеину-рии с высокой точностью.
4. Рекуррентная нейронная сеть
Рекуррентная нейронная сеть работает по принципу сохранения выходных данных слоя и передачи их обратно на входные данные, чтобы помочь в прогнозировании результата слоя.
Первый слой формируется аналогично нейронной сети с прямой связью. Повторяющийся процесс нейронной сети начинается после того, как все вычисления пройдены. Это означает, что от одного временного шага к следующему каждый нейрон будет помнить некоторую информацию, которую он имел в предыдущем временном шаге. Это заставляет каждый нейрон действовать как ячейка памяти при выполнении вычислений. В этом процессе нужно позволить нейронной сети работать в режиме прямого распространения и помнить, какая информация ей нужна для дальнейшего использования. В данной нейросети, если прогноз неверен, используются методы исправления ошибок, чтобы внести небольшие изменения для приведения нейросети к правильному прогнозу во время работы в режиме обратного распространения. Базовая рекуррентная нейронная сеть изображена на рисунке 8.
Рисунок 8 - Рекуррентная нейронная сеть
Применение рекуррентных нейронных сетей можно найти в моделях преобразования текста в речь и в моделях обработки видео.
5. Свёрточная нейронная сеть
Свёрточные нейронные сети (СНС) - одни из самых влиятельных инноваций в области компьютерного зрения.
СНС состоит из разных видов слоев: сверточные (convolutional) слои, субдискретизирующие (subsampling, подвыборка) слои и слои «обычной» нейронной сети - персептрона, в соответствии с рисунком 9.
«ш¥о1ибоп Ьур ыь-ял-р)^ | ом¥й1иЬй<1 , иЬ-игсрНги 1Й)КГ | «>т«м<1 ГИР
Рисунок 9 - Свёрточная нейронная сеть
Первые два типа слоев (convolutional, subsampling), чередуясь между собой, формируют входной вектор признаков для многослойного персеп-трона.
СНС могут быстро работать на последовательной машине и быстро обучаться за счет распараллеливания процесса свертки по каждой карте, а также обратной свертки при распространении ошибки по сети.
Сегодня СНС лежит в основе услуг многих компаний: Facebook использует нейронные сети для алгоритмов автоматического проставления тегов, Google — для поиска среди фотографий пользователя, Amazon — для генерации рекомендаций товаров, Pinterest — для персонализации домашней страницы пользователя, а Instagram — для поисковой инфраструктуры.
6. Модульная нейронная сеть
Модульные нейронные сети имеют коллекцию различных сетей, работающих независимо и способствующих получению результата. Каждая нейронная сеть имеет набор входных данных, которые уникальны по сравнению с другими сетями. Эти сети не взаимодействуют и не сигнализируют друг другу при выполнении задач. Преимущество модульной нейронной сети состоит в том, что она разбивает большой вычислительный процесс на более мелкие компоненты, уменьшая сложность. Такое разделение поможет уменьшить количество соединений и свести на нет взаимодействие этих сетей друг с другом, что, в свою очередь, увеличит скорость вычислений. Однако время обработки будет зависеть от количества нейронов и их участия в вычислении результатов.
Ниже на рисунке 10 приведено визуальное представление,
Входы
Рисунок 10 - Модульная нейронная сеть
Модульные нейронные сети - это быстро развивающаяся область в исследовании искусственных нейронных сетей. Данные сети используются, например, для улучшения классификации спутниковых снимков или для систем подбора персонала.
Заключение
В данной статье были рассмотрены 6 типов нейронных сетей, их топология и область применения. Исходя из выше изложенных данных можно прийти к выводу, что нет универсального типа нейронной сети и необходимо тщательной подбирать нужную нейронную сеть в зависимости от исходной задачи.
Список литературы:
1. 6 Types of Artificial Neural Networks Currently Being Used in Machine Learning [Электронный ресурс]. - URL: https://www.analyticsindia-mag.com/6-types-of-artificial-neural-networks-currently-being-used-in-todays-technology/ (Дата обращения 14.02.2019);
2. Шпаргалка по разновидностям нейронных сетей. Часть первая. Элементарные конфигурации [Электронный ресурс]. - URL: https://tproger.ru/translations/neural-network-zoo-1/ (Дата обращения 14.02.2019);
3. Что такое свёрточная нейронная сеть [Электронный ресурс]. - URL: https://habr.com/ru/post/309508/ (Дата обращения 14.02.2019).