Формализация требований для средств разработки и обучения нейронных сетей | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 27 апреля, печатный экземпляр отправим 1 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №20 (310) май 2020 г.

Дата публикации: 15.05.2020

Статья просмотрена: 432 раза

Библиографическое описание:

Тарулис, А. Д. Формализация требований для средств разработки и обучения нейронных сетей / А. Д. Тарулис. — Текст : непосредственный // Молодой ученый. — 2020. — № 20 (310). — С. 52-55. — URL: https://moluch.ru/archive/310/70051/ (дата обращения: 19.04.2024).



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

Ключевые слова: нейронная сеть, средство проектирования, машинное обучение.

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

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

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

Таким образом, средство проектирования прежде всего должно удовлетворять следующим параметрам:

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

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

− Также закономерно требуется использовать современные средства и библиотеки разработки программных модулей нейронной сети.

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

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

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

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

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

Прежде всего, стоит озаботиться способностью продукта взаимодействовать и обмениваться информацией с другими системами и компонентами, и выполнять свои функции при совместном использовании аппаратных средств и программной среды. Особенное значение это имеет для многомодульной системы, части которой могут быть аппаратно и программно разнесены. Разработчик не обязан знать какие именно ресурсы ПЭВМ или удалённого кластера задействованы в процессе обучения. Эти тонкости могут быть скрыты и не требовать настройки (исключая случаи использования собственных API). Так же, как, в прочем, и для любого программного обеспечения, требуется озаботиться возможностью удобного переноса отдельных модулей системы или всей системы целиком из одного окружения (программного или аппаратного) в другое. Это достигается максимальным устранением зависимости работоспособности системы от платформы, на которой она запущена. Поэтому и рекомендуется использование многомодульной структуры системы, т. к. это даёт шанс повысить возможности переносимости и совместимости. Специализированные вычисления, которые сильно связаны с возможностями платформы, на которой они запускаются, будут неотрывны от своей среды, а разработчик, используя в основном модуль управления, будет получать результат обучения или данные для мониторинга процесса. Каждый из модулей в отдельности может быть в перспективе изменён или доработан разработчиком в зависимости от его требований к готовой системе.

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

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

− Модуль среды обучения, который будет непосредственно выполнять функцию обоснования полезности нейронной сети в конкретной задаче.

− Модуль для серверного запуска моделирования и процесса обучения нейронной сети, который может быть вынесен за пределы ПЭВМ разработчика, для более продуктивного обеспечения процесса обучения. Требования для данного модуля могут быть более строгими, в зависимости от сложности поставленной задачи, т. к. некоторые виды вычислений могут требовать более тесное взаимодействие с аппаратной составляющей.

− Модули взаимодействия, содержащиеся в основных модулях, обеспечивающие успешный и корректный обмен данными между всеми модулями разнесённой системы.

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

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

Для описания механизма взаимодействия модулей системы можно использовать разнесённый по отдельным (или единый) модуль взаимодействия частей системы. В нём описывается последовательность взаимодействия всех модулей системы, порядок и протоколы обмена данными, интерпретация входной и выходной информации из среды обучения.

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

Литература:

  1. Жданов, А. А. Автономный искусственный интеллект / А. А. Жданов– БИНОМ — 2009
  2. Ohkura, K. Mbeann: Mutation-based evolving artificial neuralnetworks //Advances in Artificial Life. — 2007.
  3. Галушкин, А. И. Нейронные сети: основы теории / А. И. Галушкин –М: Горячая линия — Телеком — 2014
  4. Google Cloud Machine Learning [Электронный ресурс] –https://cloud.google.com/ml-engine/docs/tutorials/python-guide
  5. Amazon Machine Learning [Электронный ресурс] –https://aws.amazon.com/machine-learning/
  6. Microsoft Azure Machine Learning [Электронный ресурс] –https://azure.microsoft.com/en-us/services/machine-learning/
  7. Искусственный интеллект (ИИ) / Artificial Intelligence (AI) как ключевой фактор цифровизации глобальной экономики [Электронный ресурс] — http://json.tv/ict_telecom_analytics_view/iskusstvennyy-intellekt-ii-artificialintelligence-ai-kak-klyuchevoy-faktor-tsifrovizatsii-globalnoy-ekonomiki20170222045241
  8. Дудкин, К. А. Использование эволюционных алгоритмов для генерации нейронных сетей с изменяемой топологией / К. А. Дудкин, А. Ю. Афонин // Сборник докладов II-й Международной молодежной научной конференции «Молодежь в науке: Новые аргументы» — 2015
