Научно-технический вебинар "Одноканальное разделение источников в аудио данных: современные методы и их применение"
19 января 2021, 18:00 МСК

О ВЕБИНАРЕ

Спикер
Ольга Слизовская, Инженер-исследователь, Voctro Labs S.L., Барселона, Испания
Тема
Научно-технический вебинар "Одноканальное разделение источников в аудио данных: современные методы и их применение"
Подробнее про вебинар

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

Запись прошедшего вебинара: https://youtu.be/rCCm7ouXAp0

Презентация:

Для того, чтобы открыть презентацию спикера, необходимо:

1. Скачать ZIP-архив: https://drive.google.com/drive/u/1/folders/1oZtP9c0z8ASpsiAopKLxNMFsDwIkZyYE;

2. Найти файл slides/index.html;

3. Открыть этот файл с помощью браузера.

(00:00:00) (Начало записи) 

Николай Михайловский: Еще раз здравствуйте. Я Николай Михайловский. У нас в этом году первый вебинар, который проводит «НТР» с Высшей IT-школой Томского университета. С нами Ольга Слизовская с докладом «Одноканальное разделение источников в аудиоданных».

Ольга Слизовская: Меня зовут Ольга, я нахожусь в физически в Барселоне, работаю в компании, которая называется Voctro Labs. Мы занимаемся самыми разными задачами с обработкой аудио и с обработкой звука. В частности, сейчас я в основном занимаюсь конвертацией голоса, real time конвертация голоса. Доклад будет в основном про то, чем я занималась частично во время написания кандидатской диссертации, которую я защитила в университете Pompeu Fabra в прошлом году. Поэтому везде, практически на протяжении всей презентации, будет ярлычок университета висеть.

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

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

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

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

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

(Видео.)

(00:05:05) 

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

Аналогичные вещи можно делать в музыке. В музыке в основном пытаются разделять треки, которые уже замикшированы, и пытаться отдельно слушать трек, в котором записан голос, трек, в котором записан аккомпанемент или басы, или ударные инструменты. Один из примеров, который мы тоже можем послушать, это работа из Facebook Research, о которой я упомяну тоже позже. Вот пример смеси, которую они берут.

(Аудио.)

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

(Аудио.)

Так это звучит в оригинале до сведения, и так звучит в разделенном виде.

(Аудио.) 

Еще мы можем разделять аудио всего, чего угодно, без привязки к речи, без привязки к музыке. Это задача, которая не очень сильно развита, но которая начинает иметь все большую и большую важность во всех исследованиях. Универсальное разделение источников, когда вы пытаетесь отделить музыкальные инструменты от лая собаки или от каких-нибудь капель падающих, или от речи, в общем-то, от всего, чего угодно. В этот момент у нас возникает еще больше проблем, потому что мы не знаем, сколько источников мы хотим разделять, какие они, что с ними делать вообще. 

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

(Аудио.)

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

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

(00:09:59) 

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

Промышленные исследования вообще в области разделения источников в основном двигаются за счет голосовых помощников и умных колонок, потому что голосовым помощникам и умным колонкам нужно понимать, что говорит этот конкретный человек, и желательно человек, который обращается к этой колонке. Так что музыкой, кроме Spotify и Sony особо никто не занимается в промышленных исследованиях.

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

(Видео.)

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

Итак, формальная постановка задачи. У нас есть аудиосигнал, временной аудиосигнал. Обычно во всех примерах, про которые я буду рассказывать, это будет моно аудиосигнал. Когда мы используем стерео, у нас больше возможностей для того, чтобы посчитать интерференции между разными каналами и использовать. Но большинство, подавляющее большинство систем разделения источников в аудио, которые вы найдете, работают со смесями моносигнала. Эта смесь состоит из индивидуальных источников, и мы рассматриваем простую линейную модель, где смесь – это сумма этих источников. Мы хотим найти параметры некоей модели, которая может восстановить нам индивидуальные источники, оценку этих индивидуальных источников из смеси. 

