Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практика сии / 00_практика_по_сии_отчёт_велит_брв2201.pdf
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
350.28 Кб
Скачать

4Общи принципы работы нейронных аудио кодеков

Одним из решений проблемы кодирования звуковых данных при низких показателях битрейта является применение искусственного интеллекта (нейросетей) для кодирования информации. Такие решения уже присутствуют на рынке: например, EnCode, Webex, Stability AI Codec. Они все являются кодеками на основе применения нейронный сетей для сжатия информации.

Основная идейная структура всех нейронных кодеков схожа, и состоит

из:

1.Кодировщика (энкодера), чья задача преобразовать каждый отсчёт (которые фиксированы по времени) в вектор определённой размерности.

2.Далее происходит векторное квантование посредством остаточное векторное квантование.

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

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

4.1Residual Vector Quantization (RVQ)

Три упомянутых выше кодека объединяет метод квантования: residual vector quantization (или остаточное векторное квантование), что есть надстройка над простым векторным квантованием.

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

4

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

Развитием этой идеи и стало остаточное векторное квантование. После разделения всего пространства на блоки, каждый блок также делится на блоки по похожему принципу. Разница между центроидом одного из «больших» блоков и точкой данных будет остатком. Этот остаток квантуется таким же образом: вместо его координаты внутри блока относительного его центра используется индекс меньшего блока. Подобная разбивка на блоки внутри блоков может продолжаться около бесконечно: до достижения необходимой величины ошибки. При этом точность такого разбития сопоставима с более частым разбитием на большие кластеры. Например, двойное разбитие на 25 кластеров (25 больших и 25 «остаточных» кластеров) сравнимо по точности с разбивкой на 625 кластеров при кратном уменьшении количеств вычислений: 625 для 625 кластеров и 50 – для двойной разбивки.

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

Таким образом, остаточное векторное квантование снижает количество необходимых вычислений и необходимый размер вектора (целочисленные индексы кластеров вместо дробных пар координат). Что, в свою очередь, снижает итоговых объём передаваемой информации.

5

4.2Свёрточные нейронные сети

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

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

Структурно свёрточные сети, обычно, состоит из четырёх общих слоёв: свёрточный слой, слой активации, слой субдискретизации, полносвязный слой. Свёрточный слой применяет к данным фильтры для извлечения требуемых признаков. Его выход – набор карт признаков данных. Слой активации применяет функции активации (пороговые функции) для улучшении способности сети учитывать сложные зависимости. Слой субдискретизации уменьшает размер карт признаков, выбирая максимум из некоего количества признаков. Полносвязный слой формирует итоговый вектор на основе полученной итоговой карты признаков.

4.3Вычитатель (Discriminator)

Для вычисления ошибок при обучении используется так называемый discriminator («вычитатель» в грубом переводе или дискриминатор), который различными алгоритмами вычисляет величину ошибки при обучении, на основе которой осуществляется корректировка параметров модели. На его вход при обучении подаются оригинальный сигнал и сигнал с декодера. На их основе и вычисляются вектора ошибок.

Также особенностью структуры вычитателя является использование оконного (кратковременного) преобразовании Фурье (Short Time Fourier Transform). Оно используется для того, чтобы анализировать как содержимое

6

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

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

4.4Обучение

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

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

Прямая модель получает на вход «сырые» признаки, а на выходе выдаёт уже готовую семантическую структура. То есть модель повторяет концепцию «чёрного ящика».

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

Многозадачная модель схожа с совместной: на ходе «сырые» данные – на выходе семантическая структура и данные для дальнейшего обучения нейросети. Однако в отличие от совместной модели, семантическую структуру формирует один элемент нейросети, а данные для дальнейшего обучения – другой.

Многоступенчатая модель подразумевает последовательные вычисления: на вход подаются «сырые» данные, на основе которых сначала

7

Соседние файлы в папке практика сии