К книге
Эти странные новые разумы: Как ИИ научился говорить и что это значит11. Карты смыслов.
27%
11. Карты смыслов.
14

В экранизации классической повести Роальда Даля «Вилли Вонка и шоколадная фабрика» эксцентричный затворник Вилли Вонка несёт много околесицы. «Если бы Господь хотел, чтобы мы ходили пешком, он никогда не изобрёл бы роликовые коньки», — уверенно заявляет он, пока дети разбегаются во всех направлениях, чтобы исследовать шоколадную фабрику. Представляя посетителям свой вонкамобиль — волшебный автомобиль, работающий на газировке, — он неточно цитирует Томаса Эдисона: «Изобретение, мои дорогие друзья, — это на 93% пот, на 6% электричество, на 4% испарение и на 2% ирисковый сироп».

Фразы Вонки восхитительно нелепы, и, подобно фразе Ноама Хомского «бесцветные зелёные идеи яростно спят», абсолютно грамматически верны. Но Господь на самом деле не изобретал роликовые коньки (эта честь принадлежит бельгийцу XVIII века по имени Жан-Жозеф Мерлен, который испытывал своё творение, играя на скрипке на костюмированном балу, и с треском врезался в гигантское зеркало). Да и изобретательство не имеет практически ничего общего с ирисковым сиропом. В отличие от Вонки, большинство людей в разговоре стремятся сделать свои предложения уместными и связными. Иначе беседа скакала бы отрывистым стаккато с темы на тему, мешая вести осмысленный диалог (чего Вонка уж точно не преследует).

К концу 1990-х годов n-граммный подход доминировал в исследованиях в области обработки естественного языка (NLP). N-граммные модели довольно неплохо справлялись с предсказанием следующего слова, но когда их использовали для генерации целых предложений, они, подобно Вонке, выдавали преимущественно квазисвязную белиберду. Вот несколько примеров предложений, сгенерированных триграммной моделью, обученной на наборе данных телефонных разговоров, известном как корпус Switchboard:

Я вырасти с этим пятидневным периодом ожидания является одним из верхнего полуострова.

И я чувствовал себя в полной безопасности с их десять клавиша или типа того?

Мы, мы, э-э, барбекю и расскажи мне как сказать в Германии.

Подобно перевёрнутым с ног на голову высказываниям Вонки, эти предложения поначалу могут показаться смутно правдоподобными, но они не выдерживают более пристального рассмотрения. Ноам Хомский обязательно пожаловался бы, что ни одно из трёх предложений не является строго грамматически верным. Во втором предложении слово «десять» указывает на то, что клавиш больше одной, поэтому правильным должно быть согласование «десять клавиш». Более того, они довольно бессмысленны. Нет никакой очевидной семантической связи между «барбекю» и «Германией» или между «пятидневным периодом ожидания» и «верхним полуостровом». Причина в том, что n-граммные модели учатся прогнозировать только на основе локальной информации — ассоциаций между парами или тройками слов. N-граммы «пятидневный период ожидания» и «верхний полуостров» сами по себе вполне вероятны, но в одном предложении они встречаются крайне редко. Представьте, что вы смотрите на мир исключительно сквозь узкую щель (например, через картонную трубку от рулона туалетной бумаги) и пытаетесь угадать, что еще может находиться в поле зрения. Это похоже на проблему, с которой сталкивается n-граммная модель при прогнозировании предложений: ей приходится экстраполировать данные всего по нескольким словам, чтобы уловить более широкий смысл длинного отрывка текста.

У детей, осваивающих язык, такой проблемы не возникает. Вместо того чтобы пытаться склеить смысл из крошечных фрагментов предложения, люди могут позволить себе роскошь опираться на богатые ассоциативные связи, отражающие то, как все в мире взаимосвязано. Если бы я попросил вас описать скрипку, вы, вероятно, упомянули бы деревянный музыкальный инструмент с изящными изгибами и, возможно, связанные с ним предметы, такие как смычок из конского волоса, футляр или контрабас. Вы могли бы рассказать мне о выдающихся скрипичных мастерах или скрипачах — например, о великом мастере Страдивари или виртуозе Анне-Софи Муттер, либо вспомнить ту мегеру, которая мучила вас в первом классе музыкальной школы. Вы могли бы назвать знаменитые концертные площадки, такие как Сиднейский оперный театр или Королевский Альберт-холл, или известные скрипичные произведения, например, завораживающий Скрипичный концерт ми минор Мендельсона. В человеческом разуме слова отсылают к понятиям, которые представляют собой внутренние репрезентации объектов и событий, и по мере взросления мы усваиваем паттерны связей между ними. Понятие скрипки связано с понятиями других объектов (таких как виолончель), событий (концерт) или даже более абстрактных сущностей (музыка). Когда мы думаем о мире или обсуждаем его с друзьями, наши мысли обычно перетекают от одних семантически связанных понятий к другим. Это помогает нашей речи оставаться связной и уместной — так что, обсуждая классическую музыку, мы не начнем случайным образом перечислять сорта мороженого, как это мог бы сделать Вилли Вонка.