Есть в принципе две большие ветви про то, как это делать. Мы можем пытаться предсказывать что-то из сырого аудио, и можем предсказывать что-то из спектрограмм или из спектрограмм, которые прошли постобработку. В случае с сырыми аудиоданными, как правило, функция потерь, которую мы используем, то, на что мы смотрим, это L2 loss между предсказанным аудиосигналом и оригинальным аудиосигналом.

В случае со спектрограммами есть много вариантов. Есть люди, которые используют L2 loss непосредственно между спектрограммами, хотя считается, что это не очень хорошо работает, по разным причинам. Исторически изначально люди использовали бинарные маски, то есть накладывали маску из нулей и единиц на спектрограмму и смотрели, что получилось. Получался довольно-таки сильно фильтрованный сигнал с большим количеством артефактов. 

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

(00:15:08)

Они хорошие и интересные, но они совершенно капля в море. 

Мы считаем, на самом деле, если мы работаем с вещественными масками, то мы считаем тот же самый L2 loss на каждом значении вещественной маски между предсказанной вещественной маской и той вещественной маской, которую мы посчитали для _____. (00:15:35)

Перед тем, как мы будем рассматривать методы, я расскажу еще, как все эти методы оцениваются. Все это хорошо, но слушать каждое аудио по отдельности и пытаться понять, хорошо мы его разделили или плохо мы его разделили, не получится. Здесь у меня будет такой маленький спойлер, потому что метрик много, и я их вкратце упомянула, основные, без вдавания в детали. Но что нужно знать про все эти метрики, то, что обычно в статьях можно найти упоминание о всех этих метриках, все посчитаны в большой табличке, много колонок, много цифр, как сравнивать, непонятно. В принципе, первые пять метрик на этом слайде – это разновидности отношения «сигнал-шум», то есть это сигнал-шум, который учитывает разные особенности восприятия на слух. Например, первый учитывает дисторсии, второй – интерференции, артефакты и так далее, и последние два, Scale-Independent и Scale-Dependent варианты, они были предложены как усовершенствование первых трех метрик, потому что первые три метрики используются на протяжении последних 18 лет, и они не очень хорошо. Ну, как? Они хорошо работают, потому что они почти единственные, которые существуют. 

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

Как я сказала, это все разновидности отношения «сигнал-шум» с разными субъективными параметрами. Например, были исследования, в которых люди при оценке разных систем предпочитают системы с высоким SDR и низким SAR, скорее, чем системы с низким SDR и высоким SAR. Они предпочитают слышать интерференции, чем артефакты, чем дисторсии. 

Мы примерно знаем, что́ собираемся делать, и как собираемся это оценивать. Давайте, если есть сейчас вопросы, потому что я не вижу QNA, я вижу только себя и экран с презентацией. Если вопросов нет, то я продолжу, начну раздел про методы. Если вопросы есть...

Николай Михайловский: Вот прилетают вопросы в чат. Пожалуйста, Александр Абдулов спрашивает: «Капля в море, но есть в итоге в фазе пользы или нет?»

Ольга Слизовская: Говорят, что есть. Люди опубликовали статьи, конечно, в своих статьях они пишут, что есть вроде польза. Поищите в Facebook, но только face как ph, как phase. 

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

(00:19:59)

Николай Михайловский: В QNA уважаемый Юрий Багуров спрашивает: «Разделение до нескольких голосов тоже рассматриваете? Или разделение только, видимо, для музыкальных инструментов?»

Ольга Слизовская: В этом докладе я не буду рассказывать про разделение для нескольких голосов. Я только упомянула об этом в начале. Но я могу еще сказать, что да, там есть проблемы с инвариантностью лоссов, потому что мы можем... Когда мы разделяем голоса, мы можем начать случайно перемещать аудио из одного канала в другой канал, предсказывать. Нет, мы не будем об этом сегодня разговаривать.

