Описание искусственных нейронных сетей. Типы машинного обучения. Анализ существующих библиотек. Разработка алгоритма распознавания дорожных знаков с применением глубоких сверточных сетей и дополнительного классификатора J48. Результаты обучения алгоритма.
Аннотация к работе
Правительство Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образованияЗадача распознавания изображений является очень важной, так как возможность автоматического распознавания компьютером изображений приносит множество новых возможностей в развитии науки и техники, таких, как разработка систем поиска лиц и других объектов на фотографиях, контроля качества производимой продукции без участия человека, автоматического управления транспортом и множество других. Что касается искусственных нейронных сетей, то в последние годы данный раздел машинного обучения получается все большее развитие в связи со значительным повышением вычислительных мощностей существующих компьютеров и повсеместном распространении применения графических карт для вычислений, что позволяет обучать нейронные сети гораздо большей глубины и сложной структуры чем раньше, которые, в свою очередь, показывают значительно лучшие результаты по сравнению с другими алгоритмами для многих задач, в особенности задачи распознавания изображений. Так, например, по результатам ежегодного соревнования по распознаванию изображений IMAGENET-2014 подавляющее большинство успешных алгоритмов использовало глубокие сверточные сети. Так как задача распознавания изображений является очень обширной и в большинстве случаев требует отдельного подхода для различных типов изображений, то рассмотреть задачу распознавания изображений в целом в рамках одного исследования практически невозможно, поэтому было принято решение для примера рассмотреть отдельно такую подзадачу распознавания изображений, как распознавание дорожных знаков. Результатом выполнения данной задачи должен являться программный комплекс, позволяющий пользователю загрузить изображение и получить предсказание класса данного изображенияЗадача распознавания дорожных знаков, которая была рассмотрена в этой работе, является типичной разновидностью задачи классификации: существует несколько видов дорожных знаков - классов, и задача алгоритма - «распознать» знак, то есть отнести его к одному из существующих классов. Суть задачи кластеризации состоит в следующем: на вход алгоритму подается некоторое количество объектов, принадлежащих разным классам (но какому классу принадлежит какой объект неизвестно, может быть неизвестно также само количество классов), и цель работы алгоритма - разбить это множество объектов на подмножества «схожих» объектов, то есть принадлежащих одному классу. Если речь идет о задаче классификации, к наиболее популярным таким семействам относятся, например: · Классификаторы, основанные на правилах (Rule-based Classifiers) - основная идея таких классификаторов заключается в поиске правил отнесения объектов к тому или иному классу в форме “IF - THEN”. В ходе работы нейронной сети на часть ее нейронов, называемых входными, поступает сигнал (входные данные), который некоторым образом распространяется и преобразуется, и на выходе сети (выходных нейронах) можно видеть результат работы сети, например, вероятности отдельных классов. Во-первых, таким образом существенно повышается эффективность обучения сети, так как в каждый момент времени обучается не глубокая структура, а сеть с одним скрытым слоем - в результате исчезают проблемы с уменьшением значений ошибки по мере повышения глубины сети и соответствующим снижением скорости обучения.Для этого планируется использовать дополнительный классификатор, не связанный с нейронными сетями, входными значениями для которого являются результаты классификации каждой из сетей, а выходным - итоговый прогнозируемый класс изображения Для повышения пригодности входных изображений к распознаванию и, соответственно, улучшения результативности работы классификатора, к входным данным должно быть применено несколько типов преобразований, при этом результаты каждого из них должны быть обработаны отдельной сетью, обученной для распознавания именно изображений с данным типом преобразования. Классификатор представляет собой ансамбль из 6 нейронных сетей, функционирующих независимо: 2 многослойных персептрона и 4 сверточных сети. Для агрегации результатов всех сетей используется дополнительный классический классификатор, в качестве которого было использовано 2 варианта: алгоритм J48, основанный на дереве решений, и алгоритм KSTAR, представляющий собой “ленивый” классификатор. Преобразования, которые используются в классификаторе: · Бинаризация - изображение заменяется новым, состоящим из пикселей только черного и белого цветов.Данный датасет состоит из 51840 изображений, принадлежащих 43 классам. Распределение количества изображений по классам представлено на рисунке 9. В алгоритме классификации используются изображения двух размеров - 45*45 (для обучения многослойного перспетрона на бинаризированных данных) и 60*60 (для обучения остальных сетей), поэтому для каждого изображения обучающего и тестового множества были созданы экземпляры этих двух размеров.