
- •1 Обзор предметной области и анализ существующих решений 5
- •Введение
- •Обзор предметной области и анализ существующих решений;
- •Обзор предметной области и анализ существующих решений
- •Обзор предметной области
- •Введение в предметную область
- •Классификация изображений
- •Классификация текста
- •Анализ существующих решений
- •Графические приложения на основе iPython
- •Обзор состояния науки о данных и машинного обучения
- •Заключение
- •Список использованных источников
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
________________________________________
Факультет Инфокоммуникационных сетей и систем
Кафедра Программной инженерии и вычислительной техники
Отчет по преддипломной практике
Предприятие: ГУТ
Период прохождения практики: 23.04.22 – 06.06.22
-
Выполнил Коваленко Леонид Александрович, ИКПИ-84
(Ф.И.О., № группы)
Подпись студента_____________________
Руководитель практики от базы практики:
_____________________________________
(Ф.И.О., Подпись)
Оценка ______________________________
Руководитель практики от кафедры:
_____________________________________
(кафедра, Ф.И.О.)
_____________________________________
(Подпись)
Санкт-Петербург
2022
СОДЕРЖАНИЕ
Введение 3
1 Обзор предметной области и анализ существующих решений 5
1.1 Обзор предметной области 5
1.1.1 Введение в предметную область 5
1.1.2 Классификация изображений 6
1.1.3 Классификация текста 7
1.2 Анализ существующих решений 8
1.2.1 MATLAB Deep Learning Toolbox 8
1.2.2 Графические приложения на основе IPython 9
1.2.3 Neural Network Console WinAPP 13
1.2.4 Net Maker 14
1.2.5 Simbrain 15
1.3 Обзор состояния науки о данных и машинного обучения 16
1.4 Выводы 17
Заключение 18
Список использованных источников 18
Введение
Искусственная нейронная сеть — математическая модель, а также ее программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей.
Интерес ученых и специалистов области IT к нейронным сетям растет с каждым годом. Все из-за того, что они позволяют гибко решать задачи различного рода подобно человеческому мозгу: сначала обучаясь на некоторых входных данных, а затем применяя накопленные знания на практике. Возрастает потребность в специалистах этой области, а вместе с тем и в упрощении процесса поиска наиболее жизнеспособных гипотез.
Нейронные сети используются для решения бизнес-задач различного уровня сложности. Каждая задача характеризуется набором последовательных шагов, так называемым конвейером машинного обучения (англ. «machine learning pipeline»). Конвейер включает в себя предобработку данных, создание модели нейронной сети, ее обучение, валидацию, тестирование и экспорт для последующего использования. Некоторые части не изменяются от эксперимента к эксперименту, поэтому их можно выделить в группы и использовать повторно.
Целью данной работы является приложение для упрощения процесса разработки нейронных сетей. Приложение предназначено для решения нескольких проблем конструкторов нейронных сетей: разделение и объединение проектов по средам исполнения, повторное использование кода, разработка графических приложений для визуализации обучения и тестирования нейронной сети.
Наиболее распространенным среди исследователей инструментом для обработки данных и построения моделей нейронных сетей является язык программирования Python. В связи с этим, необходимо акцентировать внимание на этом языке, на существующих решениях, которые связаны с использованием этого языка, и их подходами к разработке.
В качестве задач, которые решало бы данное приложение, были выбраны: классификация изображений и классификация текста. Кроме этих задач, приложение должно позволять пользователю выполнять другие задачи машинного обучения.
Для достижения целей работы необходимо выполнить следующие задачи:
Обзор предметной области и анализ существующих решений;
Написание формализованных требований;
Создание настольного приложения;
Визуализация тестирования моделей машинного обучения в пределах установленных задач.
Обзор предметной области и анализ существующих решений
Обзор предметной области
Введение в предметную область
Искусственный интеллект — свойство интеллектуальных систем выполнять творческие функции, которые традиционно считаются прерогативой человека [1].
Машинное обучение — распространенный раздел искусственного интеллекта, цель которого не в прямом решении задачи, а в обучении за счет применения решений множества схожих задач.
Задача машинного обучения — с помощью некоторого алгоритма найти закономерности в исходных данных и научится предсказывать ответ.
Нейросети — один из видов машинного обучения. Преимущества нейронных сетей в способности выявлять очень сложные закономерности в исходных данных, в устойчивости к шумам, в высокой степени параллелизма, в способности к обобщению [2].
В качестве решаемых задач выбраны: классификация изображений и классификация текста. Все эти задачи являются примерами так называемого обучения с учителем, т.е. данные представляют собой пары «входов» и «выходов». Входные данные итеративно проходят через модель, вычисляется ошибка, которая затем распространяется через всю модель, благодаря чему она обучается. Есть необходимость в большом количестве размеченных данных (в которых для каждого элемента известен правильный ответ), но, с другой стороны, это позволяет добиваться достаточно высокого качества обучения.
Для выбранных задач чаще всего используется обобщенный конвейер жизненного цикла данных и моделей, изображенный на рисунке 1.1.
Рисунок 1.1 — Обобщенный конвейер машинного обучения
Некоторые шаги конвейера (выбор параметров обучения и валидации, сохранение результатов, экспорт моделей) от задачи к задаче почти не меняются. Чаще всего используется один подготовленный набор данных (англ. «dataset»), а в ходе экспериментов меняются только модели и параметры обучения. Из этого следует, что значительные части кода можно сделать шаблонными для максимального повторного использования.