Давайте поговорим немножко о классических методах. Что с этим делали, когда Deep Learning не было? На самом деле, история разделения сигналов, кажется, уходит в глубины веков, совсем-совсем в глубины веков, в шестидесятые годы, хотя тогда, конечно, никто с аудио не работал, тогда все пытались сканировать радиочастоты и находить источники в радиочастотах. С аудио, мне кажется, работают где-то с восьмидесятых, может, с семидесятых годов. Основные классические методы, все они основаны на методах линейной алгебры, на матричном разложении и на приближении матрицы меньшего ранга, чем исходная матрица спектрограммы. Все они работают со спектральными представлением аудио и никогда с сырыми аудиоданными, конечно. 

Самый популярный метод из всех, что я встречала, это NMF, неотрицательное матричное разложение. Основное его отличие, здесь будет картинка из «Википедии», которая иллюстрирует примерно, что он из себя представляет. У нас есть исходная матрица со спектральным представлением смеси источников, которую мы пытаемся разложить на две компоненты: на матрицу «словарь паттернов» и матрицу активаций.

Матрица «словарь паттернов» – это матрица, в которой мы будем записывать спектральные паттерны каждого источника, и мы можем для каждого источника определить несколько паттернов. Тогда матрица W будет шире. В матрице активаций мы будем прописывать, когда эти паттерны активируются. Потом, чтобы получить оценку этого источника, мы будем перемножать набор паттернов для этого источника с набором активаций для этого источника, и таким образом его оценивать.

Основное отличие этого конкретного метода от, например, принципа Component analysis, который тоже про приближение низкоранговыми матрицами, в том, что в этом случае в NMF все компоненты обоих матриц неотрицательны, в PSE вещественные, но, в принципе, если вы знакомы с PSE или с LBA, или с каким угодно матричным разложением, то идея все та же самая. 

Большое достоинство NMF в том, что он практически не зависит от данных. Это supervise-метод, но мы оптимизируем только компоненты самих матриц. Это итеративный процесс, нам не нужно взять все данные все вместе, прогнать их через большую сеть, посчитать функцию потерь и прогнать _____, (00:24:32) поэтому, в принципе, обучение гораздо быстрее проходит. Параметры модели, по сути, не оптимизируются по данным, они оптимизируется итеративно, мы только считаем ошибку по данным.

(00:24:52)

С NMF работали на протяжении очень долгого времени, поэтому работ по NMF очень много. Соответственно, есть работы, которые работают с одноканальным разделением источников, с многоканальным разделением источников. Есть работы, которые используют дополнительные источники данных в основном для инициализации этих маленьких матриц. Например, самое простое для музыки – это для матрицы W используется некоторая предобученная модель спектральных паттернов, которая натренирована на каждом голосе или на каждом музыкальном инструменте, а для матрицы H можно использовать партитуры музыкальные, и таким образом прописать там, в какой момент какая нота будет звучать. Это очень хорошо сказывается на качестве конечной модели. Таким образом, она может быть informed. 

Так как этот метод изучался в течение двадцати с лишним лет, наверное, больше гораздо, есть очень много его разновидностей и вариантов оптимизации, вариантов обучения. Я не большой специалист, поэтому за деталями и подробностями всех этих разновидностей я, скорее всего, порекомендовала бы этот обзор, который вторая ссылка, 2018 года, это люди из INRIA, из Франции, один из которых наш соотечественник, и они собаку съели на этом, они очень много опубликовали хороших вещей с очень детальным математическим разбором, какой параметр за что отвечает и для чего это все используется. 

Я перейду к методам глубокого обучения, в целом к обзору того, что там есть. Я вижу еще одно... «Микрофон немного подальше». Хорошо. 

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

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

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

Положительным аспектом этой работы был тот факт, что разделение forward pass было довольно быстрым, достаточно быстрым, даже, мне кажется, быстрее, чем NMF, потому что NMF, возможно, нужно было предпросчитывать что-то, не помню. Помню, что было гораздо быстрее. Но обучение, конечно, занимало гораздо больше времени, чем классические матричные методы. Этот метод работал едва ли лучше, чем NMF, на тот момент. Мне кажется, может быть даже, даже и хуже работал. Но, тем ни менее, он дал старт ряду...

(00:29:59)

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

