Содержание статьи
Как видит слово нейросеть
Как работают нейросети
Настроения в обществе тоже были далеки от оптимизма. Людей пугала мысль, какую власть могут получить «думающие машины», способные программировать сами себя. Писатели-фантасты (Айзек Азимов, Гарри Гаррисон) в своих произведениях размышляли, какое влияние нейросети окажут на общество, и не всегда их прогнозы были радужны. Но программисты продолжали мечтать о компьютере, который мог бы сам исправлять ошибки разработчиков.
Владимир рассказывает: «Дальнейший процесс зависит от того, какую задачу мы хотим решить: если нейросеть анализирует предложение и должна выдать предложение, то языковая модель обновляет контекст новыми сгенерированными словами и снова предсказывает слово».
Принципы работы языковой модели зависят от её типа. До того как разработчики стали использовать нейросети, в ходу были более простые статистические алгоритмы. Языковые модели на их основе называют классическими. Простейшая модель такого рода, например, выдаёт одно и то же слово вне зависимости от того, что получает на входе. Более сложные учитывают вероятности. Например, могут подсчитать, что после «привет» люди часто пишут «как дела», а после «хлеб» — «белый». В качестве предсказания модель может предложить самое частотное слово или слово, которое встречается с определённой вероятностью. Логика работы зависит от того, какая стратегия предсказания заложена в модель.
Как языковые модели видят тексты
Модель видит текст как единицы языка: слова, буквы, цифры или знаки препинания — их по-другому называют токенами. Из чего будут состоять токены, зависит от того, как программист, который работает с моделью, поделил текст. Можно анализировать выражения на уровне букв, слов или частей слова.
Но вот у программистов Ideogram получилось обучить нейросеть так, чтобы надписи на сгенерированных ею изображениях были корректными. Представители стартапа, генеральный директор которого Мохаммад Норузи был старшим научным сотрудником Google, не раскрывают секретов того, как им удалось обучить свою модель.
В 1943 году американские учёные — нейрофизиолог Уоррен Маккалок и нейролингвист Уолтер Питтс написали статью о том, как могут работать нейроны. Они первыми предложили термин «искусственный нейрон» и смоделировали рабочую искусственную нейронную сеть на основе электрических схем.
Как языковые модели видят тексты
Модель видит текст как единицы языка: слова, буквы, цифры или знаки препинания — их по-другому называют токенами. Из чего будут состоять токены, зависит от того, как программист, который работает с моделью, поделил текст. Можно анализировать выражения на уровне букв, слов или частей слова.
В 1958 году американский психолог Корнеллского университета Фрэнк Розенблатт повторил математическую модель нейросети с помощью компьютерного кода. Его нейрокомпьютер «Марк-1» был построен на идее персептрона — математической модели биологического нейрона. Нейросеть имела один слой (данные от входа сразу шли на вывод), но её уже можно было обучить. Она могла сама относить объекты по категориям. Например, распознавать печатные буквы на карточках.
Почему у нейросетей плохо выходят надписи
Для предсказания важен контекст, поэтому модель учится понимать, как слова в предложении связаны между собой и какие из них чаще встречаются вместе. На основе анализа и контекста модель предсказывает, какое слово или фразу логично было бы использовать дальше. За это отвечает декодер.
Как и люди, нейросети могут правильно решать новые задачи, опираясь на предшествующий опыт. Эти умные программы анализируют новую информацию, обобщают её и применяют выученные шаблоны к новым задачам. Если дать нейросети примеры «правильной» работы для решения задачи, то она может совершенствовать свою работу дальше.
Мы уже много рассказывали про нейросети, в том числе для генерации изображений. Одна из больших их проблем – невозможность генерировать нормальный текст на картинке: получается либо абракадабра, либо вообще нечитаемые символы. Но бывшие сотрудники Google смогли исправить этот недостаток — они запустили сервис Ideogram, в котором любые надписи по вашему желанию генерируются с невероятной точностью.
В итоге, даже если в обучающей выборке есть достаточно изображений с правильным числом пальцев на руках или красивыми и понятными надписями, нейросеть просто не понимает, какая конкретная деталь на изображении — надпись, а какая — палец. Поэтому, когда в запросе алгоритм видит фразу, например, «табличка с текстом I love you», он может выдать что-то вроде «IIu lvooo Youuu».
Однако первые успехи нейросетей привели к завышенным ожиданиям, которые они не смогли оправдать. В конце 1960-х правительство США, где проводились основные исследования нейросетей, резко урезало финансирование подобных разработок, посчитав их не оправдывающими себя.
Сейчас каждый может опробовать новую нейросеть и насладиться результатами ее работы. Достаточно зайти на сайт ideogram.ai/ и пройти регистрацию при помощи аккаунта Google. После этого вы попадаете на главную страницу, где будут высвечиваться ваши работы и лента с изображениями, созданными другими пользователями:
Как вводить запрос в Ideogram
«Мы разбиваем слова на популярные части, например „велотренажёр“ → „вело“, „трен“, „ажёр“», — рассказывает Владимир Морозов. Такой формат удобен тем, что токены получаются более осмысленными, чем если бы текст делился на буквы, но занимают меньше памяти в сравнении со словарями, которые состоят из слов.
Как объясняет разработчик машинного обучения Владимир Морозов, на входе модель получает текст. Например, если пользователь набирает слова на клавиатуре, первой их прочитает именно языковая модель. За распознавание высказывания отвечает энкодер. Чтобы понять смысл, модель делит входной текст на мелкие кусочки, такие как слова или фразы.
По-настоящему нейросети рванули вперёд с 2000-х годов, когда появилась подходящая для них техническая база. Это позволило к 2006 году разработать концепцию глубокого обучения нейросетей — вида машинного обучения на огромных массивах данных, после которого многоуровневые нейросети могли решать задачи без участия человека. Теперь нейронные сети куда эффективнее решают прикладные задачи.
В целом, правила формулирования промта (запроса) для Ideogram точно такие же, как и для Stable Diffusion и MidJourney — о них мы рассказывали в отдельной статье. Но так как тут мы имеем дело с надписями, стоит отметить еще одну важную вещь: при вводе запроса текст надписи, которую вы хотите увидеть на картинке, лучше всего вводить внутри кавычек — так нейросеть лучше поймет, какой текст должен быть на рисунке.
Если модель смотрит на один последний токен, это униграммная модель: она предсказывает следующее слово по последнему во фразе. Биграммные модели смотрят на два слова назад. Но технически количество слов, которые будут учитываться в предсказании, не ограничено. Поэтому модели могут быть n-граммными, где n — любое число. В сравнении с другими модели такого типа быстро работают и мало весят, особенно если значение n небольшое, а токен — буква или часть слова. Поэтому n-граммные модели активно используют в клавиатурах, чтобы персонализировать подсказки.
Более современные модели на основе нейросетей ориентируются на большее количество параметров. В отличие от, например, n-граммных, которые смотрят на фиксированное число слов, они могут смотреть на весь текст целиком. Кроме того, они способны учитывать стиль текста, день недели и даже сезонность — это как раз контекст.