УДК 004.032.26
Хамидулин Т. Г. студент магистратуры 2 курс факультет информационных систем и технологий Поволжский Государственный Университет Телекоммуникаций и Информатики
Россия, г. Самара Научный руководитель: Козлова О.С.
доцент, к.т.н.
СРАВНЕНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ГЛУБОКОГО
ОБУЧЕНИЯ
Аннотация: Эта работа представляет собой описание ПО глубокого обучения. Происходит сравнение библиотек глубокого обучения. Также продемонстрированы особенности каждой рассматриваемой среды глубокого обучения.
Ключевые слова: Машинное обучение, глубокое обучение.
Khamidulin T.G. graduate student 2 courses Faculty of Information Systems and Technologies Povolzhsky State University
of Telecommunications and Informatics
Russia, Samara Scientific adviser: Kozlova O.S. Assistant professor, c.t.s. COMPARING SOFTWARE FOR DEEP TRAINING Annotation: This job is a description of deep learning software. There is a comparison of deep learning libraries. The features of each considered deep learning environment are also demonstrated. Keywords: Machine learning, deep learning.
Поскольку многие компании хотят использовать ИИ для расширения масштабов или для запуска своего стартапа, важно понять одну вещь: технологии, с которыми они хотят работать, должны сочетаться с адекватной структурой глубокого обучения, особенно потому что каждая структура служит для разных целей. Поиск идеальной подгонки необходим с точки зрения плавного и быстрого развития бизнеса, а также успешного развертывания.
Следующий список структур глубокого обучения может пригодиться в процессе выбора правильного решения для конкретных задач, с которыми вы сталкиваетесь. Предоставим особенности различных решений, и узнайте о лучших вариантах использования каждого решения! Microsoft Cognitive Toolkit
Microsoft Cognitive Toolkit (ранее известная как — CNTK) — это унифицированный набор инструментов для глубокого обучения, который представляет нейронные сети как серию вычислительных действий через
направленный граф. В графе конечные узлы представляют собой входные значения или параметры сети, а другие узлы — операции матрицы в ответ на входные значения. Набор инструментов позволяет легко реализовывать и комбинировать популярные типы моделей, например, упреждающие глубокие нейронные сети, сверточные нейронные сети, рекуррентные нейронные сети (RNN) и сети с долгой краткосрочной памятью (LSTM). Он реализует обучение по принципу стохастического градиентного спуска (SGD, обратное распространение ошибки) с автоматической дифференциацией и распараллеливанием по нескольким графическим процессорам и серверам. Библиотека доступна по лицензии на ПО с открытым исходным кодом с апреля 2015 года.
Важные особенности.
• Скорость и масштабируемость: обучает и анализирует алгоритмы глубокого обучения быстрее, чем другие доступные наборы инструментов, эффективно масштабируясь в разных средах.
• Качество на уровне коммерческих продуктов.
• Совместимость: обладает самой выразительной и простой в использовании архитектурой с известными языками, и сетями, такими как C++ и Python.
PyTorch
PyTorch является наследником Python библиотеки Torch, написанной на Lua. Разработан компанией Facebook и используется Twitter, Salesforce, Оксфордским университетом и многими другими.
PyTorch в основном используется для быстрого и эффективного обучения моделей, поэтому он является основным выбором для большого числа исследователей.
У PyTorch есть некоторые существенные преимущества:
• Основывается на языке LuaJIT с высокой степенью оптимизации и обеспечивает доступ к ресурсам низкого уровня, например, для работы с обычными указателями C.
• Стремится обеспечить максимальную универсальность и скорость при создании научных алгоритмов, в то же время упрощая процесс.
• Имеет большую экосистему пакетов, в том числе в области машинного обучения, машинного зрения, обработки сигналов, параллельной обработки, изображений, видео, аудио и сетей, которые развиваются по инициативе сообщества, а также развивается на основе сообщества Lua.
• Простые в использовании библиотеки популярных нейронных сетей и средств оптимизации, отличающиеся максимальной универсальностью при реализации сложных топологий нейронных сетей.
• Вся среда (включая Lua) является автономной, и ее можно перенести на любую платформу без изменений.
Важно помнить: PyTorch все еще относительно новая библиотека и лучше всего подходит для создания прототипов или небольших проектов.
Когда дело доходит до больших кроссплатформенных развертываний -
TensorFlow может быть лучшим вариантом.
Keras
Keras представляет собой API для нейронных сетей высокого уровня, написанный на Python. Эту библиотеку можно использовать дополнительно к TensorFlow или Theano. Разработан инженером Google Франсуа Шолле, для ускорения экспериментов. Поддерживает широкий спектр слоев нейронных сетей, таких как сверточные слои, рекуррентные слои или плотные слои. Keras можно эффективно использовать в областях перевода, распознавания изображений, распознавания речи и так далее. Важным условием удачного исследования является возможность перехода от замысла к результату с минимальной возможной задержкой.
Важные особенности.
• Удобство для пользователя: сводит к минимуму количество действий пользователя, необходимых в стандартных ситуациях, а также обеспечивает четкие и практические инструкции в случае ошибки пользователя.
• Модульное исполнение: модель рассматривается как последовательность или граф автономных полностью конфигурируемых модулей, которые можно соединить вместе с минимальным числом ограничений.
• Простое расширение: новые модули легко добавляются в виде новых классов и функций, а существующие модули обеспечивают достаточно примеров.
Также не предоставляет столько функций, как TensorFlow, и обеспечивает меньший контроль над сетью, поэтому это может быть серьезным проблемой, если вы планируете построить специальный тип модели DL. Caffe2
Caffe2 - фреймворк, представленный Facebook в 2017 году, естественный преемник старого Caffe, созданный для мобильных и крупномасштабных развертываний в производственных средах. Фреймворк хвалят по нескольким причинам:
• Caffe2 предлагает предварительно обученные модели для создания демонстрационных приложений;
• Это быстрый, масштабируемый и легкий фреймворк;
• Хорошо работает с другими фреймворками, такими как PyTorch;
• Оптимизированный для вывода на серевер. DeepLearning4j
Deeplearning4j (DL4J) — это первая библиотека распределенного глубокого обучения с открытым исходным кодом для коммерческой эксплуатации, написанная для Java и Scala. Библиотека DL4J интегрирована с Hadoop и Apache Spark и предназначена для использования в корпоративных средах на
распределенных графических процессорах (GPU) и ЦП. DL4J представляет собой новейшую готовую библиотеку, больше ориентированную на стандарт, чем на настройку и обеспечивающую быстрое создание прототипов для специалистов, не являющихся профессиональными исследователями. DL4J можно настраивать при масштабировании. Библиотека доступна по лицензии Apache 2.0, при этом все производные продукты от DL4J принадлежат их создателям. DL4J позволяет импортировать модели нейронных сетей из большинства основных сред через Keras, включая TensorFlow, Caffe, Torch и Theano, закрывая брешь между экосистемой Python и виртуальной машиной Java (JVM) с помощью общего набора инструментов, предназначенного для аналитиков -исследователей, инженеров данных и разработчиков. В качестве прикладного программного интерфейса DL4J на Python используется Keras.
Важные особенности.
• Выгодно использует последние библиотеки для распределенных вычислений.
• Открытые библиотеки, которые обслуживаются сообществом разработчиков и командой Skymind.
• Написана на Java и совместима с любым языком JVM, например, со Scala, Clojure и Kotlin.
TensorFlow
Созданный Google и написанный на C++ и Python. TensorFlow считается одной из лучших библиотек с открытым исходным кодом для численных расчетов. TensorFlow хорош для продвинутых проектов, таких как создание многослойных нейронных сетей. Он используется в распознавании голоса / изображения и в текстовых приложениях (например, в Google Translate).
Плюсами TensorFlow являются:
• Большое количество документации и руководств;
• Поддерживает мониторинг процессов обучения моделей и визуализацию (Tensorboard);
• Поддерживается большим сообществом разработчиков и технологическими компаниями;
• Обеспечивает обслуживание модели;
• Поддерживает распределенное обучение;
• Tensorflow Lite позволяет выводить данные на устройство с низкой задержкой для мобильных устройств;
Существует также одно существенное ограничение: единственным
полностью поддерживаемым языком является Python.
MXNet
MXNet представляет собой простую, универсальную и ультрамасштабируемую среду для глубокого обучения. Среда поддерживает современные модели глубокого обучения, включая сверточные нейронные сети и LSTM. Библиотека берет свое начало в научной среде и является
продуктом совместной и индивидуальной работы исследователей из нескольких ведущих университетов. Библиотека, активно поддерживаемая компанией Amazon, разрабатывалась с особым упором на машинное зрение, обработку и понимание речи и языка, порождающие модели, сверточные и рекуррентные нейронные сети. MXNet позволяет определять, обучать и развертывать сети в самых разных условиях: начиная от мощных облачных инфраструктур и заканчивая мобильными и подключенными устройствами. Библиотека обеспечивает универсальную среду с поддержкой многих распространенных языков, давая возможность использовать как императивные, так и символические программные конструкции. Библиотека MXNet также занимает мало места. Благодаря этому ее можно эффективно масштабировать на нескольких графических процессорах и машинах, что хорошо подходит для обучения на больших наборах данных в облачной среде.
Важные особенности.
• Удобство программирования: возможность смешивать императивные и символические языки.
• Совместимость: поддерживает широкий набор языков программирования в интерфейсной части библиотеки;
• Переносимость между платформами: возможность развертывать модели в самых разных условиях, обеспечивая доступ для широчайшего спектра пользователей.
• Масштабируемость: создана на основе планировщика с динамической зависимостью, который анализирует зависимости данных в последовательном коде и автоматически сразу распараллеливает как декларативные, так и императивные операции.
Заключение
Среды глубокого обучения упрощают разработку и обучение моделей глубокого обучения за счет предоставления простейших элементов высокого уровня для сложных и ненадежных математических преобразований, например, функции градиентного спуска, обратного распространения и логического вывода.
Правильно выбрать среду нелегко, потому что эта сфера до сих пор развита мало, и на сегодняшний момент не существует абсолютно выигрышного варианта. Также выбор среды может зависеть от ваших целей, ресурсов и команды.
Использованные источники:
1. Mateusz Opala. Deep Learning Frameworks Comparison - Tensorflow, PyTorch, Keras, MXNet, The Microsoft Cognitive Toolkit, Caffe, Deeplearning4j, Chamer/ [Электронный ресурс]: Режим доступа:
https://www.netguru.com/blog/deep-learning-frameworks-comparison, - Загл. с экрана.
2. Hands-On AI Part 5: Select a Deep Learning Framework / [Электронный ресурс]: Режим доступа: https://software.intel.com/en-us/articles/hands-on-ai-part-5-select-a-deep-learning-framework, - Загл. с экрана.
УДК 109.343
Хашегульков М.А. магистрант Сметанкина Г. И., к т. н. профессор кафедры ОГО и УЧС
Дорохова О.В. ст. преподаватель кафедры ГН ВИ ГПС МЧС России - филиал Ивановской пожарно-спасательной
академии МЧС России, Россия, Воронеж СЛЕДСТВЕННЫЕ ДЕЙСТВИЯ ПРИ РАССЛЕДОВАНИИ ПРЕСТУПЛЕНИЙ, СВЯЗАННЫХ С ПОЖАРАМИ Аннотация: Рассмотрены следственные действия, проведение которых необходимо пир расследовании пожаров, перечислены общие правила производства следственных действий в соответствии с УПК РФ Ключевые слова: Следственные действия (СД), протокол, осмотр места пожара, причина пожара, должностное лицо, дознаватель, следователь
Khashegulkov M.A. master student Smetankina G.I. Ph.D., Professor of the Department of CSOs and UES
Dorokhova O. V.
Art. teacher Department of HN
VE GPS of the Ministry of Emergency Situations of Russia - a branch of the Ivanovo Fire and Rescue Academy of the Ministry of Emergency Situations of
Russia, Russia, Voronezh
INVESTIGATIVE ACTIONS IN THE INVESTIGATION OF CRIMES
RELATED TO THE FIRE
Annotation: The investigative actions, which are necessary for the investigation of fires, are considered, the general rules of investigative actions in accordance with the Code of Criminal Procedure of the Russian Federation are listed Keywords: Investigative actions, protocol, inspection of the fire site, cause of fire, official, investigator, investigator
Система необходимых первоначальных СД, а также последовательность их выполнения в каждом конкретном случае расследования определяются следственной ситуацией, складывающейся в начале следствия, и данными, указывающими на причину пожара. Например,