Следующим этапом развития стала U-Net. Дело в том, что появлялись новые модели в смежных областях, в основном в области машинного зрения, компьютерного зрения, и исследователи, аналитики аудио активно применяли все модели, которые появлялись в компьютерном зрении, и которые появлялись, в частности, для разделения масок в _____. (00:30:46) Таким образом, в 2017-м же году, мне кажется, вышел препринт этой работы, а опубликована она была в 2018-м, где ряд исследователей из Нью-Йорка использовали U-Net для разделения источников, для разделения голоса от аккомпанемента, основное, что они делали, это разделять голос от аккомпанемента.

Появлялись все новые модели, исследователи продолжили их адаптировать, и следующим шагом был переход от работы со спектрограммами к работам с сырыми данными. Так появилась Wave-U-Net, которая отчасти было была основана на U-Net, на Vanilla U-Net,и отчасти была основана на WaveNet, и использовала далее этот convolution _____ (00:31:45) свертки с дырами, dilated-свертки, которая тоже работала на тот момент несколько хуже, чем вариант со спектрограммами, но, тем не менее, дала толчок к развитию новых методов, которые работали с сырым аудио.

После этого, на самом деле, с точки зрения архитектуры сетей ничего кардинально нового не появилось. Появлялись новые методы, появлялись новые функции потерь, но то, что используется сейчас, в последние годы, это в основном те же самые U-Net в работе от Deezer, которая называется Spleeter. Это некоторая разновидность time dilated convolutional network с BiLSTM от Facebook, с примерами, которые я демонстрировала в самом начале. 

Та же самая time dilated convolutional network с некоторыми особенностями для Universal Sound Separation, и свертки с BiLSTM в Open-Unmix, который является совместной работой Sony и одной из немецких групп, University of Erlangen, если я правильно помню.

В общем архитектуры сильно не менялись, но я видела несколько трансформеров в последнее время, потому что аудиоисследователи пытаются адаптировать все time series (00:33:38) модели, которые видят. Но, в принципе, я не видела больших успешных моделей, которые с этим работают.

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

Большой shift есть в unsupervised-методы, например, использование классификации как подзадачи, которая помогает для разделения. Это, например, используется в Universal Sound Separation, это же используется в Source separation on weakly labelled data, это другая работа. 

(00:35:05) 

Очень много исследований в области функций потерь, потому что можно использовать L1 Loss, можно использовать L2 Loss, можно использовать соотношение «сигнал-шум», можно использовать spectral consistency loss, который, по сути, собой представляет... Не буду вдаваться в подробности, потому что все равно не смогу на пальцах объяснить. 

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

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

(Аудио.)

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

(Аудио.)

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

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

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

(00:40:00) 

Дополнительной информацией в этом случае у нас будут лейблы музыкальных инструментов, какие конкретно инструменты мы хотим разделить, и видео, которое доступно вместе с аудио. 

Изначально мы начали работать с разделением источников во временном домене, с сырыми аудио. Это был интересный подход, но очень дорогой с точки зрения компьютерного, вычислительного времени. Поэтому в итоге перешли обратно на спектрограммы. Но, тем не менее, мы начали исследования с informed wave unit, скажем так, это архитектура U-Net, которая принимает на вход смесь и выдает несколько разделенных источников. У нее там есть какие-то residual connections. 

Что мы попытались сделать с самого начала, это добавить лейблы музыкальных инструментов в bottleneck этой архитектуры, в bottleneck этого, по сути, автоинкодера, не совсем автоинкодера, но практически, и посмотреть, насколько лучше эта система будет разделять источники по сравнению с baseline. Кажется, здесь пропущен один из слайдов. Результаты были в том, что стало разделяться чуть больше, но большой выгоды в использовании только лейблов, особенно в bottleneck, не было, и в целом результаты этих исследований показали, что работа с сырыми данными очень накладна. Если у вас есть доступ к TPU, то можно этим заниматься, если вы не богатый исследователь в университете, то, скорее всего, это достаточно сложно. 

