Американские исследователи научили нейросетевой алгоритм собирать информацию в ограниченных условиях наиболее оптимальным образом, чтобы на ее основе наиболее точно восстановить неизвестные фрагменты. Они применили этот подход в нескольких задачах, в том числе воссоздании полного 360-градусного изображения на основе нескольких небольших участков, площадь которых составляет менее 20 процентов от общей, а также воссоздали 3D-модель предмета по нескольким снимкам с разных ракурсов. Статья опубликована в журнале Science Robotics.
Во многих роботах и аналогичных устройствах используются алгоритмы компьютерного зрения, способные распознавать объекты перед собой и выполнять другие сложные действия. Однако в текущем виде они зачастую работают неоптимально, используя максимальный объем информации. К примеру, дрон, используемый для поиска пропавшего человека, захватывает на свою камеру всю доступную ему информацию. Люди же обычно действуют иначе, интуитивно определяя точки, которые могут представлять наибольший интерес. Быстро осмотревшись вокруг, человек может создать для себя достаточно полную картину окружающего мира, хотя при этом он может и не увидеть многих незначительных деталей.
Исследователи из Техасского университета в Остине и исследовательского подразделения Facebook под руководством Кристен Грауман (Kristen Grauman) использовали этот принцип и научили алгоритм «осматриваться», самостоятельно выбирая наиболее выгодные способы получения информации в ограниченных условиях. Исследователи использовали метод обучения с подкреплением, при котором обучающийся агент получает от среды награду в соответствии со своими действиями. В данном случае алгоритм получает награду за уменьшение неопределенности относительно неизвестной ему информации.
Авторы использовали этот подход для нескольких задач, но наиболее наглядно они продемонстрировали его на примере восстановления полного 360-градусного изображения на основе нескольких его фрагментов. Для выполнения этой задачи алгоритму необходимо научиться наиболее эффективно пользоваться несколькими возможностями для наблюдения и делать наиболее информативные наблюдения, позволяющие затем предсказать изображения на оставшихся областях. Во время каждого наблюдения алгоритм делает один снимок стандартного размера.
Исследователи выбрали необычную схему обучения алгоритма, при которой основной алгоритм во время каждого выбора следующего ракурса для снимка получает дополнительную награду от «подсказывающего алгоритма». Этот алгоритм имеет доступ ко всему изображению и анализирует каждый его фрагмент, вычисляя для него информационную ценность. К примеру, у фрагмента с белой стеной она будет ниже, чем у фрагмента с предметами на столе. Кроме того, он анализирует ценность последовательностей снимков. Во время обучения доля таких подсказок относительно собственных решений основного алгоритма постепенно снижается и в итоге падает до нуля.
Исследователи показали, что благодаря такому подходу алгоритм выучил закономерности на снимках в разных условиях, таких как снимки природы или комнаты домов. Они продемонстрировали несколько примеров его работы:
Авторы отмечают, что разработанный ими метод обучения относительно универсален, использовав его для других задач, в частности, для создания 3D-модели по нескольким двумерным снимкам с разных ракурсов, определению источника света в сцене, а также определению направления камеры.
Ранее нейросетевые алгоритмы уже обучали воссозданию изображений по частичным данным. К примеру, некоторые алгоритмы способны воссоздать из одного размытого кадра короткий видеоролик, а другие умеют «представлять» фотографию с новых ракурсов.
Григорий Копиев