Проекты

Нейронные сети. Машинное зрение

Работа призёра открытой городской научно-практической конференции «Наука для жизни» в секции «Машиностроение и транспорт. Робототехника. Информационные технологии. Программирование. Кибернетика. Электроника и приборостроение» среди работ учащихся 7−9 классов

Направление работы: Информационные технологии, Программирование
Авторы работы: ГБОУ Школа № 1575
Предметы: Физика, Химия
Классы: 9 класс
Мероприятия: Открытая городская научно-практическая конференция «Наука для жизни» 04−05 апреля 2019 года

Актуальность

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

Однако проблема, которую исследует автор работы, заключается в том, что большинство учащихся 9−10 профильных классов информационно-технического направления сомневаются в том, что в школе они сумеют изучить и усвоить базовый материал по теме «Нейросети и машинное обучение». Из-за этой проблемы учащиеся не могут в полной мере реализовать свой потенциал в сфере программирования на данный момент.

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

Цель работы

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

Содержание работы

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

Создав и скомпилировав модель сети, автор приступил к её обучению. Для этого требовалось загрузить пакет данных, содержащий в себе 60000 изображений размером 28x28 пикселей.

А затем пропустить его несколько раз через нейросеть, чтобы она могла научиться распознавать различные предметы на изображениях. Опытным путём было выявлено, что 5 раз – это самое оптимальное количество. В конечном итоге сеть успешно определяла предметы на изображениях с вероятностью 89 %.

После обучения в сеть подавался пакет с 10000 изображений.

Ни одного из них сеть не видела раннее. В этом заключалась суть теста: проверить, как хорошо нейросеть работает с неизвестными данными и не переобучилась ли она. Разработанная автором модель показала результат в 87 %, это на 2 % ниже, чем до теста, что говорит о лёгком переобучении, но если уменьшить или увеличить количество эпох хотя бы на одну, то сеть будет показывать результаты, которые хуже. Изначально одним из критериев успешности был факт того, что сеть выдаст результат выше 70 %, поэтому можно утверждать, что цель была достигнута.

Оснащение и оборудование, использованное при создании работы

Персональный компьютер, ЯП Python 3, Jupyter Notebook.

Выводы

Создана рекуррентная нейронная сеть, классифицирующая изображения одежды. Её точность составила 87 %, для современных нейросетей такого типа точность выше 50 % приемлема, а выше 75 % – отличный результат.

Перспективы использования результатов работы

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

Особое мнение

«Я чувствую огромное удовлетворение от проделанной работы. Я справился со всеми поставленными задачами. Эта тема мне была интересна, так как я планирую работать в этой сфере. Проект планирую продолжить и создать усовершенствованную модель.

Я многому научился и готов поделиться своими знаниями с другими людьми»