Б.В. Артемьев1, А.И. Власов2, Ж.О. Исроилов3, С. Мулатола4
1–4 МГТУ им. Н.Э. Баумана (Москва, Россия)
1 boris@artemiev.su, 2 vlasovai@bmstu.ru, 3 woot_1999@mail.ru, 4 samharm777@gmail.com
Постановка проблемы. В последнее время вопросам внедрения нейросетевых технологий при помощи аппаратных или программных средств уделяется все большее внимание. Одной из проблем успешного внедрения нейросетевых технологий является формирование наборов специальных встраиваемых библиотек (фреймворков) для нейросетевых приложений. Фреймворки алгоритмов глубинного обучения распространяются, как правило, в виде открытого исходного кода и применяются при создании различных приложений. Такие библиотеки представляют собой сборники подпрограмм или объектов, реализованных на машинном коде и используемых для разработки программного обеспечения для встраиваемых нейросетевых приложений. Они реализуют эффективный инструментарий для разработки нейросетевых приложений на различных языках программирования. Аргументированный выбор того или иного фреймворка является важной и актуальной задачей.
Цель. Провести анализ фреймворков для создания нейронных сетей разной сложности с целью разработки встраиваемых нейросетевых приложений.
Результаты. Предложена комплексная методика применения библиотек: Deeplearning4j, FANN и TensorFlow для реализации нейросетевых приложений. Рассмотрена их общая структура и основные возможности.
Практическая значимость. Выбор необходимых программ и алгоритмов, реализованных в виде фреймворков с открытым исходным кодом, дают возможность сократить сроки разработки нейросетевых приложений за счет использования встраиваемых IP модулей программного кода.
Артемьев Б.В., Власов А.И., Исроилов Ж.О., Мулатола С. Анализ программных библиотек для разработки встраиваемых нейро-сетевых приложений // Нейрокомпьютеры: разработка, применение. 2023. T. 25. № 6. С. 5-12. DOI: https://doi.org/10.18127/ j19998554-202306-01
- Ильин И.В., Гудков К.В. Анализ программных средств для глубинного обучения искусственных нейронных сетей // Современные информационные технологии. 2018. № 27. С. 22–28.
- Prudius A.A., Karpunin A.A., Vlasov A.I. Analysis of machine learning methods to improve efficiency of BIG DATA processing in Industry 4.0 // Journal of Physics: Conference Series. 2019. V. 1333. № 3. P. 032065. DOI 10.1088/1742-6596/1333/3/032065.
- Вьюгин В.В. Математические основы теории машинного обучения и прогнозирования. М.: МЦНМО 2013. 387 с.
- Паттерсон Дж., Гибсон А. Глубокое обучение с точки зрения практика. М.: ДМК-Пресс. 2018. 418 с.
- Fast Artificial Network Library (FANN). [Электронный ресурс] – Режим доступа: http://leenissen.dk/fann/wp/, дата обращения 17.09.2023.
- Tutorials covering basic DL4J features. [Электронный ресурс] – Режим доступа: https://deeplearning4j.konduit.ai/multipro-ject/tutorials/quickstart, дата обращения 17.09.2023.
- Bastien F., Lamblin P., Pascanu R., Bergstra J., Goodfellow I., Bergeron A., Bouchard N., Warde-Farley D., Bengio Y. Theano: new features and speed improvements // arXiv preprint arXiv:1211.5590. 2012.
- Collobert R., Kavukcuoglu K., Farabet C. Torch7: A matlab-like environment for machine learning // BigLearn, Neural Information Processing Systems. 2011.
- Abadi M., Agarwal A., Barham P., Brevdo E., Chen Z., Citro C., Ghemawat S. TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems // arXiv preprint arXiv:1603.04467. 2016.
- Jia Y., Shelhamer E., Donahue J, Karayev S., Long J., Girshick R., Darrell T. Caffe: Convolutional architecture for fast feature embedding // Proceedings of the ACM International Conference on Multimedia. 2014. P. 675–678. DOI 10.1145/2647868.2654889.
- Marblestone A.H., Zamft B.M., Maguire Y.G., Shapiro M.G., Cybulski T.R., Glaser J.I., Amodei D., Stranges P.B., Kalhor R., Dalrymple D.A. et al. Physical principles for scalable neural recording // Frontiers in Computational Neuroscience. 2013. V. 7. P. 137. DOI 10.3389/fncom.2013.00137.
- Осипов П. PyBrain работаем с нейронными сетями на Python. [Электронный ресурс] – Режим доступа: https://habrahabr.ru/ post/148407/, дата обращения 17.09.2023.
- A Neural Network in 11 lines of Python (Part 1). [Электронный ресурс] – Режим доступа: http://iamtrask.github.io/2015/07/12/ basic-python-network/, дата обращения 17.09.2023.
- Ковалев В.А., Калиновский А.А., Ковалев С.Л. Сравнительный анализ фреймворков глубинного обучения // Big Data and Advanced Analytics. 2016. № 2. С. 218–228.
- Ганцева Е.А., Барабанов В.Ф., Гребенникова Н.И., Болдырев Д.С. Программная реализация конструктора нейронных сетей // Вестник Воронежского государственного технического университета. 2017. Т. 13. № 6. С. 25–31.
- Попков С.И. Программная реализация межъязыкового взаимодействия на базе динамических библиотек // Нейрокомпьютеры: разработка, применение. 2018. № 3. С. 39–49.
- Кочитов М.Е., Баженов Р.И. Использование библиотеки BRAINJS для разработки нейронной сети на языке программирования JAVASCRIPT // Международный журнал информационных технологий и энергоэффективности. 2019. Т. 4. № 4(14). С. 15–28.
- Гусева А.И., Малыхина Г.Ф. Библиотека программ для распознавания объектов по данным аэрофотосъемки // Сб. докладов студ. науч. конф. Института информационных технологий и управления «Информатика и кибернетика». 2015. С. 177–179.
- Панфилова К.В., Воротнев Д.В., Голованов Р.В., Умняшкин С.В., Шаронов И.О. Способы разработки библиотеки импорта структуры нейронных сетей формата NNEF для стандарта OPENVX // Вопросы радиоэлектроники. 2018. № 8. С. 112–119.
- Саверский В.О. Функциональные возможности фреймворка CORE ML // StudNet. 2020. Т. 3. № 7. С. 619–627.
- Денисенко А.А. Решение задачи бинарной классификации при помощи свёрточных нейронных сетей с использованием фреймворка TENSORFLOW // Материалы V Междунар. науч. конф. «Актуальные вопросы технических наук». 2019. С. 1–4.
- Зотов А.В., Филиппенко В.А. Возможности фреймворков машинного обучения с открытым исходным кодом для анализа данных // Энигма. 2019. Т. 1. № 11-1. С. 679–687.
- Бунякина Е.В., Гальченко М.И. Применение фреймворка h2o в обработке временных рядов // Наукоемкие технологии в космических исследованиях Земли. 2020. Т. 12. № 4. С. 56–64.
- Степанян И.В. Методология и инструментальные средства проектирования бинарных нейронных сетей // Программирование. 2020. № 1. С. 54–62.
- Создаём простую нейросеть. [Электронный ресурс] – Режим доступа: https://habr.com/ru/company/nix/blog/423647/, дата обращения 17.09.2023.
- С чего начать изучение компьютерного зрения? [Электронный ресурс] – Режим доступа: https://qna.habr.com/q/339327, дата обращения 17.09.2023.
- Нейронная сеть FANN: как установить и настроить ее на Linux и Windows? [Электронный ресурс] – Режим доступа: https://codernet.ru/articles/drugoe/nejronnaya_set_fann_kak_ustanovit_i_nastroit_ee_na_linux_i_windows/, дата обращения 17.09.2023.
- A complete Python Tensorflow Tutorial. [Электронный ресурс] – Режим доступа: https://www.c-sharpcorner.com/article/a-complete-python-tensorflow-tutorial/, дата обращения 17.09.2023.
- Краткое руководство по Tensorflow. [Электронный ресурс] – Режим доступа: https://pythonist.ru/kratkoe-rukovodstvo-po-tensorflow/, дата обращения 17.09.2023.
- Общие понятия Deeplearning4j. [Электронный ресурс] – Режим доступа: https://deeplearning4j.konduit.ai/v/en-1.0.0-beta7/get-ting-started/core-concepts, дата обращения 17.09.2023.
- Руководство C++ [Электронный ресурс] – Режим доступа: https://cplusplus.com/doc/, дата обращения 20.09.2023.
- Java. [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Java, дата обращения 17.09.2023.
- Руководство Python. [Электронный ресурс] – Режим доступа: https://www.python.org, дата обращения 17.09.2023.
- Андриянов Н.А., Волненко А.А., Дементьев В.Е. Мониторинг состояния металлических изделий на основе систем компьютерного зрения // Нейрокомпьютеры: разработка, применение. 2023. T. 25. № 5. С. 50–57. DOI 10.18127/j19998554-202305-07.
- Пять примеров успешного использования ИИ на производстве. [Электронный ресурс] – Режим доступа: https://habr.com/ru/ articles/727358/, дата обращения 17.09.2023.