Проектирование подсистемы САПР защиты персонального компьютера от несанкционированного доступа

Основы биометрической идентификации. Возможность использования нейросетей для построения системы распознавания речи. Разработка программного обеспечения для защиты от несанкционированного доступа на основе спектрального анализа голоса пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.11.2013
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Процесс сравнивания образцов состоит из следующих стадий:

- фильтрация шумов;

- спектральное преобразование сигнала;

- постфильтрация спектра;

- лифтеринг;

- наложение окна Кайзера;

- сравнение.

4.1.1 Фильтрация шумов

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

Звук, образованный колебаниями всего диапазона частот, подобный тому, спектр которого показан на рисунке 4.1, называется шумом. Толкование этого слова, принятое в технике, отличается от общепризнанного. Свист высокого тона (издаваемый, например, старым монитором) может считаться шумом в бытовом смысле. Но у этого звука есть четко определенный спектр частот, и, следовательно, он не может считаться шумом в техническом смысле этого слова.

Рисунок 4.1 - Спектр частот шума

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

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

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

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

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

где Xi - набор дискретных значений звукового сигнала.

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

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

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

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

На языке математики это описывается интегралом

,

где - это напряжение в заданный момент времени.

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

Так как моментальная мощность зависит от квадрата моментальной амплитуды, имеет смысл аналогичным образом подобрать похожее соотношение, связывающее среднюю амплитуду и среднюю мощность. Способ, которым это можно сделать, заключается в определении средней амплитуды (СКЗ). Вместо того, чтобы вычислять среднее значение непосредственно амплитуды, мы сначала возводим в квадрат полученные значения, вычисляем среднее значение получившегося множества, а затем извлекаем из него корень. Метод СКЗ применяется в том случае, когда необходимо вычислить среднее для быстро меняющейся величины. Алгебраически это выражается следующим ооразом: пусть у нас N значений и х(i) - это амплитуда i-ого дискретного значения. Тогда

СКЗ амплитуды = .

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

Относительная мощность измеряется в белах, а чаще в децибелах (дБ, децибел, - это одна десятая бела). Чтобы сравнить два звука, берется отношение их мощности. Десятичный логарифм этого отношения и есть различие в белах; если множить получившееся число на десять, то получится значение в децибелах. Например, если мощность одного сигнала превосходит мощность другого в два раза, то первый сигнал будет громче на 10lоg10(2) = 3,01 дБ.

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

Шкала децибелов также используется для измерения потерь звука. Если два различных звука с одной и той же энергией пропустить через некоторую электронную цепь или цифровой алгоритм обработки звука, на выходе один звук может оказаться на 6 дБ слабее другого.

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

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

Еще один аспект, для которого измерения в децибелах дают точную картину ощущений человека -- это то, что ощущаемая громкость очень сильно зависит от относительной мощности. В частности, известна акустическая иллюзия, называемая маскированием. Если звук образуется двумя независимыми компонентами и одна из этих компонент гораздо громче другой, то более тихая компонента часто будет неслышна. Фактически, слух человека «настраивается» к уровню более громкого звука и более тихий звук слышится гораздо более тихим, чем он есть на самом деле. Это особенно относится к тем ситуациям, когда у этих звуков очень близки высоты тона.

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

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

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

4.1.2 Спектральное преобразование сигнала

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

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

Рисунок 4.2 - Частота, период и амплитуда волны

Математически синусоида описывается функциями sin() или соs(). Простая функция sin(t) имеет амплитуду равную единице, период равный 2 секунд и соответствующую частоту, равную 1/2 циклов секунду. Можно преобразовать эту запись в более полезную форму: Asin(2ft) что соответствует синусоиде с амплитудой А и частотой f.

Здесь предполагается, что t представляет собой время (в секундах), f - значение частоты. При работе с дискретным сигналом в качестве t удобнее использовать номер отсчета. В этом случае запись Asin(2ft) представляет синусоиду с амплитудой А и частотой fS, где S - частота дискретизации. Далее будем будем работать в каждый момент времени с группами по N отсчетов и интересовать нас будут определеные частоты, поэтому я использую записи вида sin(2ft/N) и cos(2ft/N), которые представляют волны с единичной амплитудой и частотой равной fS/N.

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

