Моя любимая статья этой недели -- 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 agnostic universal representation (да ещё и на базе универсальной грамматики, привет Хомскому и Монтегю) --
https://openreview.net/forum?id=r1l9Nj09YQ.
Ещё интересная тут штука -- это работа с кодированием мира на искусственных языках. Оцените пассаж из
https://githubengineering.com/towards-natural-language-semantic-code-search/ про перевод с естественного языка на язык программирования: "task of mapping code to the vector space of natural language. We can evaluate this model objectively using the
BLEU score. Currently we have been able to achieve a BLEU score of 13.5 on a holdout set of python code, using the
fairseq-py library for sequence to sequence models". Плохо переводит, но ведь переводит! Но сам заход-то какой: mapping code to the vector space of natural language -- это ж про смысловое пространство, ровно как я писал в книжке "Визуальное мышление" (
https://www.litres.ru/anatoliy-levenchuk/vizualnoe-myshlenie-doklad-o-tom-pochemu-im-nelzya-obol/).
Отличие в том, что языковые модели это коннективистские представления знаний о мире (не о языке! а об отражаемом языком мире! -- это нужно отдельно обсуждать, что именно выучивается в 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 представлений по научной литературе, типа SourceData is at an early stage, Lemberger says, having generated a knowledge graph comprising 20,000 experiments that were manually curated during the editing process for roughly 1,000 articles. The online tool is currently limited to querying this data set, but Lemberger and his colleagues are training machine-learning algorithms on it -- это обзорчик семантического поиска в научной литературе, там всё такое:
https://www.nature.com/articles/d41586-018-06617-5).
Это всё не снимает задачи нахождения нормального представления для 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 про одно и то же, и это и есть онтологический/эпистемологический фронтир.