Психологи называют наше знание о связях между понятиями семантической памятью. Неповрежденная семантическая память жизненно важна для здорового функционирования мозга и особенно для порождения осмысленной речи. Мы знаем об этом потому, что в пожилом возрасте некоторые люди страдают от семантической деменции — нейродегенеративного расстройства, при котором утрачиваются огромные пласты семантической памяти, обычно после атрофии критически важных для речи областей мозга. Речь пациентов с семантической деменцией напоминает работу n-граммной модели: ее содержание часто бывает путаным или бессмысленным (это явление называют «словесной окрошкой»). Таким образом, семантическая память необходима для того, чтобы наша устная и письменная речь имела смысл. Но как нам построить модели NLP с семантической памятью, чтобы они тоже могли порождать осмысленную речь?

Чтобы понять это, полезно представить понятия в семантической памяти как точки на ментальной карте. Ориентируясь на знакомых улицах, вы держите в голове пространственную карту, которая подсказывает, как добраться от парка до почты. Точно так же на семантической карте каждое понятие занимает уникальное положение (например, координату x, y ), а родственные понятия располагаются по соседству. Так, на вашей семантической карте «скрипка», вероятно, находится близко к «виолончели», но на безопасном расстоянии от «зубной пасты». Семантическую карту можно использовать для понимания и порождения речи. Если «киви», «банан» и «яблоко» расположены в одной зоне, то новое понятие, оказавшееся неподалеку (например, «мангустин»), скорее всего, тоже окажется фруктом. Слегка злоупотребляя метафорой, мы можем даже представить порождение речи как своего рода навигацию. Если понятия в нашем уме организованы разумно, то, блуждая по карте, мысли будут изящно перетекать от одной семантически близкой темы к другой, помогая нам говорить по существу.

Чтобы создать языковую модель с чем-то похожим на семантическую память, нам нужно найти алгоритм, который преобразует слова в понятия, организованные на осмысленной семантической карте. Сложность в том, что сами по себе слова — в виде букв на странице или произнесенных вслух фонем — практически не несут информации о своем значении. В большинстве современных языков слова представляют собой чистые символы, то есть они не выглядят и не звучат как объекты или события, к которым они относятся. Исторически так было не всегда. Например, древняя письменность ацтеков, египтян и народа адинкра в Гане была пиктографической, то есть обозначающие птицу слова рисовались так, чтобы действительно походить на птицу. Даже современный китайский язык сохраняет следы своего пиктографического происхождения (одним из примеров является иероглиф «женщина» (nǚ), пишущийся как 女, который немного напоминает схематичную фигурку человека). Но в современных языках комбинации букв и фонем, из которых состоит слово, кажутся выбранными совершенно произвольно. Английское слово horse не похоже на лошадь, а слова horse и zebra совершенно не похожи друг на друга, несмотря на то что зебры — это, по сути, просто лошади в полосатой шкуре. И наоборот, слова horse и house отличаются всего одной буквой, хотя дом — это место для жизни, а на лошади большинство людей не живут (за исключением разве что ковбоев).

Таким образом, физическая форма слов мало полезна для построения семантической карты. Альтернативный взгляд заключается в том, что для понимания связей между понятиями нам необходим чувственный опыт — зрительные образы и звуки физического мира, которые подсказывают нам, что с чем связано. В оркестре скрипачи и виолончелисты сидят рядом; в вашей вазе для фруктов на кухне могут лежать киви, бананы и, возможно, даже мангустины. Кажется вполне вероятным, что то, что мы видим, слышим или ощущаем по запаху, критически важно для понимания взаимосвязи понятий, а следовательно, и для порождения понятной речи. Если бы это было так, это стало бы крайне плохой новостью для исследователей в области NLP, ведь это означало бы, что языковая модель, обучаемая исключительно на больших текстовых корпусах, никогда не сможет постичь смысл так, как это делают люди, которые, очевидно, способны видеть и слышать.

