СИСТЕМА АВТОМАТИЧЕСКОГО РАСПОЗНАВАНИЯ РЕЧЕВЫХ КОМАНД ДЛЯ ПАРАЛЛЕЛЬНЫХ АРХИТЕКТУР
|
ОГЛАВЛЕНИЕ 2
АННОТАЦИЯ 4
ВВЕДЕНИЕ 5
ГЛАВА 1. АНАЛИЗ ОСНОВНЫХ ПРОБЛЕМ ПРИМЕНЕНИЯ СКРЫТЫХ МАРКОВСКИХ МОДЕЛЕЙ В СИСТЕМАХ РАСПОЗНАВАНИЯ РЕЧИ 12
1.1 ЧТО ТАКОЕ МАРКОВСКАЯ МОДЕЛЬ 15
1.2 СКРЫТАЯ МАРКОВСКАЯ МОДЕЛЬ (СММ) 16
1.3 ОСНОВНЫЕ ЗАДАЧИ ПРИ ПРИМЕНЕНИИ СММ К РАСПОЗНАВАНИЮ РЕЧИ 18
1.4 ТИПЫ СММ, ПРИМЕНЯЕМЫЕ В СИСТЕМАХ РАСПОЗНАВАНИЯ РЕЧИ 21
1.5 ПОДХОДЫ К РЕШЕНИЮ ОСНОВНЫХ ЗАДАЧ СММ 24
1.5.1 Задача 1. Эффективное вычисление вероятности генерации заданной последовательности 24
1.5.2 Задача 2. Отыскание оптимальной последовательности состояний 27
1.5.3 Задача 3. Обучение СММ тестовыми последовательностями 28
1.6 ВЫВОДЫ 30
ГЛАВА 2. СРАВНИТЕЛЬНАЯ ОЦЕНКА МЕТОДОВ ОПТИМИЗАЦИИ В ЗАДАЧЕ ОБУЧЕНИЯ СММ 31
2.1 СХЕМА ПРОЦЕССА ПРИНЯТИЯ РЕШЕНИЯ КАК ЗАДАЧИ ПОИСКА 31
2.2 ТРАДИЦИОННЫЕ МЕТОДЫ ПОИСКА ОПТИМАЛЬНЫХ РЕШЕНИЙ И ИХ ПРИЛОЖЕНИЕ К ЗАДАЧЕ ОБУЧЕНИЯ СММ
2.2.1 Методы, основанные на математических вычислениях 33
2.2.2 Перечислительные методы 34
2.2.3 Методы, использующие элементы случайности 36
2.3 КОНЦЕПЦИЯ ЭВОЛЮЦИОННЫХ ВЫЧИСЛЕНИЙ 36
2.4 ОСНОВЫ ТЕОРИИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ (ГА) 39
2.5 ПОСЛЕДОВАТЕЛЬНОСТЬ РАБОТЫ ГЕНЕТИЧЕСКОГО АЛГОРИТМА 41
2.6 ВЫЧИСЛИТЕЛЬНАЯ ЭФФЕКТИВНОСТЬ ПРИМЕНЕНИЯ ГА. ТЕОРЕМА СХЕМ 45
2.7 ВЫВОДЫ 52
ГЛАВА 3. РЕАЛИЗАЦИЯ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ СММ 54
3.1 СИСТЕМА РАСПОЗНАВАНИЯ РЕЧЕВЫХ КОМАНД НА ОСНОВЕ СММ 54
3.2 ПОСТРОЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ ОПТИМИЗАЦИИ ПРОЦЕССА ОБУЧЕНИЯ СММ
ТРЕНИРОВОЧНЫМИ ПОСЛЕДОВАТЕЛЬНОСТЯМИ 55
3.2.1 Кодирование хромосомы 55
3.2.2 Создание исходной популяции 59
3.2.3 Размер популяции 64
3.2.4 Генетические операторы: оператор отбора 66
3.2.5 Генетические операторы: оператор скрещивания 66
3.2.6 Генетические операторы: оператор мутации 69
3.2.7 Генетические операторы: оператор редукции 73
3.2.8 Критерий останова алгоритма 74
3.3 ВЫВОДЫ 78
ГЛАВА 4. ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ОПТИМИЗАЦИИ СММ С ИСПОЛЬЗОВАНИЕМ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 81
4.1 СРАВНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ С ТРАДИЦИОННЫМИ МЕТОДАМИ 81
4.1.1 Метод Баума-Велча 81
4.1.2 Случайный поиск 90
4.2 ПОКАЗАТЕЛИ ЭФФЕКТИВНОСТИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 93
4.2.1 Скорость работы генетического алгоритма 93
4.2.2 Средства повышения скорости работы генетических алгоритмов 95
4.2.3 Устойчивость работы генетического алгоритма 96
4.2.4 Средства повышения устойчивости работы генетических алгоритмов 98
4.3 НАПРАВЛЕНИЯ РАЗВИТИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 99
4.3.1 Использование комбинированной фитнес-функции 99
4.3.2 Адаптивный ГА 99
4.4 ВЫВОДЫ 102
ВЫВОДЫ И ЗАКЛЮЧЕНИЕ 105
ЛИТЕРАТУРА 108
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 114
ПРИЛОЖЕНИЕ 1. ОПИСАНИЕ ПРОГРАММНОГО КОМПЛЕКСА ДЛЯ ИЗУЧЕНИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 116
СТРУКТУРА И ФУНКЦИОНИРОВАНИЕ ПРОГРАММЫ 116
НАЗНАЧЕНИЕ МОДУЛЕЙ ПРОГРАММЫ 118
VCL 118
АЦП 119
Таксоном 119
DSP 119
ГА 120
Настройка системы генетических алгоритмов 120
ПОРЯДОК РАБОТЫ С ПРОГРАММОЙ 123
Сохранение настроек 123
Загрузка настроек 123
Диктовка слов 123
Чтение WAV-файла 124
Создание новой модели 124
ПРИЛОЖЕНИЕ 2. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТАЛЬНОЙ ПРОВЕРКИ КОМПЛЕКСА НА ПЭВМ.
АННОТАЦИЯ 4
ВВЕДЕНИЕ 5
ГЛАВА 1. АНАЛИЗ ОСНОВНЫХ ПРОБЛЕМ ПРИМЕНЕНИЯ СКРЫТЫХ МАРКОВСКИХ МОДЕЛЕЙ В СИСТЕМАХ РАСПОЗНАВАНИЯ РЕЧИ 12
1.1 ЧТО ТАКОЕ МАРКОВСКАЯ МОДЕЛЬ 15
1.2 СКРЫТАЯ МАРКОВСКАЯ МОДЕЛЬ (СММ) 16
1.3 ОСНОВНЫЕ ЗАДАЧИ ПРИ ПРИМЕНЕНИИ СММ К РАСПОЗНАВАНИЮ РЕЧИ 18
1.4 ТИПЫ СММ, ПРИМЕНЯЕМЫЕ В СИСТЕМАХ РАСПОЗНАВАНИЯ РЕЧИ 21
1.5 ПОДХОДЫ К РЕШЕНИЮ ОСНОВНЫХ ЗАДАЧ СММ 24
1.5.1 Задача 1. Эффективное вычисление вероятности генерации заданной последовательности 24
1.5.2 Задача 2. Отыскание оптимальной последовательности состояний 27
1.5.3 Задача 3. Обучение СММ тестовыми последовательностями 28
1.6 ВЫВОДЫ 30
ГЛАВА 2. СРАВНИТЕЛЬНАЯ ОЦЕНКА МЕТОДОВ ОПТИМИЗАЦИИ В ЗАДАЧЕ ОБУЧЕНИЯ СММ 31
2.1 СХЕМА ПРОЦЕССА ПРИНЯТИЯ РЕШЕНИЯ КАК ЗАДАЧИ ПОИСКА 31
2.2 ТРАДИЦИОННЫЕ МЕТОДЫ ПОИСКА ОПТИМАЛЬНЫХ РЕШЕНИЙ И ИХ ПРИЛОЖЕНИЕ К ЗАДАЧЕ ОБУЧЕНИЯ СММ
2.2.1 Методы, основанные на математических вычислениях 33
2.2.2 Перечислительные методы 34
2.2.3 Методы, использующие элементы случайности 36
2.3 КОНЦЕПЦИЯ ЭВОЛЮЦИОННЫХ ВЫЧИСЛЕНИЙ 36
2.4 ОСНОВЫ ТЕОРИИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ (ГА) 39
2.5 ПОСЛЕДОВАТЕЛЬНОСТЬ РАБОТЫ ГЕНЕТИЧЕСКОГО АЛГОРИТМА 41
2.6 ВЫЧИСЛИТЕЛЬНАЯ ЭФФЕКТИВНОСТЬ ПРИМЕНЕНИЯ ГА. ТЕОРЕМА СХЕМ 45
2.7 ВЫВОДЫ 52
ГЛАВА 3. РЕАЛИЗАЦИЯ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ СММ 54
3.1 СИСТЕМА РАСПОЗНАВАНИЯ РЕЧЕВЫХ КОМАНД НА ОСНОВЕ СММ 54
3.2 ПОСТРОЕНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ ОПТИМИЗАЦИИ ПРОЦЕССА ОБУЧЕНИЯ СММ
ТРЕНИРОВОЧНЫМИ ПОСЛЕДОВАТЕЛЬНОСТЯМИ 55
3.2.1 Кодирование хромосомы 55
3.2.2 Создание исходной популяции 59
3.2.3 Размер популяции 64
3.2.4 Генетические операторы: оператор отбора 66
3.2.5 Генетические операторы: оператор скрещивания 66
3.2.6 Генетические операторы: оператор мутации 69
3.2.7 Генетические операторы: оператор редукции 73
3.2.8 Критерий останова алгоритма 74
3.3 ВЫВОДЫ 78
ГЛАВА 4. ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ОПТИМИЗАЦИИ СММ С ИСПОЛЬЗОВАНИЕМ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 81
4.1 СРАВНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ С ТРАДИЦИОННЫМИ МЕТОДАМИ 81
4.1.1 Метод Баума-Велча 81
4.1.2 Случайный поиск 90
4.2 ПОКАЗАТЕЛИ ЭФФЕКТИВНОСТИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 93
4.2.1 Скорость работы генетического алгоритма 93
4.2.2 Средства повышения скорости работы генетических алгоритмов 95
4.2.3 Устойчивость работы генетического алгоритма 96
4.2.4 Средства повышения устойчивости работы генетических алгоритмов 98
4.3 НАПРАВЛЕНИЯ РАЗВИТИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 99
4.3.1 Использование комбинированной фитнес-функции 99
4.3.2 Адаптивный ГА 99
4.4 ВЫВОДЫ 102
ВЫВОДЫ И ЗАКЛЮЧЕНИЕ 105
ЛИТЕРАТУРА 108
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 114
ПРИЛОЖЕНИЕ 1. ОПИСАНИЕ ПРОГРАММНОГО КОМПЛЕКСА ДЛЯ ИЗУЧЕНИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 116
СТРУКТУРА И ФУНКЦИОНИРОВАНИЕ ПРОГРАММЫ 116
НАЗНАЧЕНИЕ МОДУЛЕЙ ПРОГРАММЫ 118
VCL 118
АЦП 119
Таксоном 119
DSP 119
ГА 120
Настройка системы генетических алгоритмов 120
ПОРЯДОК РАБОТЫ С ПРОГРАММОЙ 123
Сохранение настроек 123
Загрузка настроек 123
Диктовка слов 123
Чтение WAV-файла 124
Создание новой модели 124
ПРИЛОЖЕНИЕ 2. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТАЛЬНОЙ ПРОВЕРКИ КОМПЛЕКСА НА ПЭВМ.
Работы в области систем распознавания речи имеют уже довольно долгую историю. В Советском Союзе работы по компресии речи начались в начале 50-х годов, а по автоматическому распознаванию - в конце 50-х годов. При этом следует отметить, что первая в мире система автоматического распознавания речи была продемонстрирована в 1939 году в Ленинградском Государственном Университете Л.Л.Мясниковым. В 70-х годах в разработке речевых систем начали активно выходить вперёд США, тем не менее уровень теоретических и приладных разработок в СССР и США до середины 80-х годов оставался приблизительно одинаковым. С середины 80-х годов значительная часть речевых разработок в нашей стране была прекращена, и в настоящее время помимо США в области речевых технологий активно и очень успешно работает ещё ряд стран (ЕС, Япония, Канада, Австралия). [10] Но в нынешний момент происходит процесс восстановления интереса к этой области и в нашей стране, и на рынке появляются отечественные разработки, например, системы SPIRIT [89] и Sakrament [85].
В настоящее время работы по распознаванию речи не только не потеряли актуальности, но и развиваются широким фронтом, находя для себя множество областей для практического применения. Сейчас можно выделить 4 сравнительно изолированных направления в области развития речевых технологий [9]:
1. Распознавание речи - т.е. преобразование речевого акустического сигнала в цепочку символов, слов. Эти системы могут быть охарактеризованы по ряду параметров. Прежде всего это объём словаря: малые объёмы до 20 слов, большие - тысячи и десятки тысяч. Количество дикторов: от одного до произвольного. Стиль произнесения: от изолированных команд до слитной речи и от чтения до спонтанной речи. Коэффициент ветвления, т.е. величина, определяющая количество гипотез на каждом шаге распознавания: от малых величин (<10-15) до больших (~100-200). Отношение сигнал/шум от больших (>30 дб) до низких (<10 дб). Качество каналов связи: от высококачественного микрофона до телефонного канала. Качество работы систем распознавания речи обычно характеризуется надёжностью распознавания слов, или, что то же самое, процентом ошибок.
2. Определение индивидуальности говорящего. Эти системы прежде всего делятся на 2 класса: верификация говорящего (т.е. подтверждение его личности) и идентификация говорящего (т.е. определение его личности из заранее ограниченного числа людей). Оба эти класса далее могут быть разделены на тексто-зависимые и тексто-независимые. Следующий характеристический параметр - объём парольной фразы. Два других (как и в распознавании речи): отношение сигнал/шум и качество канала связи. Качество работы систем верификации/идентификации говорящего характеризуется двумя величинами: вероятностью не опознания «своего» диктора и вероятностью принятия «чужого» диктора за своего.
3. Синтез речи. Практически существует 2 класса:
1) Воспроизведение записанного в той или иной форме ограниченного числа сообщений;
2) Синтез речи по тексту.
Синтезаторы характеризуются по следующим параметрам: разборчивость (словесная или слоговая), естественность звучания, помехоустойчивость.
4. Компрессия речи. Основной (и единственный) классификационный признак этих систем - степень компрессии: от низкой (32-16 кбит/сек) до высокой (1200-2400 кбит/сек и ниже). Качество работы систем компрессии речи характеризуется прежде всего разборчивостью компрессированной речи. Дополнительными характеристиками очень важными в ряде приложений являются узнаваемость голоса говорящего и возможность определения уровня стрессованности говорящего.
В диссертационной работе рассматриваются системы первой группы - системы распознавания речи и их частный случай - системы распознавания речевых команд, т.е. распознавание изолированных слов, а не слитной речи. Такие системы весьма полезны на практике, и возросшая необходимость в них связана в первую очередь с появлением большого количества доступных человеку разнообразных устройств (персональные, мобильные и карманные компьютеры, коммуникаторы и мобильные телефоны, игровые и многофункциональные мультимедийные устройства с достаточной вычислительной мощностью) в сочетании с бурным развитием телекоммуникаций в современном мире. Растёт важность массового внедрения новых интерфейсов взаимодействия человека с техническими системами, поскольку традиционные интерфейсы во многом уже достигли своего совершенства, а вместе с ним и своих пределов. При традиционно высокой значимости информации, поступающей к нам через органы зрения, и её высокой доли среди всей сенсорной информации, считающейся равной порядка 85% [11], этот канал восприятия человека становится в значительной степени перегружен. И первоочередной
альтернативой здесь видится коммуникация именно по акустическому каналу.
Кроме того, системы распознавания (а также синтеза) речи также крайне важны для людей с ограниченным зрением, и эта ниша для их применения активно развивается прежде всего в области мобильной телефонии (малые размеры экранов телефонных аппаратов не дают таким людям возможности пользоваться ими с достаточной степенью комфорта), а также в бытовой технике (для управления разнообразными домашними устройствами). Для помощи таким людям производители вводят в свои устройства возможности управления посредством голосовых команд (при наборе номера в телефоне или во время навигации по пунктам меню), а также дублирования экранной информации голосом. И в первую очередь от таких продуктов требуется распознавание ограниченного набора команд пользователя, а не слитной речи с большим или неограниченным словарём. Благодаря стандартизации платформ и операционных систем телефонов расширяется круг сторонних разработчиков программных продуктов с данной функциональностью [22].
Значительно более развита ниша программ распознавания речи для персональных компьютеров, где уже достаточно давно существуют такие продукты как IBM ViaVoice, DragonDictate или «Горыныч» (являющийся локализованной версией системы
DragonDictate, изначально ориентированной на английский язык), а также уже упоминавшиеся отечественные разработки Сакрамент и SPIRIT.
Отечественные разработки обладают тем преимуществом перед зарубежными, что они изначально ориентированы на русские фонемы. В отсутствии такой базы иностранные системы вынуждены работать с русским языком на основе английских фонем или некоторого общего и универсального их набора, что отрицательно сказывается на качестве распознавания. Так, по сообщениям прессы, первый зарубежный коммерческий продукт распознавания русской речи для телефонных приложений, включающий поддержку русских фонем, появился лишь в 2003 году - набор программных модулей, библиотек и утилит для разработки систем такого класса - SpeechPearl компании Philips Speech Processing [56].
Аппаратная база подобных систем на сегодняшний момент устоялась на нескольких основных вариантах:
1) Системы PC-класса на основе х86-совместимых процессоров для программных продуктов, используемых в настольных компьютерах, в некоторых серверных или мобильных решениях;
2) Мобильные устройства (телефоны, коммуникаторы и т.п.) на основе процессорной архитектуры ARM (более 75% всех интегрированных процессоров, выпускаемых в мире) [24];
3) Специализированные аппаратные решения на основе DSP-процессоров с тенденцией замены их массовыми решениями из предыдущих двух классов, так как возросшая производительность универсальных процессоров позволяет решать задачи, прежде бывшие для них весьма тяжёлыми.
Тенденция экстенсивного наращивания производительности процессоров за счёт увеличения их рабочих частот, имевшая место в предыдущие годы, уступает место новой тенденции, нацеленной на активное использование параллелизма в различных его проявлениях. В ближайшие годы это выльется в создание многоядерных архитектур процессоров (от уже существующей технологии Intel HyperThreading к созданию двух- и более ядерных процессоров на одном кристалле, появления которых можно ожидать уже в 2006 году; крайне интересная технология Cell от альянса Sony, Toshiba и IBM, которая затронет не только компьютеры, но, потенциально, и бытовую технику в доме), создание недорогих кластерных решений на основе стандартных компонент (начиная с проекта BeoWulf для ОС Linux) и массовое использование распределённых вычислений (от уже реализовавшихся одиночных проектов типа distributed.netдля взлома шифров или SETI@Home для поиска внеземных цивилизаций к технологии GRID и виртуализации вычислений, активно продвигаемых корпорацией IBM).
По мнению многих аналитиков и представителей различных компаний, грядёт эра параллельного программирования [25]. Одним из первых её предвестников можно назвать уже существующую технологию EPIC (Explicitly Parallel Instruction Computer) компании Intel, реализованную в коммерческих процессорах Itanium. Переход на новые параллельные архитектуры требует создания чрезвычайно сложных оптимизирующих компиляторов, изменения образа мышления программистов и приложения ими специальных усилий для разработки и реализации соответствующих алгоритмов. В таких условиях особую ценность представляют алгоритмы, учитывающие возможный параллелизм своей работы.
аппарат СММ применительно к задачам распознавания речи.
СММ - это довольно мощный (хотя и громоздкий) и весьма эффективный математический аппарат для решения задач распознавания речи [8]. Использование СММ для распознавания команд давно показало свою эффективность, а возросшие доступные вычислительные мощности открыли дорогу к использованию новых подходов к решению задач, встающих перед разработчиком подобных систем.
Одной из важнейших и наиболее сложных задач, возникающих при работе с СММ, является задача обучения модели, то есть нахождения таких её параметров, при которых модель точнее описывает «своё» слово, т.е. генерирует для последовательности речевого сигнала, содержащего это слово, большее значение вероятности, чем другие модели слов из словаря системы. В процессе распознавания команды в системе происходит оценка и сравнение между собой вероятностей генерации наблюдаемого слова различными моделями из словаря с тем, чтобы отобрать среди них наиболее вероятного претендента. Чем лучше модель описывает тестовое (или тренировочное) слово, тем больше шансов, что оно будет верно распознано, т.е. будет выбрано среди всех остальных слов словаря. Особенно заметным становится влияние качества обучения модели на результативность работы системы распознавания в том случае, если словарь системы разрастается, и в нём оказываются похожие слова, т.е. слова, модели которых генерируют близкие значения вероятности. В таких условиях выбор правильного варианта оказывается затруднительным. Кроме того, желательно, чтобы модель могла эффективно распознавать «своё» слово по-возможности в более широких пределах изменяющихся условий работы системы распознавания (в различных уровнях зашумлённости или при работе по каналам различающегося качества) и вариативности произнесения слов диктором (в случае стресса или наличия дефектов речи).
Отсюда следует, что задача обучения модели, причём её качественного обучения, является весьма актуальной и её решению должно уделяться повышенное внимание.
Существуют и давно применяются оптимизированные методы обучения СММ (например, метод Баума-Велча или EM-метод), но они не свободны от недостатков, важнейшие среди которых - это сильная зависимость от начальных условий, порождающая задачу нахождения стартовых параметров СММ, и неспособность найти глобальный экстремум, если локальный экстремум оказывается ближе. Однозначно лучшего метода обучения СММ не известно, и для решения этой задачи могут применяться различные подходы.
Одним из таких потенциально интересных методов обучения являются генетические алгоритмы (ГА). Генетические алгоритмы, относящиеся к концепции эволюционных вычислений,- это современное, перспективное и активно
разрабатываемое направление методов оптимизации многокритериальных задач. Во второй главе диссертационной работы рассмотрена концепция ГА и их место среди других методов нахождения оптимальных значений, и проведена оценка их применимости к решению задачи обучения СММ.
Генетические алгоритмы уже активно используются для обучения нейронных сетей, проектирования структуры механизмов и составления расписаний, для оптимизации структуры телекоммуникационных сетей и размещения электронных элементов на плате, поиска оптимальной формы детали и раскроя ткани и т.д. Так, израильская компания «Schema» на основе генетических алгоритмов разработала программный продукт Channeling для оптимизации работы сетей сотовой связи путём выбора оптимальной частоты, на которой будет вестись разговор [44]; компания Boeing использовала генетические алгоритмы для оптимизации турбины двигателя самолёта Boeing 777, оказавшейся по крайней мере на 1% эффективнее с точки зрения расхода топлива (что для данной отрасли считается неожиданной удачей), а фирма Texas Instruments задействовала их для оптимизации расположения компонентов на чипе, чтобы создать как можно меньший по размерам чип, и использование ГА позволило сделать его на 18% меньшим по площади [79].
За рубежом известно несколько случаев применения ГА для оптимизации СММ в системах распознавания речи, ориентированных на английский язык [54, 76, 77]. Но различия в фонематической базе русского и английского языков, уже выступавшие причиной плохой работы иностранных систем распознавания речи с русским языком, не позволяют однозначно перенести на него опыт применения ГА, а отечественных работ подобной направленности на момент написания диссертации не обнаружено. К тому же перечисленные зарубежные работы имеют обзорный и довольно поверхностный характер, не несут в себе сколь-нибудь серьёзного анализа альтернатив реализации ГА и практически не содержат обоснования выбора применяемых решений.
В третьей главе диссертации предлагается разработанная автором в рамках программно-аппаратного комплекса «Иволга» конкретная реализация генетического алгоритма, предназначенного для оптимизации процесса обучения СММ тренировочными последовательностями. За основу взята разработанная на кафедре ЭВА МИЭМ в 1998 г. А.А.Серовым система оценки стартовых параметров непрерывных СММ в задачах распознавания команд при кепстральной предобработке речевого сигнала (система
10 SdiApp). Основной задачей SdiApp является получение стартовых параметров СММ для изолированных слов. Результаты её работы используются в разработанной автором системе «Иволга» как отправная точка для работы генетического алгоритма. В этой главе также рассмотрены различные альтернативы и предложены варианты кодирования хромосом ГА, выбраны реализации генетических операторов, подходящие для работы с непрерывными СММ, определены параметры генетического алгоритма, обеспечивающие наиболее эффективное решение поставленной задачи.
В четвёртой главе диссертации производится оценка эффективности генетических алгоритмов в решении задачи обучения СММ. Тестирование системы проводилось с использованием имеющейся речевой базы данных (РБД), также разработанной на кафедре ЭВА МИЭМ А.Г. Бурёй. Произведено сравнение результатов работы ГА с традиционными методами поиска оптимальных решений для СММ, рассмотрено влияние параметров генетического алгоритма на эффективность его работы, предложены варианты дальнейшего развития алгоритма, направленные на повышение скорости и устойчивости его работы.
Исследование автора показало, что ГА успешно справляются с поставленными задачами, являясь эффективным методом обучения СММ, свободным от основных недостатков традиционно используемого метода Баума-Велча, при этом успешно сочетаясь с ним в рамках единой системы распознавания речи. Кроме того, с учётом современных тенденций развития аппаратной части систем распознавания генетические алгоритмы имеют очень хорошие перспективы по части оптимизации эффективности своей работы, так как позволяют легко распараллелить работу ГА и распределить её между разными процессорами (или процессорными ядрами) в одной машине или между разными компьютерами в сети.
В приложении 1 приведено описание программного комплекса «Иволга», предназначенного для исследования генетических алгоритмов в рамках задачи распознавания голосовых команд.
В приложении 2 приведён пример работы системы генетических алгоритмов в рамках программного комплекса «Иволга».
В настоящее время работы по распознаванию речи не только не потеряли актуальности, но и развиваются широким фронтом, находя для себя множество областей для практического применения. Сейчас можно выделить 4 сравнительно изолированных направления в области развития речевых технологий [9]:
1. Распознавание речи - т.е. преобразование речевого акустического сигнала в цепочку символов, слов. Эти системы могут быть охарактеризованы по ряду параметров. Прежде всего это объём словаря: малые объёмы до 20 слов, большие - тысячи и десятки тысяч. Количество дикторов: от одного до произвольного. Стиль произнесения: от изолированных команд до слитной речи и от чтения до спонтанной речи. Коэффициент ветвления, т.е. величина, определяющая количество гипотез на каждом шаге распознавания: от малых величин (<10-15) до больших (~100-200). Отношение сигнал/шум от больших (>30 дб) до низких (<10 дб). Качество каналов связи: от высококачественного микрофона до телефонного канала. Качество работы систем распознавания речи обычно характеризуется надёжностью распознавания слов, или, что то же самое, процентом ошибок.
2. Определение индивидуальности говорящего. Эти системы прежде всего делятся на 2 класса: верификация говорящего (т.е. подтверждение его личности) и идентификация говорящего (т.е. определение его личности из заранее ограниченного числа людей). Оба эти класса далее могут быть разделены на тексто-зависимые и тексто-независимые. Следующий характеристический параметр - объём парольной фразы. Два других (как и в распознавании речи): отношение сигнал/шум и качество канала связи. Качество работы систем верификации/идентификации говорящего характеризуется двумя величинами: вероятностью не опознания «своего» диктора и вероятностью принятия «чужого» диктора за своего.
3. Синтез речи. Практически существует 2 класса:
1) Воспроизведение записанного в той или иной форме ограниченного числа сообщений;
2) Синтез речи по тексту.
Синтезаторы характеризуются по следующим параметрам: разборчивость (словесная или слоговая), естественность звучания, помехоустойчивость.
4. Компрессия речи. Основной (и единственный) классификационный признак этих систем - степень компрессии: от низкой (32-16 кбит/сек) до высокой (1200-2400 кбит/сек и ниже). Качество работы систем компрессии речи характеризуется прежде всего разборчивостью компрессированной речи. Дополнительными характеристиками очень важными в ряде приложений являются узнаваемость голоса говорящего и возможность определения уровня стрессованности говорящего.
В диссертационной работе рассматриваются системы первой группы - системы распознавания речи и их частный случай - системы распознавания речевых команд, т.е. распознавание изолированных слов, а не слитной речи. Такие системы весьма полезны на практике, и возросшая необходимость в них связана в первую очередь с появлением большого количества доступных человеку разнообразных устройств (персональные, мобильные и карманные компьютеры, коммуникаторы и мобильные телефоны, игровые и многофункциональные мультимедийные устройства с достаточной вычислительной мощностью) в сочетании с бурным развитием телекоммуникаций в современном мире. Растёт важность массового внедрения новых интерфейсов взаимодействия человека с техническими системами, поскольку традиционные интерфейсы во многом уже достигли своего совершенства, а вместе с ним и своих пределов. При традиционно высокой значимости информации, поступающей к нам через органы зрения, и её высокой доли среди всей сенсорной информации, считающейся равной порядка 85% [11], этот канал восприятия человека становится в значительной степени перегружен. И первоочередной
альтернативой здесь видится коммуникация именно по акустическому каналу.
Кроме того, системы распознавания (а также синтеза) речи также крайне важны для людей с ограниченным зрением, и эта ниша для их применения активно развивается прежде всего в области мобильной телефонии (малые размеры экранов телефонных аппаратов не дают таким людям возможности пользоваться ими с достаточной степенью комфорта), а также в бытовой технике (для управления разнообразными домашними устройствами). Для помощи таким людям производители вводят в свои устройства возможности управления посредством голосовых команд (при наборе номера в телефоне или во время навигации по пунктам меню), а также дублирования экранной информации голосом. И в первую очередь от таких продуктов требуется распознавание ограниченного набора команд пользователя, а не слитной речи с большим или неограниченным словарём. Благодаря стандартизации платформ и операционных систем телефонов расширяется круг сторонних разработчиков программных продуктов с данной функциональностью [22].
Значительно более развита ниша программ распознавания речи для персональных компьютеров, где уже достаточно давно существуют такие продукты как IBM ViaVoice, DragonDictate или «Горыныч» (являющийся локализованной версией системы
DragonDictate, изначально ориентированной на английский язык), а также уже упоминавшиеся отечественные разработки Сакрамент и SPIRIT.
Отечественные разработки обладают тем преимуществом перед зарубежными, что они изначально ориентированы на русские фонемы. В отсутствии такой базы иностранные системы вынуждены работать с русским языком на основе английских фонем или некоторого общего и универсального их набора, что отрицательно сказывается на качестве распознавания. Так, по сообщениям прессы, первый зарубежный коммерческий продукт распознавания русской речи для телефонных приложений, включающий поддержку русских фонем, появился лишь в 2003 году - набор программных модулей, библиотек и утилит для разработки систем такого класса - SpeechPearl компании Philips Speech Processing [56].
Аппаратная база подобных систем на сегодняшний момент устоялась на нескольких основных вариантах:
1) Системы PC-класса на основе х86-совместимых процессоров для программных продуктов, используемых в настольных компьютерах, в некоторых серверных или мобильных решениях;
2) Мобильные устройства (телефоны, коммуникаторы и т.п.) на основе процессорной архитектуры ARM (более 75% всех интегрированных процессоров, выпускаемых в мире) [24];
3) Специализированные аппаратные решения на основе DSP-процессоров с тенденцией замены их массовыми решениями из предыдущих двух классов, так как возросшая производительность универсальных процессоров позволяет решать задачи, прежде бывшие для них весьма тяжёлыми.
Тенденция экстенсивного наращивания производительности процессоров за счёт увеличения их рабочих частот, имевшая место в предыдущие годы, уступает место новой тенденции, нацеленной на активное использование параллелизма в различных его проявлениях. В ближайшие годы это выльется в создание многоядерных архитектур процессоров (от уже существующей технологии Intel HyperThreading к созданию двух- и более ядерных процессоров на одном кристалле, появления которых можно ожидать уже в 2006 году; крайне интересная технология Cell от альянса Sony, Toshiba и IBM, которая затронет не только компьютеры, но, потенциально, и бытовую технику в доме), создание недорогих кластерных решений на основе стандартных компонент (начиная с проекта BeoWulf для ОС Linux) и массовое использование распределённых вычислений (от уже реализовавшихся одиночных проектов типа distributed.netдля взлома шифров или SETI@Home для поиска внеземных цивилизаций к технологии GRID и виртуализации вычислений, активно продвигаемых корпорацией IBM).
По мнению многих аналитиков и представителей различных компаний, грядёт эра параллельного программирования [25]. Одним из первых её предвестников можно назвать уже существующую технологию EPIC (Explicitly Parallel Instruction Computer) компании Intel, реализованную в коммерческих процессорах Itanium. Переход на новые параллельные архитектуры требует создания чрезвычайно сложных оптимизирующих компиляторов, изменения образа мышления программистов и приложения ими специальных усилий для разработки и реализации соответствующих алгоритмов. В таких условиях особую ценность представляют алгоритмы, учитывающие возможный параллелизм своей работы.
аппарат СММ применительно к задачам распознавания речи.
СММ - это довольно мощный (хотя и громоздкий) и весьма эффективный математический аппарат для решения задач распознавания речи [8]. Использование СММ для распознавания команд давно показало свою эффективность, а возросшие доступные вычислительные мощности открыли дорогу к использованию новых подходов к решению задач, встающих перед разработчиком подобных систем.
Одной из важнейших и наиболее сложных задач, возникающих при работе с СММ, является задача обучения модели, то есть нахождения таких её параметров, при которых модель точнее описывает «своё» слово, т.е. генерирует для последовательности речевого сигнала, содержащего это слово, большее значение вероятности, чем другие модели слов из словаря системы. В процессе распознавания команды в системе происходит оценка и сравнение между собой вероятностей генерации наблюдаемого слова различными моделями из словаря с тем, чтобы отобрать среди них наиболее вероятного претендента. Чем лучше модель описывает тестовое (или тренировочное) слово, тем больше шансов, что оно будет верно распознано, т.е. будет выбрано среди всех остальных слов словаря. Особенно заметным становится влияние качества обучения модели на результативность работы системы распознавания в том случае, если словарь системы разрастается, и в нём оказываются похожие слова, т.е. слова, модели которых генерируют близкие значения вероятности. В таких условиях выбор правильного варианта оказывается затруднительным. Кроме того, желательно, чтобы модель могла эффективно распознавать «своё» слово по-возможности в более широких пределах изменяющихся условий работы системы распознавания (в различных уровнях зашумлённости или при работе по каналам различающегося качества) и вариативности произнесения слов диктором (в случае стресса или наличия дефектов речи).
Отсюда следует, что задача обучения модели, причём её качественного обучения, является весьма актуальной и её решению должно уделяться повышенное внимание.
Существуют и давно применяются оптимизированные методы обучения СММ (например, метод Баума-Велча или EM-метод), но они не свободны от недостатков, важнейшие среди которых - это сильная зависимость от начальных условий, порождающая задачу нахождения стартовых параметров СММ, и неспособность найти глобальный экстремум, если локальный экстремум оказывается ближе. Однозначно лучшего метода обучения СММ не известно, и для решения этой задачи могут применяться различные подходы.
Одним из таких потенциально интересных методов обучения являются генетические алгоритмы (ГА). Генетические алгоритмы, относящиеся к концепции эволюционных вычислений,- это современное, перспективное и активно
разрабатываемое направление методов оптимизации многокритериальных задач. Во второй главе диссертационной работы рассмотрена концепция ГА и их место среди других методов нахождения оптимальных значений, и проведена оценка их применимости к решению задачи обучения СММ.
Генетические алгоритмы уже активно используются для обучения нейронных сетей, проектирования структуры механизмов и составления расписаний, для оптимизации структуры телекоммуникационных сетей и размещения электронных элементов на плате, поиска оптимальной формы детали и раскроя ткани и т.д. Так, израильская компания «Schema» на основе генетических алгоритмов разработала программный продукт Channeling для оптимизации работы сетей сотовой связи путём выбора оптимальной частоты, на которой будет вестись разговор [44]; компания Boeing использовала генетические алгоритмы для оптимизации турбины двигателя самолёта Boeing 777, оказавшейся по крайней мере на 1% эффективнее с точки зрения расхода топлива (что для данной отрасли считается неожиданной удачей), а фирма Texas Instruments задействовала их для оптимизации расположения компонентов на чипе, чтобы создать как можно меньший по размерам чип, и использование ГА позволило сделать его на 18% меньшим по площади [79].
За рубежом известно несколько случаев применения ГА для оптимизации СММ в системах распознавания речи, ориентированных на английский язык [54, 76, 77]. Но различия в фонематической базе русского и английского языков, уже выступавшие причиной плохой работы иностранных систем распознавания речи с русским языком, не позволяют однозначно перенести на него опыт применения ГА, а отечественных работ подобной направленности на момент написания диссертации не обнаружено. К тому же перечисленные зарубежные работы имеют обзорный и довольно поверхностный характер, не несут в себе сколь-нибудь серьёзного анализа альтернатив реализации ГА и практически не содержат обоснования выбора применяемых решений.
В третьей главе диссертации предлагается разработанная автором в рамках программно-аппаратного комплекса «Иволга» конкретная реализация генетического алгоритма, предназначенного для оптимизации процесса обучения СММ тренировочными последовательностями. За основу взята разработанная на кафедре ЭВА МИЭМ в 1998 г. А.А.Серовым система оценки стартовых параметров непрерывных СММ в задачах распознавания команд при кепстральной предобработке речевого сигнала (система
10 SdiApp). Основной задачей SdiApp является получение стартовых параметров СММ для изолированных слов. Результаты её работы используются в разработанной автором системе «Иволга» как отправная точка для работы генетического алгоритма. В этой главе также рассмотрены различные альтернативы и предложены варианты кодирования хромосом ГА, выбраны реализации генетических операторов, подходящие для работы с непрерывными СММ, определены параметры генетического алгоритма, обеспечивающие наиболее эффективное решение поставленной задачи.
В четвёртой главе диссертации производится оценка эффективности генетических алгоритмов в решении задачи обучения СММ. Тестирование системы проводилось с использованием имеющейся речевой базы данных (РБД), также разработанной на кафедре ЭВА МИЭМ А.Г. Бурёй. Произведено сравнение результатов работы ГА с традиционными методами поиска оптимальных решений для СММ, рассмотрено влияние параметров генетического алгоритма на эффективность его работы, предложены варианты дальнейшего развития алгоритма, направленные на повышение скорости и устойчивости его работы.
Исследование автора показало, что ГА успешно справляются с поставленными задачами, являясь эффективным методом обучения СММ, свободным от основных недостатков традиционно используемого метода Баума-Велча, при этом успешно сочетаясь с ним в рамках единой системы распознавания речи. Кроме того, с учётом современных тенденций развития аппаратной части систем распознавания генетические алгоритмы имеют очень хорошие перспективы по части оптимизации эффективности своей работы, так как позволяют легко распараллелить работу ГА и распределить её между разными процессорами (или процессорными ядрами) в одной машине или между разными компьютерами в сети.
В приложении 1 приведено описание программного комплекса «Иволга», предназначенного для исследования генетических алгоритмов в рамках задачи распознавания голосовых команд.
В приложении 2 приведён пример работы системы генетических алгоритмов в рамках программного комплекса «Иволга».
1. Для современных систем управления, использующих системы автоматического распознавания речевых команд на основе скрытых марковских моделей (СММ), при фиксированной аппаратной базе таких систем и существующих тенденциях её развития в ближайшем будущем проведёно исследование задачи обучения СММ тренировочными последовательностями. Исследование показало, что существует перспективное направление повышения эффективности обучения СММ посредством использования аппарата генетических алгоритмов (ГА), которые преодолевают ограничения и недостатки методов, традиционно используемых для оптимизации СММ, а также обладают очень хорошими перспективами использования с учётом тенденций развития аппаратных средств.
2. Для решения задачи оптимизации обучения СММ разработан наиболее приспособленный для этой цели ГА, выбран и реализован механизм кодирования хромосом вещественным числами, создана фитнес-функция, вычисляющая вероятность генерации тестовой последовательности моделью наиболее эффективным способом. Разработанные генетические операторы ориентированы на работу с СММ и учитывают характерные для них ограничения. На основании теоремы схем показано, что выбранный оператор отбора ведёт к эффективному нахождению более хороших решений задачи. Определены условия эффективного применения различных вариантов реализации критерия останова ГА. Экспериментально определены наиболее эффективные значения параметров алгоритма (размер популяции, вероятность мутации) для использования в задаче обучения СММ.
3. В результате исследования эффективности оптимизации обучения СММ с помощью генетического алгоритма и сравнения его с традиционными методами обучения установлено, что предложенный автором генетический алгоритм показывает результаты, сравнимые с методом Баума-Велча, а в некоторых случаях и превосходит их, находя решения за пределами локальных экстремумов, которые не может обнаружить метод Баума-Велча. Генетический алгоритм преодолевает и такое важное ограничение традиционных методов, как сильную зависимость от стартовых значений. Предложенный подход показал свою эффективность и перспективность использования в задачах распознавания речевых команд.
4. Экспериментально определены параметры, оказывающие влияние на эффективность решения алгоритмом поставленной задачи. Предложены методы, направленные на дальнейшее повышение эффективности и качества работы ГА в контексте рассматриваемой задачи: возможность оптимизации выбора параметров с использованием 2-уровневого ГА и использование комбинированной фитнес- функции. Это открывает путь к созданию самообучающихся систем распознавания и позволяет повысить качество распознавания команд при работе с разными дикторами, дикторами в условиях стресса, с дикторами, речь которых имеет особенности в виде «проглатывания» части звуков, а также в телекоммуникационных системах при работе по каналам связи низкого качества, где часть голосовой информации может быть потеряна, в том числе и в сетях сотовой связи или IP-телефонии.
5. В рамках работы создан программно-аппаратный комплекс «Иволга» для исследования генетических алгоритмов. Программная его часть является дополнением системы SdiApp, решающей задачу оценки стартовых параметров СММ и функционирующей на кафедре ЭВА МИЭМ с 1998 г., и написана в среде Borland C++ Builder 6. Необходимая для работы аппаратная часть - ПК с процессором класса Pentium-3 500МГц и 256Мб оперативной памяти, а также звуковая карта, поддерживающая при записи звука частоты дискретизации до 44КГц.
6. Автором предлагается следующая схема организации процесса обучения в системе распознавания речевых команд на основе СММ: система содержит модуль, реализующий обучение традиционным методом Баума-Велча и параллельно несёт в себе модуль ГА. Первоначальное обучение марковской модели слова производится с помощью метода Баума-Велча, а в дальнейшем (например, во время простоя системы, когда вычислительные ресурсы компьютера свободны) производятся запуски системы ГА как со случайной стартовой популяцией, так и с популяцией, построенной на основе уже обученных моделей. При нахождении генетическим алгоритмом модели слова лучшей, чем имеющаяся в словаре системы, производится её замена на новую. Данный подход позволяет произвести быстрое начальное обучение системы и затем работать над улучшением моделей слов в словаре (в том числе и имея возможность распределить вычисления между различными компьютерами в сети). Предложенное в данной работе решение задачи оптимизации обучения СММ способно улучшить процесс обучения СММ тренировочными последовательностями и повысить надёжность работы систем распознавания речевых команд, использующих в своей работе марковские модели.
2. Для решения задачи оптимизации обучения СММ разработан наиболее приспособленный для этой цели ГА, выбран и реализован механизм кодирования хромосом вещественным числами, создана фитнес-функция, вычисляющая вероятность генерации тестовой последовательности моделью наиболее эффективным способом. Разработанные генетические операторы ориентированы на работу с СММ и учитывают характерные для них ограничения. На основании теоремы схем показано, что выбранный оператор отбора ведёт к эффективному нахождению более хороших решений задачи. Определены условия эффективного применения различных вариантов реализации критерия останова ГА. Экспериментально определены наиболее эффективные значения параметров алгоритма (размер популяции, вероятность мутации) для использования в задаче обучения СММ.
3. В результате исследования эффективности оптимизации обучения СММ с помощью генетического алгоритма и сравнения его с традиционными методами обучения установлено, что предложенный автором генетический алгоритм показывает результаты, сравнимые с методом Баума-Велча, а в некоторых случаях и превосходит их, находя решения за пределами локальных экстремумов, которые не может обнаружить метод Баума-Велча. Генетический алгоритм преодолевает и такое важное ограничение традиционных методов, как сильную зависимость от стартовых значений. Предложенный подход показал свою эффективность и перспективность использования в задачах распознавания речевых команд.
4. Экспериментально определены параметры, оказывающие влияние на эффективность решения алгоритмом поставленной задачи. Предложены методы, направленные на дальнейшее повышение эффективности и качества работы ГА в контексте рассматриваемой задачи: возможность оптимизации выбора параметров с использованием 2-уровневого ГА и использование комбинированной фитнес- функции. Это открывает путь к созданию самообучающихся систем распознавания и позволяет повысить качество распознавания команд при работе с разными дикторами, дикторами в условиях стресса, с дикторами, речь которых имеет особенности в виде «проглатывания» части звуков, а также в телекоммуникационных системах при работе по каналам связи низкого качества, где часть голосовой информации может быть потеряна, в том числе и в сетях сотовой связи или IP-телефонии.
5. В рамках работы создан программно-аппаратный комплекс «Иволга» для исследования генетических алгоритмов. Программная его часть является дополнением системы SdiApp, решающей задачу оценки стартовых параметров СММ и функционирующей на кафедре ЭВА МИЭМ с 1998 г., и написана в среде Borland C++ Builder 6. Необходимая для работы аппаратная часть - ПК с процессором класса Pentium-3 500МГц и 256Мб оперативной памяти, а также звуковая карта, поддерживающая при записи звука частоты дискретизации до 44КГц.
6. Автором предлагается следующая схема организации процесса обучения в системе распознавания речевых команд на основе СММ: система содержит модуль, реализующий обучение традиционным методом Баума-Велча и параллельно несёт в себе модуль ГА. Первоначальное обучение марковской модели слова производится с помощью метода Баума-Велча, а в дальнейшем (например, во время простоя системы, когда вычислительные ресурсы компьютера свободны) производятся запуски системы ГА как со случайной стартовой популяцией, так и с популяцией, построенной на основе уже обученных моделей. При нахождении генетическим алгоритмом модели слова лучшей, чем имеющаяся в словаре системы, производится её замена на новую. Данный подход позволяет произвести быстрое начальное обучение системы и затем работать над улучшением моделей слов в словаре (в том числе и имея возможность распределить вычисления между различными компьютерами в сети). Предложенное в данной работе решение задачи оптимизации обучения СММ способно улучшить процесс обучения СММ тренировочными последовательностями и повысить надёжность работы систем распознавания речевых команд, использующих в своей работе марковские модели.



