Распознавание образов с помощью нейронных сетей
Описание задачи и практические приложения задачи распознавания образов. Проблема разделения классов (проблема "исключающего ИЛИ"). Определение отношения XOR как известный пример нелинейной проблемы. Обучение по алгоритму обратного распространения ошибки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 09.10.2013 |
Размер файла | 39,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Лекция № 5
Распознавание образов с помощью нейронных сетей
1. Описание задачи и практические приложения задачи распознавания образов
Многие существующие задачи можно интерпретировать как задачи распознавания (классификации). Например, имеется немало вариантов изображения цифры 1, но все эти изображения должны принадлежать к одному классу - классу «1»; распознавание слов в звуковой записи, воспроизводимой динамиком магнитофона - тоже пример распознавания (классификации).
Когда мы знаем, к какому классу относится каждый из учебных примеров, можно использовать управляемое обучение. Задачей для сети является ее обучение тому, как сопоставить предъявляемый образец с контрольным целевым образцом, представляющим нужный класс. Например, сети можно предъявить изображений цифры 1 и обучить сеть тому, что при этом соответствующий 1 выходной элемент должен быть включен. А выходные элементы, соответствующие другим цифрам - выключены. В этом случае входной образец может быть набором значений. Характеризующих пиксели изображения в оттенках серого, а целевой выходной образец - вектором, значения всех координат которого должны быть равными 0, за исключением координаты, соответствующей выходному элементу, представляющему 1.
Чтобы понять каким образом работает НС при решении задачи распознавания, рассмотрим тривиальную задачу и используем для решения этой задачи самый простой тип сети.
Задача состоит в выработке правил классификации самолетов для бомбардировщиков и истребителей в зависимости от их максимальной скорости и максимального взлетного веса (рис. 1). Такие правила могут быть заданы формально:
ЕСЛИ вес>0.80 И скорость < 0.55, ТО бомбардировщик,
ЕСЛИ вес<0.90 И скорость > 0.25, ТО истребитель,
Разделение, порожденное этими правилами, вполне успешно классифицирует самолеты, но оказывается не слишком гибким, если по этим правилам придется классифицировать новый самолет.
Размещено на http://www.allbest.ru/
Рис. 1
Кроме того, эти правила в указанном виде ничего не сообщают о том, насколько точной будет классификация нового самолета.
Альтернативный подход к использованию правил заключается в выводе функции классификации путем построения прямой, разделяющей два класса. Для нового самолета нам нужно просто указать точку на плоскости, соответствующую известным значениям максимальной скорости и максимального взлета и посмотреть, по какую сторону от прямой будет расположена эта точка. В данном случае для небольшого числа самолетов рассмотрены два признака, скорость и вес, поэтому можно представить данные в виде изображения на плоскости. Однако если придется иметь дело с сотнями самолетов и значительно большим числом признаков, задачу классификации в виде простой картинки представить будет невозможно.
Выход заключается в использовании функции выбора решения. Уравнение прямой, разделяющей два типа самолетов, записывается в следующем виде:
х2=1.5х1+0.5
где х1 представляет скорость, а х2 - вес. Это уравнение можно использовать для создания функции выбора решения:
Например, истребитель, представленный точкой (0.4, 0.5), даст
и функция выбора решения правильно классифицирует эту точку, как истребитель.
Предлагаемую функцию выбора решения можно моделировать с помощью нейронной сети и реализовать в виде аппаратных средств
2. Проблема разделения классов (проблема «исключающего ИЛИ»)
Для задачи классификации, например, выяснения типа самолетов, если прямая (для размерности два) или гиперплоскость (для размерности n) может разделить все образцы на соответствующие им классы, то проблема является линейной. Если же для решения проблемы разделения классов требуется несколько прямых или гиперплоскостей, то проблема называется нелинейной. Широко известным примером нелинейной проблемы является проблема моделирования отношения XOR. Определение отношения XOR приведено в таблице 1.
образ распознавание нелинейный алгоритм
Таблица 1
х |
у |
z |
|
1 |
1 |
0 |
|
1 |
0 |
1 |
|
0 |
1 |
1 |
|
0 |
0 |
0 |
Проблема XOR таким образом является нелинейной, и для ее решения с помощью НС имеется две возможности: либо использовать сеть, которая будет строить две или больше прямых для разделения данных, либо изменить вид вводимых данных. Последняя возможность может превратить проблему в линейную, если к двум имеющимся вводимым признакам добавить третий и сделать пространство вводимых данных трехмерным (в результате два класса будут размещаться в двух противоположных вершинах куба). Однако данный подход не является нейронным решением, поэтому предпочтительным является работа сети в условиях нелинейной проблемы. Таким образом, мы сосредоточимся на решении, использующем две прямые для разделения классов. Такая сеть потребует элемента, каждый из которых получит на входе по два значения, чтобы представить две разделяющие прямые, и третий элемент, объединяющий информацию об этих двух прямых. Проблема моделирования отношения XOR приведена на рис. 2.
Размещено на http://www.allbest.ru/
Рис. 2.
На рис. 3. приведена архитектура НС, которая будет моделировать две разделяющие границы.
Размещено на http://www.allbest.ru/
Рис. 3
Для элементов входного слоя будут использоваться индекс i , для элементов скрытого слоя - j, а для элементов выходного слоя - k. В сети на рис. 3. элементы разделены на три слоя. Элементы первого слоя являются элементами ввода данных в сеть. Второй слой элементов называется скрытым слоем - скрытые элементы связаны только с другими элементами и не имеют непосредственных связей с внешней средой. Выходной слой предназначен для передачи ответа сети во внешнюю среду.
В табл. 2. показаны комбинированный ввод и вывод (при использовании пороговой функции) для элементов скрытого слоя при ответе на вводимые данные проблемы XOR.
Таблица 2
Комбинированный ввод скрытого слоя |
Вывод скрытого слоя |
|||||
х |
у |
Элемент 1 |
Элемент 2 |
Элемент 1 |
Элемент 2 |
|
1 |
1 |
-0.5 |
-1.5 |
0 |
0 |
|
1 |
0 |
0.5 |
-0.5 |
1 |
0 |
|
0 |
1 |
0.53 |
-0.5 |
1 |
0 |
|
0 |
0 |
1.5 |
0.5 |
1 |
1 |
Вводимые образы преобразуются под воздействием весовых коэффициентов первого слоя и скрытых элементов. Второй слой весов, соединяющих скрытый слой с выходным слоем, тоже будет моделировать прямую, поскольку у единственного выходного элемента также имеется два вводимых значения и значение смещения. Если выходной элемент правильно указывает класс, соответствующий каждому вводимому образцу, то данные ввода для второго слоя весов должны быть линейно отделимы. Можно проверит это с помощью нанесения на плоскость точек, соответствующих выводу скрытых элементов, как показано на рис. 4.
Рис. 4.
Как видно из рис. 4. в результате прохождения первого слоя весов исходная точка (0,1) переместилась в (1,0), а точки (0,0) и (1,1) поменялись местами.
Прежде чем обратиться к рассмотрению алгоритма обучения, дающего возможность сети научиться находить решения, необходимо подчеркнуть важность функции преобразования (функции активности), связываемой с каждым элементом сети. Примером нелинейной функции активности является пороговая функция. Примером линейной функции является тождественная функция, при которой вывод оказывается равным вводу.
3. Обучение по алгоритму обратного распространения ошибки
В общем случае задача обучения НС сводится к нахождению некой функциональной зависимости Y=F(X) где X- входной, а Y- выходной векторы. В общем случае такая задача, при ограниченном наборе входных данных, имеет бесконечное множество решений. Для ограничения пространства поиска при обучении ставится задача минимизации целевой функции ошибки НС, которая находится по методу наименьших квадратов:
(1)
где
yj- значение j-го выхода НС
dj- целевое значение j-го выхода
p- число нейронов в выходном слое
Обучение НС производится методом градиентного спуска, т.е. на каждой итерации изменение веса производится по формуле
(2)
где h - параметр, определяющий скорость обучения.
(3)
где
yj - значение выхода j-го нейрона
Sj - взвешенная сумма входных сигналов, определяемая по формуле
При этом множитель
(4)
где
- значение i-го входа нейрона
Далее рассмотрим определение первого множителя формулы (3)
(5)
где
k - число нейронов в слое n+1.
Введем вспомогательную переменную
(6)
Тогда мы сможем определить рекурсивную формулу для определения n-ного слоя, если нам известно следующего (n+1)-го слоя.
(7)
Нахождение же для последнего слоя НС не представляет трудности, так как нам известен целевой вектор, т.е. вектор тех значений, которые должна выдавать НС при данном наборе входных значений.
(8)
И наконец запишем формулу (6) в раскрытом виде
(9)
Рассмотрим теперь полный алгоритм обучения НС:
1. подать на вход НС один из требуемых образов и определить значения выходов нейронов НС
2. рассчитать для выходного слоя НС по формуле (8) и рассчитать изменения весов выходного слоя N по формуле (9)
3. Рассчитать по формулам (7) и (9) соответственно и для остальных слоев НС,
4. Скорректировать все веса НС
(10)
5. Если ошибка существенна, то перейти на шаг 1
На этапе 2 сети поочередно в случайном порядке предъявляются вектора из обучающей последовательности.
Размещено на Allbest.ru
Подобные документы
Создание программного средства, осуществляющего распознавание зрительных образов на базе искусственных нейронных сетей. Методы, использующиеся для распознавания образов. Пандемониум Селфриджа. Персептрон Розенблатта. Правило формирования цепного кода.
дипломная работа [554,8 K], добавлен 06.04.2014Теоретические основы распознавания образов. Функциональная схема системы распознавания. Применение байесовских методов при решении задачи распознавания образов. Байесовская сегментация изображений. Модель TAN при решении задачи классификации образов.
дипломная работа [1019,9 K], добавлен 13.10.2017Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.
курсовая работа [2,6 M], добавлен 29.04.2009Обзор задач, возникающих при разработке систем распознавания образов. Обучаемые классификаторы образов. Алгоритм персептрона и его модификации. Создание программы, предназначенной для классификации образов методом наименьшей среднеквадратической ошибки.
курсовая работа [645,2 K], добавлен 05.04.2015Анализ нейронных сетей и выбор их разновидностей. Модель многослойного персептрона с обучением по методу обратного распространения ошибки. Проектирование библиотеки классов для реализации нейросети и тестовой программы, описание тестирующей программы.
курсовая работа [515,4 K], добавлен 19.06.2010Основные понятия теории распознавания образов и ее значение. Сущность математической теории распознавания образов. Основные задачи, возникающие при разработке систем распознавания образов. Классификация систем распознавания образов реального времени.
курсовая работа [462,2 K], добавлен 15.01.2014Обучение нейронных сетей как мощного метода моделирования, позволяющего воспроизводить сложные зависимости. Реализация алгоритма обратного распространения ошибки на примере аппроксимации функции. Анализ алгоритма обратного распространения ошибки.
реферат [654,2 K], добавлен 09.06.2014Рассмотрение способов применения и основных понятий нейронных сетей. Проектирование функциональной структуры автоматизированной системы построения нейросети обратного распространения ошибки, ее классов и интерфейсов. Описание периода "бета тестирования".
дипломная работа [3,0 M], добавлен 02.03.2010Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015