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

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

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

Автор:

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

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

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

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

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

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


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

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

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

Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки

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

Исследование методов автоматического программирования с применением искусственного интеллекта

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

Перспективы внедрения нейронных сетей в реализацию систем поддержки принятия решений

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

Методологии проектирования мультиагентных систем

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

Анализ технологии создания систем классификации компьютерного зрения в медицине

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

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

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

Искусственные нейронные сети. Нейросетевые технологии

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

Искусственный интеллект и машинное обучение в дизайне продуктов питания

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

Повышение эффективности размещения элементов БИС на основе алгоритмов машинного обучения

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

Анализ средств для реализации нейронных сетей на языке программирования Java

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

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

Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки

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

Исследование методов автоматического программирования с применением искусственного интеллекта

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

Перспективы внедрения нейронных сетей в реализацию систем поддержки принятия решений

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

Методологии проектирования мультиагентных систем

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

Анализ технологии создания систем классификации компьютерного зрения в медицине

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

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

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

Искусственные нейронные сети. Нейросетевые технологии

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

Искусственный интеллект и машинное обучение в дизайне продуктов питания

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

Повышение эффективности размещения элементов БИС на основе алгоритмов машинного обучения

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

Анализ средств для реализации нейронных сетей на языке программирования Java

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

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