Научившись видеть, распознавать, понимать и синтезировать объекты, ИИ может также манипулировать ими, создавая изображения и видео, неотличимые от реальных. Ждет ли нас будущее, в котором люди больше не смогут полагаться на невооруженный глаз, если наверняка пожелают отличить подлинное видео от тонкого монтажа? Как создаются дипфейки? Наполнят ли наши соцсети фейковые видео?
Мы уже не удивляемся тому, что ИИ опережает людей по эффективности обработки больших массивов данных. Но вот как насчет способностей, уникальных для человека или прочих живых существ, например восприятия? Зрение — самый важный из органов чувств человека. Компьютерное (машинное) зрение — это отрасль ИИ, которая обучает компьютеры видеть. Это слово означает не только оцифровку видео или изображения, но и осмысление того, что при этом «видит» компьютер.
Как работает машинное зрение и создаются дипфейки, читайте в этом материале, подготовленном по книге «ИИ-2041».
Сверточные нейронные сети (CNN)
Заставить компьютерное зрение работать на основе стандартной нейронной сети оказалось очень непростой задачей — ведь любое изображение состоит из десятков миллионов пикселей, и научить систему глубокого обучения находить тончайшие подсказки и признаки в огромном количестве изображений — это даже звучит устрашающе.
В поисках вдохновения в деле усовершенствования этой технологии исследователи обратились к человеческому мозгу. Зрительная зона коры головного мозга задействует нейроны, соответствующие множеству ограниченных областей (известных как рецептивные поля, или поля восприятия), в рамках которых наши глаза фиксируют изображение в любой конкретный момент времени. Рецептивные поля идентифицируют основные признаки видимых объектов: формы, линии, цвета или углы. Эти детекторы соединены с неокортексом, верхним слоем коры головного мозга (новой корой). Неокортекс хранит информацию иерархически и обрабатывает выходы полей восприятия, преобразуя их в более сложную интерпретацию сцены.
Наблюдения за тем, как «видят» люди, и вдохновили разработчиков на изобретение так называемых сверточных нейронных сетей (CNN — convolutional neural networks).
Самый низкий слой CNN состоит из большого числа фильтров, которые многократно применяются к изображению. Каждый из этих фильтров, как и рецептивные поля, может видеть только небольшие смежные участки изображения. Глубокое обучение за счет оптимизации параметров на множестве изображений решает, что «замечает» каждый фильтр. Каждый фильтр выдает на выходе уверенность, что видел конкретный признак, им представляемый (например, черную линию).
Более высокие слои CNN организованы иерархически, как и неокортекс. Они принимают выход уверенности от более низких слоев и обнаруживают более сложные признаки. Например, если в CNN загружается изображение зебры, фильтры нижнего слоя могут искать в каждой области изображения только черные и белые линии, а более высокие слои будут видеть полоски, уши и ноги в больших зонах. Следующие слои могут увидеть множество полос, два уха и четыре ноги. На самом высоком слое части CNN могут целенаправленно пытаться отличить зебру от лошади или тигра.
Обратите внимание: все эти примеры иллюстрируют, что CNN может делать, но в реальной работе сеть сама решает, какие признаки (полосы, уши или вообще нечто лежащее за рамками человеческого понимания) будут использованы для максимизации целевой функции.
CNN — это специфическая и улучшенная архитектура глубокого обучения, разработанная для компьютерного зрения, с различными вариантами для изображений и видео. Идея таких сетей возникла в 1980-х годах, у ученых тогда не было ни достаточного объема данных, ни вычислительных мощностей, чтобы продемонстрировать, на что эти сети способны. Только в 2012 году стало ясно, что данная технология превосходит все предыдущие подходы к компьютерному зрению.
По счастливому совпадению, примерно в это же время пользователи сняли на сильно подешевевшие и из-за этого массово распространившиеся смартфоны огромное количество фото и видео и выложили их в социальные сети. Примерно тогда же стали более доступными быстродействующие компьютеры и хранилища данных большого объема. Все эти факторы в совокупности способствовали рывку в развитии и распространении этой технологии.
Генеративные состязательные сети (GAN)
Дипфейки базируются на технологии, называемой генеративными состязательными сетями. Как следует из названия, GAN — это пара «состязательных» нейронных сетей глубокого обучения.
Первая сеть, генератор, пытается создать что-то, что выглядит реалистично (скажем, синтезированное изображение собаки), основываясь на миллионах изображений собак.
Вторая сеть, дискриминатор (сеть-детектив), сравнивает синтезированное изображение собаки из первой сети с подлинными изображениями собаки и определяет, является ли выход генератора подлинным или фальшивым.
Основываясь на обратной связи от дискриминатора, генератор переобучается так, чтобы в следующий раз обмануть дискриминатор. Он самокорректируется, минимизируя «функцию потерь», то есть различия между сгенерированным и реальным изображением.
Затем переобучается и дискриминатор, и ему становится легче распознавать фейки — «функция потерь» максимизируется. Эти два процесса повторяются миллионы раз; обе сети совершенствуют свои навыки до тех пор, пока не возникает устойчивое равновесие.
Из книги «ИИ-2041».