Рисунок 4.3 - Три синусоиды с различной частотой

Поскольку синусоиды тесно связаны с окружностями, фаза измеряется в градусах. Один полный цикл - это 360°. На рисунке 4.4 показана еще одна синусоида. Ее временная, горизонтальная, ось размечена в градусах фазы. Как поворот на 360° возвращает в исходное положение, так изменение фазы на 360° оставляет сигнал неизменным.

Рисунок 4.4 - Синусоида, размеченная в градусах фазы

Фазовые изменения часто происходят по причине временных задержек. Например, каждый цикл сигнала в 1000 Гц занимает 1/1000 секунды. Если задержать сигнал на 1/2000 секунды (полупериод), то получится 180-градусный сдвиг но фазе. Заметим, что этот эффект опирается на зависимость между частотой и временной задержкой. Если сигнал в 250 Гц задержать на те же самые 1/2000 секунды, то будет реализован 45-градусный сдвиг по фазе.

Если сложить вместе две синусоидальные волны одинаковой частоты, то получится новая синусоидальная волна той же частоты. Это будет верно даже в том случае, если два исходных сигнала имеют разные амплитуды и фазы. Например, Asin(2ft) и Bcos(2ft)- две синусоиды с разными амплитудами и фазами, но I c одинаковой частотой.

Для измерения амплитуды одной частоты нужно умножить имеющийся сигнал на синусоиду той же частоты и сложить полученные отсчеты.

Чтобы записать это в символьном виде, предположим, что отсчеты имеют значения s0, s1, … , st, …. Переменная t представляет собой номер отсчета (который заменяет значение времени). Измеряется амплитуду частоты f в первом приближении, при вычислении следующей суммы:

Af =

Значения t и f не соответствуют в точности времени и частоте. Более того, f - целое число, а реальная исследуемая частота - это частота дискретизации, умноженная на f/N. Подобным образом, t -- это целочисленный номер отсчета. Кроме того, суммирование дает не непосредственное значение амплитуды, а всего лишь число, пропорциональное амплитуде.

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

Если мы знаем значения Af мы можем восстановить отсчеты. Для восстановления сигнала необходимо сложить все занчения для разных частот.

Чтобы осуществлять точное обратное преобразование Фурье, помимо амплитуды и частоты необходимо измерять фазу каждой частоты.

Для этого нужны комплексные числа. Можно изменить описанный ранее метод вычислений так, что он будет давать двумерный результат. Простое коми1 лексное число - это двумерное значение, поэтому оно одновременно но представляет и амплитуду, и фазу.

При таком подходе фазовая часть вычисляется неявно. Вместо амплитуды и фазы измеряется две амплитуды, соответствующие разным фазам. Одна из этих фаз представляется косинусом (соs()), другая - синусом sin()).

Используя комплексные числа, можно проводить измерения одновременно, умножая синусную часть на -i.

Каждое значение Af теперь представляется комплексным числом; действительная и мнимая части задают амплитуду двух синусоидальных волн с разным фазами. Заменим на эквивалентное .

Основная идея быстрого преобразования Фурье заключается в том, что каждую вторую выборку можно использовать для получения половинного спектра. Формально это означает, что формула дискретного преобразования Фурье может быть представлена в виде двух сумм. Первая содержит все четные компоненты оригинала, вторая - все нечетные

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

Непрерывный речевой сигнал, как и любой другой можно представить в виде:

если множество функций Un являются ортогональными, то есть удовлетворяющим условию

где C - константа.

В этом случае значения коэффициентов an определяются выражением:

В зависимости от вида используемых ортогональных функций различают несколько видов преобразований. С помощью пары преобразований Фурье можно выразить связь между апериодической функцией времени f(t) и ее комплексным спектром F(w):

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

Рисунок 4.5 - Процесс преобразования аналогового сигнала в цифровой

Микрофон, используемый в процессе АЦ - преобразования, обычно вносит нежелательные примеси в сигнал, например сетевой шум (звук с частотой 50 Гц от электрической проводки), теряет часть низких и высоких частот и нелинейные искажения. АЦ - преобразователь также вносит свои собственные искажения из-за нелинейной функции передачи и колебания постоянного смещения. Пример такого сигнала показан на рисунке 4.6.

