Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по практике / Отчет по практике.docx
Скачиваний:
60
Добавлен:
11.06.2022
Размер:
2.46 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

________________________________________

Факультет Инфокоммуникационных сетей и систем

Кафедра Программной инженерии и вычислительной техники

Отчет по преддипломной практике

Предприятие: ГУТ

Период прохождения практики: 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. Написание формализованных требований;

  3. Создание настольного приложения;

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

  1. Обзор предметной области и анализ существующих решений

    1. Обзор предметной области

      1. Введение в предметную область

Искусственный интеллект — свойство интеллектуальных систем выполнять творческие функции, которые традиционно считаются прерогативой человека [1].

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

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

Нейросети — один из видов машинного обучения. Преимущества нейронных сетей в способности выявлять очень сложные закономерности в исходных данных, в устойчивости к шумам, в высокой степени параллелизма, в способности к обобщению [2].

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

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

Рисунок 1.1 — Обобщенный конвейер машинного обучения

Некоторые шаги конвейера (выбор параметров обучения и валидации, сохранение результатов, экспорт моделей) от задачи к задаче почти не меняются. Чаще всего используется один подготовленный набор данных (англ. «dataset»), а в ходе экспериментов меняются только модели и параметры обучения. Из этого следует, что значительные части кода можно сделать шаблонными для максимального повторного использования.

Соседние файлы в папке Отчет по практике