Содержание статьи
Как видит нейросеть слово
Как вводить запрос в Ideogram
Если модель смотрит на один последний токен, это униграммная модель: она предсказывает следующее слово по последнему во фразе. Биграммные модели смотрят на два слова назад. Но технически количество слов, которые будут учитываться в предсказании, не ограничено. Поэтому модели могут быть n-граммными, где n — любое число. В сравнении с другими модели такого типа быстро работают и мало весят, особенно если значение n небольшое, а токен — буква или часть слова. Поэтому n-граммные модели активно используют в клавиатурах, чтобы персонализировать подсказки.
Прежде чем разбираться с художественными навыками нейросетей, стоит для начала понять, что же это такое — нейронная сеть (она же artificial neural network в английском наименовании). Термин нейросеть своими корнями уходит к исследованиям работы мозга человека и в наши дни применяется к свободно связанному семейству моделей, которые характеризуются большим параметрическим пространством и гибкой структурой. Непонятно? Ничего удивительного, ведь и работа самих нейросетей не самая простая для человека неподготовленного.
«Мы разбиваем слова на популярные части, например „велотренажёр“ → „вело“, „трен“, „ажёр“», — рассказывает Владимир Морозов. Такой формат удобен тем, что токены получаются более осмысленными, чем если бы текст делился на буквы, но занимают меньше памяти в сравнении со словарями, которые состоят из слов.
Затем модель создаёт следующий фрагмент текста, который она считает наиболее верным в контексте. Именно эту фразу пользователь увидит у себя на клавиатуре смартфона в строке подсказок. Процесс повторяется множество раз, чтобы сгенерировать полный текст или ответ на вопрос, если нейросеть встроена не в клавиатуру, а чат-помощник.
В целом, правила формулирования промта (запроса) для Ideogram точно такие же, как и для Stable Diffusion и MidJourney — о них мы рассказывали в отдельной статье. Но так как тут мы имеем дело с надписями, стоит отметить еще одну важную вещь: при вводе запроса текст надписи, которую вы хотите увидеть на картинке, лучше всего вводить внутри кавычек — так нейросеть лучше поймет, какой текст должен быть на рисунке.
Принципы работы языковой модели зависят от её типа. До того как разработчики стали использовать нейросети, в ходу были более простые статистические алгоритмы. Языковые модели на их основе называют классическими. Простейшая модель такого рода, например, выдаёт одно и то же слово вне зависимости от того, что получает на входе. Более сложные учитывают вероятности. Например, могут подсчитать, что после «привет» люди часто пишут «как дела», а после «хлеб» — «белый». В качестве предсказания модель может предложить самое частотное слово или слово, которое встречается с определённой вероятностью. Логика работы зависит от того, какая стратегия предсказания заложена в модель.
Более современные модели на основе нейросетей ориентируются на большее количество параметров. В отличие от, например, n-граммных, которые смотрят на фиксированное число слов, они могут смотреть на весь текст целиком. Кроме того, они способны учитывать стиль текста, день недели и даже сезонность — это как раз контекст.
Владимир рассказывает: «Дальнейший процесс зависит от того, какую задачу мы хотим решить: если нейросеть анализирует предложение и должна выдать предложение, то языковая модель обновляет контекст новыми сгенерированными словами и снова предсказывает слово».
Нейросеть, создающая надписи
Как языковые модели видят тексты
Модель видит текст как единицы языка: слова, буквы, цифры или знаки препинания — их по-другому называют токенами. Из чего будут состоять токены, зависит от того, как программист, который работает с моделью, поделил текст. Можно анализировать выражения на уровне букв, слов или частей слова.
Для предсказания важен контекст, поэтому модель учится понимать, как слова в предложении связаны между собой и какие из них чаще встречаются вместе. На основе анализа и контекста модель предсказывает, какое слово или фразу логично было бы использовать дальше. За это отвечает декодер.
Сейчас каждый может опробовать новую нейросеть и насладиться результатами ее работы. Достаточно зайти на сайт ideogram.ai/ и пройти регистрацию при помощи аккаунта Google. После этого вы попадаете на главную страницу, где будут высвечиваться ваши работы и лента с изображениями, созданными другими пользователями:
В итоге, даже если в обучающей выборке есть достаточно изображений с правильным числом пальцев на руках или красивыми и понятными надписями, нейросеть просто не понимает, какая конкретная деталь на изображении — надпись, а какая — палец. Поэтому, когда в запросе алгоритм видит фразу, например, «табличка с текстом I love you», он может выдать что-то вроде «IIu lvooo Youuu».
Как объясняет разработчик машинного обучения Владимир Морозов, на входе модель получает текст. Например, если пользователь набирает слова на клавиатуре, первой их прочитает именно языковая модель. За распознавание высказывания отвечает энкодер. Чтобы понять смысл, модель делит входной текст на мелкие кусочки, такие как слова или фразы.
Нейросетям доверено распознавать лица в системах видеонаблюдения, диагностировать болезни при анализе данных пациентов, заменять человека в колл-центрах в роли голосовых помощников да даже привычные всем чат-боты тоже используют в своей основе принцип нейронных сетей. Сервисы по имитации голосов и созданию изображений-дипфейков построены также на нейросетях. А в последнее время нейронным сетям доверили даже творческие задачи — написание стихов и рекламных слоганов, сочинение музыки и сценариев для фильмов, разработку и визуализацию промышленного дизайна, а кроме того — превращение слов в изображение.
Что такое нейросеть
В обучающей выборке алгоритма могли быть изображения с такими надписями, но никто не говорил ему, что единственно правильный вариант написания этой фразы именно «I love you», поэтому нейросеть просто смешивает все буквы, как смешивает моделей в Баленсиага и фото Папы Римского.
Правда, несмотря на все достижения науки, пока нейросети требуют большого количества технических ресурсов, включая мощнейшие компьютеры, а также не могут соперничать с мозгом человека, где и синапсов больше, и работать они могут параллельно друг с другом. А нейросети пока функционируют лишь через разделение любой, даже самой простой задачи, на череду последовательных шагов к её выполнению. Но уже сейчас нейронные сети способны существенно помогать человеку в повседневных задачах.
Нейросети стали обыденностью: студенты пишут курсовые с помощью ChatGPT, иллюстраторы рисуют в Midjourney, а Т9 регулярно предлагает неловкие автозамены. Технологиями заинтересовались и корпорации: например, РЖД провели конкурс цифрового искусства. Но что мы знаем о том, как нейросети работают с языком? Как видят слова и изображают их? Спросили у Владимира Морозова — разработчика машинного обучения в отделе обработки естественного языка «Яндекса».
Затем модель создаёт следующий фрагмент текста, который она считает наиболее верным в контексте. Именно эту фразу пользователь увидит у себя на клавиатуре смартфона в строке подсказок. Процесс повторяется множество раз, чтобы сгенерировать полный текст или ответ на вопрос, если нейросеть встроена не в клавиатуру, а чат-помощник.
Владимир рассказывает: «Дальнейший процесс зависит от того, какую задачу мы хотим решить: если нейросеть анализирует предложение и должна выдать предложение, то языковая модель обновляет контекст новыми сгенерированными словами и снова предсказывает слово».
Современные технологии развиваются так стремительно, что нейросети, совсем недавно бывшие лишь нелепой забавой, сегодня стали серьезными и эффективными помощниками человека. Причем не только в механической работе, требующей точности в изучении огромного массива данных, но и в творческих задачах. Уже сейчас нейросеть рисует картины, портреты и делает фотореалистичные изображения по простому текстовому описанию.
«Мы разбиваем слова на популярные части, например „велотренажёр“ → „вело“, „трен“, „ажёр“», — рассказывает Владимир Морозов. Такой формат удобен тем, что токены получаются более осмысленными, чем если бы текст делился на буквы, но занимают меньше памяти в сравнении со словарями, которые состоят из слов.
Для предсказания важен контекст, поэтому модель учится понимать, как слова в предложении связаны между собой и какие из них чаще встречаются вместе. На основе анализа и контекста модель предсказывает, какое слово или фразу логично было бы использовать дальше. За это отвечает декодер.