Рисунок 4.6 - Пример входного сигнала АЦП

Ослабление низких и высоких частот часто вызывает проблемы с алгоритмами последовательного параметрического спектрального анализа.

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

4.1.3 Фильтрация спектра

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

Для этого применим функцию, которая получила название «окно Кайзера»

После фильтрации спектра нужно наложить окно Ханнинга

4.1.4 Сравнение с эталонными образцами

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

Для сравнения двух фрагментов использовался следующий подход:

Предположим что X[1..N] и Y[1..N] - массивы чисел, одинакового размера N, содержащие значения спектральной мощности первого и второго фрагментов соответственно.

Тогда мера сходства между ними вычисляется по следующей формуле:

где Mx и My - математические ожидания для массивов X[] и Y[] соответственно, вычисляющиеся по следующей формуле:

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

4.1.5 Нейросетевое сравнение на основе простых персептронов

Искусственный нейрон

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

Рисунок 4.7 - Схема нейрона

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

где n - число входов нейрона

xi - значение i-го входа нейрона

wi - вес i-го синапса

Затем определяется значение аксона нейрона по формуле

Y = f(S)

где f - некоторая функция, которая называется активационной. Наиболее часто в качестве активационной функции используется так называемый сигмоид, который имеет следующий вид:

Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную:

При уменьшении параметра a сигмоид становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 при a=0. При увеличении a сигмоид все больше приближается к функции единичного скачка.

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

Обучение сети

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Моделирование нейросети

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

Точность вычислений

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

Уровень ввода

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

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

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

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

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

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

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

w = w + ? (x - w ),

где w -- новое значение веса ,

w -- старое значение ,

? -- скорость обучения,

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

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

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

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

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

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

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

,

где w -- новое значение веса ,

w -- старое значение,

-- скорость модификации,

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

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

4.2 Описание технического обеспечения

Исходя из требований в комплекс технических средств разрабатываемой подсистемы САПР были включены два компьютера, объединенные в локальную сеть.

Для поддержания работоспособности подсистемы САПР и хранения необходимой информации необходим компьютер на базе процессора Pentium 4 тактовой частотой 2,4 ГГц и частотой шины 533 МГц. На производительность сервера базы данных влияют два основных фактора - объем оперативной памяти и объем и скорость жесткого диска. Исходя из этого, объем оперативной памяти составил 1 Гбайт и выбран жесткий диск Seagate ATA/133 объемом 120 Гбайт и скоростью вращения 7200 об./мин. Для вывода текстовой и графической документации формата А4 используется лазерный принтер HP LaserJet 1200. Данный принтер обеспечивает более высокое качество печати, чем матричный и более экономичен, чем струйный принтер. Производительность выбранного принтера достигает 14 страниц в минуту (эталонных страниц). Достоинством данного принтера является возможность его подключения к USB порту.

Для решения задачи оптимального проектирования, так как оно требует значительных вычислительных затрат необходим компьютер на базе процессора Pentium 4 с тактовой частотой 3 ГГц и частотой шины 533 МГц и технологией hiper-threading. Оперативная память была выбрана в размере 512 Мбайт, так в процессе преобразований может потребоваться большой объем памяти для хранения промежуточных данных. Жесткий диск был взят объемом 80 Гбайт, так как это оптимальный размер современных винчестеров.

Оба рабочего места оборудованы монитором Samsung Syncmaster 757MB с диагональю 17".

Персональные компьютеры объединены в локальную вычислительную сеть. Это необходимо для осуществления достаточно быстрого обмена данными между компьютерами и возможности использования единого устройства вывода на печать, что обеспечивает большую эффективность функционирования подсистемы САПР. В качестве среды передачи данных используется RJ-45 пятой категории, достоинством которого является низкая стоимость оборудования и высокая помехозащищенность сети. На каждом компьютере установлен сетевой адаптер, обеспечивающий скорость передачи данных 100 Мбит/с.

Для сохранения работоспособности компьютеров во время перебоев с электропитанием рабочее место системного администратора оснащено источником бесперебойного питания UPS BACK 2000 AP PCM, обеспечивающие сохранение электрического питания на время, достаточное для перехода резервное питания.

4.3 Описание информационного обеспечения