Однако, как ни странно, это, похоже, не так. Как выяснилось, одни лишь паттерны распределения слов содержат бóльшую часть информации, необходимой для организации понятий в работающую семантическую карту. Это прорывное открытие было сделано, когда нейросети начали использовать в качестве языковых моделей. К концу 1990-х годов стали доступны крупные корпуса, состоящие из миллионов слов, что породило вопрос: можно ли обучить глубокие сети, запущенные на ставших к тому времени мощными компьютерах, предсказывать следующее слово (например, «почтальон принес _____»)? Знаковая статья[*1], опубликованная в 2003 году корифеем машинного обучения Йошуа Бенжио, задала вектор движения, показав, как обучать глубокие сети извлекать семантическую информацию исключительно из паттернов взаимосвязи слов.

Нейронные сети принимают на вход числа, поэтому, чтобы глубокая сеть могла обрабатывать язык, нам нужно преобразовать языковые единицы (такие как слова) в числовые коды. Один из простых способов сделать это называется one-hot кодированием. One-hot код представляет собой вектор длины n, где n — это количество возможных входных данных (например, уникальных слов), в котором одна-единственная позиция кодируется единицей, а все остальные — нулями. Например, если не учитывать пунктуацию, one-hot код для нашего языка L4 выглядел бы так:

florbix: 1 0 0 0

quibbly: 0 1 0 0

zandoodle: 0 0 1 0

blibberish: 0 0 0 1

Это гарантирует, что такие числовые коды одинаково не похожи друг на друга, что верно отражает тот факт, что слова (по большей части) являются произвольными символами и их физическая форма никак не связана со смыслом. Разумеется, в естественном языке объем словаря гораздо больше. В исследовании 2003 года использовалось 7000 уникальных входов, а в современных LLM это число приближается к 50 000, из-за чего one-hot векторы могут быть чрезвычайно длинными. Более того, поскольку каждое отдельное слово встречается довольно редко, нейросети очень трудно понять, в каком окружении оно обычно появляется, а следовательно — делать точные предсказания.

В статье 2003 года был предложен изящный трюк, решивший эту проблему. Авторы предложили представлять числовой код каждого слова в виде вектора признаков, состоящего примерно из пятидесяти значений, причем каждый такой вектор должен был настраиваться непосредственно в процессе обучения. Мы можем представить вектор признаков как координаты понятия на семантической карте с d измерениями, где d — это длина вектора. Так, например, если d = 2, то входные данные для таких слов, как «скрипка» и «виолончель», сжимаются всего до двух значений, которые можно рассматривать как координаты x и y соответствующих им понятий на двумерной семантической карте (совсем как в автомобильном атласе дорог). Если = 3, то каждое слово превращается в точку внутри трехмерного пространства (куба), задаваемую координатами x, y и z (для описания таких похожих на карты репрезентаций в «мозге» сети исследователи ИИ используют термин «эмбеддинги» (embeddings)). Тот же самый принцип действует и при d = 50, с той лишь разницей, что пространство эмбеддингов гораздо труднее визуализировать (пионер в области ИИ Джефф Хинтон советовал своим студентам: чтобы представить 13-мерное пространство, нужно вообразить трехмерное и просто повторять про себя: «тринадцать, тринадцать, тринадцать»).

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

Более того, оказывается, что усвоенные ею эмбеддинги похожи на те, что обнаруживаются в человеческом мозге. Для заданного набора словарных единиц можно измерить расстояния между векторами признаков каждого слова и всех остальных, что для n слов дает матрицу n × n с нулями на диагонали (поскольку каждое слово идентично самому себе, а это соответствует нулевому расстоянию). Если повторить ту же процедуру с паттернами активности человеческого мозга, измеренными с помощью методов нейровизуализации, то обнаружится, что матрицы сходства для «мозга» нейросетей и мозга человека в значительной степени совпадают. Просто обучаясь предсказывать слова, нейронные сети способны приобретать семантические знания, в общих чертах сходные с человеческими.