Поэтому мы вернулись в спектрограммы и начали... А, нет, вот же оно. Это датасет, который мы использовали для обучения. Он состоял всего из 44 видео, это порядка часа данных, наверное, меньше часа данных. В итоге вся система была обучена на 30 видеозаписях длиной в три минуты, плюс-минус, и она разделяла.

(Аудио.)

В целом, большая проблема работы с сырыми данными, что в сырые данные протекает гораздо больше интерференций. Артефактов не так много, слышно было хорошо, но интерференций достаточно. Результаты были неплохими, нам очень понравилось, но TPU не хватало, и пришлось вернуться к спектрограммам. Мы сделали несколько ablation, ускорили оригинальную имплементацию, которая была на Tensor Flow, перенесли ее... В общем, это детали, не столь важно. 

После этого мы все-таки решили попробовать видеоданные. Видеоданных не хватало совсем, то есть не было возможности научить сеть с видеоданными, которая бы обучалась на 44 видео, поэтому, как водится, мы собрали свой собственный датасет из YouTube-видео, которые были исключительно соло, исключительно индивидуальные записи, в основном хорошего качества, вручную их посмотрели и убедились, что все хорошо, и микшерили их на лету. Использовали ту же самую модель с суммой сигналов, ничего не придумывали нового, и составляли новые сэмплы для разделения на лету во время обучения. 

(00:44:59) 

В тот момент, когда мы перешли на спектрограммы, у нас начались проблемы с дизайном решения, потому что в литературе очень много разных вариантов того, что можно использовать, в каком месте можно добавлять экстраданные, в начале энкодера, в середине, в конце, какие маски использовать, какие лоссы использовать. Поэтому в какой-то момент мы провели еще одно ablation study, выбрали самую лучшую, оптимальную с точки зрения времени и производительности и качества архитектуру, и начали... В общем, это была baseline-архитектура, та, которая подсвечена, и потом эта baseline-архитектура была перемножена на все остальные параметры. С этой baseline-архитектурой мы попробовали фьюжен с экстрадатами в начале энкодера, в декодере, в ботлнеке этой архитектуры и так далее. Разные типы, разные типы в добавлениях и разные типы экстра-данных, собственно _____ (00:46:08) лейблы и информация из visual conditioning. 

Мы использовали One-Hot Encoding для векторов лейблов, мы использовали для visual conditioning просто-напросто информацию, которую могли бы получить из предобученной сверточной сети, и для visual motion conditioning информацию из предобученной сверточной сети с LSTM. 

Есть другая работа, которая называется Sound of Motion, там они идут дальше, там они делают похожие вещи, но, например, которые работают для разделения двух скрипок друг от друга, потому что в нашей работе мы только можем отделить скрипку от виолончели или скрипку от контрабаса, а они отделяют уже две скрипки, используя вектора движения, оценивая optical flow, они используют модель deep optical flow, которая оценивает вектор движения для каждого источника и использует эту информацию для улучшения разделения источников.

Это был слайд про то, где собственно мы добавляли экстраданные, в начале, в середине, в конце или перемножали лейблы на маски в самом конце _____ (00:47:48) архитектуры. 

Результатом всей этой большой работы стала идея, что лучше всего в нашем случае работала система с лейблами, она показывала лучшие SI-SDR и SDR, то есть видеоинформация помогает по сравнению с чистым аудио, но если вы добавляете лейблы, то это еще лучше. 

QNA. «Пробовали ли добавлять информацию об инструментах не через One-Hot, а через эмбеддинги?» Нет, не пробовали. Хороший вопрос, спасибо. В принципе, не факт, что что-то сильно бы изменилось, но вообще да, можно было бы попробовать. 

В конце я вам покажу, что из этого всего получилось, как работала лучшая система для разделения источников. Мне кажется, это система конкретно с лейблами как раз, которые перемножены на маски в конце. Она работает уже с количеством источников до 4, потому что 4 – это было максимальное количество источников в датасете, на котором мы сравнивались, то есть в единственном датасете, для которого был _____, (00:49:41) реальные смеси, датасет URND, в котором 44 видео. Вся оценка, весь evaluation проводился на нем.

(00:50:00)

(Аудио.)

