Способ и устройство для быстрого вычисления вероятностей наблюдения при распознавании речи

Иллюстрации

Показать все

Изобретение относится к распознаванию речи и, более конкретно, к способу и устройству для вычисления акустических вероятностей при распознавании речи. Техническим результатом является обеспечение возможности более полного использования преимуществ векторной обработки, повышение скорости вычисления акустических вероятностей. Указанный результат достигается за счет того, что вычисляют функции смеси плотностей с использованием команд типа "одна команда - много данных" (SIMD) для получения вектора, содержащего компоненты смеси плотностей в качестве элементов. Содержимое вектора хранится в памяти (110) и используется при распознавания речи для всего множества компонентов смеси плотностей для последовательных кадров. 4 н. и 16 з.п. ф-лы, 6 ил.

Реферат

Область техники, к которой относится изобретение

Изобретение относится к распознаванию речи и, более конкретно, относится к способу и устройству для векторного вычисления вероятностей наблюдения.

Уровень техники

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

Функция смешивания Гауссовских плотностей распределения вероятностей обычно имеет следующий вид:

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

Краткое описание чертежей

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

Фигура 1 иллюстрирует типовую систему распознавания речи.

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

Фигура 3 изображает блок-схему реализации настоящего изобретения.

Фигура 4 изображает псевдокод для реализации данного изобретения, включающий процесс распознавания речи с быстрыми вычислениями, который использует преимущества команд вида "одна команда - много данных" (SIMD).

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

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

Подробное описание изобретения

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

Фигура 1 иллюстрирует обычную вычислительную систему, которая может быть использована для распознавания речи. Данная система содержит память 110, центральный процессор (ЦП) 120, северный мост 130, южный мост 135, устройство 140 вывода аудиоинформации и устройство 150 ввода аудиоинформации. Устройство 140 вывода аудиоинформации может представлять собой устройство, подобное акустической системе. Устройство 150 ввода аудиоинформации может быть таким устройством, как микрофон.

Фигура 2 изображает систему 200, которая содержит одну реализацию изобретения, включающую в себя процесс 210 распознавания речи с быстрыми вычислениями. В одной реализации изобретения процесс 210 распознавания речи с быстрыми вычислениями использует команды вида "одна команда - много данных" (SIMD). В данной реализации настоящего изобретения команды SIMD используют технологию мультимедиа расширений (ММХ), потоковые SIMD-команды (SSX) (также известные как технология MMXII). Необходимо заметить, что ММХ команды изначально были задуманы с целью ускорения мультимедиаприложений, особенно в области программно-реализованных алгоритмов аудио- и видеокомпрессии и декомпрессии. При SIMD-архитектуре одна команда выполняется параллельно на многих элементах данных.

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

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

Фигура 3 показывает реализацию настоящего изобретения с процессом 300 распознавания речи с быстрыми вычислениями, который использует преимущества SIMD-команд. Процесс 300 начинается с блока 310, который определяет, находятся ли значения смеси в кэш-памяти (кэш для смеси). В одной реализации изобретения кэш-память (кэш для смеси) может быть как аппаратной кэш-памятью, так и программно-реализованной кэш-памятью. В реализации изобретения, где кэш-память является программно-реализованной кэш-памятью, система распознавания речи или пользователь имеет возможность управлять кэш-памятью. То есть объем программно-реализованной кэш-памяти можно изменять. Если в блоке 310 определится, что значения смеси находятся в кэш-памяти, то процесс 300 продолжается в блоке 315, в котором значение смеси извлекается из кэш-памяти. Если в блоке 310 устанавливается, что в кэш-памяти нет значения смеси, то процесс 300 продолжается в блоке 320.

В блоке 320 обнуляется вектор значений смеси. Процесс 300 продолжается в блоке 330, в котором вычисляется вектор значений компонент. Процесс 300 продолжается в блоке 340, в котором к вектору значений смеси прибавляется вектор значений компонент. При завершении работы в блоке 340 процесс 300 продолжается в блоке 350. В блоке 350 определяется, завершены ли вычисления для всех компонент смеси. Если вычисления для всех компонент смеси не завершены, то работа процесса 300 переходит к блоку 330. Если в блоке 350 устанавливается, что вычисления для всех компонент смеси завершены, то процесс 300 продолжается в блоке 360, в котором вектор значений смеси сохраняется в кэш-памяти (кэше для смеси).

При завершении работы в блоке 360 или в блоке 315 процесс 300 переходит к блоку 370, где акустическая вероятность готова для использования в системе, такой как 200.

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

Фигура 5 иллюстрирует сравнение обычного подхода 510 и реализации изобретения, содержащего процесс 210 распознавания речи с быстрыми вычислениями, использующего SIMD-команды, который помечен позицией 520. При обычном подходе 510 для каждого кадра вычисляются отдельные вероятности компонент смеси. В одной реализации настоящего изобретения при вычислении вектора смеси происходит одновременное вычисление всех компонент смеси для последовательных кадров, результат помечен позицией 520. С использованием векторных вычислений (с помощью SIMD-команд) вычисление всех компонент смеси завершается гораздо быстрее, чем при обычных подходах.

