Создание программы, осуществляющей распознавание жестов мыши и выполняющей ассоциированные с ними действия - Программирование, компьютеры и кибернетика дипломная работа

Главная
Программирование, компьютеры и кибернетика
Создание программы, осуществляющей распознавание жестов мыши и выполняющей ассоциированные с ними действия
Обзор и анализ распространенных искусственных нейронных сетей. Функциональное назначение слоев сети, алгоритмы обучения. Описание функциональных возможностей разработанной программной системы. Анализ исследовательской эксплуатации и возможных применений.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Перечень условных обозначений, символов, единиц, сокращений и терминов
1 Анализ проблемной области и постановка задачи
1.2 Машинное моделирование искусственных нейронов
2.2.2 Вычисление расстояния от точки до отрезка
2.2.3 Преобразование отрезков в косинусы углов наклона
3 Описание разработанной программной системы
5 Анализ исследовательской эксплуатации и возможных применений
Приложение Б Безопасность жизни и деятельности человека
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ
ООП-объектно-ориентированное программирование;
БЖДЧ-безопасность жизни и деятельности человека;
Со времени появления первых компьютерных устройств ввода информации не многое изменилось. Несмотря на относительно регулярное появление нового оборудования, взаимодействие человека с компьютером, как и раньше, ограничено такими устройствами, как клавиатура, мышь, трекбол, световое перо и т.д.
Эти устройства привычны человеку, однако они существенно ограничивают скорость и естественность его общения с машиной. Вместе с ростом мощи современных компьютеров появляется все большее количество разнообразных периферийных устройств. В настоящее время вполне реальны системы компьютерного зрения, т.е. машина уже в состоянии “видеть”.
Таким образом, пользователям становится доступным более эффективное и дружественное взаимодействие с компьютером. В ближайшем будущем это приведет к появлению новых интерфейсов с возможностями, несравнимыми со всеми существующими устройствами ввода.
Исследования в области ИНС пережили три периода активизации. Последний начался с начала 80-х годов. ИНС вновь привлекли интерес исследователей, это было связано с энергетическим подходом Хопфилда [2] и алгоритмом обратного распространения для обучения многослойного персептрона (многослойные сети прямого распространения), впервые предложенного Вербосом [3] и независимо разработанного рядом других авторов. Алгоритм получил известность благодаря Румельхарту [4] в 1986 году. Андерсон и Розенфельд [5] подготовили подробную историческую справку о развитии ИНС.
Большое внимание к нейронным сетям обусловлено их сходством с биологическими системами, обладающими высокими способностями к идентификации и адаптации. Параллельный характер сетей позволяет существенно повысить скорость выполнения вычислений. Благодаря наличию нелинейных передаточных функций, нейросеть способна аппроксимировать нелинейное поле с любой степенью точности. Тот факт, что параметры сети настраиваются лишь на основе данных о входе и выходе, дает возможность использования сетей как адаптивных или обучающихся систем в условиях неопределенности. Благодаря этим довольно привлекательным характеристикам, искусственные нейронные сети показали невероятно высокие результаты в задачах распознавания образов, в проблемах оптимизации, идентификации и управления нелинейными объектами при наличии структурных сбоев. В частности, для распознавания образов, в сложных административных системах, в банках и на биржах для прогнозирования курсов валют, где модели носят нелинейный характер и требуют идентификации и управления в реальном времени [6].
Одним из перспективных способов ввода информации является ввод жестов, применяемый во многих современных карманных компьютерах. Этот метод возник и получил свое применение еще в 70-х годах. С тех пор многочисленные приложения использовали похожие интерфейсы, позволяя пользователям выполнять сложные операции с использованием устройства ввода. К современным программам, использующим распознавание жестов мыши, можно отнести такие известные Web-браузеры, как Opera и Mozilla.
К примеру, Mozilla использует такой алгоритм распознавания жестов. После записи жеста каждая последующая его точка сравнивается с предыдущей и генерируется одно из 4-х возможных направлений, причем одинаковые направления объединяются в одно. Далее выполняется поиск полученной последовательности в таблице жестов. Если искомый образец не найден, производится дополнительный ряд упрощений жеста, после чего поиск повторяется [7].
В данном дипломом проекте делается достаточно удачная попытка применения теории искусственных нейронных сетей к задаче распознавания жестов.
1 АНАЛИЗ ПРОБЛЕМНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ
За последние пять лет было написано несколько книг, в которых теория и общее приложение нейронных сетей излагались ясным способом: Wasserman, 1989; Caudill и Butler, 1989 и 1992: Hecht-Nielsen, 1990: Maren, Harston и Pap, 1990; Simpson, 1990; Nelson и Illingsworth, 1990. Эти книги и обширное количество конференций и периодической технической литературы: Proceedings of the International Neural Network Society Meetings с 1987 по 1994; Journal of Neural Computing; Neural Networks; IEEE Transactions for Neural Networks; и Neural Computing ; охватили фундаментальные концепции и технологию нейронных сетей и их потенциальное приложение к многочисленным полям.
Сеть искусственных нейронов, обычно называемая искусственной нейронной сетью, является системой обработки данных, состоящей из большого количества простых, высоко связанных элементарных процессоров в архитектуре, вдохновленной структурой мозговой части коры мозга. Следовательно, нейронные сети часто способны к выполнению вещей, которые люди или животные делают довольно хорошо, но которые обычные компьютеры часто делают плохо. Нейронные сети показывают характеристики и возможности, не обеспеченные любой другой технологией.
К задачам, успешно решаемым ИНС на данном этапе их развития, относятся:
- распознавание зрительных, слуховых образов (от распознавания текста и целей на экране радара до систем голосового управления);
- ассоциативный поиск информации и создание ассоциативных моделей: синтез речи и формирование естественного языка;
- формирование моделей и различных нелинейных и трудно описываемых математических систем; прогнозирование развития этих систем во времени: применение на производстве, прогнозирование развития циклонов и других природных процессов; прогнозирование изменений курсов валют и др. финансовых процессов;
- системы управления и регулирования с предсказанием: управление роботами;
- разнообразные конечные автоматы: системы массового обслуживания,
- принятие решений и диагностика, исключающие логический вывод, особенно в областях, где отсутствуют четкие математические модели: в медицине, криминалистике.
Нейрон (биологический) - одна из 1015 клеток мозга, способная генерировать электрический импульс, в случае, когда суммарный потенциал превысит критическую величину. Соединяясь, друг с другом, нейроны образуют сеть, по которой путешествуют электрические импульсы. Контакты между нейронами (синапсы), могут менять эффективность передачи сигналов (вес связи) от нейрона к нейрону. Самая популярная на сегодняшний день гипотеза основана на том, что именно нейронные сети мозга обрабатывают информацию. При этом «обучение» сети и запоминание информации базируется на настройке значений весов связей между нейронами [8].
Человеческий мозг комплексная вычислительная система, способная к размышлению, запоминанию, сохранению образов, и проблемам решения. Мозг содержит приблизительно 100 миллиардов нейронов (фундаментальные ячеистые модули возбужденной системы мозга) которые плотно связаны с сотнями возможно тысячами связей в нейроне.
Нейрон простой процессор, который получает и комбинирует сигналы от других нейронов до входных путей называемых дендритами. Если объединенные сигналы от всех дендритов достаточно сильны, нейронные вспышки производят сигнал вывода по пути называемому аксоном. Разбиения аксона, соединяясь с сотнями или тысячами дендритов вводят пути других нейронов через синапсы (соединения, содержащие жидкость нейромедиатора управление потоком сигналов) расположенный в дендритах. Передача сигналов поперек синапсов электрохимическая по своей природе, и величины сигналов зависят от синоптических сил синапсов. Сила или проводимость (инверсия сопротивления) синоптического соединения изменяются, поскольку мозг "учится". Синапсы основные "модули памяти" мозга, и регулирование этих синапсов составляет обучение [9].
Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов - однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон - выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Общий вид нейрона приведен на рисунке 1.1. Каждый синапс характеризуется величиной синоптической связи или ее весом w i .
нейронная сеть мышь распознавание программа
Текущее состояние нейрона определяется, как взвешенная сумма его входов:
Выход нейрона есть функция его состояния:
Нелинейная функция f называется активационной и может иметь различный вид, как показано на рисунке 1.2. Одной из наиболее распространенных является нелинейная функция с насыщением, так называемая логистическая функция или сигмоид (т.е. функция S -образного вида):
Рисунок 1.2 - а) функция единичного скачка; б) линейный порог (гистерезис); в) гиперб о лический тангенс; г) сигмоид - формула (1.3)
При уменьшении сигмоид становится более пологим, в пределе при =0 вырождаясь в горизонтальную линию на уровне 0.5, при увеличении сигмоид приближается по внешнему виду к функции единичного скачка с порогом T в точке x =0. Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне [0,1].
1.2 Машинное моделирование искусственных нейронов
Машинное моделирование мозговых функций обычно набирает форму сети искусственных нейронов, называемых элементарными процессорами, но иногда называемых узлами. Эти элементарные процессоры аналогичны нейрону, в котором они имеют много вводов (дендриты) и объединяются значениям вводов, откорректированных их синоптическими силами. Эта сумма тогда подвергается нелинейному фильтру, часто называемому функцией преобразования типа, которая управляет выводом в соответствии с предписанными нелинейными отношениями. Если функция преобразования типа пороговая функция, сигналы вывода сгенерируются только, если сумма взвешенных вводов превышает пороговое значение.
Если функция преобразования типа непрерывна нелинейного (или линейного) отношения, вывод непрерывная функция объединенного ввода. Обычно используется функция преобразования типа сигмоидальная функция, которая изменяется гладко от нуля (для больших отрицательных значений) до единицы (для больших положительных значений) со значением 1/2 для нулевого ввода. Аксон вывода элементарного процессора выделяется и становится вводом для многих других элементарных процессоров. Эти сигналы проходят через связи (синоптические соединения) которые соответствуют синоптической силе нейронных связей. Входные сигналы на элементарный процессор изменяются весом подключения до подведения итогов элементарным процессором [10].
Искусственная нейронная сеть может быть определена как вычислительная система обработки, состоящая из многих элементарных процессоров, соединенных вместе в структуру, похожую на структуру мозга. Эти элементарные процессоры обычно организовываются в последовательности уровней, с полными связями между уровнями. Как правило, имеется три (или больше) уровней: входной уровень, где данные представлены в сеть через входной буфер, уровень вывода с буфером который отвечает за вывод на данный ввод, и один или большее количество промежуточных или "скрытых" уровней. Искусственная нейронная сеть возводит в степень два процесса: обучение и повторный вызов. Обучение - процесс приспосабливания весов связей в ответ на внешние стимулы, представленные во входном буфере. Сеть " учится" в соответствии с узнающим правилом, управляющим регулированием весов связей в ответ на обучение примеров, находящихся в буферах вводов и вывода. Повторный вызов процесс принятия ввода и создания ответа, определенного геометрией и синоптическими весами сети.
Искусственные нейронные сети чрезвычайно разнообразные за конфигурациями. Несмотря на это, сетевые парадигмы имеют много общего. Использованные в данном пособии обозначения и графические изображения были избранные как наиболее распространенные в данное время.
Нейронные сети различают за топологическими типами соответствующие структуре связей между нейронами сети, а также за типом использованных формальных нейронов.
За структурой нейронные сети можно разделить на неполносвязные и полносвязные, со случайными и постоянными (регулярными) связями, симметричными и несимметричными связями (рисунок 1.3).
Рисунок 1.3 - Классификация нейронных сетей
Неполносвязные нейронные сети (описываются неполносвязным ориентированным графом и названы персептронами) делятся на однослойные (простые персептроны) и многослойные с прямыми, перекрестными и обратными связями.
В нейронных сетях с прямыми связями нейроны j -ого слоя на входах могут соединяться только с нейронами i -ых слоев, где j > i , то есть с нейронами слоев, которые лежат ниже.
В нейронных сетях с перекрестными связями припускаются связи внутри одного слоя, то есть приведенная выше неравенство заменяется на j и .
В нейронных сетях с обратными связями используются связи j -ого слоя на входах с i -ым при j < i . Кроме того, за видом связей различают персептроны с регулярными и случайными связями.
За сигналами, которые подаются на входы и выходы, нейронные сети можно разделить на аналоговые и бинарные.
За моделированием времени - на сети с беспрерывным и дискретным временем. Для программной реализации применяется, как правило, дискретное время.
По способу подачи информации на входы нейронной сети различают:
- подачу сигналов на синапсы входных нейронов;
- подачу сигналов к выходам входных нейронов;
- подачу сигналов в виде веса синапсов входных нейронов.
По способу снятия информации из выходов нейронной сети различают:
- снятия из выходов исходных нейронов;
- снятия с синапсов исходных нейронов;
- снятия в виде значений веса синапсов исходных нейронов.
По способу организации обучения разделяют обучение нейронных сетей с учителем (supervised neural networks) и без учителя (nonsupervised).
По способу представления примеров различают представление одиночных примеров и "страницы" примеров. В первом случае изменение состояния нейронной сети (обучения) происходит после представления каждого примера. Во втором - после представления "страницы" (множества) примеров на основании анализа сразу всех их.
По специфике особенностями модели нейрона, различают нейроны с разными нелинейными функциями.
Разные модели ИНС с целью сравнения можно характеризовать такими свойствами (некоторые из них связанные с вышеуказанной классификацией нейронных сетей):
- структура связей между нейронами;
- особенности функционирования в случае распознавания (тестирования);
- емкость сети - количество образов (классов), которые может запоминать и распознавать сеть.
1) двунаправленная ассоциативная память (ДАП) (ассоциативная память, распознавание образов);
2) многослойный персептрон (распознавание образов, классификация);
3) однослойный персептрон (распознавание образов, классификация);
4) Хемминга (распознавание образов, классификация, ассоциативная память);
5) Аутстар (распознавание образов, классификация);
7) Макснет (совместно с сетью Хемминга, в составе нейросетевых систем распознавания образов);
8) нейросетевой гауссов классификатор (распознавание образов, классификация);
9) вероятностная НС (классификация);
10) обобщенно-регрессионная (задачи регрессии);
1) сеть адаптивной резонансной теории 1 (АРТ-1) (распознавание образов, кластерный анализ);
2) сеть Хемминга (распознавание образов, классификация, ассоциативная память, надежная передача сигналов в условиях помех);
Предлагается архитектура многослойной искусственной нейронной сети и алгоритмы настройки ее параметров, сочетающие в себе достоинства многомодельного подхода и аппроксимирующие свойства нейронных сетей с нелинейными функциями активации. Изменение свойств стохастической последовательности фиксируется нейроном выходного слоя, который вычисляет вероятности схожести выходов каждой из моделей с входным сигналом и выход наилучшей модели переключает на выход сети.
Лишь для небольшого числа моделей ИНС существует строгое математическое обоснование возможности их применения для решения конкретных практических задач. В наибольшей степени теоретически проработаны двухслойные ИНС с сигмоидальными функциями активации.
В настоящее время отсутствует универсальная методика построения обучающих выборок. Набор обучающих примеров формируется по усмотрению пользователя программы моделирования ИНС индивидуально для решения каждой конкретной задачи. Наиболее распространенной функцией ошибки является среднеквадратическое отклонение. Однако предложены и другие функции ошибки.
Процесс функционирования НС зависит от величины синаптичних связей, поэтому, задавшись определенной структурой НС, которое отвечает определенной задаче, разработчик сети должен найти оптимальные значения всех сменных, весовых коэффициентов (некоторые синоптические связи могут быть постоянными).
Процесс обучения нейронной сети ? это автоматический поиск закономерности между совокупностью учебных данных и заранее известным результатом. В очень упрощенном виде его можно подать в виде некоторых действий, которые вырабатываются в просторные, размерность которого равняется числу классов в задаче. Область каждого класса в просторные отвечает наибольшим значениям "своей" осы координат и наименьшим значением другой оси. В процессе обучения примеры, которые подаются сети много раз, постепенно разносятся как можно дальше от диагонали и как можно ближе к углам, каждый из которых отвечает определенному классу. Чем ближе точка примеров к углам, та лучше наученная сеть.
Обычно с искусственной нейронной сетью используются несколько различных видов изучения. Возможно наиболее обычный так называемое контролируемое обучение. Прежде, чем процесс обучения начинается, все веса установлены в маленькие случайные значения. Тогда обучающийся ввод применяется к входному уровню, размножается через сеть и производит вывод. Этот вывод в отличие от желательного вывода, производит сигнал ошибки, который, в свою очередь, является вводом к процессу корректировки веса. Используются различные алгоритмы изучения, чтобы корректировать веса с приращением. Когда ввод применяется снова на входной буфер, производится приращение вывода, который снова в отличие от желательного вывода производит второй сигнал ошибки. Этот итеративный процесс продолжается, пока вывод искусственной нейронной сети существенно не равен желательному выводу, и неприводимому минимуму. В этой точке, сеть, как считают, "обучается”. Через различные алгоритмы изучения, сеть постепенно конфигурирует себя, чтобы достичь желательных отношений ввода - вывода или "отображения". Контролируемое обучение часто осуществляется с методикой, называемой backpropagation, наиболее общий метод изучения; однако, неконтролируемое обучение, которое осуществлено в сетях Кохонена, также используется во многих ситуациях [8].
Бывают ситуации, когда сеть не может научиться. Это происходит в том случае, когда на определенном этапе обучения исчерпываются дальнейшие возможности поиска закономерностей между учебными параметрами и результатами.
Одна НС учится решать только одну задачу классификации, однако можно использовать для обучения разные учебные выборки. Они могут различаться за количеством примеров, но должны отвечать друг другу за числом учебных параметров, их порядком и числом классов.
Для обучения ИНС можно выделить две большие группы алгоритмов - градиентные (основанные на вычислении частных производных функции ошибки по параметрам сети) и стохастические (поиск минимума функции ошибки ведется случайным образом). Среди градиентных различают алгоритмы первого и второго порядков.
При обучении сетей, как правило, используется один из двух следующих критериев останова: останов при достижении некоторого малого значения функции ошибки, останов в случае успешного решения всех примеров обучающей выборки.
При обучении сетей, как правило, используется один из двух критериев остановки: остановка при достижении некоторого маленького значения функции ошибки, остановка в случае успешного решения всех примеров учебной выборки.
Алгоритмы обучения разделяют на алгоритмы обучения "с учителем" и "без учителя". Алгоритм называется алгоритмом обучения "с учителем", если при обучении известные и входные, и исходные векторы сети. Есть пары вход+выход - известные условия задачи и решения. В процессе обучения сеть изменяет свои параметры и учится давать нужное отображение XY. Сеть учится предоставлять уже известные нам результаты. За счет способности к обобщению сетью может быть получены новые результаты, если подать на вход вектор, который не встречался при обучении (рисунок 1.4).
Рисунок 1.4 - Схема обучения нейронной сети "с учителем"
Алгоритм относится к обучению "без учителя ", если известно только входные вектора, и на их основе сеть учится придавать наилучшее значение выходов (рисунок 1.5).
Рисунок 1.5 - Схема обучения "без учителя"
Все алгоритмы обучения нейронных сетей, которые используются на данный момент, базируются на оценочной функции, которой оценивается качество работы всей сети вообще. При этом есть алгоритм, который в зависимости от полученного значения этой оценки каким-то способом подстраивает сменные параметры системы. Эти алгоритмы характеризуются сопоставимой простотой, однако не разрешают за приемлемое время получить красивую систему управления или модель для довольно сложных объектов. В этом случае человек пока что намного опережает в скорости настройки любую автоматику. Но в последнее время появилась возможность создания алгоритмов, которые за скоростью обучения могут приблизиться к биологическим объектам.
Разработать программу, предназначенную для распознавания жестов мыши на основе нейронной сети, а так же выполнения ассоциированных с ними действий.
Она должна обладать следующими характеристиками и выполнять такие функции:
а) эффективное распознавание жестов мыши, не зависящее от масштаба и скорости ввода;
б) ассоциация действий с любым из поддерживаемых жестов, которыми могут быть запуск программ, открытие документов, вызов функций и т. д.;
в) удобный графический интерфейс пользователя, позволяющий интерактивно создавать и удалять ассоциации;
г) сохранение ассоциированных действий в файле конфигурации;
д) выполнение в фоновом режиме: ввод жестов доступен при работе любого приложения.
Разработать экономическое обоснование и вопросы охраны труда.
Нейроны могут объединяться в сети различным способом. Самым распространенным видом является многослойный персептрон. Сеть состоит из произвольного количества слоев. Нейроны каждого слоя соединяются с нейронами предыдущего и последующего слоев по принципу «каждый с каждым». Первый слой называется сенсорным или входным, внутренние слои называется скрытыми или ассоциативными, последний (самый правый) - выходным или результативным. Количество нейронов в слоях может быть произвольным. Обычно во всех скрытых слоях одинаковое количество нейронов.
Обозначим количество слоев и нейронов в слое. Входной слой: N I нейронов; N H нейронов в каждом скрытом слое; N O выходных нейронов; X - вектор входных сигналов сети, Y - вектор выходных сигналов.
Входной слой не выполняет никаких вычислений, а лишь распределяет входные сигналы.
Обозначим через N L полное кол-во слоев в сети, считая входной.
Работа многослойного персептрона (MLP) описывается формулами:
где S jl - сигнал S j - го нейрона в слое l ;
i номер входа, j - номер нейрона в слое, l - номер слоя;
x ijl i -й входной сигнал j -го нейрона в слое l ;
w il весовой коэффициент i -го входа нейрона номер j в слое l.
jl пороговый уровень нейрона j в слое l .
где X ij - вектор входных сигналов сети.
Введем обозначения w ijl вектор-столбец весов для всех входов нейрона j в слое l , W l - матрица весов всех нейронов слоя l . В столбцах матрицы расположены вектора w jl . Аналогично x jl - входной вектор-столбец слоя l . Каждый слой рассчитывает нелинейное преобразование от линейной комбинации сигналов предыдущего слоя. Отсюда видно, что линейная функция активации может применяться только для тех моделей сети, где не требуется последовательное соединение слоев нейронов друг за другом. Для многослойных сетей функция активации должна быть нелинейной, иначе можно построить эквивалентную однослойную сеть, и многослойность оказывается ненужной. Если применена линейная функция активации, то каждый слой будет давать на выходе линейную комбинацию входов. Следующий слой даст линейную комбинацию выходов предыдущего, а это эквивалентно одной линейной комбинации с другими коэффициентами, и может быть реализовано в виде одного слоя нейронов.
Многослойная сеть может формировать на выходе произвольную многомерную функцию при соответствующем выборе кол-ва слоев, диапазона изменения сигналов и параметров. В МСП нет обратных связей. Такие модели наз. сетями прямого распространения. Чаще всего выбор значений весов порогов требует обучения, т.е. пошаговых изменений весовых коэффициентов и пороговых уровней.
Обучение сети базируется на правильном выборе веса связей между элементами. Избирается такой вес связей, чтобы суммарная среднеквадратичная ошибка для элементов учебной выборки была минимальной. Достичь этого проще, чем помощь разных методов. После обучения персептрона проводится процедура тестирования, которое разрешает оценить результаты работы. Для этого учебную выборку разделяют на две части. Одна часть используется для обучения, а вторая, для которой результат есть известным, задействованная в процессе тестирования. Процент правильных результатов работы сети на этапе тестирования есть показателем качества работы персептрона. Ошибкой сети можно считать Es= ||ds- ys|| для каждого пара (xs, ds). Чаще за все для оценки качества обучения выбирают суммарную квадратичную ошибку:
Реже используется средняя относительная ошибка:
Ее преимущество в том, что она дает значения, которое не зависит направления ни от количества примеров в учебном множестве, ни от размерности исходного вектора, и имеет удобное для восприятие человеком значения в интервале от 0% до 100%.
определить, какой смысл вкладывается в компоненты входного вектора х ; входной вектор должен содержать всю информацию, необходимую для получения ответа;
выбрать выходной вектор у таким образом, чтобы его компоненты содержали полный ответ поставленной задачи;
выбрать вид нелинейности в нейронах (функции активации), при этом желательно учесть специфику задачи, т.к. удачный выбор сократит время обучения;
выбрать число слоев и нейронов в слое;
задать диапазон изменения входов, выходов, весов и пороговых уровней, учитывая множество значений выбранной функции активации;
присвоить начальные значения весовым коэффициентам и пороговым уровням и дополнительным параметрам (например, крутизне функции активации, если она будет настраиваться при обучении); начальные значения не должны быть большими, чтобы нейроны не оказались в насыщении (на горизонтальном участке функции активации), иначе обучение будет очень медленным; также они не должны быть и слишком малыми, чтобы выходы большей части нейронов не были равны нулю, иначе обучение также замедлится;
провести обучение, т.е. подобрать параметры сети так, чтобы задача решалась наилучшим образом; по окончании обучения сеть готова решить задачи того типа, которым она обучена;
подать на вход сети условия задачи в виде вектора x , рассчитать выходной вектор y , который и даст формализованное решение задачи.
Многослойный персептрон может рассчитывать выходной вектор y для любого входного вектора x , т.е. давать значение некоторой векторной функции y = f(x). Следовательно, условие любой задачи, которая может быть поставлена персептрону, должно являться множеством векторов {x 1 ... x S } с N I компонентами каждый: x s = ( x 1 s ... x N I s ) .
Решением задачи будет множество векторов {y 1 ...y S }, каждый вектор y s с N O компонентами; y s = f (x s ), где s =1..S номер предъявленного образа.
Все, что способен сделать персептрон это сформировать отображение X Y для X x . Данное отображение мы не можем "извлечь" полностью из персептрона, а можем только посчитать отображение произвольного количества точек:
где множество векторов x1...xS формализованное условие задачи;
множество y1... yS - формализованное решение.
Задача формализации, т.е. выбора смысла, которым наделяются компоненты входного и выходного векторов, пока решается только человеком на основе практического опыта.
Архитектурой нейронной сети, положенной в основу программы, является многослойный персептрон. Используемая ИНС схематически изображена на рисунке 2.1.
Рисунок 2.1 - Структура нейронной сети
Нейронная сеть имеет следующую структуру:
- число нейронов в скрытом слое - 32.
В качестве активационной функции каждого нейрона сети используется сигмовидная функция, которая имеет следующий вид:
Входной информацией для задачи распознавания жестов мыши с использованием нейронной сети является путь мыши, который представляет собой ломаную линию, состоящую из конечного числа точек. Перед подачей записанного пути мыши на вход ИНС целесообразно выполнить определенное преобразование ломаной, которое должно заключаться в следующем:
а) упрощении ломаной, а именно выделении из нее 17 наиболее значимых точек;
б) преобразовании 16 отрезков, соединяющих 17 наиболее значимых точек, в 32 косинуса их углов наклона относительно осей координат.
Упрощение ломаной дает возможность выделить точки, количество которых соответствует числу входов сети.
Преобразование в косинусы позволяет получить величины в диапазоне , которые идеально подходят для подачи на
Создание программы, осуществляющей распознавание жестов мыши и выполняющей ассоциированные с ними действия дипломная работа. Программирование, компьютеры и кибернетика.
Реферат: Графический интерфейс Windows95. Скачать бесплатно и без регистрации
Реферат: Art Therapy Essay Research Paper Art TherapyHow
Контрольная работа по теме Виписка й закриття наряду на підрядні роботи
Реферат: Криминалистическое исследование огнестрельных повреждений. Скачать бесплатно и без регистрации
Практическая Работа Свойства Уксусной Кислоты
Курсовая работа по теме Основы оценки персонала на примере ЗАО "ФЛИК"
Реферат: База данных. Скачать бесплатно и без регистрации
Реферат: Должностные инструкции содержание и назначение
Дипломная работа по теме Влияние координационных способностей на эффективность выполнения броска в прыжке на основе равновесия
Реферат: Орехово-Зуево
Магистерская диссертация по теме Дослідження методів визначення місця короткого замикання в обмотках тягових трансформаторів. Розрахунок оптимальної частоти для проведення діагностичних випробувань
Реферат Персональный Компьютер
Дипломная работа по теме Бухгалтерский учет основных средств и анализ эффективности их использования
Контрольная работа: Поява робітничих організацій в Україні
Моя Любимая Речка Сочинение 2 Класс
Реферат по теме Путин В.В.: политический портрет
Сочинение Василий Поленов Заросший Пруд
Реферат по теме Осложнения термических и химических ожогов
Дипломная работа по теме Подвижные игры как универсальное средство развития физических качеств и познавательного интереса детей
Курсовая работа: Наиболее яркие представители теорий мотивации и анализ их трудов. Скачать бесплатно и без регистрации
Дослідження творчості Василя Стуса. Біографічний метод - Литература дипломная работа
Разработка нормативов почтовой связи - Коммуникации, связь, цифровые приборы и радиоэлектроника контрольная работа
Бібліографічний опис - Литература реферат