Солодкая М. А.

студентка 2 курса факультета программной инженерии

и компьютерных технологий

Университета ИТМО,

г. Санкт-Петербург


Промт и генерация ИИ в дизайне: курс по развитию творческих навыков дизайнеров бакалавриата


Статья посвящена вопросу обучения студентов направления «компьютерные технологии в дизайне» технологиям искусственного интеллекта. Рассмотрены разработанные авторами компоненты методики, включая содержание обучения, теоретический материал и лабораторные работы. 


Solodkaya M. A.

student of the Faculty of Software Engineering

and Computer Technology,

ITMO

St. Petersburg, Russia


Promt and AI generation in design: a course on developing creative skills of undergraduate designers


The article is devoted to teaching students of the direction "computer technologies in design" to artificial intelligence technologies. The authors consider various components of the methodology developed by them, including the content of training, theoretical materials and laboratory work.


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

Различают две разновидности ИИ: сильный ИИ и слабый ИИ. Сильный или как его еще называют «человекоподобный» ИИ (Strong AI, Super-AI) – это интеллектуальный алгоритм, способный решать широкий спектр интеллектуальных задач как минимум наравне с человеческим разумом [1]. В свою очередь, слабый (специальный) ИИ (Narrow AI, Weak AI) – это интеллектуальный алгоритм, имитирующий человеческий разум в решении конкретных узкоспециализированных задач [1].

Сегодня существует пока что только слабый ИИ. Он выступает как помощник для человека, например, в поиске оптимального маршрута из точки А в точку Б, рекомендации контента в соответствии с предпочтениями пользователя, в проверке товаров на наличие или отсутствие брака на конвейерной ленте.

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

В основе ИИ лежит машинное обучение, глубокое обучение и нейронные сети. Машинное обучение – это направление ИИ, сосредоточенное на создании систем, которые обучаются и развиваются на основе получаемых ими данных [2]. В свою очередь, глубокое обучение — это разновидность машинного обучения на основе искусственных нейронных сетей [3]. Нейронная сеть (НС) – это математическая модель (а также её программное или аппаратное воплощение), состоящая из слоёв "нейронов", передающих друг другу данные, и построенная по принципу организации и функционирования биологических нейронных сетей [1]. Существует множество различных НС, которые дизайнеры могут использовать в своей работе. Исходя из тех задач, которые выполняют НС, их можно поделить на следующие типы:

·        Text to Image (MidJourney [4], Stable Diffusion [5], DALL-E [6], Kandinskiy [7]),

·        Image to Text (CLIP [8], Pix2Struct [9]),

·        Text to Text (Chat GPT [10], Yandex GPT [11], Giga Chat [12]),

·        Text to Video (Runway [13], Kaiber [14]),

·        Text to Audio (Speechgen [15]),

·        Text to Music (Veed [16], Loudly [17]),

