Пора бы рассказать что-нибудь, что будет полезно простому обывателю. Например, в каких областях генеративные нейросети реально хороши. Если бы все было грустно и безблагодатно, разве они смогли бы так быстро проникнуть в нашу жизнь?
Вначале немного теории. Очень грубо, нейронка состоит из двух частей.
Первая — языковая, она переводит ваш запрос «мальчик-баклажан рулит шерстяным спорт-каром» в свое внутреннее представление. Что она там внутри подумает, вы не можете увидеть. Вторая часть пытается собрать из этого образ с помощью своей памяти, применяя к ней двумерные преобразования. Ошибки могут случиться и там и там.
Обе части обучаются на чудовищно больших массивах данных (например, у Stable Diffusion обучающий набор это 5 миллиардов картинок) и даже никто из разработчиков не может сказать, какая сфера жизни в наборе представлена хорошо, а какая — нет.
А теперь главное: три сценария, в которых нейросеть работает лучше всего.
Первый. Максимально размытый запрос к повседневной, бытовой ситуации.
Видите, как все просто? Если даже с первого раза сеть выдаст чуть шероховатый результат, просто выполните тот же запрос еще раз. Когда я генерировал эти картинки, мне повторять не пришлось.
Второй чуть посложнее. Замена текстуры или подмена одного объекта похожим. Запомните: нейросеть умеет делать только двумерные функции - увеличить, сдвинуть, повернуть, растянуть, перекрасить. Крутите галерею, так лучше видно.
Тут уже лишь половина запросов получаются сразу. Процент брака заметен.
Третий. Поместить обычный объект в неподходящее окружение.
Здесь робота приходится мучить подольше. Но все равно результат рано или поздно получается.
Самое главное — не пытаться добиться от нейросети того, что она явно не знает и чего в обучающем наборе наверняка не было. Как вы это можете понять? Только опытным путем. Если с десятого раза не удается получить желаемое — меняйте свой запрос.