Содержание статьи
Как отличить фото людей, которые сгенерировала нейросеть
Большая подборка по теме AI (Artificial Intelligence) от Data Privacy Office
Процесс визуализации признаков начинается со случайного изображения или шума, которое затем подвергается оптимизации, чтобы максимизировать активацию конкретного “нейрона” или группы “нейронов” в определенном слое нейросети. Это достигается путем изменения пикселей изображения таким образом, чтобы они максимально активировали выбранные “нейроны”.
Ошибки и артефакты. У StyleGAN есть несколько мест, где нейросеть обычно ошибается. Например, это аксессуары: ИИ любит генерировать людей в очках и серьгах, но нередко на них проявляются артефакты, которые выглядят как характерные разноцветные кляксы.
Последние слои обычно отвечают за распознавание более абстрактных и сложных понятий , таких как форма лица, расположение глаз и рта, чтобы сделать окончательное предсказание о том, содержит ли изображение объект, который обучалась распознавать сеть, например, лицо.
Раньше, чтобы сделать красивую аватарку для социальных сетей, люди обращались за помощью к фотографам и художникам. Сегодня все стало намного проще, потому что существуют нейросети, способные из обычной фотографии сделать произведение искусства. В ноябре 2022 года большую популярность обрела нейросеть Lensa — скачав одноименное приложение на свой смартфон, вы можете загрузить несколько своих фотографий и получить целый набор аватарок в разных стилях. Хотите фото, где вы похожи на стилягу из второй половины 20 века? Или вам интересно узнать, как бы выглядело ваше лицо внутри космического скафандра? Удовлетворить любопытство и сделать красивую аватарку можно прямо сейчас. Просто следуйте нашей инструкции.
После выбора фотографий, необходимо указать свой пол — чтобы результат вас порадовал, рекомендуется выбрать верный, без экспериментов. После этого нужно выбрать, сколько вариантов аватарок вы хотите получить: 50, 100 или 200. После оплаты, нейросеть начнет рисовать по фотографиям, которые вы загрузили. Процесс может занять более 20 минут, так что надо запастись терпением.
Форма лица. Нейросетевым лицам присуща симметричность, которую редко встретишь в жизни, например глаза на одинаковом расстоянии от центра лица. Либо, наоборот, неестественная асимметричность, например одно ухо гораздо больше второго, глаза разного цвета и размера.
Чтобы визуализировать, что «видит» нейросеть, на какие вещи она обращает внимание, можно использовать технику, называемую визуализацией признаков (feature visualization) . Эта техника позволяет воссоздать изображения, которые максимально активируют определенные нейроны в нейросети.
Пример: Представим, что у нас есть “нейрон”, который пытается определить цену за одну ночь в отеле на основе нескольких факторов, таких как расстояние до центра города, рейтинг отеля и количество звезд. Каждый из этих факторов является входным значением для нашего нейрона, то есть информацией, которую он получает. У каждого входа есть свой вес , который представляет собой важность этого фактора для принятия решения. Например, если нейрон посчитает, что рейтинг — самый важный фактор, то ему будет присвоен бОльший вес, чем другим входам, и он будет больше влиять на цену отеля, чем другие факторы. Допустим, рейтинг имеет вес 0.6, расстояние — 0.3, а количество звезд — 0.4. Кроме того, у нашего нейрона есть смещение , которое можно рассматривать как некий уровень чувствительности нейрона. Если смещение высокое, “нейрон” будет более склонен к принятию положительного решения при небольших входных значениях. Напротив, низкое смещение означает, что нейрон будет активироваться только при более значительных входных значениях. В нашем примере смещение можно представить как минимальную цену, ниже которой отель арендовать невозможно. Эта цена будет прибавляться к каждому выходному значению. Теперь, когда у нас есть веса и смещение, “нейрон” суммирует произведения весов и входных значений, добавляет смещение и передает эту сумму функции активации . Так, если общая сумма ниже определенного порога, “нейрон” может решить, что цену определить невозможно и передаст 0. Таким образом, наш “нейрон” анализирует различные факторы (входные значения), учитывая их важность (веса) и изначальные значения (смещение), чтобы принять решение о цене отеля.
Погружение вглубь нейросети
1. Пулинг : Пулинговые слои уменьшают размер изображения, сохраняя только важные характеристики (например, для определения, изображен ли на фотографии человек, нейросеть может решить, что ей не важен фон фотографии и “размыть его”). В результате изображение становится менее детализированным, но сохраняет основные признаки. Можно сказать, что это «обобщенная» версия изображения, которая помогает упростить обработку для нейронной сети, не теряя важной информации.
Далее приложение просит выбрать из галереи 10-20 фотографий, на которых видно только ваше лицо. Будет хорошо, если они сняты с разных ракурсов, на них видны разные эмоции и используется разнообразный фон. Если соблюсти все требования, аватарки получатся наивысшего качества.
Часто также выделяют отдельно сверточные слои (convolution layers): Когда фотография проходит через сверточный слой, происходит что-то похожее на сканирование изображения. Нейросеть на этом слое ищет определенные узоры или фигуры, например, края, углы, или текстуры, которые помогают понять, что на картинке изображено. После сверточного слоя фотография разбивается на кусочки из найденных объектов, которые будут меньше размером и их легче будет анализировать.
На более поздних слоях нейросети, изображения становятся менее похожими на исходные фотографии, потому что на этапе обработки нейросеть сосредотачивается на абстрактных и сложных признаках и понятиях, которые она выучила из тренировочных данных. Вот почему это происходит:
Приложение Lensa можно скачать бесплатно. Но функция «Magic Avatars» платная — за наборы аватарок нужно платить. На момент написания статьи, версия для iOS стоит от 279 до 649 рублей. Версия для Android выдала другую цену, от 189 до 429 рублей. Пожалуй, это единственный минус приложения.
В ноябре в приложении Lensa появилась новая функция «Magic Avatars», которая при помощи нейросети изучает лицо человека и создает пачку из 50-200 аватарок в разных стилях. Давайте узнаем, как нейросеть рисует по фото и что из этого получается — результат впечатляет.
На иллюстрации ниже вы можете увидеть пример нейросети, которая анализирует цену за отель, основываясь на площади номера, количестве спален, расстоянии до города и возрасте клиента (на случай скидок для пенсионеров). — вообще, лучше нарисовать свою схему на предыдущем примере:
Когда нейросеть обучается на данных, она стремится извлечь наиболее важные признаки из этой информации, которые помогут ей делать точные прогнозы или принимать решения в будущем. Однако в процессе этого обобщения она может «помнить» определенные детали обучающих данных в своих весах и смещениях.
Распространение вперед
Так, например, первые скрытые слои могут отвечать за распознавание базовых характеристик изображения, таких как грани, текстуры и цвета. “Нейроны” в первом слое могут реагировать на вертикальные или горизонтальные линии на изображении , а другие могут определять области с определенным цветом.
По мере продвижения изображения через сеть, промежуточные слои начинают агрегировать базовые характеристики, обнаруженные в предыдущих слоях, для распознавания более сложных паттернов. Например, нейроны в этих слоях могут начать формировать комбинации граней для определения более сложных текстур, таких как кожа или волосы.
Представьте себе нейронную сеть, которой поручено проанализировать Вашу фотографию, и сделать выводы относительно ее содержания. Например, какого пола человек изображен на фотографии, во что он одет и сколько ему лет. По мере того, как Ваша фотография начинает свое путешествие по этой нейронной сети, она проходит ряд сложных вычислений.
Приложение Lensa вышло в начале 2022 года, и с самого начала предназначалось для улучшения фотографий при помощи нейросети. Владельцы смартфонов на Android и iOS получили возможность в пару нажатий ретушировать портреты, размывать или изменять фон, накладывать эффекты и так далее.
2. Абстракция : Нейросеть стремится к абстракции, выделяя особенности, которые ей кажутся важными для различения между классами объектов. Это может привести к тому, что изображения становятся все более абстрактными и трудно интерпретируемыми для человеческого восприятия. То, какие именно особенности ей покажутся важными, во многом зависит от данных, на которых нейросеть обучалась. Например, если все мужчины, которых нейросеть “видела”, были в черных очках, то нейросеть первым делом научится распознавать на фотографии черные очки, а остальные признаки, такие как форма лица или волосы на лице, она будет опускать.
Сейчас нас интересует только функция «Magic Avatars», которая запускается через кнопку в левом верхнем углу экрана. Разработчики предупреждают, что на некоторых изображениях будут видны искажения — нейросеть Lensa работает хорошо, но не идеально. Приняв этот риск, нужно нажать на кнопку «Попробовать» в нижней части экрана.
Примечание: В нашей статье мы будем рассматривать градиентный спуск в классическом виде, однако следует заметить, что когда речь идет об анализе изображений в виду большой размерности градиентный спуск в изначальном виде может быть невозможен, поэтому приходится использовать приближенные к нему методы, которые руководствуются похожей логикой.
Ниже вы видите иллюстрацию того, как нейросеть на более поздних слоях “видит” характеристики одного участка фотографии. Сбоку показано значение функции активации каждого выхода. Таким образом, что нейросеть “видит”, что выбранный участок похож на шею человека или нижнюю часть лица.