Машинный перевод на основе трансформации
- 1 year ago
- 0
- 0
Алгоритм динамической трансформации временно́й шкалы ( DTW-алгоритм , от англ. dynamic time warping ) — алгоритм , позволяющий найти оптимальное соответствие между временными последовательностями. Впервые применен в распознавании речи , где использован для определения того, как два речевых сигнала представляют одну и ту же исходную произнесённую фразу. Впоследствии были найдены применения и в других областях .
Временные ряды — широко распространенный тип данных [ уточнить ] , встречающийся, фактически, в любой научной области, и сравнение двух последовательностей является стандартной задачей. Для вычисления отклонения бывает достаточно простого измерения расстояния между компонентами двух последовательностей (евклидово расстояние). Однако часто две последовательности имеют приблизительно одинаковые общие формы, но эти формы не выровнены по оси X. Чтобы определить подобие между такими последовательностями, мы должны «деформировать» ось времени одной (или обеих) последовательности, чтобы достигнуть лучшего выравнивания.
Измерение расстояния между двумя временными рядами нужно для того, чтобы определить их подобие и классификацию. Таким эффективным измерением является евклидова метрика . Для двух временных последовательностей это просто сумма квадратов расстояний от каждой n-ой точки одной последовательности до n-ой точки другой. Однако использование евклидова расстояния имеет существенный недостаток: если два временных ряда одинаковы, но один из них незначительно смещен во времени (вдоль оси времени), то евклидова метрика может посчитать, что ряды отличаются друг от друга. DTW-алгоритм был введён для того, чтобы преодолеть этот недостаток и предоставить наглядное измерение расстояния между рядами, не обращая внимание как на глобальные, так и на локальные сдвиги на временной шкале .
Рассмотрим два временных ряда —
длины
и
длины
:
Первый этап алгоритма состоит в следующем. Мы строим матрицу
порядка
(
матрицу расстояний
), в которой элемент
есть расстояние
между двумя точками
и
. Обычно используется евклидово расстояние:
, или
. Каждый элемент
матрицы соответствует выравниванию между точками
и
.
На втором этапе строим матрицу трансформаций (деформаций)
, каждый элемент которой вычисляется исходя из следующего соотношения:
После заполнения матрицы трансформации, мы переходим к заключительному этапу, который заключается в том, чтобы построить некоторый оптимальный путь трансформации (деформации) и DTW расстояние (
стоимость пути
).
Путь трансформации
— это набор смежных элементов матрицы, который устанавливает соответствие между
и
. Он представляет собой путь, который минимизирует общее расстояние между
и
.
-ый элемент пути
определяется как
.
Таким образом:
где — длина пути.
Путь трансформации должен удовлетворять следующим ограничивающим условиям:
Хотя существует большое количество путей трансформации, удовлетворяющих всем вышеуказанным условиям, однако нас интересуют только тот путь, который минимизирует DTW расстояние ( стоимость пути ).
DTW расстояние ( стоимость пути ) между двумя последовательностями рассчитывается на основе оптимального пути трансформации с помощью формулы:
в знаменателе используется для учёта того, что пути трансформации могут быть различной длины.
Пространственная и временная сложность алгоритма — квадратичная, , так как DTW алгоритм должен изучить каждую клетку матрицы трансформации.
Хотя алгоритм успешно используется во многих областях, он может выдавать неправильные результаты. Алгоритм может попытаться объяснить непостоянство оси с помощью трансформации оси . Это может привести к выравниванию, при котором одной точке первой последовательности ставится в соответствие большая подгруппа точек второй последовательности.
Другая проблема заключается в том, что алгоритм может не найти очевидное выравнивание двух рядов вследствие того, что особая точка (пик, впадина, плато, точка перегиба ) одного ряда расположена немного выше или ниже соответствующей ей особой точки другого ряда .
Различные доработки DTW алгоритма предназначены для ускорения его вычислений, а также для того, чтобы лучше контролировать возможные маршруты путей трансформации.
Один из распространенных вариантов DTW алгоритма — наложение общих (глобальных) ограничивающих условий на допустимые пути деформации . Пусть — подмножество , задающее область глобального ограничения. Теперь путём трансформации является путь, который содержится в области . Оптимальный путь трансформации — путь, принадлежащий , и минимизирующий стоимость пути среди всех путей трансформации из .
Этот алгоритм обладает линейной пространственной и временной сложностью . Быстрый DTW алгоритм использует многоуровневый подход с тремя ключевыми операциями :
Основная идея данного метода состоит в том, чтобы динамически использовать наличие подобия и/или сопоставления данных для двух временных последовательностей. Данный алгоритм имеет три особых преимущества :
Для улучшения этой статьи
желательно
:
|