Sayapin Vitalii Nikitovich, candidate of technical sciences, docent, [email protected], Russia, Sankt-Petersburg, Military Telecommunications Academy named after Marshal of the Soviet Union S. Budyon-ny,
Grigorev Vitalii Vladimirovich, adjunct, [email protected], Russia, Sankt-Petersburg, Military Telecommunications Academy named after Marshal of the Soviet Union S. Budyonny
УДК 004.85
ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ КАК ОСНОВА ГЛУБИННОГО ОБУЧЕНИЯ
А.Н. Линдигрин
В данной статье рассматриваются существующие технологии глубинного обучения в нейронных сетях. Также приводятся классы задач, решаемые приведенными технологиями и анализируются их особенности. В заключении сформулированы актуальные проблемы глубинного обучения и обозначены векторы инновационных исследований в данной сфере на ближайшее десятилетие.
Ключевые слова: нейронная сеть, глубинное обучение, CNN, RN.
Машинное обучение (МО) - отрасль искусственного интеллекта (ИИ), посвященная тому, как обучать компьютеры решению конкретных задач без программирования. Основная идея МО заключается в том, что можно создавать алгоритмы, способные обучаться на данных и впоследствии давать предсказания. Существует три основных вида МО. В случае обучения с учителем, машине предъявляются данные и правильные результаты, а цель состоит в том, чтобы машина обучилась на этих примерах и смогла выдавать осмысленные результаты для данных, которые раньше не видела [5].
В случае обучения без учителя, машине предъявляются только сами данные, а она должна выявить структуру без постороннего вмешательства. В случае обучения с подкреплением машина ведет себя как агент, который взаимодействует с окружающей средой и обучается находить варианты поведения, приносящие вознаграждение.
Глубокое обучение (ГО) - подмножество методов МО, в которых применяются искусственные нейронные сети (ИНС), построенные на базе аналогии со структурой нейронов человеческого мозга [7]. Иными словами, термин «глубокий» подразумевает наличие большого числа слоев в ИНС, но его интерпретация со временем менялась. Если еще четыре года назад считалось, что 10 слоев достаточно, чтобы называть сеть глубокой, то теперь глубокой обычно называется сеть, содержащая сотни слоев.
Концепция глубокого обучения (Deep Learning — DL) впервые появилась в 2006 году как новая область исследований в машинном обучении. Вначале оно было известно как иерархическое обучение в [8], и как правило оно включало в себя множество областей исследований, связанных с распознаванием образов. Глубокое обучение в основном принимает в расчет два ключевых фактора: нелинейная обработка в нескольких слоях или стадиях и обучение под наблюдением или без него [4]. Нелинейная обработка в нескольких слоях относится к алгоритму, в котором текущий слой принимает в качестве входных данных выходные данные предыдущего слоя. Иерархия устанавливается между слоями, чтобы упорядочить важность данных, полезность которых следует установить. С другой стороны, контролируемое и неконтролируемое обучение связано с меткой классов целей: ее присутствие подразумевает контролируемую систему, а отсутствие — неконтролируемую.
Актуальность. При традиционных методах машинного обучения результативность работы быстро достигает предельного уровня, поскольку увеличивается объем данных для обучения. Это означает, что со временем становится бесполезно добавлять еще больше данных для обучения, так как алгоритм обучения некоторым образом «насыщается». Одним из ключевых свойств глубокого обучения является то, что результативность непрерывно растет с увеличением данных для обучения. Этим свойством объясняется то, почему самые крупные из существующих на сегодняшний день сетей машинного зрения используют до 15 млн изображений для целей обучения.
На рис. 1 приведено количество публикаций по глубокому обучению из базы данных ScienceDirect в год с 2006 по июнь 2018 года. Очевидно, что постепенное увеличение числа публикаций мог бы описать экспоненциальный рост, что подтверждает актуальность данной темы.
20000 18000 16000 14000 12000 10000 8000 6000 40 00 2000 О
2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
Рис. 1. Рост количества публикаций по глубокому обучению в базе данных Sciencedirect
(январь 2006 — июнь 2018 г)
При этом 31% организаций указывали, что использование ИИ и машинного обучения в их ИТ-продуктах и услугах является одним из направлений модернизации ЦОД, в которые они будут осуществлять самые значительные инвестиции в ближайшие 12-18 месяцев.
Организации, стремящиеся использовать возможности ИИ, сталкиваются со значительными сложностями. 35% участников опроса ESG назвали самой серьезной проблемой стоимость ИТ-инфраструктуры, 29% — возможности ИТ-инфраструктуры, а 21% — среду разработки приложений [2].
Глубокое обучение сравнивают с цунами [7] в области машинного обучения в том смысле, что сравнительно небольшое число определённых методов с успехом применяется в самых разных областях (обработка изображений, текста, видео и речи, компьютерное зрение), что позволяет добиться значительного прогресса по сравнению с результатами, достигнутыми за предшествующие десятки лет.
Своими успехами ГО обязано также наличию больших объемов обучающих данных (например, набора ImageNet в области обработки изображений) и относительно дешевых графических процессоров (GPU), позволяющих построить очень эффективную процедуру вычислений. В компаниях Google, Microsoft, Amazon, Apple, Facebook и многих других методы глубокого обучения постоянно используются для анализа больших массивов данных.
Теперь эти знания и навыки вышли за рамки чисто академических исследований и стали достоянием крупных промышленных компаний. Они стали неотъемлемой составной частью современной программной продукции, и владение ими обязательно для программиста.
Итак, глубинное обучение (от англ. Deep learning) — совокупность методов машинного обучения (с учителем, с частичным привлечением учителя, без учителя, с подкреплением), основанных на обучении представлениям (от англ. feature/representation learning), а не специализированным алгоритмам под конкретные задачи [1].
Простейшие модели искусственных нейронов, впервые были представлены в работеУоррена Мак-Калока и Уолтера Питтса в 1943 году. Их работа "Логическое исчисление идей, относящихся к нервной активности", заложила основы разработки моделей машинного обучения в рамках решения задач искусственного интеллекта.
Сверточные нейронные сети, являются актуальным примером сетей с глубинным обучением. Сверточные нейронные сети представляют собой нейронные сети, используемые, прежде всего, для классификации изображений и выполнения распознавания объектов внутри изображений. Модели свер-точных нейронных сетей позволяют идентифицировать лица, уличные знаки и многие другие классы визуальных данных. Архитектура примера модели сверточной нейронной сети представлена на рис. 2.
входные з карты 9 карт
данные признаков признаков
Рис. 2. Архитектура сверточной нейронной сети
В отличие от других алгоритмов и моделей нейронных сетей, сверточные нейронные сети обрабатывают изображения в виде трехмерных матриц. Каждый пиксель исходного изображения представляется в виде слоев каналов трех цветов - красного, зеленого и синего.
469
Таким образом, изображение поступает на вход сверточной нейронной сети в виде матрицы размерности M*N*3, где M и N являются шириной и высотой изображения. В ходе выполнения операции свертки происходит поэлементное умножение и сложение элементов сверточного ядра и исходного изображения, результатом которого является изображение, подающееся на следующий слой нейронной сети.
Слои пулинга (от англ. Pooling), уменьшают размерность карт признаков, работая по принципу сверточного слоя, они вычисляют среднее, или наибольшее/наименьшее значение среди пикселей исходной карты и формируют новую, с меньшей размерностью [6].
Последним слоем CNN является полносвязный слой. На входы каждого из нейронов полносвязного слоя подаются все выходы предыдущего слоя. Число нейронов в последнем слое CNN равняется числу классов, к которым изначально было необходимо отнести исходные изображения. После обработки значений взвешенной суммы сигналов функцией активации, на выходе нейронная сеть формирует вероятностный вектор. Сумма всех элементов вектора равняется единице.
Иными словами, значения элементов векторов говорят о том, c какой вероятностью исходное изображение можно отнести к данному классу. RNN или рекуррентные нейронные сети являются разновидностью нейронных сетей, которые используют выходной сигнал с предыдущей итерации в качестве входного на последующей итерации.
Таким образом, можно сказать, что RNN обладают памятью. Модель одного нейрона в рекуррентной нейронной сети представлена на рис. 3.
Рис. 3. Модель нейрона в RNN
Нейрон принимает на вход сигналы с предыдущего слоя нейронной сети и результат предыдущего прохождения данных через него. Данная разновидность нейронных сетей используется в задачах обработки и генерации текста. Строго говоря, используя "память", нейронная сеть может анализировать фрагменты текста опираясь на предыдущие. Передача информации от одной итерации к другой позволяет находить зависимости в тексте и предсказывать последующие комбинации слов и предложения [3].
Однако, во время работы, RNN могут забывать весь текст, который проходил через слой нейронов с памятью и получается, что нейронная сеть "забывает" предыдущие отрывки текста и в процессе генерации текста опирается только на несколько слов из предыдущей итерации, в то время как для генерации длинных осмысленных предложений необходима связь между словами и фразами, расположенными на большем расстоянии. Для решения так называемой, проблемы потери контекста, подходят LSTM-сети.
LSTM-сети являются разновидностью рекуррентных нейронных сетей, способной к обучению на долгосрочных зависимостях (от англ. Long-termdependencies). Впервые, LSTM-сети были представлены в работе Сеппа Хохрайтера и Юргена Шмидхубера в 1997 году. В отличие от рекуррентных нейронных сетей, LSTM-сеть можно использовать при решении задач классификации, обработки и прогнозирования временных рядов в случаях, когда важные события разделены временными лагами с неопределённой продолжительностью и границами.
LSTM-сеть содержит LSTM-модули, способные запоминать значения на короткие и длинные промежутки времени. LSTM-модуль состоит из нескольких ячеек памяти. Каждая из ячеек памяти имеет на выходе два состояния, переносящиеся в следующее: текущее состояние ячейки и ее скрытое состояние. Блоки памяти отвечают за запоминание некоторого объема данных, а манипуляция с этими данными осуществляется тремя, так называемыми "гейтами" (от англ. Gate) [5].
Гейт забывания отвечает за удаление информации из состояния ячейки. Информация, которая больше не требуется для LSTM для понимания вещей или информации, которая имеет меньшее значение, удаляется путем умножения фильтра. Это необходимо для оптимизации производительности LSTM-сети. Входной гейт отвечает за добавление информации в текущее состояние ячейки. Выходной гейт отвечает за формирование выходного сигнала ячейки памяти.
Капсульные нейронные сети впервые были представлены в работе Джеффри Хинтона в 2017 году. Исследование данной области и представление капсульных нейронных сетей обусловлено проблемами классических нейронных сетей - они не учитывают различные ракурсы объектов и относительное расположение объектов в пространстве изображения. Таким образом, на рис. 4 показан пример двух изображений, одно из которых неверно классифицируется классической нейронной сетью как человеческое лицо.
Рис. 4. Пример неверно распознанного сверточной нейронной сетью изображения
Проблема заключается в том, что работа нейронов в полносвязных слоях не учитывает различного положения и ракурса объектов в пространстве. Для решения данной проблемы, в сверточных нейронных сетях используются слои пулинга, уменьшающие размерность данных, что позволяет формировать более точные карты признаков, учитывающие более крупные признаки на изображениях. На такое высокое значение точности распознавания в существующих сверточных нейронных сетях влияют большие размеры обучающих выборок. Однако, подбор больших объемов обучающих выборок не всегда возможен, эту проблему так же решают предложенные Джеффри Хинтоном CapsNN. Нейронная сеть в данном случае, согласно Хинтону, состоит из двух частей - шифратора и дешифратора (от англ. Encoder and decoder) [4].
Первым из слоев шифратора является слой свертки, его основной задачей является нахождение основных признаков на изображениях. Далее расположены слои капсул. Капсулы в CapsNN нужны для генерации и обучения дополнительных наборов признаков. Механизм капсул реализован с модификацией исходных карт признаков с помощью матричных преобразований. Иными словами, c помощью капсул увеличивается число инвариантов, которое сеть может распознавать и генерировать.
Таким образом, в статье были рассмотрены несколько моделей глубинного обучения, например рекуррентные, капсульные, LSTM нейронные сети и некоторые классы задач, решаемые этими моделями: распознавание образов, классификация изображений и составление осмысленного текста. Глубинное обучение - актуальная и перспективная область машинного обучения, связанная с алгоритмами, вдохновленными организацией структуры человеческого мозга, представленной в виде совокупности нейронов, называемой нейронными сетями.
Перспективы дальнейших исследований. Хотя принципы глубокой НС являются относительно простыми и стандартными, инновационные работы в сфере глубокого обучения сегодня охватывают более широкую сферу, чем основные аспекты НС. В заключении обозначим ряд направлений, которые лежат в основе следующих инноваций в сфере ГО в ближайшие годы:
- Данные для обучения: поскольку объем данных для обучения является фактором, оказывающим наибольшее воздействие на ГО, инновации в отношении того, как лучше всего создавать, использовать или уменьшать массивы данных, представляют собой большую проблему.
- Вычислительные возможности: более значительная вычислительная мощность ведет на практике к лучшим моделям. Немалые усилия в области МО направлены на оптимизацию технических средств и программного обеспечения.
- Применение: технологии ИИ могут использоваться в многочисленных областях для выполнения различных функций. Каковы проблемы и новые функциональные задачи, которые глубокое обучение может успешно решать? Как эффективно интегрировать эти методы в более широкие сферы применения?
- Архитектура нейронной сети: на практике существуют различные типы скрытых слоев, обладающие различными свойствами, такие как рекурсивные нейронные сети, приспособленные к последовательно передаваемым данным (распознавание речи, перевод и т.д.), или свёрточные нейронные сети, более приспособленные для распознавания объектов на изображениях. Разработка наилучшей архитектуры глубокой НС является сложным делом, поскольку это зависит от поставленной задачи, характера данных, предметной области и объема имеющихся данных для обучения.
- Надежность: глубокую нейронную сеть можно относительно легко ввести в заблуждение за счет атак противоборствующей стороны, когда вторая глубокая НС состязается с первой с целью выявить ее слабости. Безопасность и надежность таких систем МО будет иметь кардинальное значение в предстоящие годы.
Список литературы
1. Электронный ресурс: отчет об исследовании ESG 2019 Technology Spending Intentions Survey (Планируемые затраты на ИТ в 2019 г.), февраль 2019. [Электронный ресурс] URL: https:// www.dellemc.com/az-az/collaterals/unauth/analyst-reports/products/ready-solutions/esg-technical-rev iew- dee p- learning-with-intel-april-2019.pdf (дата обращения: 09.12.2019).
2. Электронный ресурс: результаты инициативного исследования ESG Artificial Intelligence and Machine Learning: Gauging the Value of Infrastructure (Искусственный интеллект и машинное обучение: оценка значения инфраструктуры), март 2019 г. [Электронный ресурс] URL: https://www. del-lemc.com/az-az/collaterals/unauth/analyst-reports/products/ready-solutions/esg-technical-revi ew- deep-learning-with -intel-april-2019.pdf (дата обращения: 09.12.2019).
3. Нечахин В.А. Применение методов глубинного обучения для обнаружения вторжений // Информационные технологии, 2019. С. 36-37.
4. Ильин И. В., Гудков К.В. Анализ программных средств для глубинного обучения искусственных нейронных сетей // Фундаментальные научные исследования: теоретические и практические аспекты, 2018. С. 43-45.
5. Душкин Р.В. Почему за гибридными ИИ-системами будущее // Экономические стратегии. 2018. Т. 20. №. 6. С. 84-93.
6. Zhang D. et al. Synthesizing Supervision for Learning Deep Saliency Network without Human Annotation //IEEE transactions on pattern analysis and machine intelligence, 2019.
7. Cheng G. et al. When deep learning meets metric learning: Remote sensing image scene classification via learning discriminative CNNs //IEEE transactions on geoscience and remote sensing. 2018. Т. 56. №. 5. P. 2811-2821.
8. Vargas R., Mosavi A., Ruiz R. Deep learning: a review // Advances in Intelligent Systems and Computing, 2017.
Линдигрин Александр Николаевич, аспирант, [email protected], Россия, Тула, Тульский государственный университет
DEEP LEARNING TECHNOLOGIES IN NEURAL NETWORKS A.N. Lindigrin
Annotation. This article discuses deep learning technologies in neural networks. The classes of problems solved by the given technologies are also given. In conclusion, the problems of deep learning are formulated and the vectors of innovative research in this area for the next decade are identified.
Key words: neural network, deep learning, CNN, RNN.
Lindigrin Alexander Nikolaevich, postgraduate, alexoib@mail. ru, Russia, Tula, Tula State University
УДК 621.391
МОДЕЛЬ УЗЛА КОММУТАЦИИ ДЛЯ ОЦЕНКИ ПОКАЗАТЕЛЕЙ КАЧЕСТВА ОБСЛУЖИВАНИЯ СЕТЕВОГО ТРАФИКА
В.Н. Обердерфер
Представлена модель узла коммутации мультисервисной сети связи военного назначения, позволяющая производить оценку основных показателей качества обслуживания разноприоритетного сетевого трафика. Определены особенности циркулирующего в сети мультимедийного трафика и сопутствующие этому проблемы, связанные с его моделированием. Предложены пути решения данных противоречий, а также подходы к моделированию узлов коммутации с использованием средств имитационного моделирования.
Ключевые слова: узел коммутации, мультисервисная сеть связи, самоподобный трафик, имитационное моделирование.
Особенностью сетей военной связи является отличия в значимости передаваемой информации, то есть необходимостью ее категорирования, и явно выраженной иерархичностью органов управления, между которыми она передается. Постоянно возрастающие объемы информации, передаваемые органами военного управления, в условиях воздействия на сеть противника зачастую превосходят возможности сети по ее передаче. На этом фоне обеспечение требуемого качества обслуживания разноприоритетного речевого трафика в мультисервисной сети связи военного назначения становиться актуальной задачей. Одним из направлений решения данной проблемы является применение различных алгоритмов, обеспечивающих выполнение данных требований. Проводить оценку эффективности данных механизмов на действующих сетях военной связи не представляется возможным, поэтому целесообразно в качестве инструмента применить моделирование.