Сразу после того, как моя статья «Машинное обучение не решит проблему понимания естественного языка», появившаяся в The Gradient [1], я начал получать личные сообщения и с тех пор видел, что эта статья обсуждается в Интернете. Многие из этих сообщений и комментариев были положительными, но было также много тех, кто возражал против моего аргумента - я не знал, что беглый поезд ML / DL такой безумный!

Хотя мой аргумент был не интуитивным, а научным; хотя один из аргументов даже является прямым доказательством, многие все еще отвергают тезис о том, что машинное обучение (ML) не может решить (и, по моему мнению, даже не имеет отношения к) понимание естественного языка (NLU). Было много возражений, которые, как и следовало ожидать, не заслуживают ответа. Но было также много людей, достойных ответа, поэтому здесь я суммирую их по сегментам и постараюсь ответить на все.

Первое достойное возражение касается моего замечания о том, что язык - это не просто данные. Возражение, по сути, заключалось в том, что язык - это данные, поскольку все, что является входом в систему NLU, конечно же, является данными. Но в этом возражении отсутствует выделенное ключевое слово «просто» - да, язык - это данные, но не просто данные.

Возможно, лучшей фразой, чем «язык - это не просто данные», было бы «лингвистические корпуса не содержат всех данных, необходимых для правильного понимания языковых корпусов». То есть, чтобы понять языковую коммуникацию, нам необходимо иметь доступ к недостающей и неявно предполагаемой информации, которую мы склонны упускать из нашего повседневного разговорного языка. Этот момент был подробно проработан, когда я обсуждал феномен отсутствующего текста (MTP). Таким образом, хотя каждый ввод в систему - это данные, в лингвистической коммуникации текстовых данных недостаточно - они не содержат общих знаний, необходимых для заполнения всей недостающей информации. Вы не можете найти то, чего нет (в данных), и то общее знание, которое необходимо для понимания языковой коммуникации, никогда не произносится - так что это не в данных, это фактически в наших головах. Пока машина не получит доступ к этой совокупности общих знаний, у нас не может быть NLU.

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

Здесь я не буду отвечать на упрощенные комментарии вроде «Джон видел человека в телескоп» двусмысленный - конечно, это предложение будет означать, что у Джона был телескоп, с помощью которого он видел этого человека, или это был человек, которого видел Джон, который имел телескоп. Без полного контекста это действительно двусмысленное предложение, и в таких ситуациях мы обычно ищем разъяснения. Здесь нет ничего нового. Даже более простое утверждение, такое как «Джон купил это в Интернете», требует пояснения, поскольку «это» должно быть разрешено в каком-то контексте. Эти аргументы банальны и не заслуживают ответа. Более серьезное возражение состоит в том, что даже когда контекст полностью определен, язык все еще может быть неоднозначным, то есть языковая коммуникация все еще может интерпретироваться по-разному разными людьми (или интерпретироваться по-разному одним и тем же человеком в разных контекстах). Это очень верно, но позвольте мне объяснить тонкий смысл того, что я имел в виду под «пониманием» того, что означает лингвистическая коммуникация, в конечном итоге является бинарным решением. Объяснение требует довольно внимательного обдумывания.

Допустим, кто-то произнес U, что может быть вопросом, директивой (командой) или декларативным предложением. Обычно U произносится либо для того, чтобы запросить ответ на какой-то вопрос, либо чтобы что-то сделать, либо чтобы выразить мысль. Для простоты предположим, что слушателей всего два, Алиса и Карлос. Картина, которая у нас теперь есть, может быть изображена, как показано на рисунке 1 ниже.

