Нейронные сети в задачах распознавания

Автор работы: Пользователь скрыл имя, 13 Мая 2013 в 12:56, реферат

Краткое описание

Иску́сственные нейро́нные се́ти (ИНС) — математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети Маккалока и Питтса[1]. После разработки алгоритмов обучения, получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления и др.

Прикрепленные файлы: 1 файл

нейронные сети в задачах распознавания.doc

— 423.50 Кб (Скачать документ)

 
Для реализации различных алгоритмов, от которых не требуется функционирование в реальном времени Matlab. Это очень удобный пакет, M-язык которого позволяет сосредоточиться на самом алгоритме не заботясь о выделении памяти, операциях в/в и т.д. Кроме того, множество различных тулбоксов позволяет создавать поистине междисциплинарные приложения в кротчайшие сроки. Можно, например, с помощью Image Acquisition Toolbox подключить вебкамеру, с помощью Image Processing Toolbox обрабатывать изображение с нее, с помощью Neural Network Toolbox формировать траекторию движения робота, а с помощью Virtual Reality Toolbox и Control Systems Toolbox моделировать движение робота. Кстати о Neural Network Toolbox — это довольно гибкий набор инструментов, позволяющий создавать множество нейронных сетей различных типов и архитектур, но, к сожалению, не сверточные НС. Все дело в разделяемых весах. В NN toolbox возможность задавать разделяемые веса отсутствует. 
Чтобы устранить этот недостаток мною был написан класс, позволяющий реализовать СНС произвольной архитектуры и применять их к различным задачам. Скачать класс можно здесь. Сам класс был написан так, чтобы тому, кто им пользуется была максимальная видна структура сети. Все очень обильно прокомментировано, на названии переменных не экономил. Скорость симуляции сети неплоха и составляет доли секунды. Скорость обучения пока не велика (>10 ч)

6. Результаты

 
В программе на matlabcentral прилагается  файл уже натренированной нейросети, а также GUI для демонстрации результатов  работы. Ниже приведены примеры распознавания:

 

 
 
  

Имеется таблица сравнения методов распознавания на базе MNIST. Первое место за сверточными нейросетями с результатом 0.39% ошибок распознавания . Большинство из этих ошибочно распознанных изображений не каждый человек правильно распознает. Кроме того в работе были использованы эластические искажения входных изображений, а также предварительное обучение без учителя.

Нейросетевой "подсказчик" в тактической игре

 

 

Схема пошаговой оптимизации наилучшим образом ложится на схему игры, где последовательные действия одного или нескольких игроков приводят к успеху, обусловленному правилами.Единичное действие, чаще всего называемое ходом, должно либо статистически, либо комбинационно приводить к увеличению "качества" или к уменьшению "штрафа" на пути к победе (или к поражению). И здесь большое значение имеет не только длительный анализ всех возможных продолжений, грозящий цейтнотом, но и огромный опыт и фактические знания, переродившиеся в интуицию и позволяющие действовать механически в условиях блиц-турнира. Следовательно, должны быть реализованы механизмы запоминания и извлечения опыта и знаний в пошаговых действиях. Основным средством такой реализации является нейросеть - как природная, так и искусственная.

Рассмотрим  игру в шахматы. Аналогом пункта в транспортной сети здесь является позиция на шахматной доске, состоящей из 64 клеток. Каждая клетка может быть пустой или иметь значение символа занимаемой фигуры.

При этом позиции  являются симметричными относительно цвета фигур. Игроку, прибегающему к  услугам "подсказчика", главное - указать: "фигуры мои - фигуры противника". Играть можно "самому с собой", как бы поворачивая доску после очередного хода. (Если "подсказчик" играет сам с собой, логично предположить, что такая игра всегда будет сводиться к ничьей?)

Тогда рецепторный  слой однослойной логической нейронной  сети должен состоять (рис. 14.6) из 64 групп нейронов. Каждая группа закреплена за одной клеткой и, в свою очередь, состоит из 13 нейронов-рецепторов. Каждый рецептор закреплен за одним из возможных значений клетки.

 

  Ясно, что в подавляющем числе случаев значение клетки достаточно задавать с помощью единичного значения возбуждения единственного рецептора из тринадцати, соответствующих этой клетке. Так можно задавать позицию для определения следующего хода. Однако можно предусмотреть и неполную, предполагаемую с некоторой достоверностью информацию о значении клетки. Это справедливо, например, для случая игры "вслепую", тем более в сеансе одновременной игры, когда детали ситуации на отдельной доске могут быть забыты.

  Целесообразно использовать приведенную выше целевую функцию с единичными синапсическими весами. Значения порогов несущественны; они могут быть положены равными нулю.

  Комбинации возбуждения рецепторов должны приводить, в соответствии с непосредственными связями, к максимальному значению возбуждения того нейрона выходного слоя, с которым связан текст - рекомендация следующего хода. Текст может включать исторические ссылки, комментарии, мультимедийные эффекты и др.

  Как говорилось, возможно попеременное обращение игроков к нейросети-"подсказчику". Тогда все нечетные обращения соответствуют белым, черные - черным. Однако интереснее игра живого шахматиста с компьютером.

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

Да и объем  информации колоссален! Останутся шахматные позиции без рекомендаций. Здесь необходимо исследовать, насколько указание нейрона, наиболее возбудившегося, может быть принято в качестве совета, - то есть насколько это хотя бы статистически соответствует правильному решению или, по крайней мере, не приводит к снижению качества. Следует ли "учить" нейросеть решению по данной комбинации или достаточно использовать ее способности ассоциативного мышления?На этом пути может производиться совершенствование "подсказчика", что повышает интерес именно игры человека с машиной.

Распознавание образов и классификация

В качестве образов  могут выступать различные по своей природе объекты: символы  текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должнаоднозначно определять класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно[11]. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определённому классу.

Топология такой  сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит[12]. Если на двух или более выходах есть признак принадлежности к классу, считается, что сеть «не уверена» в своём ответе.


Информация о работе Нейронные сети в задачах распознавания