Генеративная состязательная нейросеть, оптимизированная для видеообработки, способна показать, что случится в следующую секунду
Умение предсказать ближайшее будущее — важный навык для любого человека. Скорости человеческой реакции недостаточно, чтобы в реальном времени реагировать на окружающие события, поэтому мы предсказываем их в постоянном режиме с вероятностью, близкой к 100%. Спортсмены знают, куда полетит мяч. Бизнесмены знают, когда собеседник протянет руку для рукопожатия. Мы предсказываем траекторию автомобилей на дороге и ближайшие действия людей по выражению лица и предмету в руках.
Искусственному интеллекту тоже необходимо знать будущее. Он должен понимать, какие события приведут к какому результату, чтобы избежать очевидных оплошностей и планировать свои действия. Группа исследователей из Лаборатории информатики и искусственного интеллекта (CSAIL) Массачусетского технологического института обучает нейросеть предсказывать будущее, тренируя её на миллионах видеороликов.
Обученная нейросеть по одному-единственному статичному кадру (фотографии) пытается предсказать будущие события. Программа ограничена размером кадра 64×64 пикселя и продолжительностью предсказания в 32 кадра, то есть около секунды будущего.
Знание будущего даёт возможность лучше понимать настоящее. Это базовая способность, которой должен обладать любой робот, функционирующий в реальном мире. Наблюдая человека перед тарелкой с едой с вилкой и ножом в руках, следует однозначно предсказывать, что этот человек скоро начнёт есть. Без такого понимания робот не может функционировать сколько-нибудь эффективно — вы же не хотите, чтобы в момент, когда садитесь на стул, робот взял и передвинул стул в сторону? Нет, он должен понимать, что произойдёт через секунду и ничего не трогать. Или наоборот, быстро передвинуть стул именно в то место, куда человек садится.
В данный момент даже у самых продвинутых систем ИИ отсутствуют базовые возможности предсказания ближайшего будущего. Поэтому данное исследование является таким важным. Аналогичную работу ведут исследовательские группы в Нью-Йоркском университете и компании Facebook, но их нейросети выдают всего несколько кадров из будущего либо показывают его слишком размыто.
Разработанная в CSAIL программа довольно точно предсказывает самые банальные и очевидные события. Например, по фотографии поезда на платформе она предсказывает его движение.
Примеры предсказания событий по фотографии. Образцы движения людей, животных, природных явлений, транспорта
В научном исследовании разработчики решают фундаментальную проблему изучения сценария, как события в кадре разворачиваются во времени. Очевидно, что такая задача очень сложна для формального аннотирования. Поэтому нейросеть тренировали непосредственно на готовом материале — на миллионах видеороликов без смысловых аннотаций. Такой подход имеет определённые преимущества, ведь ИИ может обучаться в автономном режиме, просто наблюдая происходящее вокруг и обрабатывая огромное количество видеоматериалов в интернете.
Обученной нейросети затем ставили задачу генерировать маленькие видеоролики по одному статичному кадру. Чтобы добиться реалистичности результата, авторы исследования применили генеративную состязательную сеть (generative adversarial network, GAN). Одна нейронная сеть генерирует видео, а вторая сеть-дискриминатор обучается отличать фальшивое видео от настоящего и блокирует фейки. По мере обучения дискриминатора сети-генератору приходится генерировать всё более реалистичные видео, чтобы пройти проверку.
В генеративной модели используются два потока, которые отдельно моделируют передний план и фон, чтобы отделить их друг от друга и чётко различать движение объекта.
Со временем такая программа сможет более эффективно помогать человеку в разных ситуациях. Например, робот может предсказывать, когда человек упадёт — и удержать его от падения. Цифровой ассистент в автомобиле научится предсказывать действия водителя по движению рук и глаз, чтобы избежать аварии.
Все видеоролики, на которых тренировалась нейросеть, а также исходный код программы опубликованы в открытом доступе. Код генеративной состязательной нейронной сети лежит на GitHub. Используя данные для обучения (примерно 10,5 терабайт видеоматериалов), можно самостоятельно повторить эксперимент. Как вариант, доступны для скачивания уже обученные модели (1 ГБ в архиве).
Видеоматериалы для обучения взяты с фото- и видеохостинга Flickr, где они лежат под свободной лицензией. Это тематические сцены: события на пляже, матчи по гольфу, железнодорожные станции и младенцы в больницах.
Два миллиона видеороликов — это всего два года видеоматериалов. «Это очень мало по сравнению с количеством видеоинформации, которое прошло через мозг 10-летнего ребёнка или по сравнению с количество информации, которая обрабатывалась в ходе эволюционного процесса развития жизни на Земле», — признаёт Карл Вондрик (Carl Vondrick), один из авторов научной работы.
Но это лишь начало, ИИ делает первые шаги, нужно же с чего-то начинать. В дальнейшем нейросеть будут обучать на более длительных фрагментах видео. Авторы надеются, что постепенно ИИ начнёт ограничивать выбор возможных вариантов будущего, учитывая ограничения законов физики и свойства объектов. Эксперименты показывают, что нейросеть способна их усвоить. Постепенно программа научится предсказывать и более отдалённое будущее, а не только 1 секунду. К ней наверняка подключат дополнительные модули, такие как распознавание личности, чтение по губам, предсказание преступлений по лицу человека и т.д.
Научная статья опубликована на сайте Массачусетского технологического института. Исследование продолжается благодаря финансированию Национального научного фонда США и грантам компании Google два двух из трёх членов научного коллектива. Доклад подготовлен для 29-й конференции по системам обработки нейроинформации (NIPS 2016), которая пройдёт с 5 по 10 декабря в Барселоне.
Источник