Сотрудничество с YouTube для оптимизации сжатия видео в кодеке VP9 с открытым исходным кодом.
В 2016 году мы представили АльфаГо, первая программа искусственного интеллекта, победившая людей в древней игре Го. Его преемники, АльфаНоль а потом МуЗеро, каждая из которых представляла собой значительный шаг вперед в поиске алгоритмов общего назначения, осваивая большее количество игр с еще меньшими предопределенными знаниями. MuZero, например, освоил шахматы, го, сёги и Atari без необходимости рассказывать правила. Но пока эти агенты сосредоточены на решении игр. Теперь, следуя миссии DeepMind по решению задач разведки, MuZero сделала первый шаг к решению реальной задачи, оптимизировав видео на YouTube.
В препринт опубликован на arXivмы подробно описываем наше сотрудничество с YouTube, чтобы изучить потенциал MuZero для улучшения сжатия видео. Аналитики предсказывали что на потоковое видео будет приходиться подавляющая часть интернет-трафика в 2021 году. В связи с резким ростом видео во время пандемии COVID-19 и ожидаемым ростом общего объема интернет-трафика в будущем сжатие видео становится все более важной проблемой — и естественным область применения обучения с подкреплением (RL), чтобы улучшить состояние дел в сложной области. С момента запуска части прямого трафика YouTube мы продемонстрировали снижение битрейта в среднем на 4% для большого и разнообразного набора видео.
Большинство онлайн-видео полагаются на программу, называемую кодеком, для сжатия или кодирования видео в его источнике, передачи его через Интернет зрителю, а затем распаковки или декодирования для воспроизведения. Эти кодеки принимают несколько решений для каждого кадра в видео. Десятилетия ручного проектирования ушли на оптимизацию этих кодеков, которые отвечают за многие возможности видео, которые теперь доступны в Интернете, включая видео по запросу, видеозвонки, видеоигры и виртуальную реальность. Однако, поскольку RL особенно хорошо подходит для последовательных задач принятия решений, таких как проблемы с кодеками, мы изучаем, как может помочь алгоритм, обученный RL.
Наше первоначальное внимание сосредоточено на кодеке VP9 (в частности, на версии с открытым исходным кодом). libvpx), так как он широко используется YouTube и другими потоковыми сервисами. Как и в случае с другими кодеками, поставщикам услуг, использующим VP9, необходимо учитывать битрейт — количество единиц и нулей, необходимых для отправки каждого кадра видео. Битрейт является основным фактором, определяющим, сколько вычислений и пропускной способности требуется для обслуживания и хранения видео, влияя на все, от того, сколько времени требуется для загрузки видео, до его разрешения, буферизации и использования данных.
В VP9 битрейт оптимизируется непосредственно через параметр квантования (QP) в модуле управления скоростью. Для каждого кадра этот параметр определяет применяемый уровень сжатия. Учитывая целевой битрейт, QP для видеокадров выбираются последовательно, чтобы максимизировать общее качество видео. Интуитивно более высокие битрейты (более низкий QP) должны быть выделены для сложных сцен, а более низкие битрейты (более высокий QP) должны быть выделены для статических сцен. Алгоритм выбора QP определяет, как значение QP видеокадра влияет на распределение битрейта остальных видеокадров и общее качество видео. RL особенно полезен при решении такой последовательной проблемы принятия решений.
MuZero достигает сверхчеловеческой производительности в различных задачах, сочетая возможности поиска с возможностью изучения модели окружающей среды и планирования в соответствии с ней. Это особенно хорошо работает в больших комбинаторных пространствах действий, что делает его идеальным кандидатом на решение проблемы управления скоростью при сжатии видео. Однако, чтобы заставить MuZero работать с этим реальным приложением, необходимо решить совершенно новый набор проблем. Например, набор видео, загружаемых на такие платформы, как YouTube, различается по содержанию и качеству, и любой агент должен обобщать видео, включая совершенно новые видео после развертывания. Для сравнения, настольные игры, как правило, имеют единую известную среду. Многие другие показатели и ограничения влияют на конечный пользовательский опыт и экономию битрейта, например, PSNR (пиковое отношение сигнал-шум) и ограничение битрейта.
Чтобы решить эти проблемы с помощью MuZero, мы создаем механизм, называемый самоконкуренцией, который преобразует сложную цель сжатия видео в простой сигнал ВЫИГРЫШ/ПРОИГРЫШ, сравнивая текущую производительность агента с его предыдущей производительностью. Это позволяет нам преобразовать широкий набор требований кодека в простой сигнал, который может быть оптимизирован нашим агентом.
Изучая динамику кодирования видео и определяя, как лучше распределить биты, наш контроллер скорости MuZero (MuZero-RC) может снизить скорость передачи без ухудшения качества. Выбор QP — это лишь одно из многочисленных решений кодирования в процессе кодирования. Хотя десятилетия исследований и разработки привели к созданию эффективных алгоритмов, мы представляем единый алгоритм, который может автоматически обучаться принимать эти решения по кодированию для получения оптимального компромисса между скоростью и искажением.
Помимо сжатия видео, этот первый шаг в применении MuZero за пределами исследовательской среды служит примером того, как наши агенты RL могут решать реальные проблемы. Создавая агентов, оснащенных рядом новых возможностей для улучшения продуктов в разных областях, мы можем помочь различным компьютерным системам стать быстрее, менее ресурсоемкими и более автоматизированными. Наше долгосрочное видение заключается в разработке единого алгоритма, способного оптимизировать тысячи реальных систем в различных областях.
Послушайте, как Джексон Брошир и Дэвид Сильвер обсуждают MuZero с Ханной Фрай в пятом эпизоде DeepMind: The Podcast. Слушайте прямо сейчас в своем любимом приложении для подкастов, выполнив поиск «DeepMind: The Podcast».