Математические пакеты программ

Автор работы: Пользователь скрыл имя, 30 Декабря 2014 в 21:21, реферат

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

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

Содержание

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
ПК – Персональный Компьютер.
Введение
1 Биометрия
2 Задачи системы ограничения доступа
3 Технические средства формирования аудиоданных
4 Характеристика существующих аналогичных систем
5 Возможность использования нейросетей для построения системы распознавания речи
6 Результаты исследования
Заключение
Список использованных источников

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

ОИТ - реферат.docx

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

Следующим шагом для рассмотрения является обучение сети.

Для автоматического функционирования системы был выбран метод обучения сети без учителя. Обучение без учителя является намного более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.

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

Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Допустим, что входные образы нанесены на демонстрационные карты. Каждая карта разбита на квадраты и от каждого квадрата на персептрон подается вход. Если в квадрате имеется линия, то от него подается единица, в противном случае – ноль. Множество квадратов на карте задает, таким образом, множество нулей и единиц, которое и подается на входы персептрона. Цель состоит в том, чтобы научить персептрон включать индикатор при подаче на него множества входов, задающих нечетное число, и не включать в случае четного.

Для обучения сети образ X подается на вход и вычисляется выход У. Если У правилен, то ничего не меняется. Однако если выход неправилен, то веса, присоединенные к входам, усиливающим ошибочный результат, модифицируются, чтобы уменьшить ошибку.

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

Наиболее распространенный метод (по его простоте ) – логарифмическое сжатие (рисунок 10):


, (5)

 

где     f – частота в спектре, Гц;

m – частота в новом сжатом частотном пространстве.

 

Рисунок 10 – Нелинейное преобразование спектра в пространстве частот

 

Такое преобразование имеет смысл только если число элементов на входе нейросети NI меньше числа элементов спектра NS.

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

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

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

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

Так же, важным шагом в процессе работы с нейросетью является ее моделирование.

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

Одним из принципов нейросетевой обработки информации является высокая надежность системы, т.н. стойкость к отказам в работе отдельных элементов и флуктуациям в уровнях сигналов. Поэтому логично предположить, что удачно смоделированная нейросеть будет некритична к точности вычислений. Исходя из этого, я старался искусственно ограничить точность всех вычислений. Этим объясняется и выбор типа float для представления всех данных в программе.

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

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

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

Схематически сеть встречного направления изображена на рисунке 11.

 

Рисунок 11 – Сеть встречного распространения

 

Распространение сигнала в такой сети происходит следующим образом: входной вектор нормируется на 1.0 и подается на вход, который распределяет его дальше через матрицу весов W. Каждый нейрон в слое Кохонена вычисляет сумму на своем входе и в зависимости от состояния окружающих нейронов этого слоя становится активным или неактивным (1.0 и 0.0). Нейроны этого слоя функционируют по принципу конкуренции, т. е. в результате определенного количества итераций активным остается один нейрон или небольшая группа. Этот механизм называется латеральным. Так как отработка этого механизма требует значительных вычислительных ресурсов,  в моей модели он заменен нахождением нейрона с максимальной активностью и присвоением ему активности 1.0, а всем остальным нейронам 0.0. Таким образом, срабатывает нейрон, для которого вектор входа ближе всего к вектору весов связей.

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

 

wн = wн + α (x – wн ) ,                                              (6)

 

где    wн – новое значение веса;

wм – старое значение;

α – скорость обучения;

х – величина входа.

Геометрически это правило иллюстрирует рисунок 12.

Рисунок 12 – Коррекция весов нейрона Кохонена

 

Так как входной вектор x нормирован, т. е. расположен на гиперсфере единичного радиуса в пространстве весов, то при коррекции весов по этому правилу происходит поворот вектора весов в сторону входного сигнала. Постепенное уменьшение скорости поворота. позволяет произвести статистическое усреднение входных векторов, на которые реагирует данный нейрон.

Проблема: выбор начальных значений весов. Так как в конце обучения вектора весов будут располагаться на единичной окружности, то в начале их также желательно отнормировать на 1.0. В моей модели вектора весов выбираются случайным образом на окружности единичного радиуса.

Проблема: если весовой вектор окажется далеко от области входных сигналов, он никогда не даст наилучшего соответствия, всегда будет иметь нулевой выход, следовательно, не будет корректироваться и окажется бесполезным. Оставшихся же нейронов может не хватить для разделения входного пространства сигналов на классы. Для решения этой проблемы предлагается много алгоритмов, в работе применяется правило «работать»: если какой либо нейрон долго не находится в активном состоянии, он повышает веса связей до тех пор, пока не станет активным и не начнет подвергаться обучению. Этот метод позволяет также решить проблему тонкой классификации: если образуется группа входных сигналов, расположенных близко друг к другу, с этой группой ассоциируется и большое число нейронов Кохонена, которые разбивают её на классы.

Правило «желания работать» записывается в следующей форме:


 

, (7)

 

где  wн – новое значение веса;

wс – старое значение;

b– скорость модификации;

a – активность нейрона.

 

Чем меньше активность нейрона, тем больше увеличиваются веса связей.

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

 

 

 

 

 

 

6 Результаты иследования

 

В ходе исследования был смоделирован алгоритм нахождением нейрона с максимальной активностью и присвоением ему активности 1.0, а всем остальным нейронам 0.0. Это позволило значительно ускорить поиск нейрона и сверку с ним. Результат исследования изложен в таблице 1.

 

Таблица 4.1 – Соотношения схожести голосов с эталонными образцами

Голос

Время выполнения, с

Стандартный алгоритм слоя Кохена

Модернизированный алгоритм слоя Кохена

Мужской голос №1

7.1

2.1

Мужской голос №2

7.5

2.3

Мужской голос №3

8.0

1.8

Мужской голос №4

8.5

2.5

Мужской голос №5

7.0

1.9

Женский голос №1

5.0

2.0

Женский голос №2

6.0

2.1

Эталонный

9.3

1.8


 

 

 

 

Заключение

 

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

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

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

 

 

 

Список использованных источников

 

1. Романец, Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита  информации в современных компьютерных  системах.  – 2-е издание: М.: Радио  и связь, 2001.

2. Леонтьев, Б.А. Хакинг без секретов. – М.: Познавательная книга плюс, 2000.

3. Панасенко  С. Защита информации и контроль  доступа. // Банки и технологии. – 2002 - № 3 – с. 56-60.

4. Word Key[Электронный ресурс]. – Электронные данные. – Режим доступа:  http://www.lostpassword.com/word.htm – Дата доступа: 10.04.2014

5. Матвеев  И.А., Ганькин К.А. Распознавание человека  по радужке. // Системы безопасности. – 2004 - № 5 – с. 72-76.

6. Евангели  А. Технологии биоидентификации  и биометрический рынок. // PC Week /RE. – 2003 - № 7 – c. 24-25.

7. Голосовая  идентификация[Электронный ресурс]. – Электронные данные. – Режим  доступа:  http://speetech.by/press/analytics/9 – Дата доступа: 10.04.2014

8. Общие  сведения о языке Delphi[Электронный ресурс]. - Электронные данные. - Режим доступа: http://www.plam.ru/compinet/jazyk_programmerovanija _s_2005_i_2_0_3_e_izdanie/p3.php - Дата доступа: 22.04.2014.

 

 

 


Информация о работе Математические пакеты программ