Ранее мы обсуждали, как большие языковые модели используются для генерации текста. Здесь мы рассмотрим два часто используемых метода изменения или создания изображений и видео (поскольку видео – это всего лишь последовательность изображений). В первом методе – автоэнкодерах – изображение сначала сжимают, а потом распаковывают, причем для обоих процессов применяются нейросети. Возможно, из главы 1 вы помните систему энкодер-декодер, где текст кодируется в числовое представление, которое использует модель, а затем снова декодируется в удобочитаемый ответ. Аналогичным образом изображение передается в энкодер, который создает его сжатую версию. Эта сжатая версия, которую еще называют латентными признаками или латентным представлением изображения, содержит набор характеристик, описывающих содержание и свойства исходного изображения [41].
Рис. 4.2. Создание дипфейка с помощью автоэнкодеров с одним энкодером и двумя декодерами
Допустим, мы пропустили изображение чьего-то лица через энкодер. Тогда латентные признаки могут включать в себя особенности черт лица, такие как выражение, угол наклона лица, тон кожи и так далее. Затем латентное представление пропускают через декодер, который восстанавливает изображение. Автоэнкодеры часто используются в технологиях замены лица, когда один и тот же энкодер создает латентные представления для обоих лиц, а затем разные декодеры генерируют обратно изображения из их латентных представлений, стремясь воссоздать исходное изображение максимально точно. На рис. 4.2 показано, как один и тот же энкодер создает латентные представления лица A и лица Б. А затем в декодер, обученный максимально точно восстанавливать черты лица Б, передается латентное представление лица A (тот же энкодер), чтобы создать натуралистичную подмену лица. Например, декодер может подменить такие характеристики, как глаза, нос, рот и оттенок кожи [42].
Второй метод создания синтетических медиа – это генеративно-состязательные сети (Generative Adversarial Networks, GANs), которые состоят из двух нейронных сетей: генератора и дискриминатора. Давайте воспользуемся здесь аналогией. Предположим, у нас есть магазин, который покупает подлинные произведения искусства и затем продает их. И есть преступник, который ради заработка создает поддельные произведения искусства и пытается их продать через этот магазин. Поначалу преступник совершает ошибки при создании подделок, и владелец магазина легко определяет, что это не подлинные работы. Вероятно, преступник скоро изучит, на какие характеристики произведения смотрит владелец магазина, чтобы определить его подлинность, и тогда на основе этого знания он сможет усовершенствовать процесс производства, что в конечном итоге приведет его к успеху. В то же время, когда владелец магазина случайно купит и попытается перепродать подделку, его клиенты или эксперты могут сообщить об этом, и тогда ему придется научиться более точно отличать подделку от подлинника.
Как показано на рис. 4.3, цель преступника (генератора) – создать поддельные произведения искусства, неотличимые от настоящих, тогда как цель владельца магазина (дискриминатора) – уметь отличать настоящие произведения искусства от поддельных. Такой состязательный цикл обратной связи является основной идеей GAN. Генератор предназначен для создания новых данных, таких как изображения, а дискриминатор проверяет их подлинность, сравнивая с обучающим набором данных, чтобы определить разницу между поддельным и реальным изображением. Конечной целью генеративной сети является создание изображений, неотличимых от подлинных реальных изображений.
Рис. 4.3. Работа GAN с использованием генератора и дискриминатора