Итак, кто-то произносит высказывание, которое может быть вопросом, командой или просто передаваемой мыслью. Соответственно, это означает, что либо Алисе или Карлосу задают какой-то вопрос, либо приказывают Алисе или Карлосу выполнить некоторую команду (например, «откройте дверь, пожалуйста» или «пожалуйста, передайте соль» и т. Д.), Либо высказывание может быть переведено на некоторые мысли, которые говорящий пытается донести до Алисы или Карлоса. В свою очередь, это означает, что, соответственно, Алиса или Карлос получат какой-то ответ (если есть, и «откуда-то»), ответ, который позже будет передан говорящему. В качестве альтернативы, и если высказывание было командой, Алиса или Карлос попытались бы выполнить команду так, как они ее поняли, или - в случае, если высказывание было мыслью, переданной говорящим, Алиса или Карлос включат новую информацию в « память »об этом разговоре.

Здесь важно следующее:

даже если Алиса и Карлос по-разному понимали высказывание, в конце концов, они должны выбрать единственную интерпретацию, чтобы получить какой-то ответ, действовать по какой-либо команде или добавить информацию, подразумеваемую мысль, стоящая за высказыванием.

Все это означает следующее: хотя язык кажется неоднозначным, в конце концов, мы должны выбрать некоторую интерпретацию, и это решение является двоичным. Мы не интерпретируем команду как множество команд, и мы не интерпретируем вопрос как множество вопросов и не получаем много ответов и т.д. Итак, разные люди могут прийти к разным толкованиям. Конечно. Даже один и тот же человек в разное время может по-разному интерпретировать одно и то же высказывание. Тоже правда. Но, в конце концов, принимается решение об одной окончательной интерпретации, а не о вероятно приблизительно правильной интерпретации. Таким образом, хотя языковая коммуникация может «казаться» двусмысленной, понимание - нет. Следовательно, обучаемость PAC несовместима с NLU.

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

В моем аргументе против того, чтобы система машинного обучения могла когда-либо изучать бесконечный объект, который мы называем естественным языком, «бесконечность» не связана с количеством высказываний, которые человек произносит (или слышит / читает) за всю жизнь. Само собой разумеется, что у нас ограниченная жизнь и что мы слышим или произносим конечное число утверждений за нашу жизнь (я думаю, что где-то читал, что мы слышим / произносим около 20 000 000 предложений за свою жизнь). Но «бесконечность» не здесь.

Вот где приходит бесконечность: сколько уникальных программ Python готов интерпретировать компилятор Python? Я должен мороженое за каждого, кто ответил: «компилятор Python готов интерпретировать и выполнять бесконечное количество программ на Python». Смысл? При наличии действующей программы на Python компилятор Python никогда не вернется со словами «извините, но я не могу интерпретировать эту конкретную программу». Любой, кто имеет базовые знания в области логики, формальных языков и теории автоматов, знает, что рекурсия - один из эффективных способов представления бесконечных объектов в конечной спецификации. Как и формальные языки (такие как Python, Java и т. Д.), Естественный язык, который даже намного богаче, бесконечен. Бесконечность здесь важна не потому, что мы, смертные, когда-либо произносим или слышим бесконечное количество предложений, а потому что компилятор естественного языка в нашей голове должен быть готов к бесконечному количеству предложений и не может сказать «извините, этого конкретного предложения нет в моей хэш-таблице». Мы готовы к «любому» и «любое» там, где бесконечно !!!

Я надеюсь, что аргумент «бесконечности» теперь ясен. Если это так, то опять же ML не имеет отношения к NLU, потому что независимо от того, сколько данных переваривает система ML, миллиард или триллион, или, как говорила моя дочь, миллиард, деленный на бесконечность, равен НУЛЮ. Это базовая математика, базовая логика и даже базовый здравый смысл. Если вам нужен слоган, вот он: Извините, но вы не можете запомнить бесконечный объект.

Другое загадочное возражение было сделано против моего аргумента о том, что многие лингвистические высказывания не могут быть разрешены (даже приближены) с помощью статистической значимости. Здесь были отмечены два момента, свидетельствующие о полном непонимании (или непонимании рассматриваемой проблемы). Аргумент был выдвинут против известного примера, использованного в дискуссиях, связанных с вызовом схемы Винограда:

