МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
________________________________________
Факультет Инфокоммуникационных сетей и систем Кафедра Программной инженерии и вычислительной техники
Отчет по преддипломной практике
Предприятие: ГУТ
Период прохождения практики: 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 |
||
2
Введение
Искусственная нейронная сеть — математическая модель, а также ее программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей.
Интерес ученых и специалистов области IT к нейронным сетям растет с каждым годом. Все из-за того, что они позволяют гибко решать задачи различного рода подобно человеческому мозгу: сначала обучаясь на некоторых входных данных, а затем применяя накопленные знания на практике. Возрастает потребность в специалистах этой области, а вместе с тем и в упрощении процесса поиска наиболее жизнеспособных гипотез.
Нейронные сети используются для решения бизнес-задач различного уровня сложности. Каждая задача характеризуется набором последовательных шагов, так называемым конвейером машинного обучения (англ. «machine learning pipeline»). Конвейер включает в себя предобработку данных, создание модели нейронной сети, ее обучение, валидацию, тестирование и экспорт для последующего использования. Некоторые части не изменяются от эксперимента к эксперименту, поэтому их можно выделить в группы и использовать повторно.
Целью данной работы является приложение для упрощения процесса разработки нейронных сетей. Приложение предназначено для решения нескольких проблем конструкторов нейронных сетей: разделение и объединение проектов по средам исполнения, повторное использование кода,
разработка графических приложений для визуализации обучения и тестирования нейронной сети.
Наиболее распространенным среди исследователей инструментом для обработки данных и построения моделей нейронных сетей является язык программирования Python. В связи с этим, необходимо акцентировать внимание на этом языке, на существующих решениях, которые связаны с использованием этого языка, и их подходами к разработке.
3
В качестве задач, которые решало бы данное приложение, были выбраны: классификация изображений и классификация текста. Кроме этих задач, приложение должно позволять пользователю выполнять другие задачи машинного обучения.
Для достижения целей работы необходимо выполнить следующие задачи:
1.Обзор предметной области и анализ существующих решений;
2.Написание формализованных требований;
3.Создание настольного приложения;
4.Визуализация тестирования моделей машинного обучения в пределах установленных задач.
4
1Обзор предметной области и анализ существующих решений
1.1Обзор предметной области
1.1.1 Введение в предметную область
Искусственный интеллект — свойство интеллектуальных систем выполнять творческие функции, которые традиционно считаются прерогативой человека [1].
Машинное обучение — распространенный раздел искусственного интеллекта, цель которого не в прямом решении задачи, а в обучении за счет применения решений множества схожих задач.
Задача машинного обучения — с помощью некоторого алгоритма найти закономерности в исходных данных и научится предсказывать ответ.
Нейросети — один из видов машинного обучения. Преимущества нейронных сетей в способности выявлять очень сложные закономерности в исходных данных, в устойчивости к шумам, в высокой степени параллелизма,
вспособности к обобщению [2].
Вкачестве решаемых задач выбраны: классификация изображений и классификация текста. Все эти задачи являются примерами так называемого обучения с учителем, т.е. данные представляют собой пары «входов» и
«выходов». Входные данные итеративно проходят через модель, вычисляется ошибка, которая затем распространяется через всю модель, благодаря чему она обучается. Есть необходимость в большом количестве размеченных данных (в которых для каждого элемента известен правильный ответ), но, с
другой стороны, это позволяет добиваться достаточно высокого качества обучения.
Для выбранных задач чаще всего используется обобщенный конвейер жизненного цикла данных и моделей, изображенный на рисунке 1.1.
5