Зачем компьютеру зрение

Как компьютер учится распознавать чужие картинки и рисовать свои. В гостях у ведущего передачи «Вопрос науки» Алексея Семихатова кандидат физико-математических наук, руководитель группы компьютерного зрения Сколтеха Виктор Сергеевич Лимпицкий.

Мы постоянно, непрерывно занимаемся распознаванием образов. Начиная с того, через что нужно перешагнуть на тротуаре, и заканчивая оценками настроения других людей. Это неудивительно, потому что эволюция настроила нас на распознавание всего, что нужно нам для выживания. Но зачем зрение компьютеру? И что вообще значит «компьютер видит»?

Видеть — значит извлекать полезную информацию из изображения. Эта информация может быть нужна самому роботу. Например, чтобы перемещаться, чтобы манипулировать объектами — если это железный робот, который перемещается и манипулирует объектами. Это может быть виртуальный робот, который обходит интернет и смотрит, что изображено на разных картинках.

А может быть, компьютер хочет сообщить какую-то информацию человеку. Например, врачу — о том, какого размера новообразование у пациента и как оно изменилось с предыдущего визита. Это все примеры целей, для которых может быть нужно компьютерное зрение.

Что в голове у компьютера, когда он на что-то смотрит? Компьютерное зрение использует самые разнообразные алгоритмы. Почти весь университетский курс математики в том или ином виде применяется для систем компьютерного зрения. Но в последние годы определенный подход становится доминирующим — это подход, основанный на машинном обучении: когда мы учим компьютер, показывая ему много-много примеров и ту информацию, которая с ним связана, и ждем, когда компьютер, выучившись чему-то, сможет извлекать информацию из аналогичных изображений, которых он до этого не видел.

Один из алгоритмов машинного обучения — нейросеть. Но в зрении все еще применяются и, наверное, довольно долго будут применяться и другие алгоритмы. Например, «деревья решений» — это простые системы, которые приходят к сложным выводам, отвечая на последовательность довольно простых вопросов. Например, какой пиксель светлее: этот или этот?

Сейчас нейросети постепенно вытесняют этот алгоритм, так как они более универсальны. Обычно, когда мы применяем нейросети, мы берем умную нейросеть, которая уже обучена на каком-то большом корпусе изображений, и доучиваем ее под конкретную задачу.

Компьютер может видеть лучше человека? Перед искусственным интеллектом все время ставятся задачи: догони человека! Во многих областях компьютер уже перегнал. В том числе и в зрении. Компьютер гораздо лучше человека сейчас распознает лица людей на изображениях с хорошей освещенностью, хорошим разрешением, где много информации, на которой компьютер может основывать решение.

Есть другая человеческая способность — двойственное зрение. Это умение создавать изображения и делиться этими изображениями. Эта развивающаяся область выросла на стыке компьютерного зрения и компьютерной графики. Нейросеть распознает изображение и дорисовывает.

Допустим, задача нашей нейросети — распознавать стулья. Нам эта задача кажется очень простой. Мы с вами отлично распознаем где стул, а где не стул. Но стулья на самом деле очень разнообразные. Лет десять назад люди говорили, что вот когда мы научимся распознавать стулья — это будет чуть ли не создание искусственного интеллекта.

Но сегодня нейросеть может не просто построить стул, но и сделать гибрид двух изображений стульев. Это очень сложная задача даже для дизайнера. А можно скрещивать не стулья, а определенным образом стилизовать изображение, скрестив портрет и какой-то художественный стиль, что с успехом делают популярные мобильные приложения.

Как это работает? На самом деле очень просто. Мы берем и строим изображение, которое вызывает в нейросети ощущение, что она смотрит на два фото одновременно. Нейроны в нейросети имеют разную глубину залегания. Глубокие слои, те нейроны, которые получаются в конце нейросети, после того как изображение прошло несколько слоев обработки, отвечают за более абстрактную часть изображения. А когда мы обращаем внимание на портретную часть изображения, мы смотрим на более мелкие, более поверхностные нейроны, которые лежат на меньшей глубине.

В мозгу у человека тоже много слоев (хотя и меньше, чем у нейросети), и у нас тоже бывает такое, что поверхностно я вижу круги, а когда немножко подумаю, вижу, скажем, лицо! И действительно: чем глубже мы идем в человеческую нейросеть, тем более абстрактные образы распознают нейроны.

Но нейросети идут дальше. На фото ниже все люди придуманы нейросетью с использованием технологии, которая разрабатывалась последние несколько лет. Эта технология называется «противоборствующие нейронные сети».


Чтобы создать эти изображения, пришлось тренировать не одну нейросеть, а две. Одна нейросеть производит рисование. Она создает эту картинку. И поначалу она производит очень плохие картинки. А работа второй нейросети заключается в том, чтобы критиковать первую. Указывать ей на недостатки и помогать улучшать свои способности. В распоряжении второй нейросети, которая называется «критиком» или «дискриминатором», большое количество изображений. Настоящих. В данном случае это были изображения всяких разных звезд, знаменитостей. На каждом шаге алгоритма эта критикующая нейросеть учится распознавать подделку, которую производит первая нейросеть. Как учитель рисования, она говорит второй нейросети: «Все твои подделки отличаются от настоящих фотографий вот здесь, вот в этих местах. И эти места тебе надо изменить».

Чем проще работа, чем она рутиннее, тем проще задачи зрения, которые у нее возникают, тем быстрее компьютер туда доберется и, скорее всего, вытеснит людей. Например, компьютер может брать изображение и пролистывать огромную картотеку, глядя, не приходил ли этот человек уже за кредитом в какое-нибудь отделение банка по всей стране. Это работает уже сегодня.

Но не все задачи пока что компьютер может решить хорошо. Он, например, не может понять, что это изображение смешно, а это не смешно. Есть первые попытки, и они работают очень плохо.

Через 50 лет нас совершенно не будет удивлять тот факт, что компьютер видит стул. Или что компьютер рисует лица, которые неотличимы от настоящих.

Читайте также
Как поймать темную материю
Как поймать темную материю
Темная материя есть даже в вашей комнате, но как ее поймать?
Венера — наша историческая родина?
Венера — наша историческая родина?
Благодаря находке фосфина в облаках Венеры, астрофизики обрели веру в возможность обнаружения внеземной жизни.
Секреты молодости от Павла Дурова — это научно или нет?
Секреты молодости от Павла Дурова — это научно или нет?
Можно ли верить и следовать семи правилам Дурова?