Дело здесь в том, что (1 a) и (1 b) статистически эквивалентны, поскольку «малые» и «большие» встречаются в одних и тех же контекстах с равной вероятностью (как и все антонимы / противоположности). Таким образом, хотя то, что «это» относится к (1), совершенно очевидно даже для четырехлетнего ребенка, в статистических подходах, основанных на данных, нет никакой разницы. Затем я продолжил попытку продвинуть решение «машинного обучения», которое возможно было бы предоставлено, но когда вы вычислите числа, окажется, что для установления статистической значимости (или «обучения») как разрешить ссылки, такие как в (1), система, управляемая данными / машинное обучение, должна увидеть около 40 000 000 примеров и просто узнать, как разрешать ссылки в структурах, подобных этой в (1). Почему? Потому что «трофей» можно заменить на «мяч», «ноутбук», «фотоаппарат» и т. Д. Точно так же «чемодан» можно заменить на «портфель», или на «сумку» и т. Д. Кроме того, «не сделал». заменить на «сделал» и «потому что» на «хотя» и т. д. Если вы разработаете комбинаторику, вы легко придете к выводу, что человеку придется прожить 2 или 3 жизни, пока он не «научится» разрешать ссылки, как в (1).

Был выдвинут один аргумент, что системы машинного обучения могут легко установить связь между «чемоданом», «портфелем», «сумкой» и т. Д. Это также хорошо известно. Простые вложения слов могут иметь хорошее сходство между этими словами. Конечно. Но это загвоздка. Векторизованные слова имеют меру подобия, но не могут обрабатывать направленные отношения - сходство является симметричным (ненаправленным), но отношения «IsA» и «PartOf» являются направленными отношениями (транзитивными, но не симметричными). Сходство между «сумкой» и «чемоданом», возможно, столь же велико, как и сходство между «сумкой» и «магазином», но вы не можете решить, что истинно IsA («сумка», «контейнер») или Isa ( 'контейнер', 'сумка'). Сходства векторов беспомощны при разрешении ссылок, как в (1). Чтобы сократить огромное многомерное пространство, вам нужны структурные (и направленные) отношения, которые векторы / тензоры не фиксируют. Мера сходства гештальтов полезна при распознавании образов, но не расчесывает волосы.

Меня также озадачил тот факт, что очень немногие пытались хотя бы ответить на аргумент интенсионала и тот факт, что подходы, основанные на данных, не могут моделировать интенсионалы. Без символических структур невозможно представить интенсионалы, и поэтому НС не могут моделировать интенсионал, широко распространенный в естественном языке. Не имея какой-либо символической структуры, NN могут представлять только тензоры. Но еще в 1988 году утверждалось, что линейная композиция тензоров (с использованием «*», «+» и т. Д.) Необратима - фактически, разложение тензора на его исходные компоненты неразрешимо.

Помимо игнорирования технической проблемы интенсионала, я был также озадачен тем фактом, что некоторые пытались отрицать математическое доказательство, устанавливающее эквивалентность обучаемости и сжимаемости. Я предполагаю, что причина этого отрицания в том, что это самый сильный технический (теоретический) аргумент, который доказывает, что ML даже не имеет отношения к NLU. Для протокола, вот еще один аргумент: эквивалентность обучаемости и сжимаемости была установлена ​​математически. С другой стороны, понимание языка - это декомпрессия - это обнаружение всей недостающей информации, которую мы обычно не учитываем и с уверенностью предполагаем, что она доступна слушателю, поскольку она является частью наших «общих» знаний. Проще говоря, ML и NLU пытаются решать противоречивые задачи.

Извините, DL’erners, но, утверждая, что ML даже не имеет отношения к NLU, я констатировал только научные факты.

использованная литература

[1] Валид Саба, Машинное обучение не решит проблему понимания естественного языка, The Gradient, 2021 г. (здесь)

___
ОНТОЛОГИК - Средний