Теоркатегорная композиционная распределённая семантика

Aug 06, 2016 01:44

Я продолжаю утверждать, что ключ к созданию хоть как-то думающих информационных систем -- это гибридизация в них минимально двух (а лучше больше) механизмов: символистского (формального) и коннекционистского/распределённого (непрерывного). Поэтому я и интересуюсь работами, бьющими в эту точку смычки плохосовместимого. Последний раз я писал об этом буквально вчера (http://ailev.livejournal.com/1283541.html, "коннективистская весна онтологической инженерии"), а сегодня я обращу особое внимание на только слегка упомянутое в том посте направление Categorical Compositional Distributional Semantics.

В основе Categorical Compositional Distributional Semantics лежат положения:
-- distributional sematics использует векторные пространства для представления значений-концептов, которые определяются через контекст (distributed morphology). Увы, тут плохо с построением смысла высказываний, синтаксиса тут нет.
-- compositional semantics затем может использовать эти значения для построения (копмозиции) значения высказываний, для этого можно использовать структуру (синтаксис)
-- а теория категорий позволяет как-то скрестить этих ужа распределённости с ежом структурности.

На основе этих положений можно:
-- предлагать композиционную модель, наводя синтаксический порядок теоркатегорными методами -- "Compositional Distributional Model of Meaning", https://arxiv.org/abs/1003.4394, при этом дальше можно пользоваться диаграммными методами для работы со значениями
-- вводить квантовый аппарат (в том числе квантовую логику -- Birkhoff и Von Neumann предложили такую в 1936 году), чтобы работать со спутанностью (entailment) слов -- например, спутанностью в семантическом пространстве слов "собака" и "животное": "Graded Entailment for Compositional Distributional Semantics" http://arxiv.org/abs/1601.04908. Такое запутывание поднимает композиционность на уровень предложений, и дальше.
-- обобщение за пределы естественного языка, работа с выученными в распределённых представлениях паттернами общего вида (синтаксисом), значения которых потом можно объединять: "Interacting Conceptual Spaces", http://arxiv.org/abs/1608.01402.

Вот, например, как выглядит кусочек из последней работы (помним, что речь идёт о распределённых представлениях! Это не слова, а вполне себе вектора) -- кусочек диаграммной техники и кусочек вычислений ("рассуждения", вывода искомого значения) на базе сквозного примера из статьи:


UPDATE: и вот ещё -- Compositional Distributional Cognition, http://arxiv.org/abs/1608.03785 -- начинается там так: "A key question in artificial intelligence and cognition is how symbolic reasoning can be accomplished with distributional representations. [32] present a view of cognition called the Integrated Connectionist/Symbolic Architecture (ICS) that incorporates two levels of formal description: “the continuous, numerical lower-level description of the brain”, characterized by a connectionist network, and “the discrete, structural higher-level description of the mind”, characterized in terms of symbolic rules. ICS is a hybrid approach to the computational
modelling of the mind which uses tensor products of vectors to represent roles, from which symbolic structures may be built, and fillers, the objects to be manipulated". [32] -- это P. Smolensky and G. Legendre. The Harmonic Mind. MIT Press, 2005. Я последний раз ссылался на линию работ по развитию идей Smolensky в http://ailev.livejournal.com/1266905.html, но в данной работе предлагается другой путь: теоркатегорные улучшения.

А вот работа по линии отражения логики (философской логики) в рассуждениях на естественном языке: "Quantifier Scope in Categorical Compositional Distributional Semantics", http://arxiv.org/abs/1608.01404. Это продолжение серии работ, в которой моделируются различные логические структуры, которые можно вытащить из языка: отрицание, упорядочивание и т.д.

Литературы по этим ссылкам достаточно.

Искусственный интеллект -- это довольно сложное начинание. Конечно, эволюционным путём, когда пара сотен тысяч математиков и программистов во всём мире что-то делают каждый день изо всех сил, фронтир движется вперёд, и с немаленькой скоростью, но в целом прогресс ограничен способностью человеческих существ освоить разнообразие лучшего доступного матаппарата в данной узкой области работы с языком, неязыковым паттернированием ("узорами", "всё есть текст") и мышлением. Так, чтобы вползти в эту предметную область нужно хорошо знать:
-- линейную алгебру
-- матан
-- оптимизацию (в том числе нелинейную)
-- байесовскую статистику
-- собственно хитрые техники deep learning
-- теорию категорий и кучу всего к ней прилагающегося (типа той же квантовой логики)

А ещё нужно уметь программировать, ибо если этого не делать, то всё это так и останется красивой для очень немногих людей теорией, так и стухнет в архиве (например, Tensor Product Variable Binding and the Representation of Symbolic Structures in Connectionist Systems конца 80-х было теорией вплоть до прошлого года, пока её не оживили программисты из Microsoft Research: http://ailev.livejournal.com/1266905.html).

Разделить труд (один знает линейную алгебру, другой матан, ... шестой для них программирует, седьмой статьи пишет на английском) не получится. Разделить труд этот можно, но не слишком глубоко.

Если, конечно, лет через дцать не придёт в arxiv какой-нибудь интеллектуальный бот, не качнёт эти статьи, и не улучшит свои алгоритмы на основе полученных из этих статей знаний. Ибо к этому моменту он уже и математику хорошо выучит, и программировать научится.
Previous post Next post
Up