Фигура 6 иллюстрирует пример результатов использования реализаций настоящего изобретения, включающих в себя процесс 210 распознавания речи с быстрыми вычислениями на основе SIMD-команд. Длина вектора первого интервала, помеченного позицией 610, соответствует обычному подходу. Вектор, длина которого находится в интервале от 2 до 100 (2-100), помеченный позицией 620, иллюстрирует реализации настоящего изобретения.

Учебная задача, используемая для получения результатов 600, - это независимое от диктора распознавание речи из 20000 слов доступного словаря. Надо заметить, что реализации изобретения также могут применяться для других задач распознавания речи. Вычислительная система использовала процессор PentiumТМ III с тактовой частотой 400 МГц. Необходимо заметить, что другие системы с другими процессорами также могут использоваться совместно с реализациями изобретения. Разница между различными запусками заключалась в длине вычисляемого вектора вероятности наблюдений. Для указанного выше примера лучшая скорость для реализации изобретения оказалась при использовании вектора длиной двенадцать (12), хотя более 34% вычисленных вероятностей не были использованы.

Указанные выше реализации также могут храниться в устройстве или на машинно-считываемом носителе и считываться машиной для выполнения команд. Машинно-считываемые носители включают в себя любые механизмы, которые содержат (то есть хранят и/или передают) информацию, которая может быть считана машиной (например, компьютером). Например, машинно-считываемый носитель может быть постоянным запоминающим устройством (ROM); оперативным запоминающим устройством или памятью с произвольным доступом (RAM); накопителем на магнитных дисках; оптическим диском; флэш-памятью; электрическим, оптическим, звуковым сигналом или любой другой формой распространяемого сигнала (например, несущие волны, инфракрасные сигналы, цифровые сигнала и так далее). Устройством или машинно-считываемым носителем может быть полупроводниковое устройство памяти и/или вращающийся магнитный или оптический диск. Устройство или машинно-считываемый носитель может быть распределенным, когда части команд разделены между различными машинами, например, между соединенными в сеть компьютерами.

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

1. Способ вычисления акустических вероятностей при распознавании речи, включающий:

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

сохранение содержимого вектора в памяти,

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

2. Способ по п.1, дополнительно содержащий обнуление содержимого вектора.

3. Способ по п.1, в котором вычисление множества компонентов смеси плотностей с использованием SIMD команд для обработки вектора включает в себя одновременное вычисление каждой из множества компонент смесей плотностей для последовательных кадров.

4. Способ по п.1, в котором память является либо аппаратной кэш-памятью либо программно реализованной кэш-памятью.

5. Способ по п.1, в котором содержимое вектора включает в себя акустические вероятности.

6. Способ по п.1, в котором SIMD команды также содержат либо команды с потоковыми SIMD расширениями (SSE), либо SSE-2 команды.

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

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

сохранение содержимого вектора в памяти,

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

8. Устройство по п.7, дополнительно содержащее команды, исполнение которых машиной приводит к тому, что машина выполняет операции, включающие в себя

обнуление содержимого вектора.

9. Устройство по п.7, в котором определение множества компонентов смесей плотностей с использованием SIMD команд для обработки вектора приводит к тому, что машина выполняет операции, включающие в себя

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

10. Устройство по п.7, в котором память является либо аппаратной кэш-памятью либо программно реализованной кэш-памятью.

11. Устройство по п.7, в котором содержимое вектора включает в себя акустические вероятности.

12. Устройство по п.7, в котором SIMD команды также содержат либо команды с потоковыми SIMD расширениями (SSE), либо SSE-2 команды.

13. Устройство для вычисления акустических вероятностей при распознавании речи, содержащее

процессор;

память, соединенную с процессором;

схему, реализующую процесс распознавания речи и соединенную с процессором и памятью, при этом процесс распознавания речи использует для получения вектора команды типа "одна команда - много данных" (SIMD), отличающееся тем, что вектор содержит множество компонентов смеси плотностей и имеет длину от 2 до 100 элементов, а процесс распознавания речи одновременно вычисляет все множество компонентов смеси плотностей для последовательных кадров.

14. Устройство по п.13, в котором SIMD команды также содержат либо команды с потоковыми SIMD расширениями (SSE) либо SSE-2 команды.

15. Устройство по п.13, в котором память является либо аппаратной кэш-памятью либо программно реализованной кэш-памятью.

16. Система для вычисления акустических вероятностей при распознавании речи, содержащая:

процессор с памятью,

северный мост, соединенный с процессором,

оперативную память, соединенную с северным мостом,

южный мост, соединенный с процессором,

первый аудиокомпонент, соединенный с процессором,

второй аудиокомпонент, соединенный с процессором,

схему, реализующую процесс распознавания речи и соединенную с процессором, при этом процесс распознавания речи использует для получения вектора команды типа "одна команда - много данных" (SIMD), отличающаяся тем, что вектор содержит множество компонентов смеси плотностей и имеет длину от 2 до 100 элементов, а процесс распознавания речи одновременно вычисляет все множество компонентов смеси плотностей для последовательных кадров.

17. Система по п.16, в которой первая аудиокомпонента выполняет функцию аудиовыхода.

18. Система по п.16, в которой вторая аудиокомпонента выполняет функцию аудиовхода.

19. Система по п.16, в которой SIMD команды также содержат либо команды с потоковыми SIMD расширениями (SSE) либо SSE-2 команды.

20. Система по п.16, в которой память является либо аппаратной кэш-памятью либо программно реализованной кэш-памятью.