·        Image to Image (ZMO.AI [18],

·        Image Inpainting, Image Outpainting (MidJourney [4], Stable Diffusion [5]),

·        Text to 3D, Text to Motion (Vmotionize [19]).

Безусловно, существуют и другие типы НС, например, из текстового запроса НС строит шаблон сайта или презентации, но данная НС, скорее, является объединением в себе двух задач: Text to Image и Text to Text. По каждому типу НС можно привести множество примеров конкретных НС, но выше перечислены наиболее известные и популярные из них.

Одним из ключевых навыков, необходимых для эффективного взаимодействия с ИИ, является умение формулировать промты, то есть текстовые подсказки, которые задают цель и ограничения для генерации ИИ. Промты позволяют дизайнерам контролировать и направлять процесс генерации ИИ, а также получать уникальные и качественные результаты. Чем подробнее и понятнее пользователь опишет желаемый результат в промте, тем лучше и качественнее будет сгенерирован результат НС, а это значит, что запрос пользователя будет удовлетворен. Формирование навыка написания промта к НС являлось главенствующей задачей в обучении бакалавров дизайнерского направления технологиям искусственного интеллекта, поскольку в работе дизайнера встречаются нетривиальные, специфичные задачи, которые не просто решить одному. Важно отметить, что результат работы НС – это не готовый продукт, который дизайнер может использовать в своих целях. Во-первых, это референс, то есть базовый визуальный материал, который собирают и изучают для разработки собственных идей [21]. Во-вторых, это источник вдохновения, позволяющий развить творческие навыки и креативность для создания собственной работы. В рамках всего вышеперечисленного, тема исследования – разработка подходов к обучению будущих специалистов в области дизайна технологиям искусственного интеллекта в условиях быстрых темпов их развития. 

Актуальность исследования определяется противоречием между необходимостью освоения технологий искусственного интеллекта и недостатком методических материалов для этого освоения.

Разрабатываемая методика обучения студентов технологиям ИИ направлена на формирование у студентов следующих компетенций:

·        знать: историю возникновения ИИ, сферы применения ИИ, составляющие ИИ, пайплайн обучения НС, способы программной реализации алгоритмов для решения различных задач с помощью языка программирования Python;

·        уметь: писать промт к НС, обрабатывать результат, сгенерированный НС;

·        владеть: инструментами ИИ в сфере дизайна.

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

Структурно содержание обучения технологиям ИИ включает два базовых компонента: изучение инструментов ИИ и интерпретация результатов НС в своей работе.

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

1.     История ИИ и сферы применения.

2.     AI, ML, DL, NN и другие буквы.

3.     Обучение модели, оценка качества.

4.     Text to Image.

5.     Text to Text.

6.     Text to Video.

7.     Этика в ИИ.

8.     Глоссарий.

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

1.     Создать дизайнерский продукт с использованием НС как референса.

2.     Написать программный код.

Лабораторные первого типа направлены на активацию творческих способностей студентов, включение их креативности, развитие навыка написания промта для получения желаемого результата от НС, а также формирование навыка интерпретации результата НС в дизайне. В качестве результата работы студентов были следующие продукты: афиша, лонгрид, мудборд, видеоролик, гиф-анимация, презентация. Таким образом, студенты изучили и попробовали различные НС, которые, в свою очередь, были направлены на получение конкретного результата (изображение, клип, текст), смогли объединить результаты работы нескольких НС в один продукт, доработав его с добавлением собственных идей и задумок с помощью сторонних сервисов (Figma [22], программы Adope [23] и др.).

Так, например, на рисунке 1 представлен фрагмент лабораторной работы первого типа, где студентам необходимо создать афишу для заведения.


Рисунок 1 – Фрагмент практического задания № 2

 

На рисунке 2 представлена работа студента, который выполнил данную лабораторную работу по созданию афишу для заведения.


Рисунок 2 – Результат выполнения практического задания № 2 студентом 3 курса Университета ИТМО направления «Компьютерные технологии в дизайне»

 

Две лабораторных работы были посвящены программной реализации работы НС (второй тип лабораторных работ):

· с целью классификации цифр в наборе данных MNIST при помощи НС, архитектуру которой студенты писали самостоятельно;

· с целью классификации набора изображений (собранного студентами вручную) тремя НС (AlexNet, VGG16, Resnet50).

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

На рисунке 3 представлен фрагмент лабораторной работы второго типа, где студентам необходимо реализовать классификацию объектов на изображении с помощью трёх НС.

 


Рисунок 3 – Фрагмент практического задания № 7

 

         На рисунке 4 представлен фрагмент выполненного практического задания № 7 студентом 3 курса Университета ИТМО направления «Компьютерные технологии в дизайне», где представлен подсчет оценки качества моделей классификации объектов на изображениях.


Рисунок 4 – фрагмент программного кода, написанного в рамках выполнения практического задания № 7 студентом 3 курса Университета ИТМО направления «Компьютерные технологии в дизайне» и посвященного оценке качества моделей классификации объектов на изображении

 

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

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

1.     К какому виду машинного обучения относится задача классификации растений на изображениях?

a.     Обучение с учителем;

b.     Обучением без учителя;

c.      Обучение с подкреплением;

d.     Ансамблевые методы.

2.     Чем прямое распространение сигнала отличается от обратного распространения ошибки?

a.     Прямое распространение сигнала позволяет сравнить полученное прогнозируемое значение с фактическим, а обратное распространение ошибки получить прогнозируемое значение.

b.     Прямое распространение сигнала позволяет получить прогнозируемое значение, а обратное распространение ошибки - сравнить полученное прогнозируемое значение с фактическим.

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

d.     Прямое распространение сигнала отвечает за архитектуру модели, а обратное распространение ошибки - за количество нейронов в слоях.

3.     С помощью чего производится оценка качества модели?

a.     С помощью функции активации.

b.     С помощью нейрона смещения.

c.      С помощью метрик.

d.     С помощью функции потерь.

4.     В DALL-E используются несколько нейронных сетей. Какая нейронная сеть позволяет перевести текстовый запрос (промпт) в text embedding?

a.     GLIDE.

b.     CLIP.

c.      Stable Diffusion.

d.     RealESRGAN.

Помимо этого, система содержит итоговый контроль, реализованный так же в виде теста. Фрагмент итогового теста:

1.     К какой задаче машинного обучения относится прогнозирование цен на такси?

a.     Регрессия.

b.     Классификация.

c.      Кластеризация.

d.     Ассоциация.

2.     Какая модель в генеративно-состязательной сети (GAN) отвечает за создание новых искусственных данных с использованием случайных помех?

a.     Генератор.

b.     Дискриминатор.

3.     С помощью какого дополнительного параметра можно получить сдвиг нейрона относительно оригинального значения?

a.     Metric.

b.     Bias.

c.      Loss.

d.     Weight.

Результаты прохождения текущего и итогового контроля свидетельствуют о том, что студенты успешно освоили курс, поставленные цели в начале курса достигнуты, а задачи выполнены.

Таким образом, в ходе курса по развитию творческих навыков дизайнеров бакалавриата были изучены основные принципы и методы генерации ИИ с использованием промтов. Были рассмотрены различные типы промтов, такие как описательные, вопросительные, командные, творческие и другие, а также их применение в разных областях дизайна, таких как графический дизайн, веб-дизайн, игровой дизайн и другие. Были проведены практические занятия, на которых студенты учились создавать промты для разных задач генерации ИИ, таких как создание логотипов, иллюстраций, презентаций, сайтов и других. Были использованы разные инструменты генерации ИИ, такие как Stable Diffusion, DALL-E, GPT-3 и другие. Были оценены результаты генерации ИИ по разным критериям, таким как релевантность, качество, уникальность, креативность и другие. Были выявлены преимущества и недостатки генерации ИИ, а также перспективы ее развития и внедрения в дизайн.

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

Разработанная методика была апробирована в 2023 году с участием студентов 3 курса бакалавриата направления «Компьютерные технологии в дизайне» Университета ИТМО.

 

Литература:

1. Технологии искусственного интеллекта, АПР. [Электронный ресурс]. URL: https://apr.moscow/content/data/5/Технологии%20искусственного%20интеллекта.pdf (дата обращения: 01.02.2024)

2. Что такое машинное обучение. [Электронный ресурс]. URL:https://www.oracle.com/cis/artificial-intelligence/machine-learning/what-is-machine-learning/ (дата обращения: 02.02.2024)

3. Глубокое обучение и машинное обучение в Машинном обучении Azure. [Электронный ресурс]. URL: https://docs.microsoft.com/ (дата обращения: 01.02.2024)

4.       Midjourney. [Электронный ресурс]. URL: https://www.midjourney.com/home (дата обращения: 02.02.2024)

5.       Stable Diffusion. [Электронный ресурс]. URL: https://stability.ai/stable-image (дата обращения: 12.01.2024)

6.       DALL-E. [Электронный ресурс]. URL: https://openai.com/dall-e-2 (дата обращения: 12.01.2024)

7.       Kandinskiy. [Электронный ресурс]. URL: https://www.sberbank.com/promo/kandinsky/ (дата обращения: 12.01.2024)

8.       CLIP. [Электронный ресурс]. URL: https://openai.com/research/clip (дата обращения: 12.01.2024)

9.       Pics2Text. [Электронный ресурс]. URL: https://huggingface.co/docs/transformers/model_doc/pix2struct (дата обращения: 12.01.2024)

10.  Chat GPT. [Электронный ресурс]. URL: https://openai.com/blog/chatgpt (дата обращения: 12.01.2024)

11. Yandex GPT. [Электронный ресурс]. URL: https://ya.ru/alisa_davay_pridumaem?utm_source=landing&yclid=15168208904293974015 (дата обращения: 12.01.2024)

12.  Giga Chat. [Электронный ресурс]. URL: https://developers.sber.ru/gigachat/ (дата обращения: 12.01.2024)

13.  Runway. [Электронный ресурс]. URL: https://runwayml.com/ (дата обращения: 12.01.2024)

14.  Kaiber. [Электронный ресурс]. URL: https://kaiber.ai/ (дата обращения: 12.01.2024)

15.  Speechgen. [Электронный ресурс]. URL: https://speechgen.io/ (дата обращения: 12.01.2024)

16.  Veed. [Электронный ресурс]. URL: https://www.veed.io/tools/ai-music-generator (дата обращения: 12.01.2024)

17.  Loudly. [Электронный ресурс]. URL: https://www.loudly.com/text-to-music (дата обращения: 12.01.2024)

18.  ZMO.AI. [Электронный ресурс]. URL: https://www.zmo.ai/image-to-image-ai/ (дата обращения: 12.01.2024)

19.  Vmotionize. [Электронный ресурс]. URL: https://vmotionize.com/text-to-animation (дата обращения: 12.01.2024)

20.  Как правильно написать промт для нейросети (ChatGPT, Bing) — на примерах. [Электронный ресурс]. URL: https://shard-copywriting.ru/how-to-write-prompt-for-ai/ (дата обращения: 08.02.2024)

21. Что такое референсы и зачем они нужны. [Электронный ресурс]. URL: https://skillbox.ru/media/design/chto_takoe_referensy_i_zachem_oni_nuzhny/ (дата обращения: 03.02.2024)

22.  Figma. [Электронный ресурс]. URL: https://www.figma.com/ (дата обращения: 04.02.2024)

23.  Adope. [Электронный ресурс]. URL: https://www.adobe.com/ru/ (дата обращения: 04.02.2024)

вопросы и комментарии: