Вопрос или проблема
Я задаю этот вопрос, чтобы задать несколько вопросов о встраивании X-векторов, предложенном Снайдером и др.
Статья называется X-VECTORS: ROBUST DNN EMBEDDINGS FOR SPEAKER RECOGNITION.
Ссылаясь на следующую таблицу, сеть была построена с использованием Time Delay Neural Network
для уровня кадров. Предполагается, что входные акустические признаки (размерность признаков 24) являются сплайсами кадров. Таким образом, для frame1 layer
, входные признаки фактически являются сплайсами t-2, t-1, t, t+1, t+2
(упомянуто в его другой статье “Глубокие нейронные сети для текст-независимой проверки говорящего”). Это можно понять, так как показывает 5 в общем контексте, и вход составляет 120x512
. 5 * 24 = 120
.
Вот моя цитата из статьи
“Конфигурация DNN описана в Таблице 1. Предположим, что входной сегмент имеет T кадров. Первые пять уровней работают с речевыми кадрами, с небольшим временным контекстом, сосредоточенным на текущем кадре t. Например, ввод для уровня frame3 – это сплайсированный вывод frame2, на кадрах t – 3, t и t + 3. Это основывается на временном контексте предыдущих уровней, так что frame3 видит общий контекст из 15 кадров.”
Теперь мои вопросы,
-
что такое
512
? Это скрытая единица для TDNN? -
Что такое 9 и 15
context
наframe 2
иframe 3 level
? Это запутанно. И как мы получаем размерность1536
?
512 – это размер выхода уровня. Входной размер frame2 является результатом сплайсинга кадров в трех временных точках, $t-2, \ t, \ t+2$, каждый с размером выхода 512 и $512\cdot3=1536$. Сплайсинг означает, что выход одного уровня или кадра объединяется (конкатетируется) с окружающим контекстом. Таким образом, frame2 содержит не только выход frame1 в момент времени $t$, но также выход frame1 в моменты времени $t-2$ и $t+2$.
Запишем нашу временную серию как:
$\dots t-4,\ t-3, \ t-2, \ t-1, \ t, \ t+1, \ t+2, \ t+3, \ t+4 \dots$
Мы рассматриваем выход frame1 в трех временных точках $\color{red}{t-2}, \ \color{green} {t}, \ \color{blue}{t+2}$ (обозначенных цветами), каждый из которых охватывает диапазон из 5 временных точек ($[t-2,\ t+2]$):
$\dots \color{red}{t-4,\ t-3,} \color{green}{\ t-2, \ t-1, \ t, \ t+1, \ t+2},\color{blue}{\ t+3, \ t+4} \dots$
И $t-2, \ t-1, \ t$ также должно быть окрашено в красный, также как $t, \ t+1,\ t+2$ должно быть окрашено в синий – у нас есть некоторые перекрытия, потому что наше окно смещается, и мы всегда рассматриваем диапазон $[t-2,\ t+2]$.
Теперь вы можете увидеть, что рассматривая $t-2$ как нашу текущую временную точку, расширяет контекст, чтобы включить $t-4$ и $t-3$! То же самое относится и к $t+2$. Здесь мы расширили контекст на дополнительные 4 временные точки. И поскольку мы конкатенируем результаты из frame1, то $4+5=9$.
Для frame3 контекст расширяется на 3 временные точки (мы рассматриваем выходы из frame2 в временных точках $t-3, \ t, \ t+3$, так что в отношении временной точки frame2 $t$ получаем $t-3-2 = t-5$ и $t+3+2=t+5$, что по диапазону frame1 составляет $[t-2,\ t+2] = [t-7,\ t+7]$, и мы получаем 3 дополнительные временные точки с каждой стороны по сравнению с frame2, когда у нас был диапазон $[t-4,\ t+4]$) и мы сплайсим выход из frame2, таким образом $6+9=15$.
Ответ или решение
Обсуждение X-векторов: Подробности о нейросетевой архитектуре
В данной статье представлено обсуждение и разъяснение архитектуры нейронной сети X-векторов, предложенной в работе Snyder et al. в 2018 году, с акцентом на структуру и контекст фреймов, использованных для получения эмбеддингов при распознавании говорящих.
Общая информация о X-векторах
X-векторы представляют собой robust DNN embeddings (устойчивые векторные представления глубоких нейронных сетей), которые используют для идентификации и верификации говорящих. Эта методология основывается на технологии временных задерживающих нейронных сетей (TDNN), которые обеспечивают эффективный способ обработки рулонных данных в аудиопотоках. Основное внимание уделяется различным аспектам контекста и splicing фреймов, как упоминается в следующих вопросах.
Ответы на вопросы
1. Что такое 512? Это количество скрытых единиц для TDNN?
Да, 512 – это размер выходного слоя каждой фреймовой сети TDNN. Эта величина указывает на количество нейронов в скрытом слое, которые отвечают за извлечение признаков аудиосигналов на каждом временном шаге. Следовательно, нейросеть будет генерировать 512-мерные векторы для каждого из фреймов, что способствует более детальному представлению информации на уровне мелодии и интонации.
2. Что означают 9 и 15 контексты на уровнях фреймов 2 и 3? Как получить размерность 1536?
Контекстное окно для фреймов 2 и 3 служит важным понятием в архитектуре X-векторов.
-
Контекст для фрейма 2: В данной архитектуре фрейм 2 принимает в качестве входа сплоченные данные на три временных точки: $t-2$, $t$, и $t+2$. Поскольку у каждой из этих точек выходной размер 512, для фрейма 2 общая размерность данных будет равна $512 \cdot 3 = 1536$. Параллельно, учитывая контекст $t-2$, $t-1$, $t$, $t+1$, $t+2$, мы фактически захватываем 5 временных шагов с дополнением двух временных шагов до и после, что добавляет 4 последовательных временных точки, получая общее количество 9.
-
Контекст для фрейма 3: Фрейм 3 использует выходы фрейма 2, фокусируясь на временных точках $t-3$, $t$, и $t+3$. Это добавляет дополнительный контекст: при работе с $t-3$ мы захватываем временные точки $t-5$ и $t-4$, а при $t+3$, временные точки $t+4$ и $t+5$. Таким образом, учитывая дополнительные временные точки (по 3 с каждой стороны) и выходные данные фрейма 2, мы получаем 6, добавляемых к 9 из фрейма 2, итого 15.
Заключение
Методология X-векторов демонстрирует эффективность в обработке временных данных, что является ключевым фактором в задачах распознавания говорящих. Понятие контекста и splicing фреймов демонстрирует, как архитектура нейронной сети оптимизирует извлечение признаков, что способствует повышению точности моделей в сложных задачах глубокого обучения. Важно быть внимательным к деталям, поскольку каждый компонент архитектуры играет значимую роль в итоговом результате.