Language models, knowledge graphs, relational models -- всюду жизнь
Моя любимая статья этой недели -- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding от Google AI Language (https://arxiv.org/abs/1810.04805). BERT is conceptually simple and empirically powerful. It obtains new state-of-the-art results on eleven natural language processing tasks, including pushing the GLUE benchmark to 80.4% (7.6% absolute improvement), MultiNLI accuracy to 86.7% (5.6% absolute improvement) and the SQuAD v1.1 question answering Test F1 to 93.2 (1.5 absolute improvement), outperforming human performance by 2.0. В задачах, связанных с естественным языком (а не только обработкой изображений) начинают появляться фразы outperforming human performance! Для меня эти "модели языка" и есть state-of-the-art в "новой семантике". Семантика ведь это не факты про смысл, а знание о значениях -- знание переносимо из ситуацию в ситуацию, а факты чаще всего остаются уникальными для ситуации. Семантика в новой терминологии, это про transfer learning и тем самым смежно с mulitask learning.
Тут нужно ещё обязательно упомянуть и прогресс в text style transfer -- это когда в тексте сохраняют содержание (знание), но только меняют стиль изложения, свежий прогресс вот тут: https://vk.com/@deepvk-obzor-svezhih-statei-style-transfer. Типовая фраза оттуда -- We validate the effectiveness of our model in three tasks: sentiment modification of restaurant reviews, dialog response revision with a romantic style, and sentence rewriting with a Shakespearean style.
Отличие в том, что языковые модели это коннективистские представления знаний о мире (не о языке! а об отражаемом языком мире! -- это нужно отдельно обсуждать, что именно выучивается в language representation models), а не knowledge graphs. Понятно, что в конечном итоге потребуется объединённая работа knowledge graphs и language representatnions, по уже неоднократно обсуждавшимся линиям выучивания сеткой разных embeddings (по сути, language models это просто "второе поколение embeddings") и knowledge graphs путём выучивания knowledge graph как embedding (типа https://www.hindawi.com/journals/sp/2018/6325635/ и там небольшой обзор разных моделей embeddings для knowledge graphs или подходов из списочка https://gist.github.com/mommi84/07f7c044fa18aaaa7b5133230207d8d4 -- все эти RDF2Vec).
Это всё не снимает задачи нахождения нормального представления для knowledge graph -- преодолевающего недостатки RDF. Есть множество более современных подходов, более современных форматов, и я бы от них не отмахивался. Вот только один из вариантов: GRAKN.AI (https://grakn.ai -- при этом идите туда сразу через VPN, Роскомпозор пытается его фильтровать). В тексте https://blog.grakn.ai/knowledge-graph-representation-grakn-ai-or-owl-506065bd3f24 объясняется, почему там идут не по линии трипл-сторов и стандартов W3C). Это всё для меня имеет прикладное значение, ибо в ближайшее время потребуется выбрать представление для knowledge graph в
SysMoLan Studio (https://ailev.livejournal.com/1446524.html). В SysMoLan Studio мы будем работать с knowledge graph, и нужно быть state-of-the-art. И в инженерии сейчас используют не RDF, а как раз такие knowledge graphs, как GRAKN -- работы типа SMART-DOG (Strathclyde Mechanical and Aerospace Research Toolbox for Domain Ontology Generation), https://blog.grakn.ai/semi-automatic-generation-of-a-reliable-knowledge-graph-for-space-mission-design-with-grakn-c96061eee2a3. Это всё фронтир, это всё неочевидно выживет, но это какое-то движение вперёд, а не топтание на месте на мощах так и не взлетевших древних технологий.
Очень интересное обсуждение СМД-подхода появилось в https://www.facebook.com/groups/771940449578453/permalink/1673757909396698/ (и там дальше по ссылкам), где исследовательская программа ГПЩ анализируется Алексеем Боровских как логическая программа: " мы все (по крайней мере те, кто занимался всерьез наукой), прекрасно знаем, что [логическое] рассуждение — лишь конечная форма, в которую мы выкладываем мысль для того, чтобы она была и доступна окружающим, и для нас не потерялась в суете. А вот движение самой мысли — какова его логика? Можно ли задать форму этого движения так, чтобы оно было не блужданием впотьмах, а осознанным и осмысленным движением вперед?". Для меня ответом является уход от последовательной "алгоритмической" парадигмы пошагового движения в каком-то knowledge graph (логического вывода), ибо при этом нового знания не породишь (новые концепты при этом не появляются -- просто появляются какие-то имена для уже существующих концептов в лучшем случае). А вот в коннективистской парадигме, где мы прыгаем в спектре формальности мышления от формального knowledge graph к его дифференцируемым представлениям в виде разных knowledge graph models, используем language models -- вот там мысль и может "двигаться" (в той мере, в которой коннективистские вычисления в нейросетках можно назвать "движением"). Логики выживают тут только те, кто готовы рассуждать и на тему вероятностного/байесовского вывода (inference). И онтологи, соответственно, выживут только те, кто готовы обсуждать knowledge graph models и language models, а не только knowledge graphs и language. Поэтому из текста по ссылке "Насколько я понимаю, в процессе решения этой проблемы выкристаллизовалась концептуальная позиция: средством понимания всегда является идеальный объект. Который, поскольку он идеален, должен быть как-то представлен в знаковой форме" -- вот эту знаковую форму и можно проблематизировать, ибо она может быть просто вектором, местом в пространстве смыслов. А дальше да, нужно коммуницировать, и для этого иметь какие-то знаки, обозначающие места в пространстве смыслов -- но это не для понимания, а для коммуникации/объяснения (экстернализации понимания). С компьютерами тут проще: можно передать language model в ONNX, "таблетки знаний" для компьютеров можно сказать, придумали в какой-то рудиментарной форме.
С людьми сложнее, но можно обсуждать "фундаментальное образование" и "кругозор", как формирующее ровно то же самое: language model, knowledge graph embedding/model. И дальше не удивляться, что хорошо обученные предварительно люди потом довольно быстро доучиваются до нужных кондиций в каких-то прикладных задачах. Меня такая даже метафора устраивает, при этом в каждой метафоре есть доля метафоры.
Дальше по этой линии -- "размер имеет значение", все эти языковые модели/модели графов знаний могут быть выучены на реально больших корпусах. И вот тут с людьми то же самое. Меня сильно радует, что я вышел на тему кругозора (https://ailev.livejournal.com/1449158.html). То, что у всех в голове дребезг от близости понятий "фундаментальное образование", "базовое образование", "кругозор" -- это пройдёт. Но меня радует, что сразу в ответ на понятие "кругозор" пошли ссылки и на liberal arts. Это верный признак, что через "кругозор" можно будет как-то более-менее прилично выйти и на культуру. Теперь к культуре и даже к личной жизни и семье появилась тропинка, которую можно потихонечку расширять. В предыдущем делении дисциплин на фундаментальные (методологические и когнитивистские -- upper ontology) и прикладные (domain ontology) этой тропинки не было. А вот с появлением middle ontology и кругозора тропинка появилась, и фундаментальные знания нужны для культуры как сферы деятельности (а не культура сама по себе даёт фундаментальные знания!). Но теперь у меня есть подходящая метафора (а то и не метафора), как всё это объяснять и что с этим делать.
Ещё один заход тут -- это на нейронет/киберличность, совместную работу людей и компьютеров с их knowledge graphs и language models. И выход на нептолемеевские модели интеллектуальных систем, где интеллект одного человека и компьютера находится в центре рассмотрения, а все остальные интеллекты вращаются вокруг него. Коммуникация с учётом и knowledge graphs и language/knowledge models (то есть передача не фактов, а знаний о мире -- делёжка/sharing онтологией, семантикой, то есть обучение с использованием "таблеток знаний" в какой-то форме) это ж самое оно. Так что по сравнению с обсуждениями четырёхлетней давности, когда мы обсуждали семантические стандарты обмена знаниями в нейронете, мы не учитывали возможность существования не только новых стандартов для knowledge graphs (типа того же GRAKN), но и новых стандартов для коннективистских их моделей и моделей языка -- типа того же ONNX.
Что дальше? Например, можно порассуждать (онтологически), чем похожи и чем отличаются модели графов знаний и языковые модели. И обязательно помнить, что в reinforcement learning обсуждают похожую на knowledge graphs штуку, только называют её relational models -- типа https://arxiv.org/abs/1809.11044. Всё это IMHO про одно и то же, и это и есть онтологический/эпистемологический фронтир.