Функционирование любой подсистемы САПР невозможно без соответствующей информационной поддержки.

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

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

- независимость данных;

- совместимость - при развитии программного и модернизации технического обеспечения компоненты информационного обеспечения должны сохранять работоспособность;

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

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

- целостность данных - информационное обеспечение должно предотвращать нарушение структуры данных пользователем.

В данной САПР используются следующие компоненты информационного обеспечения:

- СУБД с моделью данных реляционного типа на базе интерфейса MS JetDirect 4.0;

- набора различных утилит, обеспечивающих создание, поддержку, организацию и восстановление баз данных;

- БД образцов голоса;

- БД зарегистрированных в системе пользователей;

- БД статистической информации;

- БД настроек программы;

База Данных образцов голоса содержит образцы голоса пользователя. Для каждого пользователя сохраняется по 3 его образца голоса.

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

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

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

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

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

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

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

При описании полей были использованы следующие обозначения:

«*» - означает, что поле является ключом;

Таблица 4.1 - Образцы голоса

Наименование

Тип

Ключ

Идентификатор записи

Счетчик

*

Идентификатор пользователя

Числовой

*

Номер записи

Числовой

Спектр

Blob

Информация о удалении

Числовой

Таблица 4.2 - Зарегистрированные в системе пользователи

Наименование

Тип

Ключ

Имя пользователя

Текстовый

Идентификатор пользователя

Числовой

*

Логин

Текстовый

Полное имя

Текстовый

Ссылка на фотографию

Текстовый

Уровень доступа

Числовой

Обходной пароль

Текстовый

Порог входа

Числовой

Информация о удалении

Числовой

Таблица 4.3 - Статистическая информация

Наименование

Тип

Ключ

Идентификатор пользователя

Числовой

*

Идентификатор записи

Счетчик

*

Совершенное действие

Текстовый

Время

Дата/время

Дата

Дата/время

Информация о удалении

Числовой

Таблица 4.4 - Настройки программы

Наименование

Тип

Ключ

Идентификатор записи

Счетчик

*

Ширина спектра

Числовой

Время

Дата/время

Дата

Дата/время

Качество записи

Числовой

Используемый драйвер

Числовой

Использование OpenGL

Числовой

Полная блокировка

Числовой

Количество попыток

Числовой

Обходной пароль

Числовой

Информация о удалении

Числовой

Приведенная выше даталогическая модель данных имеет минимальный объем избыточных данных.

4.4 Описание лингвистического обеспечения

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

Положительное - пользователь зарегистрирован в системе и пытается войти под своим собственным именем.

Отрицательное - пользователь не зарегистрирован или же он пытается получить доступ по чужому идентификатору.

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

Задачи идентификации входят в одну из областей искусственного интеллекта - распознавания образов. При этом в качестве образа понимается совокупность некоторых параметров, характеризующих объект. В данной работе каждый фрагмент определяется только одним параметром - мерой его сходства с соответствующим эталоном. При этом мера сходства может меняться в интервале от 0 до 1. Чем ближе мера сходства к 1, тем больше общего между исследуемым фрагментом и соответствующим ему эталоном. Признак образует одномерное пространство, которое делиться на две части. При попадании параметра в них принимается соответствующее решение - положительное или отрицательное. Хотя возможно разделение и на три области - положительную, отрицательную и неопределенность - система затрудняется точно определить принадлежность пользователя. В обоих случаях значения границ рассчитываются для каждого пользователя отдельно на этапе регистрации.

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

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

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

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

4.4.1 Программное обеспечение для входа пользователя в систему

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

Рисунок 4.11 - Окно программы блокировки доступа

Полученный спектр звукового фрагмента визуализируется на трехмерном графике.

Программное обеспечение для регистрации пользователя.

Программа состоит из диалогов:

- добавление пользователя;

- изменения параметров зарегистрированного в системе пользователя;

- настройки программы;

- настройки параметров работы администратора;

- просмотра статистики работы программы;

- удаление пользователя зарегистрированного в системе.

Основное окно показано на рисунке 4.12.

Рисунок 4.12 - Основное окно регистрации пользователей

Рисунок 4.13 - Диалог добавления пользователя в систему

Рисунок 4.14 - Проверка настроек программы