Но это еще не все. У людей семантическое знание лежит глубже, чем простые ассоциативные паттерны. То, как мы используем слова, отражает наше понимание структуры мира. Один из примеров этого виден в том, как мы используем метафоры и аналогии. Возьмем следующую загадку: «скрипка относится к струнным, как труба — к ______». Вы наверняка знаете, что в классическом оркестре скрипки входят в группу струнных инструментов вместе с виолончелями и альтами, тогда как трубы относятся к медным духовым, поэтому медные духовые — наиболее вероятный вариант завершения аналогии (и GPT-4 с этим согласна). Кроме того, структура смысла раскрывается и через синтаксис предложений, о чем нам ворчливо напоминает Ноам Хомский. Так, простая загадка «car относится к cars, как dog — к _____» обыгрывает тот факт, что стандартная форма множественного числа английских существительных образуется путем добавления окончания –s. Вы можете подумать (мысленно настраиваясь на волну Ноама Хомского), что эти паттерны выводятся из жестких грамматических правил, к усвоению которых мы предрасположены от рождения, или из знаний, укорененных в реальном жизненном опыте (например, если вы своими глазами видели, как музыканты сидят в оркестровой яме). Если это так, то у нейросетей не было бы ни единого шанса усвоить знания, структурированные подобным образом.

Но, как ни удивительно, было доказано, что они на это способны.[*2] Если мы внимательно изучим репрезентации в нейронных сетях, то обнаружим, что они представляют значения слов в виде легко интерпретируемой геометрии. Например, две точки в пространстве эмбеддингов, соответствующие словам мужчина и женщина, разделены вектором, имеющим тот же угол, что и вектор, связывающий слова король и королева, но смещенным в перпендикулярном направлении. Проще говоря, это выглядит так, будто сеть усваивает для этих понятий следующие эмбеддинги (хотя, разумеется, реальные векторы имели десятки измерений, а не два, но сам паттерн был точно таким же):

v(Королева) = [4,5]

v(Король) = [1,5]

v(Женщина) = [4,2]

v(Мужчина) = [1,2]

Сеть выделила смысловое измерение, соответствующее гендеру (женский пол против мужского), и еще одно, соответствующее королевскому статусу (монарх против подданного), хотя это весьма абстрактные понятия, неявно скрытые в самом языке. Иными словами, сеть усвоила репрезентации, полезные для решения задач на поиск аналогий (вроде тех, что описаны выше) путем простых арифметических операций над этими векторами признаков. Если v(x) обозначает вектор признаков для слова x, то мы можем, например, вывести, что v(Женщина) = v(Мужчина) + v(Королева) − v(Король) (попробуйте посчитать сами). То же самое работает и для синтаксиса. Например, v(cars) = v(car) + v(dogs) − v(dog). Интуитивно вы можете представить выражение v(dogs) − v(dog) как улавливающее «чистый» показатель множественного числа — окончание «-s», — который затем добавляется к v(car), чтобы получилось v(cars). Это работает даже для перевода, например с английского на испанский: v(caballo) = v(vaca) − v(cow) + v(horse).

Рисунок 1. Стилизованная визуализация пространства эмбеддингов для слов «Король» [1,5], «Королева» [4,5], «Мужчина» [1,2] и «Женщина» [4,2]. Обратите внимание, как они лежат на двух осях, которые здесь показаны параллельно осям x и y графика, представляющим уровни активности отдельных элементов или групп элементов в нейронной сети (или мозге). Слова, связанные с мужским полом, вызывают более низкую активность на оси «гендер», а слова, связанные с женским, — более высокую; «королевские» слова вызывают более высокую активность на оси «королевский статус», а слова простых людей — более низкую. Обратите внимание, что слово «Женщина» здесь представлено как Мужчина + (Королева − Король).

• Королева − Король = [4 5] − [1 5] = [3 0]

• Мужчина + (Королева − Король) = [1 2] + [3 0] = [4 2].

В совокупности эти результаты показывают, что нейронные сети усваивают нечто похожее на человеческую семантическую память. Несмотря на отсутствие у них явной структуры, они не формируют безнадежно запутанные репрезентации слов. Хотя их обучают всего лишь предсказывать соседние слова в предложении, их внутренняя топография смысла схожа с той, что существует в вашем и моем мозге. Оси их пространств эмбеддингов охватывают семантически значимые измерения, такие как гендер (мужской против женского), число (единственное против множественного) и язык (английский против испанского). Корпуса естественного языка — включая относительно неотфильтрованные тексты, собранные почти случайным образом из интернета, — раскрывают огромное количество прекрасно организованной информации о том, как функционируют части речи и как устроен наш понятийный мир. Первым исследователям эти наблюдения со всей очевидностью указывали на то, что нейросети, обученные исключительно предсказанию слов, когда-нибудь окажутся способны генерировать правдоподобный, осмысленный язык — что, как мы теперь знаем, и произошло на самом деле.

Пропустить примечания

*1 Bengio et al., 2003.

*2 Mikolov et al., 2013.

Предыдущая главаГлава 14 из 52Следующая глава