tgoop.com/savostyanov_dmitry/566
Last Update:
Читаю статьи про Style Transfer
Зашел из далека и начал с AutoVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss, Kaizhi Qian et al., 2019 — статья про замену голоса, когда вы говорите своим обычным голосом, а на выходе получаете ту же фразу, но голосом условного Бреда Питта.
Почему speech conversion, когда я занимаюсь human motion? Потому что движение человека определяется вращением его суставов во времени. Многие движения состоят из периодичных компонент, например, когда человек идет вперед, он с некоторым периодом перебирает ногами и размахивает руками. Walk forward angry отличается от walk forward neutral частотой вращения в плечах, изгибом локтей и позвоночника, амплитудой движения. Все это наводит на мысли про синусы, косинусы, преобразование Фурье, которыми хорошо умеют пользоваться звукари. В задаче преобразования голоса гораздо легче чем в human motion собирать данные, а где данные там речерчеры и идеи.
Почему 2019 год? Захотелось изучить ход мысли в индустрии, какие проблемы решались и какими методами. Плюс 5 лет назад датасеты были сильно меньше, поэтому архитектуры могут оказаться применимыми в human motion, где данных мало и по сей день.
Теперь кратко про саму статью AutoVC. Они используют автоэнкодер (CVAE). Речь разбивается на две компоненты: content — условно последовательность фонем, передающая смысл, и style — характеристики голоса.
Для выделения style взяли предобученную модель верификации голоса. Там идея в том, чтобы фразе поставить в соответствие эмбединг. Затем для фраз одного спикера минимизировать расстояния между эмбедингами, а для разных спикеров — максимизировать. Называют это GE2E-loss.
CVAE устроен таким образом, что есть контент-энкодер (берет на вход вашу фразу) и стиль-энкодер (берет фразу условного Бреда Питта). На инференсе они создают эмбединг с замененным стилем, который дальше расшифровывает декодер. Учится модель на обычном reconstruction loss, но контент и стили разных спикеров не миксуют. Идея в том, что модель выделения стиля уже обучена, нужно только контент выучить.
Под капотом mel-спектрограммы, свертки и винтажный LSTM. В статье даже доказывают теоремы и показывают как правильно выбрать размерность latent space в CVAE для их задачи.
Достаточно простая архитектура, понятные идеи под капотом, выглядит привлекательно. Но с точки зрения character animation есть наитие, что вероятностная природа VAE будет выдавать нереалистичные человеческие движения по аналогии с блюром при реконструкции изображений. Интуитивно хочется сделать апгрейд до VQ-VAE или накинуть какой-нибудь дискриминатор.
https://arxiv.org/pdf/1905.05879
BY Дмитрий Савостьянов Вещает
Share with your friend now:
tgoop.com/savostyanov_dmitry/566