Как нас видит нейросеть

0
19

Как нейросеть видит известные произведения по их названиям

Как эти данные оттуда извлечь?

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

Сейчас нас интересует только функция «Magic Avatars», которая запускается через кнопку в левом верхнем углу экрана. Разработчики предупреждают, что на некоторых изображениях будут видны искажения — нейросеть Lensa работает хорошо, но не идеально. Приняв этот риск, нужно нажать на кнопку «Попробовать» в нижней части экрана.

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

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

Одной из основных проблем здесь является то, что разработчики могут не замечать недостатков в обучающей выборке из-за ее большого объема. Представьте, что у вас есть тысячи фотографий, используемых для обучения нейросети. В таких больших объемах данных легко пропустить какие-то мелкие детали или недостатки, особенно если обучение проводится автоматически или с использованием больших наборов данных .

Чтобы визуализировать, что «видит» нейросеть, на какие вещи она обращает внимание, можно использовать технику, называемую визуализацией признаков (feature visualization) . Эта техника позволяет воссоздать изображения, которые максимально активируют определенные нейроны в нейросети.

Тут сдаю монстров без зазрения совести, интрига всё равно не в них. Лангольеры — это существа, которые пожирают время. Отражения реального времени остаются на временной цепочке, а лангольеры идут вслед за нами по временной линии, и пока вы читаете эти строки, они там в прошлом пожирают пол пятого. Kandinsky увидел их так.

Милахи, не? На последней фотке вообще персонаж из мультфильма «Делай ноги 2», сейчас начинает отплясывать под «Андер Прешшу». Воооот! Удивительно неподходящее имя для монстров придумал Кинг. Мы-то с вами знаем, как должны выглядеть пожиратели времени, потому что существа, пожирающие время, это книги и котики. И кто скажет, что книги — это не существа, на того я натравлю свои зубастые гримуары по теневой магии (о да, у меня такие есть).

Ниже вы видите иллюстрацию того, как нейросеть на более поздних слоях “видит” характеристики одного участка фотографии. Сбоку показано значение функции активации каждого выхода. Таким образом, что нейросеть “видит”, что выбранный участок похож на шею человека или нижнюю часть лица.

Погружение вглубь нейросети

Последние слои обычно отвечают за распознавание более абстрактных и сложных понятий , таких как форма лица, расположение глаз и рта, чтобы сделать окончательное предсказание о том, содержит ли изображение объект, который обучалась распознавать сеть, например, лицо.

На графике ниже можно увидеть этот процесс более подробно. Значение W 0 — это желаемый результат вычислений. Это те значения, которые разработчик дает нейросети в конце, говоря “На фотографии с вероятностью 100% был изображен мужчина”. А W e1 — результат, полученный изначально нейросетью: “На фотографии с вероятностью 80% изображена женщина”. С помощью градиентного спуска, нейросеть меняет свои веса таким образом, чтобы приблизится к W 0 . Она вычислит, какой именно фактор повлиял на ошибку и изменит его вес. Например, нейросеть изначально могла “решить”, что у всех женщин острый подбородок, и поэтому у этого признака был суммарно большой вес. После того, как в нейросеть поступит фотография мужчины с острым подбородком, она уменьшит вес этого признака, чтобы он не искажал результат.

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

ЧИТАТЬ ТАКЖЕ:  Нейросеть которая объединяет изображения

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

Обратное распространение включает в себя расчет градиентов разными методами , которые представляют собой скорость изменения ошибки сети по отношению к ее весам и смещениям (на графике ниже градиент выглядит как угол наклона стрелочки: чем больше разница между желаемым и полученным результатом, тем больше угол наклона). По сути, этот шаг определяет, какой вклад вносит каждый параметр в общую ошибку предсказания, чтобы потом изменить его и приблизиться к желаемому значению.

Так, например, первые скрытые слои могут отвечать за распознавание базовых характеристик изображения, таких как грани, текстуры и цвета. “Нейроны” в первом слое могут реагировать на вертикальные или горизонтальные линии на изображении , а другие могут определять области с определенным цветом.

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

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

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

Ужас, тлен и разруха. Причем на первой картине на заднике какие-то античные, кажется, развалины. Типа, от развалин до развалин. Что тут странного? Обыкновенная же история! Вы как хотите, граждане, а я как-то тудыть, ближе к нашему времени, к современной литературе.

Как работает нейросеть Lensa

Приложение Lensa вышло в начале 2022 года, и с самого начала предназначалось для улучшения фотографий при помощи нейросети. Владельцы смартфонов на Android и iOS получили возможность в пару нажатий ретушировать портреты, размывать или изменять фон, накладывать эффекты и так далее.

Нейросети состоят из связанных узлов, иногда называемых “нейроны” (в англоязычной литературе часто используется термин nodes). Эти “нейроны” служат фундаментальными вычислительными единицами , которые обрабатывают и передают информацию по всей нейросети. Подобно биологическим нейронам в нашем мозге, искусственные “нейроны” работают совместно для решения сложных задач. Давайте разберем их работу на примере.

Громадный культурный бэкграунд мешает нам воспринимать произведения так, как с ними знакомились первые читатели, но искусственный интеллект возвращает нам чистоту восприятия. Что ж, посмотрим, как нейросеть Kandinsky видит то, что нам не разглядеть (частично потому, что оно у нас в печенках).

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

Процесс визуализации признаков начинается со случайного изображения или шума, которое затем подвергается оптимизации, чтобы максимизировать активацию конкретного “нейрона” или группы “нейронов” в определенном слое нейросети. Это достигается путем изменения пикселей изображения таким образом, чтобы они максимально активировали выбранные “нейроны”.

На более поздних слоях нейросети, изображения становятся менее похожими на исходные фотографии, потому что на этапе обработки нейросеть сосредотачивается на абстрактных и сложных признаках и понятиях, которые она выучила из тренировочных данных. Вот почему это происходит:

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь