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

0
22

Делаем книжные иллюстрации в нейросетях

Как написать это на Python

Такой случай произошел в Колорадо: некий Джейсон Аллен выслал на конкурс картину, созданную нейросетью Midjorney. И выиграл! Он потратил несколько недель, сделал более сотни попыток, но получил 3 картины, достойные победы в конкурсе. Хорошая реклама нейросети? Вот и я так подумала. Midjorney — нейросеть непростая, капризная, а иногда забавная. Но выдает результат, ради которого стоит трудиться. Я пришла в Midjorney после Dream by WOMBO.

Еще есть, например, метод обратного распространения ошибки — градиентный алгоритм для многослойных нейросетей. Сигналы ошибки, рассчитанные с помощью градиента, распространяются от выхода нейронной сети к входу, то есть идут не в прямом, а в обратном направлении.

Один из первых вопросов, возникающий у читателя: а что насчет авторских прав? Могу ли я использовать изображения нейросетей для коммерческого использования? Ответ простой: да, большинство созданных нейросетью картинок можно использовать для коммерческого распространения. В законе просто нет пункта, который бы защищал творчество искусственного интеллекта авторским правом. Разработчик же владеет правами на нейросеть как технологию, но не на контент, который она создает. Есть нюанс: правила пользования программами зависят от конкретного сервиса. Внимательно читайте условия и описание.

Давайте поймем почему формула имеет такой вид. Сначала нам нужно учесть то, что мы хотим скорректировать вес пропорционально размеру ошибки. Далее ошибка умножается на значение, поданное на вход нейрона, что, в нашем случае, 0 или 1. Если на вход был подан 0, то вес не корректируется. И в конце выражение умножается на градиент сигмоиды. Разберемся в последнем шаге по порядку:

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

Человеческий мозг состоит из ста миллиардов клеток, которые называются нейронами. Они соединены между собой синапсами. Если через синапсы к нейрону придет достаточное количество нервных импульсов, этот нейрон сработает и передаст нервный импульс дальше. Этот процесс лежит в основе нашего мышления. Мы можем смоделировать это явление, создав нейронную сеть с помощью компьютера. Нам не нужно воссоздавать все сложные биологические процессы, которые происходят в человеческом мозге на молекулярном уровне, нам достаточно знать, что происходит на более высоких уровнях. Для этого мы используем математический инструмент — матрицы, которые представляют собой таблицы чисел. Чтобы сделать все как можно проще, мы смоделируем только один нейрон, к которому поступает входная информация из трех источников и есть только один выход. 3 входных и 1 выходной сигнал Наша задача — научить нейронную сеть решать задачу, которая изображена в ниже. Первые четыре примера будут нашим тренировочным набором. Получилось ли у вас увидеть закономерность? Что должно быть на месте вопросительного знака — 0 или 1?

Несколько финальных замечаний

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

ЧИТАТЬ ТАКЖЕ:  От чего зависит количество слоев в нейросети

Больше мощностей. Нейронные сети работают с матрицами, так что если нейронов много, вычисления получаются очень ресурсоемкие. Известные нейросети вроде Midjourney или ChatGPT — это сложные и «тяжелые» системы, для их работы нужны сервера с мощным «железом». Так что написать собственный DALL-E на домашнем компьютере не получится. Но есть сервисы для аренды мощностей: ими как раз пользуются инженеры машинного обучения, чтобы создавать, обучать и тестировать модели.

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

Нейросети способны на многое, например, рисовать. С их помощью можно создать иллюстрации к книге или контент для авторских социальных сетей: портреты героев, вымышленные локации. Используя комбинацию слов, заданную пользователем, программа генерирует уникальное изображение. Оно может быть выполнено в разных стилях: от мультипликационного до фотореалистичного. Мы попросили авторов ЛитРес Надежду Ожигину и Роберта Оболенского поделиться опытом использования нейросетей. Более того, мы сами потестировали работу искусственного интеллекта и готовы рассказать о впечатлениях.

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

Midjorney
Общение с Midjorney сложнее. Эта сеть работает в чате Discord, где вам предоставят 25 бесплатных попыток. Многие приходят сюда поиграть и оставляют сеть, не добившись нужного результата. А ведь на создание одной иллюстрации могут уйти десятки попыток! Midjorney любит рисовать портреты, пейзажи и города. Хорошо реагирует на тему апокалипсиса, зомби, фантастики, космоса, микрокосма. Прекрасно рисует черепа!
Нестабильна в портретах в полный рост, анималистике, батальных сценах. Ей трудно создавать романтические пары и всадников. Реальные проблемы возникают при отрисовке рук, ног и лап животных.
Огромный плюс Midjorney: она создает картинки хорошего качества! Их можно использовать, как иллюстрации постов в соцсетях или для оформления книг (читайте условия!). И, как указали мне в блоге, получается отличное техническое задание для художников.

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

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