В целом результаты такие, что интерференции, конечно, все еще есть, но с новым датасетом и с новым типом... с новым датасетом после ablation study со всеми conditionings, со всем на свете, и на спектрограммах стало работать гораздо лучше. Минутка саморекламы. 

Если у вас есть вопросы, я буду очень рада на них ответить. Спасибо.

Николай Михайловский: Ольга, спасибо большое за рассказ. Коллеги, пожалуйста, ваши вопросы. Здесь у нас минутка саморекламы одновременно от нас. Ива, (00:52:36) спасибо. Александр Абдулов спрашивает: «Были попытки обучать на синтетических данных, посредством синтезаторов музинструментов?» 

Ольга Слизовская: Хороший вопрос, спасибо. Нет, на синтетических данных мы обучать не пробовали. Но, наверное, это хорошая идея. Наверное, это можно попробовать действительно. Мы хотели... Они все равно не столь реалистичны, но, в принципе, я согласна, что с точки зрения Data Augmentation это валидный подход, это можно использовать. 

Николай Михайловский: У меня есть вопрос. В части unsupervised learning, обучения без учителя какие есть работы по source separation, и что здесь можно на ваш взгляд делать? Потому что у вас работы чисто supervised, а сейчас все движение идет в сторону unsupervised, semi-supervised learning.

Ольга Слизовская: Последняя работа, на самом деле, в некоторой степени self-supervised, потому что все смеси, которые мы используем, делались на лету, в последнем. Так делают в основном сейчас все, и совсем unsupervised есть, Universal Sound Source Separation, там они тоже берут совсем рандомные аудио из большой базы данных и смешивают их, и точно так же, в ту же сторону, semi-supervised. В Audio Visual почти все работы self-supervised и semi-supervised, потому что они используют contrastive loss, free loss и так далее, пытаясь научить эмбеддинги, которые приближают друг к другу то, что мы выучиваем из аудио, и то, что мы выучиваем из видео.

(00:54:59)

Не знаю, понятно ли я объясняю, конечно, вы об этом слышали.

Николай Михайловский: Да нет, очень понятно, на самом деле.

Ольга Слизовская: В работах Universal Source Separation и в работах Learning to Separate Sounds from Weakly Labeled Data, по-моему, так оно звучало, это тоже из Google работа, там они используют self-supervised исключительно. 

Николай Михайловский: Предположим, у нас есть большое-пребольшое количество записей, в которых мы знаем количество источников. А как можно было бы к такой задаче подступиться?

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

Николай Михайловский: Михаил Усачев спрашивает: «Какая производительность алгоритма? Может ли работать в реальном масштабе времени?»

Ольга Слизовская: Можно, если хорошо оптимизировать, это все, конечно, работает в реальном времени.

Николай Михайловский: Тут, наверное, еще вопрос, на чем, потому что есть _____, (00:56:51) а есть маленькие мобильные процессы. 

Ольга Слизовская: Это правда. Со мной можно связаться по электронной почте, я вам сейчас ее напишу. Вообще, все это ужасно интересно, потому что в каждом типе данных свои особенности. Я ничего не рассказала про веб сегодня, а если бы мы углубились в разделение источников из окружающей среды, например, птиц или собак, или шумов, или собственно голоса, в каждой из этих сфер есть столько работ и столько деталей, за которыми нужно следить и которые нужно учитывать. Я ничего не рассказала про пост-процессинг, например, а этим активно люди пользуются, многоканальными фильтрами Винера. В общем, это большой и очень интересный мир.

Николай Михайловский: Да, многие из нас знают, насколько это большой и насколько это интересный мир. Спасибо большое за очень интересный рассказ.

Ольга Слизовская: Спасибо вам.

Николай Михайловский: Я надеюсь, что коллегам было тоже интересно вас послушать. До свидания всем.

(00:58:19) (Конец записи) 

МАТЕРИАЛЫ

СХОЖИЕ ПРОЕКТЫ

Мосэнергосбыт
Российская энергосбытовая компания страны, реализующая свыше 8 % вырабатываемой в России электрической энергии.