Основные термины (генерируются автоматически): нейронная сеть, API, средство проектирования, процесс обучения, машинное обучение, модуль, модуль управления, среда обучения, библиотека моделирования, вычислительный кластер.


Ключевые слова

нейронная сеть, машинное обучение, средство проектирования

Похожие статьи

Создание и обучение нейронных сетей в системе Matlab

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

Обзор по теме исследования «Моделирование системы...»

Ключевые слова: нейронная сеть, знание, cистема управления, управление знаниями

Для определения возможности моделирования системы управления знаниями на основе

А также в данном примере присутствует внутренняя среда организации, которая организует процесс...

Intelligent Evolutionary Studio — программное обеспечение для...

Машинное обучение ИНС в IES возможно через настройку весовых коэффициентов и/или структуры сетей.

Также доступно множество функций для управления алгоритмом обучения.

искусственные нейронные сети, генетические алгоритмы, машинное обучение.

Неконтролируемые методы машинного обучения при...

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

Разработка программного модуля диагностики опухолей головного...

Ключевые слова: машинное зрение, сверточная нейронная сеть, МРТ, глубинное обучение. С каждым днем потребность в технологии машинного обучения постоянно возрастает. С ее помощью стало возможным решить множество задач...

Применение машинного обучения для обнаружения сетевых...

Обнаружение вторжений изучается в течение последних 20 лет. Вторжение — это деятельность, которая нарушает политику безопасности информационной системы [1]. Обнаружение вторжений основано на предположении...

Контролируемые методы машинного обучения как средство...

Контролируемые методы машинного обучения как средство детектирования сетевых вторжений. Кожевникова Ирина Сергеевна, магистрант; Ананьин Евгений Викторович, студент; Лысенко Александр Вячеславович, студент; Никишова Арина Валерьевна, доцент.

Разработка вопросно-ответной системы с использованием...

Ключевые слова: машинное обучение, вопросно-ответная система, синтаксическое дерево

Процесс реализации вопросно-ответной системы можно условно разделить на несколько

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

Развитие машинного обучения в фармакологии

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

Похожие статьи

Создание и обучение нейронных сетей в системе Matlab

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

Обзор по теме исследования «Моделирование системы...»

Ключевые слова: нейронная сеть, знание, cистема управления, управление знаниями

Для определения возможности моделирования системы управления знаниями на основе

А также в данном примере присутствует внутренняя среда организации, которая организует процесс...

Intelligent Evolutionary Studio — программное обеспечение для...

Машинное обучение ИНС в IES возможно через настройку весовых коэффициентов и/или структуры сетей.

Также доступно множество функций для управления алгоритмом обучения.

искусственные нейронные сети, генетические алгоритмы, машинное обучение.

Неконтролируемые методы машинного обучения при...

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

Разработка программного модуля диагностики опухолей головного...

Ключевые слова: машинное зрение, сверточная нейронная сеть, МРТ, глубинное обучение. С каждым днем потребность в технологии машинного обучения постоянно возрастает. С ее помощью стало возможным решить множество задач...

Применение машинного обучения для обнаружения сетевых...

Обнаружение вторжений изучается в течение последних 20 лет. Вторжение — это деятельность, которая нарушает политику безопасности информационной системы [1]. Обнаружение вторжений основано на предположении...

Контролируемые методы машинного обучения как средство...

Контролируемые методы машинного обучения как средство детектирования сетевых вторжений. Кожевникова Ирина Сергеевна, магистрант; Ананьин Евгений Викторович, студент; Лысенко Александр Вячеславович, студент; Никишова Арина Валерьевна, доцент.

Разработка вопросно-ответной системы с использованием...

Ключевые слова: машинное обучение, вопросно-ответная система, синтаксическое дерево

Процесс реализации вопросно-ответной системы можно условно разделить на несколько

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

Развитие машинного обучения в фармакологии

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

Задать вопрос