4.4.2 Системное программное обеспечение

Используемая в разрабатываемой САПР 32-х разрядная операционная система Windows XP фирмы MicroSoft, обладает множеством полезных возможностей: современный объектноориентиваный пользовательский интерфейс, с поддержкой стандарта открытого документооборота OpenDoc, поддержкой стандарта открытой графики OpenGL, встроенной возможностью написания и исполнения программ на языках Java, возможностью организации сети любого ранга, защитой передаваемой по сети информации, и позволяет разрабатывать и использовать программы, соответствующие стандарту OpenWindows 32 и TrueType. Система позволяет использовать весь спектр программного обеспечения, разработанного для этой операционной системы (такие программы, как текстовый процессор WinWord, системы автоматизированного проектирования AutoCAD, PCad и т.д.). В этой операционной системе фирма Microsoft расширила сетевые возможности настолько, что конечный пользователь теперь практически не испытывает необходимости в поиске специфического программного обеспечения для работы в Internet. Учитывая то, что специализированное программное обеспечение, используемое с данной САПР имеет широкие возможности по работе с Internet ресурсами, то поддержка сетевых возможностей просто необходима.

Следует также отметить, что данная операционная система самая распространённая, что практически исключает проблему несовместимости САПР с программным обеспечением заказчика.

Всеми этими достоинствами и обусловлен выбор данной операционной системы.

4.5 Описание методического обеспечения

Методическое обеспечение - это совокупность документов, устанавливающих состав и правила отбора и эксплуатации средств обеспечения САПР, необходимых для работы системы.

На основе анализа литературы и обобщения приведённых определений можно сделать ряд логических выводов о составе и содержании методического обеспечения САПР как объекта проектирования:

- методическое обеспечение по форме представляет собой совокупность инструктивных, руководящих и методических материалов, утверждённых в виде документов, используемых разработчиками на всех (или отдельных) этапах жизненного цикла САПР;

- по содержанию методическое обеспечение САПР - совокупность методов, необходимых и достаточных для реализации или совокупности этапов жизненного цикла САПР;

Другими словами, методическое обеспечение должно содержать методическое руководство, позволяющее получить ответ на вопрос: «как работать с САПР?».

К компонентам методического обеспечения относят:

- документацию инструктивно-методического характера;

- руководство программиста;

- руководство оператора;

- программу, методику и результаты испытаний САПР;

- нормативы, стандарты и другие руководящие документы.

Руководство программиста составляется для каждого программного модуля и включает в себя следующие пункты:

назначение;

требуемые технические средства;

режим работы;

обращение к программе;

формат входных данных.

Руководство оператора также составляется для каждой программы и содержит разделы:

назначение программы;

условия выполнения программы;

последовательность действий оператора для выполнения программы.

4.6 Тестирование программного обеспечения

Для тестирования были выбраны три критерия, которые обязательно должны быть обеспечены для нормальной работы программного обеспечения.

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

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

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

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

При тестировании использовались 6 мужских голосов и 2 женских. Схожесть голосов определяется в процентах, поэтому требовалось выяснить максимально возможный порог совпадения. Эталонный голос использовался мужской, поэтому для тестирования использовалось большое количество именно мужских голосов. В таблице 4.5 приведены совпадения голоса тестируемого пользователя с эталонными образцами в процентном соотношении.

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

Голос

Образец 1, %

Образец 2, %

Образец 3, %

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

89

88

90

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

75

77

80

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

80

85

82

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

85

88

83

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

70

78

75

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

50

55

52

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

60

58

55

Эталонный

93

94

93

По этим данным нижний порог сходства был выбран 92%.

В таблице 4.6 приведены спектрограммы эталонных образцов и выделенные из них спектральные характеристики.

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

Голос

Спектрограмма

Спектральная характеристика

Эталонный №1

Эталонный №2

Эталонный №3

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

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

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

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

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

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

Ошибок в программе в ходе тестирование выявлено не было.

5. ВОПРОСЫ ОХРАНЫ ТРУДА

5.1 Введение в охрану труда

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

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

При размещении и проектировании ВЦ необходимо учитывать характерные его особенности. В залах ЭВМ к микроклиматическим параметрам ВЦ предъявляются повышенные требования.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.