Нейронные сети думают и поступают не так, как люди.
Профессор лингвистики в Лондонском университете королевы Марии Дэвид Эджер в интервью Serious Science рассказал об особенностях чат-ботов, понимании и использовании языков искусственным интеллектом, пишет ДС.
Несколько лет тому назад был проведен странный эксперимент: группа работников Facebook создала двух чат-ботов, а затем заставила их пообщаться друг с другом. Однако чат-боты принялись развивать свой способ общения, что было действительно странно: начали они с английских слов, а вот грамматика сильно изменилась и боты, по сути, предложения на английском и не использовали. В какой-то момент разработчики, ученые и Facebook подумали: «О, а что это? Это не похоже на английский». Но что интересно, чат-боты выполняли то, что от них хотели.
Поэтому ученые позволили им продолжить общение. Им стало любопытно, смогут ли они создать некую систему общения между чат-ботом и человеком. Их метод заключался в том, что они, фактически, заставили миллионы людей обсуждать нечто совершенно глупое, вроде: «Мне нужны три мяча, тебе две коробки». И они должны были определить способы удовлетворения потребностей друг друга посредством беседы. После задокументировали полученные данные и передали их чат-ботам, а затем запустили их для разговора.
Перед чат-ботами стояла задача выиграть переговоры, добиться наилучшего результата. Но, как я уже говорил, чат-боты малость слетели с катушек, и ученые сказали: «Это вообще не похоже на английский». И отключили программу. Пресса тогда отреагировала весьма забавно – тоже сошла с ума. Представьте себе: «О, Боже, эти ИИ собираются захватить мир, они создают свой собственный язык» и все в таком духе. Хотя это было не совсем то, что произошло. То есть, было похоже, что они создавали свой собственный способ общения. Но ученых волновало не столько то, что чат-боты собираются захватить весь мир: они действительно не просили чат-ботов оперировать английским, они просили их об успешной стратегии проведения переговоров. Затем они все исправили и заставили чат-ботов снова говорить по-английски.
Однако, это был очень интересный эксперимент, потому что поднял два интересных вопроса, один из которых состоит в том, а что произойдет, если ИИ станут настолько хороши в языке, что смогут запросто общаться друг с другом, используя этот язык. Останемся ли мы за бортом? Это вопрос, на который я хочу ответить.
Может ли быть такое, что ИИ вроде «Алексы» или «Сири» будут так же хороши в использовании языка, как и мы? И более того, будут ли они использовать его так же, как мы?
Мой ответ таков: они могут стать чертовски хороши, они могут стать действительно так же хороши, как мы или даже лучше (что бы это ни значило), но делать это будут совсем иначе. Если мы оглянемся на историю отношений ИИ с языком, если мы вспомним 1970-е годы, когда все начиналось, создатели ИИ на самом деле были заинтересованы в том, чтобы заставить ИИ общаться с людьми. Ну, как компьютер в Star Trek. Люди начали создавать различные системы, и самая известная из них получила реально странное название — SHRDLU. Это система, которая была создана Терри Виноградом, и она была очень простой: ваш мир состоит из цветных блоков разных размеров. Программа понимала этот мир и вы могли сказать ей что-то вроде: «Помести синий блок в красный», а система ответствовала бы: «Я поместила синий блок в красный блок», и так оно работало.
Чтобы заставить эту систему работать, Виноград использовал все, что знал о грамматике английского языка, и превратил ее в компьютеризированные правила, а затем связал эти правила со значением различных слов и словосочетаний в этом маленьком мире, а после использовал это для создания программы. Это действительно невероятная работа. Вы могли заставить программу что-то делать, и все это немного смахивало на Star Trek, однако все же это был просто мир блоков: пользы мало, а блоки не велики.
Потому задача была в том, что взять что-то вроде SHRDLU, расширить ее и заставить работать, как человек. Вот чего в 70-80-х люди пытались добиться, что на самом деле очень сложно. Действительно сложно, поскольку вы никогда не угадаете, о чем люди собираются говорить: они обсуждают всевозможные вещи; вещи, которые вы не видите; вещи, которые есть в их воображении. Невероятно трудно добиться того, чтобы компьютерная программа могла это постичь.
В 70-х и 80-х люди пытались улучшить грамматику: наборы правил для различных крупных сфер. Фактически, они начали ее компьютеризировать, для чего заставляли сотни аспирантов-лингвистов изучать все тексты, а после изучить их должна была компьютерная программа, чтобы постичь весь текст и определить правила. Эти правила после использовались для создания другой компьютерной программы, которая должна была понять сам язык. Вот чем в основном люди занимались в 1980-х. И по-прежнему занимаются, создавая гигантские массивы аналитических данных, называемые синтаксическими деревьями, которые все еще весьма и весьма полезны. Но они никогда не работали все по той же причине – никогда не будете знать, что будут обсуждать люди, и все рушится. Такие системы очень хрупки, потому не работают так, как работают люди; либо же не такие гибкие, как мы, люди.
То, что происходило в 1980-х, помогло рождению нового искусственного интеллекта, который поступает иначе, и это, с чем мы живем сегодня. Если взглянуть на «Алексу», «Сири» или Окей, Гугл — используется эта новая система, но эта система работает совсем по-другому. Чем вы не занимаетесь, так это тем, что не пытаетесь понять правила этих систем. Вместо этого вы работаете над тем, чтобы система была очень обширной и справлялась с анализом всего, что вы в нее вбрасываете. Такие системы называются нейронными сетями. Что вы, по сути, делаете: даете системе определенные данные и сообщаете, какого результата ждете; а она начинает соображать и соображать, пытаясь сопоставить полученные данные с результатом, которого вы ждете. Когда все вышло, у вас новая система — система, которая структурирована таким образом, что дает вам желаемый результат на основании предоставленных вами данных. И именно так сегодня работают большинство систем ИИ.
Они действительно великолепны, и если вы скажете «Сири»: «Сири! Включи Рахманинова», тогда «Сири», скорее всего, включит Рахманинова. Происходит это в основном благодаря нейронным сетям. Что довольно занятно, поскольку то, что ИИ действительно делают, совсем не похоже на действия человека.
Что происходит, когда я говорю «Включи Рахманинова!»? Информация поступает в мозг и вы просто принимаете решение пойти и включить запись Рахманинова. Что делает система? Анализирует сказанное вами посредством нейронных сетей, т.е. отправляя данные по интернету на серверы Apple или Google в Ирландии или в Калифорнии, или где бы они ни находились; затем вы получаете все эти данные и результат.
Очень похоже на интеллект в планетарных масштабах, который действительно прекрасен.
В общем, так они обрабатывают все эти звуки, и обрабатывают очень хорошо; но им также нужно обработать грамматику, выяснить, что вы имеете в виду, говоря: «Сири, включи мне что-то из Рахманинова». И в этом они не очень хороши. По сути, что они делают – просто делают верное предположение, исходя из наиболее вероятного значения слов. На основании ваших запросов в сети. Какова вероятность того, что поставленная задача будет означать: «Включить Рахманинова». Все, что вы делаете — это просто берете различные слова и смешиваете, как будто это суп из слов; и затем попросту делаете наилучшее предположение. Что иногда называют стратегией «семантический суп». Вы используете ключевые слова.
Но сегодня появились новые системы. Совсем недавно, пару лет назад, Google начал использовать другой подход, в основном в Google Translate, но не повсюду. В рамках этого метода не просто используются ключевые слова, чтобы понять, что происходит: используется не только вероятность того, что произойдет, исходя из имеющейся у вас кучи слов, а определяется наиболее подходящее, следующее или предшествующее другому. Поэтому, если я скажу вам что-то вроде: «Кот сидел на…», вы, вероятно, скажете «коврик», потому что вы слышали это тысячу раз. Но если бы я сказал: «Кот сидел на облаке», вот это уже более необычно. Если я скажу: «Кот сел на независимость», вот это уже вообще крайне необычно, а если я скажу: «Кот сел на на» (the cat sat on the the), вы такие: «Чегооо?!». Значение всех этих предложений на английском вы понять можете. Что касается последней фразы, вы можете предположить существование некой большой книги, на обложке которой есть слово «the» и кот сел на «the». Вполне логично. Но фраза «Кот сел на на» встречается действительно редко, такого почти не бывает; а вот «Кот сидел на коврике» — слово «коврик» встречается довольно часто.
Потому вы можете учитывать то, как часто определенные слова идут друг за другими, чтобы сделать верное предположение о грамматике предложения. Это то, как работают новые системы. Поэтому, если вы заметили, что Google Translate за последние годы стал лучше, это по той причине, что он обращает внимание на статистику того, какое слово следует за другим. Сегодня существуют на самом деле сложные типы таких систем, которые называют нейронными сетями с «долговременной кратковременной памятью», и они как бы помнят то, что уже слышали. О моем примере «Кот сидел на коврике»: они будут помнить о коте и полагать, что «ковер» — это скорее всего место для котов. Фактически у них есть какая-никакая память, что можно использовать для того, чтобы грамматика заработала.
Давайте разберем еще один пример: «Лисы по всей моей теплице скачут». Если подумать, то «лисы» и «скачут» расположены далеко друг от друга, а ближайшее слово к «скачут» — это «теплица». Однако вы не говорите «лисы в моей теплице скачет», а говорите «скачут», потому что речь идет о лисах, а не о теплице. Для нейронных сетей это всегда было серьезной проблемой. С новыми методами они могут стать лучше, смогут понять, какой глагол наиболее согласуется с существительным.
Завершая, хочу просто сказать: «Вау, это поразительно, но, оказывается, нейронные сети на самом деле поступают не так, как мы». Потому-то и проводились исследования: есть такой ученый Таль Линзен, который проводил эксперименты с этими сложными нейронными сетями, относясь к ним, как к людям, и заставляя выполнять задачи с использованием языка так же, как это делают люди. И сети, и люди совершают ошибки, но ошибки, которые делают нейронные сети, действительно сильно отличаются от ошибок, которые совершают люди. Поэтому, несмотря на то, что их производительность и поведение очень похожи, на самом деле то, что происходит у них глубоко внутри, полностью отличается. Таким образом, получается, что хотя нейронные сети, те виды ИИ, которые у нас работают сегодня, могут быть непревзойденными в обработке нашего языка, но то, как они работают, в корне отличается от того, как мы обрабатываем язык.
Подписывайтесь на наш Telegram-канал.