Сотрудничество с 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».