?

Log in

No account? Create an account
Лабораторный журнал
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in Anatoly Levenchuk's LiveJournal:

[ << Previous 20 ]
Monday, October 14th, 2019
7:49 pm
Оформление школы: формальная конверсия из мастеров в преподы
Как пример стандартизации в обучении какой-то деятельности и оценке уровня мастерства возьмём сертификационные стандарты ABNLP (The American Board of Neuro Linguistic Programming -- http://www.abh-abnlp.com/) с восемью уровнями. Сразу укажем, что это частные стандарты (стандарт организации, а не государства), и это не единственная система оценки даже в нейролингвистическом программировании (вот, например, International Association for Neuro-Linguistic Programmin с тремя уровнями, https://www.ia-nlp.org/, International NLP Trainers Association с 4 уровнями, https://www.inlpta.org/en/standards/business-certification).

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

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

Думаю, что все disclaimers по поводу стандартизации, стандартизации в образовании, стандартизации в методологии и даже использования нейролингвистического программирования в качестве образца я тем самым сделал. Но наверняка будут комментаторы, которые будут обсуждать не саму предложенную ABNLP систему уровней мастерства, а помянутые в предыдущем абзаце проблемы: NLP с его "ненаучной репутацией", образовательные стандарты и их польза/вред, различие методологий в разных школах, образование чему-то устоявшемуся против образования чему-то новому сомнительному, сертификация владения компетенциями и её польза/вред, осмысленность существования профессиональных ассоциаций как наследников средневековых цехов.

И, понятно, тут же весь комплекс вопросов по тому, как оценивать неоцениваемое (например, подразумеваемая подобными стандартами взаимозаменяемость качества и опыта, измеряемые через стаж).

В общем, обычная критика по линии "Все эти ваши PMP не являются project management professionals, они просто имеют сертификаты -- никакого отношения к управлению проектами эти сертификаты не имеют, чисто пиарно-маркетинговая штука для людей". Все эти споры характерны для практически всех профессиональных ассоциаций, которые пытаются продвигать свою школу через сертификацию.
А ещё профессиональные сертификации сильно напоминают системы данов/разрядов/цветных поясов в карате или капоэйре, но отличаются: в единоборствах нужно для достижения высшего уровня всех победить и смысл разрядов в этом, а тут нужно показать рост мастерства без доказательства своей непобедимости другими.

Я же привожу пример оформления школы, озабоченной своим ростом: сертифицируется не только профессиональное мастерство, но и последующий перескок со ступеньки Мастер на ступеньку Учителя (то есть прихват некоторого альтернативного целевому/профессиональному набора навыков). При этом в спорте учительство не сертифицируется специально и не требует демонстрации сверхдостижений в профессионализме (тренер по футболу не обязан уметь играть в футбол лучше, чем его ученики). Но сертифицируются судьи.

А вот в некоторых профессиональных ассоциациях ровно этот трюк перехода от мастерства к обучению путём прихвата компетенций преподавателя заставляет говорить, что выпускники подобных школ ничего не умеют, кроме как плодить себе подобных. Нет, они что-то умеют: не лучше и не хуже, чем в любых профессиональных ассоциациях, ибо им нужно пройти и профессиональную ступеньку. Грубо говоря, уметь играть в футбол не хуже остальных профи. А потом, чтобы стать тренером, они учатся плодить себе подобных как следующий уровень: стимулирование обучиться преподавательским компетенциям. Нужно ли всё это сертифицировать -- отдельный вопрос. А вот сама конструкция карьеры как конверсии из профи в преподы -- интересна.

Итак, вот эти восемь ступенек на примере ABNLP:
1. Ассоциированный: для тех, кто не имеет сертификации от признанной школы, но хочет быть в курсе новостей по дисциплине и знать о тренингах (http://www.abh-abnlp.com/certification/associate/).

2. Ассоциированный практик (associate practitioner, http://www.abh-abnlp.com/certification/associate-practitioner/):
-- Продолжительность обучения: минимум 120 часов обучения основным паттернам у сертифицированного тренера или сертифицированного мастера-практика под присмотром (supervision) тренера. На этом уровне нет требования личного посещения тренинга.
-- Демонстрация навыка распознавания следующих базовые навыки, техники, паттерны и концепты и компетентно использовать их для изменения себя [далее даётся программа базового курса].

3. Практик (practitioner, http://www.abh-abnlp.com/certification/nlp-practitioner/):
-- продолжительность обучения: минимум 120 часов (очного) обучения основным паттернам у сертифицированного тренера или сертифицированного мастера-практика под присмотром (supervision) тренера.
-- Демонстрация навыка распознавания следующих базовых навыков, техник, паттернов и концептов и компетентного использования их на себе и других [далее даётся программа базового курса, того же, что для ассоциированного практика].

4. Инструктор (coach, http://www.abh-abnlp.com/certification/nlp-coach):
-- продолжительность обучения: минимум 120 часов (очного) обучения основным паттернам у сертифицированного тренера или сертифицированного мастера-практика под присмотром (supervision) тренера.
-- -- Демонстрация навыка распознавания следующих базовых навыков, техник, паттернов и концептов и компетентного использования их на себе и других [далее даётся программа базового курса, того же, что для ассоциированного практика и практика, но добавлена пара пунктов для инструкторских компетенций].

5. Мастер-практик (master practitioner, http://www.abh-abnlp.com/certification/nlp-master-practitioner-level/):
-- продолжительность обучения: минимум 120 часов продвинутого обучения у сертифицированного тренера. Минимум 15 часов прямого присмотра (supervision) тренера.
-- Демонстрация навыка распознавания следующих базовых навыков, техник, паттернов и концептов и компетентного использования их на себе и других [все компетенции практика поодиночке и в комбинации, плюс дополнительно множество других умений: по факту закрывается всё содержание дисциплины].

6. Мастер-инструктор (master coach, http://www.abh-abnlp.com/certification/nlp-master-coach/).
-- продолжительность обучения: минимум 120 часов (очного) продвинутого обучения от сертифицированного тренера. Минимум 15 часов прямого присмотра (supervision) тренера.
-- Демонстрация навыка распознавания следующих базовых навыков, техник, паттернов и концептов и компетентного использования их на себе и других [все компетенции мастер-практика, плюс дополнительно пара пунктов для инструкторских компетенций].

7. Преподаватель (trainer, http://www.abh-abnlp.com/certification/nlp-trainer/):
-- продолжительность обучения: минимум 120 часов продвинутого обучения от сертифицированного мастер-тренера. Минимум 15 часов прямого присмотра (supervision) тренера.
-- Удовлетворительная демонстрация следующих поведенческих компетенций:
7.1. Полная поведенческая компетентность во всех навыках практика и мастер-практика, умение делать любую и все техники практиков и мастер-практиков одновременно как на публике, так и приватно.

7.2. Демонстрировать возможность сдвига между содержанием и формой (т.е. между опытом и разметкой).

7.3. Умение делать (демонстрировать поведение) того, чему учит и учить тому, что делает — и размечать это линвгистически (and to label it linguistically (т.е. моделировать себя).

7.4. Демонстрация презентационных и педагогических навыков:
a. Продвижение и ведение (Pacing and leading).

b. Уважение к аудитории (т.е. по меньшей мере удержание раздельными вашу и других моделей мира и конгруентные ответы на них; учёт других и экологичные им ответы; сознательные и бессознательные процессы).

c. Умение отвечать на вопросы (включая разницу в уровне и намерении вопросов и порождение ответов, сообразных уровню).

d. Проектирование презентации: по меньшей мере установление открывающей и закрывающей рамки (frame), установление результатов (outcomes), разбиение на части и определение порядка предъявления информации и опыта, балансирование подачи информации и случаев самостоятельных открытий, фасилитация обобщения информации и навыков по разным ситуациям и временам.

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

g.Использование глубокой и мелкой метафор.

h. Использование многоуровневого отклика: постоянная переоценка и включение публичной и непубличной информации от индивидов и группы.

i. Элегантные интервенции в группах: по меньшей мере поддержка раппорта и выдача специфически сенсорно-обусловленного отклика, через вопросы, которые направляют поиск и фасилитируют открытия людей, демонстрация или, если необходимо, открытое сообщение им, что делать.
j.”Озадачивание”: создание задания, которое предполагает, что личность ведётся себя другим способом, что расширяет его/её модель мира.

k. Умение делать демонстрации.

7.5. Демонстрация личного стиля и артистичность (индикатор того, что тренер проинтегрировал навыки в своё собственное поведение).

7.6. Демонстрация понимания процесса обучения практика и мастера-практика.

8. Мастер-преподаватель (Master Trainer, http://www.abh-abnlp.com/certification/nlp-master-trainer/):
-- минимум 5 лет как ведущий преподаватель в тренингах практиков и мастеров-практиков, которые ведёт как сертифицированный преподаватель. Минимум пять последовательных лет член ассоциации как сертифицированный преподаватель. Минимум 5 (пять) инструктажей (coaching) тренинга преподавателей и помощь под прямым преподавательским присмотром (supervision) мастера-преподавателя, утверждённого Ассоциацией. Оценка учеников кандидата также необходима. Копия программы вашего курса и учебник (manual) курса на уровне практика, мастера-практика и преподавателя. Копия программы мастера-преподавателя из вашей школы или прямо от мастера-преподавателя.
-- достаточная демонстрация следующих поведенческих компетенций:
8.1. Ваше видео курса, в котором вы учите практиков и мастеров-практиков, вместе с упражнениями
8.2. Проведение по меньшей мере 10 тренингов практиков и 10 тренингов мастер-практиков
8.3. Немедленное и безошибочное вспоминание и обучение любому предмету по памяти и без заметок
8.4. Способность провести по требованию и без предварительной подготовки Демо День в ходе тренинга и оценки преподавателей под прямым присмотром мастера-преподавателя.
8.5. Есть дополнительные более субъективные требования, которые могут быть обсуждены с вашим мастером-преподавателем. Чтобы быть сертифицированным как мастер-преподаватель, преподаватель должен быть одобрен двумя мастер-преподавателями из различных организаций, которые в настоящий момент являются членами Ассоциации и проводят тренинги.
Saturday, October 12th, 2019
10:47 pm
Лекция "Машинный интеллект 2019"
Читал сегодня в Высшей школе менеджмента НИУ ВШЭ кругозорную лекцию "Машинный интеллект 2019" для DBA (doctors of business administration). DBA это вроде как следующая ступень после MBA, и точно так же это совсем не научная или инженерная степень. Студентами там сидели вполне состоявшиеся руководители и предприниматели. Лекция шла целый день, четыре пары.

Вот программа, это просто заголовки слайдов (значения всех умных слов там разъяснялись "на пальцах" и примерах, а математики и программирования не было вообще):

1. Интеллект: машинный и биологический
Будущее уже здесь, только оно неравномерно распределено. Откуда взялся человеческий интеллект? Искусственный интеллект: "то, что компьютеры пока не умеют делать". В чём суть сегодняшнего прорыва в машинном интеллекте? Всё быстро. Глубокое обучение: глубокие абстракции. Почему только сейчас? Тезис Sutton, 13 марта 2019. Сингулярность. Примеры сегодняшнего (а не будущего). NLP — обработка естественного языка. Goal: capuchin-like. Скорость исследований: растёт по закону Мура. Как устроены исследования. Ловкость, embodied intelligence. Заземление/grounding и embodied intelligence. Творчество и соревновательность (adversarial architectures). Open endedness. Там нет "интеллекта", в чём тогда крутость? Как относиться к AGI. Принципиальная схема киберличности. Киберличность и работа с вниманием. Роботы заберут работу? Чьи это виртуальные ассистенты? Adversarial attacks, deepfakes и так далее. Нейтральность технологий.

2. Интеллект-стек
Системные уровни интеллект-стека. Эмерджентность. Стек платформ машинного интеллекта. Платформы машинного обучения. Главный алгоритм. Альтернативный стек глубокого обучения. Малая связность: ключ к развитию и совершенствованию. Метафоры жизненного цикла "компетенции" (в том числе машинной). Языковые модели. Загон данных (data wrangling), сантехника данных (data plumbing). Проблема innate priors. Моделирование, программирование, проектирование, онтологизирование, формализация — это всё одно. Машинное обучение и уровень когнитивной архитектуры. Перспективы.

3. Применения
Мечты человечества (как оценивать прогресс?). Деятельностный кругозор ("как устроена жизнь"): применения AI везде, где есть применение людей. Инвестиции в AI. Forbs: обзор 50 AI startups (17 cентября 2019). Сегодняшний фронтир: автомобили. Инвестиции сегодня, результаты завтра. Что дают дешёвые качественные камеры? Ножиданные виды сервиса и слежку. Машинный перевод. Офисный ИскИн, который построил Джек. Научные открытия. Интернет вещей (IoT), BigData и AI, тесно связанные с предсказательной аналитикой. Робототехнические заводы (тёмные фабрики). Корпусная инженерия. Код и AI модели как ещё один тип медиа: магазины и облака. Взять идеи из машинного интеллекта в педагогику. Основные проблемы. Цикл жизни инженерных технологий: пример AI. Дилемма инноватора.

В ШСМ я эту кругозорную лекцию повторю 3 ноября 2019, http://system-school.ru/machine

Моя личная проблема тут в том, что слайды для повтора придётся перетряхнуть ещё раз: в этой предметной области происходит по два прорыва в неделю, и за три недели с сегодняшнего дня до лекции какие-то слайды могут оказаться уже неактуальны. Мы живём в удивительное время, лекция как раз об этом. Всё быстро.
Friday, October 11th, 2019
3:28 am
Видео презентации курса "Системный менеджмент и стратегирование 2019"
Опубликовано получасовое видео презентации моего шестидневного тренинга "Системный менеджмент и стратегирование 2019" (https://youtu.be/YO_haayi5NY):


Курс рекомендуется всем, кто ощущает недостаток современного целостного, системного представления о менеджменте и стратегировании. Всё-таки менеджмент в 21 веке сильно изменился, и знаменитые учебники даже десятилетней давности не выглядят современными. А ещё знания о менеджменте так или иначе есть у всех, но обрывками — и их было бы полезно аккуратно разложить по полочкам внутри головы. Курс как раз даст такие «полочки», системное мышление ведь как раз для этого.

Так что курс нужен и инженерам, которым вдруг пришлось заняться менеджментом, и менеджерам, получившим в своё ведение команду инженеров, и владельцам бизнесов, которые не хотели бы потерять из виду каких-то важных аспектов деятельности.

Страница курса: http://system-school.ru/sms

Третий поток курса стартует уже в это воскресенье, 13 октября 2019.
Thursday, October 10th, 2019
2:43 pm
lytdybr
Схематизация и рендеринг на разных теориях концептов, фордеф (2011 -- https://ailev.livejournal.com/884842.html, это ещё до нейронных сетей, и даже 2010, где я жалел, что двигаю только по линии theory theory, игнорируя другие когнитивные архитектуры на других теориях концептов, и поминал Витгенштейна, что сегодня закрывается нейросетками -- https://ailev.livejournal.com/884842.html). Это нужно как-то срочно проработать. Я писал об этом в пункте 5 заметок по риторике https://ailev.livejournal.com/1491835.html, а вчера на лаборатории телесного мышления мы добавили схематизацию и рендеринг при работе с человеческим движением: движение в его внутреннем телесном представлении схематизируется во внешнее/схему, в схеме находятся ошибки, а затем исправленная схема рендерится во внутреннее представление и исполняется телом. Это, конечно, происходит в цикле. Дальше открываются огромные перспективы обсуждения того, как именно проходят телесные схематизация и рендеринг (например, какие системы понятий при этом используются — сразу theory theory или возможны промежуточные не слишком рациональные, но более привлекательные для непосредственного восприятия варианты, например prototype theory, лежащая под использованием метафор). Это кладёт рациональную основу для представлений о телесном мышлении.

Ontolog Forum сделал ютьюб-канал: https://www.youtube.com/channel/UCKK2e8NZ9lyLDBpXY18O_Tg -- и там уже 6 видео, в том числе видео доклада John Sowa про knowledge graphs (так сегодня часто начинают называть то, что раньше называли онтологиями или базами знаний), и видео Jans Aasman из AllegroGraph про те же knowledge graphs. И видео открытой дискуссии по knowledge graphs, которую вёл Ken Baclawski. Они там изучают схематизацию в разных вариантах: из текстов и картинок и выработанных из любого сора стихов как сделать схемы (главным образом нейронными сетями, но и прочими подручными средствами), по которым потом хоть как-то рассуждать.

Наш преподаватель онтологики Пион Медведева вчера начала преподавать онтологику в НИУ ВШЭ на магистерской программе "цифровая трансформация образования" для руководителей образования (по факту там все "студенты" уже с высшим образованием, да ещё и начальники). Следом за ней буду преподавать я системное мышление, системный менеджмент и стратегирование, а следом за мной -- Вячеслав Мизгулин системную инженерию. Наш опыт в ШСМ показывает, что после этой последовательности люди вполне успешно проводят программы реорганизации в своих компаниях. Эти магистры, думаю, тоже так смогут. Это линейка по линии "трансформации". А ВШЭ в лице лаборатории с хитрым названием МНУЛ ИССА ФКН НИУ ВШЭ (военные, завидуйте!), https://cs.hse.ru/ai/issa/, привнесёт "цифровость" в эту трансформацию. Нас в этой программе интересует то, что нам самим нужно делать "цифровую трансформацию" (как это сейчас модно называть, но мы сами это не так называем -- мода ведь как возникла, так и пройдёт) в Школе, поэтому мы поучаствуем при этом в тамошних айтишно-образовательных разговорах на фронтире (этих разговоров уже случилось некоторое количество, спасибо Ольге Максименковой и Алексею Незнанову). Идея с использованием MS Teams в Школе идёт как раз оттуда.

Вообще, посты для стратегии ШСМ в части её компьютеризации вот, их хватает:
-- EdTech для blended learning -- https://ailev.livejournal.com/1473691.html
-- Чего мне не хватает в MS Teams -- https://ailev.livejournal.com/1490524.html
-- Киборгизация людей и организаций -- https://ailev.livejournal.com/1488271.html, на базе идей по системной осознанности 2019 -- https://ailev.livejournal.com/1487672.html
-- глоссарий понятий для кейса с вопросами и множеством вариантов ответов https://ailev.livejournal.com/1482241.html (там второй абзац)

Вчера сделали подход к архитектуре предприятия для Школы. Мы не стали его делать в Archi, ибо обсуждение сразу пошло вокруг кейсов/проектов, вокруг которых разворачиваются практики их жизненных циклов. Сходу выделили столько разных сущностей, что на одной архимейт-диаграмме их не отобразишь, а на многих -- внимание будет рассеяно. Поэтому текстом, компактно (хотя без пояснений будет непонятно. Но это ж лабораторный журнал, поэтому не заботимся о понятности для широкой публики. А свои поймут):
-- программа Школы
-- курсы в группах
-- курс онлайн self-paced для одного
-- потоки
-- курсанты (подписчик, абитуриент, курсант, выпускник)
-- преподы
-- эккаунт компании
-- корпоративная группа
-- проекты систем в обеспечении (наше IT и другое оборудование): IT поддержки проектов, вебсайт и т.д.
-- конференция
-- лаборатория (цепочка семинаров, включая методический совет)
-- семинар (исследовательский, методический и т.д.)
-- регулярный класс
-- исследовательская программа
-- широкая аудитория/подписчики
-- менти
-- курсовой проект (например, эссе или ДЗ)
-- доброволец/помощник

Вот эта проблема "непонятности для широкой публики" и "понятности для своих" возникла в самой вроде как попсовой области -- социальных танцев. Тамошняя тусовка в связи с запуском курса интересовалась, чего это я пишу так непонятно: разве мы не хотим популярности? Эти же сложные тексты никто не читает! Ошибочка: разработчики нашего курса мультиданса эти тексты читают. Остальным это может быть неинтересно. Попсовые тексты для широкой публики у нас будут в количестве, попсовые тексты уже сегодня произносят преподаватели текущей группе, а я пишу "документацию разработчика": те сложные тексты, которые обеспечивают простую жизнь изучающим социальный мультиданс. Обучаю не я, обучают преподы — и обучают просто. Я моделирую, и моделирую точно. Это не очень просто, широкой публике не нужно, но для команды курса это необходимо. У нас все ходы записаны. При этом я написал попсовый текст разъяснения про непопсовость, опубликовал там в сообществе: https://vk.com/wall-179019873_316. Попсы и так много, мало качественной непопсы. После чего написал попсовый текст про пенфилдовского человечка и то, что мы на курсах танцев учим мозг -- https://vk.com/wall-179019873_317. За час куча лайков. Но этот текст ничего нового не говорит, просто попсовый пересказ старых идей. Я уж лучше себя не для популяризации/рендеринга приберегу, а для схематизации. Ибо рендеринг, конечно, искусство. Но была бы схема, которую рендерить!

Курс социального мультиданса, кстати, успешно начался -- и в конце двухчасового занятия даже были какие-то успешные попытки ведения-следования в паре у ни разу до того не танцевавших (успех, правда, длился секунд по пять -- сколько удерживалось внимание на мышечной координации "чистого натяга" в теле). Набор идёт до 15 октября, вот ссылка: http://system-school.ru/multidance. Из интересного -- в чате группы появилось замечание о терапевтическом эффекте занятия. Ещё бы! Танцевали мы всего минут пятнадцать из двух часов, остальное время готовили мозг. Мозг вдруг заметил тело, вот телу и полегчало от заботы и внимания ))) Вот тут я написал про гомункулуса Пенфилда и обучение танцам как работу с мозгом: https://vk.com/wall-179019873_317

А ещё открыли регулярный класс системного фитнеса, где можно прийти на одно или несколько двухчасовых занятий в свободном режиме: http://system-school.ru/regular. До этого был такой класс в AfroFusion, потом в Spicy Salsa, и вот теперь в неожиданном месте: в ШСМ. И там на первом же занятии, а потом лаборатории телесного мышления обсуждались и совсем нетанцевальные вещи: например, как системный фитнес помогает вокалу (пришёл педагог по вокалу -- там же тоже мышечная работа, хотя это не совсем привычные мышцы, в гортани явно не бицепсы и трицепсы).
Monday, October 7th, 2019
9:34 pm
lytdybr
Вчера закончил СМС2019.2 (осталась только защита) -- и очень доволен. Это уже вторая группа, выпускаемая по новому учебнику. Учебник работает, его выпуск оказался правильным делом. Я для себя отметил бы три существенных улучшения: 1. Проектные роли понимаются нынешними выпускниками лучше, чем выпускниками прошлых потоков. Все они перестали откладывать этот материал "на потом" и начинают использовать в повседнемном мышлении. 2. Суть системного мышления (отношения часть-целое, системные уровни) как-то присутствуют в понимании примерно у половины группы. Как ни странно, это успех! Раньше пользование концептом системного уровня было не очень практически у всех. 3. Функциональные объекты против конструктивных понимаются практически всеми и активно используются в описаниях рабочих проектов. В прошлых потоках это был камень преткновения.

Мои курсы в октябре-ноябре:
-- "Системный менеджмент и стратегирование 2019", третий поток, http://system-school.ru/uptodate. Старт уже в это воскресенье, 13 октября 2019, шесть дней по воскресеньям раз в две недели, с 11:30 -- закончим 22 декабря 2019. Первые два дня курса мы разбираемся с системным мышлением (собственными ролями и целевыми системами) на примерах рабочих проектов участников курса. Затем три дня идёт кругозор менеджмента, и ещё день разбираемся со стратегированием (это предпринимательство). А ещё на курсе по вторникам проходят 11 еженедельных семинаров с решением задач. Перед курсом надо читать учебник "Системное мышление 2019" (хотя бы до половины, но большинство курсантов успевают прочесть его перед курсом весь. Этим ШСМ сильно отличается от вузов, где учебник остаётся нечитанным долго -- чуть ли не до самой сессии).
-- "Образование для образованных", один день 26 октября 2019, http://system-school.ru/uptodate. Общий рассказ об идеях "предобучения и подстройки" (https://ailev.livejournal.com/1485511.html), краткая характеристика наших курсов по принципу "предъявите всё меню". Именно на этом курсе я обычно рассказываю о своих последних исследованиях. Например, на этом потоке будет больше свежего материала по системной осознанности (https://ailev.livejournal.com/1487672.html) и киборгизацию в части управления вниманием (https://ailev.livejournal.com/1488271.html).
-- новинка "Машинный интеллект 2019", один день 3 ноября 2019, http://system-school.ru/machine. Это я сделал обзорный курс, в котором будет рассказ непрограммистам (то есть без математики и технических подробностей) о сегодняшнем машинном интеллекте и его использовании. Программа курса с подробной тематикой на странице курса, в ней три крупных блока: про интеллект машинный и биологический, интеллект-стек и применения. Спасибо Сергею Шумскому: если бы не волшебный пендель с его стороны, я бы никогда не сподвигся сделать такой курс. Но вот сделал!

Видео моего доклада по методике обучения всем социальным танцам сразу опубликовано: https://www.youtube.com/watch?v=cGDqLJvmam4. Там пропущено первые пятнадцать минут, но два часа пятнадцать минут таки записалось -- включая демонстрации, которые мне помогала делать Ирина Парамонова. Курс начнётся уже завтра (страница курса с описанием и записью -- http://system-school.ru/multidance, мини-группу планируем закрыть 15 октября, выпуск перед новым годом. Я планирую бывать там на занятиях, хотя и не гарантирую, что каждый раз (я ж там не препод, а методолог). Занятия пока будем вести прямо в помещении школы, на ул. Щипок, 11с1. Кстати, по нашей методике в зале для занятий не требуется зеркал. И мы в таком "беззеркальном обучении танцу" не одиноки, я даже короткий текст про это написал, где цитирую Охада Нахарина: https://vk.com/wall-179019873_313.

Институт образования НИУ ВШЭ готовится выпустить доклад про фреймворк о том, как думать о компетенциях и грамотности. Я не удержался, откомментировал тут: https://www.facebook.com/groups/blended.learning.russia/permalink/2432557766986758/. Вот часть моего там коммента: "Мы обобщили литературу по ватрушкам. В большинстве источников признаётся, что ватрушки делаются с творогом, но изредка встречались авторы, которые предлагали ватрушки делать и картошкой. При этом ватрушки разительно отличались по форме, но непринципиально по технологии изготовления. Авторы предлагают framework для понимания ватрушек, который раз и навсегда поможет цифрово трансформировать деятельность поедателей ватрушек, изготовителей ватрушек, сравнивать ватрушки между собой, кладёт надёжную основу для ресторанной критики. Авторы даже написали письмо в ООН, поскольку считают мнение тамошних экспертов более авторитетным, чем мнение Усть-Урюпинского хлебозавода №2. Теперь все ватрушки мы будем сравнивать по форме и начинке, а вот используемое тесто будем считать отдельным предметом ввиду универсальности его использования и в других контекстах, не только в контексте ватрушкиной начинки". Надо как-нибудь про компетенции сделать сервис генерирования текстов такой же, какой сделали про цифровую трансформацию: http://martynov.info/digital/. Это легко, там вот такой шаблон:


Самая крутая мысль изо всего того, что обсуждалось в последнее время -- это тезис "5. Суть убедительности: работа с разными теориями концептов при движении по спектру формальности мышления" из текста https://ailev.livejournal.com/1491835.html. Добавлю ещё штришок: если генерация по схеме человеческого текста должна как-то делать его убедительным, то схематизация наоборот -- это "разубеждение". Если ты убеждён и упёрт, то ошибок ты у себя в тексте не найдёшь. Схема заведомо менее убеждающа, нежели текст. Она антириторична. В этом её достоинство, она позволяет преодолеть соблазны всяческих cognitive bias, хранит от искушений. Формализация убивает человечность, и это не так плохо. Рендеринг её восстановит. И для обсуждения этого движения по спектру формальности мышления нам нужно использовать разные теории концептов в разных частях спектра мышления. Вполне возможно, что все эти architecture relax в дифференцируемости всего https://ailev.livejournal.com/1464563.html должны быть не в рамках только relax представления theory theory, а должны использовать разные теории концептов. Или наоборот: в этом-то и сила компьютеров, что им не нужно продираться через несколько теорий концептов в части представления смысла -- и это способ компьютера стать умней человека, меньше искажений, связанных с особенностями убеждения именно человека и поэтому необходимость задействования различных механизмов представления знаний, хорошо описываемых различными теориями концептов. Мутное, но очень перспективное направление размышлений.

А ещё нужно думать о каком-то тренажёре по работе с типами, ибо на непривычную для животного мира работу в theory theory мозг людей нужно тренировать. Это просто беда, как трудно с нетренированными. Они-то никаких проблем не чувствуют, но вот я побеседовал с новым набором очников МФТИ -- и в печали. Нужно добавлять дни в курс "Схематизация на салфетке и в уме", и добавлять много-много задач, и разбирать много-много ситуаций. В этом нужна беглость, материал схематизации не осваивается (хотя все выпускники благодарны за то, что курс знакомит с самим существованием материала. Но вот получить навык беглой схематизации на салфетке, и уж тем более в уме -- вот этого курс пока не даёт).
Saturday, October 5th, 2019
5:58 pm
Заметки с семинара по риторике
Мы провели в этот четверг 3 октября 2019 методологический семинар ШСМ, где обсуждали риторику с Георгием Хазагеровым и Вадимом Новиковым (видео -- https://yadi.sk/i/tf4TNmO1qnY8kg), и на этом семинаре были подняты очень интересные и важные вопросы. Вот несколько моих заметок по ходу обсуждения.

1. Практичная теория, а не практические лайфхаки
ШСМ не делает "чисто практические, чисто прикладные, вы не беспокойтесь" курсы. Мы даём фундаментальное образование, для нас главное -- это предобучение. А прикладная подстройка на узкую предметную область (подробней про этот подход предобучения и подстройки в https://ailev.livejournal.com/1485511.html) может быть получена и не у нас. Прикладных "практичных, никакой теории" курсов -- тьма, их реклама звучит изо всех утюгов, но мы сосредоточены не на этом. Мы создаём уникальные курсы, которые учат не дюжине лайфхаков, а дают целостное мировоззрение. Конечно, это мировоззрение практично, мы тренируем привязку глубокой state-of-the-art теории к рабочим проектам и личной жизни. Но мы даём фундаментальное знание, на базе которого потом можно долго развиваться, а не разрознённые "приёмчики". Все частные практики которые мы рассматриваем, у нас тут только примеры, и их статус примеров ясен с самого начала. Курсы потом позволяют ориентироваться в море этих практик, они дают те "полочки в мозгу", где эти практики потом можно расставлять.

И вот эта передача теории у нас идёт прямо и непосредственно, а не замаскированно и исподволь. Мы не стесняемся тому, что у нас кроме практики есть и теория, мы этим гордимся.

Поэтому курс риторики у нас должен предъявлять не просто разрозненный набор эвристик/лайфхаков, а давать state-of-the-art теорию -- и эта теория должна быть минимальной, потому как в соседних курсах наверняка уже тем или иным языком сказано многое из того, что было в древней теории риторике.

А прикладные курсы риторических приёмов из серии "никакой теории, у нас вы сразу будете практиковать" -- это не к нам, это на разные спецкурсы, их тьма. После нашего курса прохождение этих прикладных курсов будет осознанным и осмысленным.

2. Риторику как дисциплину нужно обновить: выбрать живой вариант
Риторика как набор практик жизненного цикла убеждающей речи имеет сейчас практики, приходящие из самых разных сфер человеческого знания. Скажем, самые разные гипотезы по поводу лингвистики сегодня подтверждаются или опровергаются в сфере NLU (natural language understanding). Вот оттуда, а не из учебников лингвистики прошлого века нужно брать идеи для курса. И эти идеи нужно излагать не архаичным языком, долго объясняя историю появления этих терминов и оправдывая их существование, а языком современным. Нужен state-of-the-art в практиках, и современная терминология может излагать этот state-of-the-art, сократить дорогу от теории к жизни. Старыми словами ведь неудобно будет рассказывать убеждающие речи по использованию практик самой риторики.

Если сегодня более понятно говорить о превращении схемы в текст как о рендеринге (именно так говорится в моей книжке "Визуальное мышление"), то вполне можно так и говорить -- вместо специфичного для древней риторике слова "элокуция". Помним, что когда уже была "элокуция", не было ни слова "схема", ни слова "рендеринг" в их современных значениях. Мы всё равно преподаём онтологику, и в рамках онтологики обсуждаем, как из текста отмоделировать схему, и как схему отрендерить в текст.

Риторика добавляет, что текст может быть не любой, а убеждающий. Но для этого не нужно называть соответствующую практику убеждающего рендеринга "элокуцией", это добавляет заумности и историчности, но уменьшает cognitive load в восприятии предмета. В системном мышлении мы заменили "стейкхолдера" на "проектную роль", и стало сразу легче и понятней, число ошибок уменьшилось. Вот то же самое нужно делать и с терминологией риторики. Язык живёт, и не нужно транслировать нормы двухтысячелетней давности -- степень архаичности дисциплины нужно уменьшать всеми силами, включая использование современной терминологии.

Если мы считаем, что сейчас вот нас окружает варварство, а наша столетней давности дисциплина -- это цивилизация, то с огромной вероятностью мы заблуждаемся. У нас, скорее всего, абсолютно дикарская (столетней давности потому что) дисциплина. Теория флогистона, а хоть и в риторике. А якобы варвары могут оказаться вполне себе современными людьми: просто они используют совершенно другие средства и другую терминологию для своих вполне работающих теорий. Поэтому любую "панхронистичность" предмета усомневаем и постоянно отслеживаем state-of-the-art. Системное мышление как "мышление о сложном" вполне себе меняется во времени, и каждый десяток или даже пяток лет в нём появляются существенные изменения. Их нужно учитывать!

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

3. (Кибер)риторика: цифровая трансформация риторики и риторический машинный интеллект.
В той же риторике убеждающая речь вполне может изучаться в каком-нибудь колл-центре, где чат-боты через A|B-testing исследуют какие-нибудь гипотезы о стратегии диалога, извлечённые из сотен тысяч записей предыдущих диалогов. Корпусная риторика, которая ни разу не будет так называться -- но зато будет использоваться сотнями тысяч людей, работающих с этими чат-ботами. Вы будете с этим ботами общаться больше, чем с живыми людьми (с библиотеками и книжными магазинами ведь вы уже общаетесь через Гугль, а не через разговоры с библиотекарями и продавцами в магазинах). A|B-тестирование -- это ж эксперименты, риторика резко становится экспериментальной. Научный подход, риторика как научная дисциплина и практика риторики называется по научной (а не эвристической) дисциплине.

Вообще, это хороший ход на проверку state-of-the-art: вопрос о том, как и что мы можем автоматизировать в практике. И вопрос о том, каковы были результаты последних исследований, которые позволяют лучше предсказывать успех артефактов, полученных с использованием дисциплины. Нет, не "доказательная риторика". Но и не чистое воспроизведение древних классификационных схем, древних систем понятий: обновление риторического знания должно быть понятно.

Никакие ссылки на то, что гуманитарное знание развивается не так, как физическое или химическое тут не помогут. Люди из deep learning показали, что понятие "художественного стиля" вполне себе может быть ухвачено в виде коннективистской модели, стили можно переносить, их можно изучать, с ними можно оперировать. Эксперименты со стилизациями текстов ведут лингвисты, математики, программисты, и добиваются неплохих результатов. Риторы тут могут отставать. Вот нужно дать базовое знание того, что там происходит со стилями -- знание, которое поможет и в собственной речи, и в собственных текстах, и в работе с компьютерными речами (уже ж давно компьютеры говорят голосами народных артистов, уже год как!) и текстами (сочинения школьные компьютеры уже пишут, хотя и с переменным успехом. Но подождём ещё год-другой, тут всё быстро).

"Цифровая трансформация риторики" -- так сказали бы сегодня чиновники, это текущий хайп. Риторический машинный интеллект -- так бы сказали промышленники. Неважно, какие тут использовать слова. Важно, что общаются уже не только люди между собой, но люди и компьютеры между собой. И в подготовке, донесении и сопровождении убеждающей речи участвуют отнюдь не только люди. Курс риторики это должен учитывать, он не должен быть курсом древней бескомпьютерной риторики.

У нас уже 19% 21 века, поэтому художник должен рисовать с компьютером (то есть в надцать раз быстрее, чем средневековый художник и в надцать раз круче). Ритор должен тоже убеждать с компьютером, в надцать раз быстрее и надцать раз круче, чем средневековый ритор. А его аудитория должна или убеждаться, или наоборот, не убеждаться (несмотря на весь напор и натиск) тоже в разы и разы круче и быстрей -- и тоже использовать при этом компьютер. Например, как средство управления вниманием. Или хотя бы для того, чтобы погуглить незнакомые слова. Или послушать речь до половины, позавтракать, а потом послушать вторую половину -- если речь записана. Или попросить компьютер с выражением прочесть речь, если она дана как текст. Или попросить компьютер написать речь (это сегодня тоже возможно). Да, "обычное выступление" и все лайфхаки для него сегодня остаются в силе, но мы должны учитывать современную ситуацию. Лайфхак по тренировке речи с камешками во рту сегодня должен быть заменён, например, использованием PowerPoint Presenter trainer (https://news.microsoft.com/europe/2019/06/18/say-hello-to-presenter-coach-powerpoints-new-ai-powered-tool-which-will-help-you-nail-your-next-presentation/), который даже предупредит вас о словах-паразитах и будет показывать ваш прогресс в их устранении.

4. Неисторичность в преподавании риторики
Не нужно строить образование риторики на историческом подходе, начинать с древних ораторов. Я знаю, что это наиболее спорный в среде гуманитариев тезис: преподавать ли историю предмета как основу преподавания предмета, или преподавать сразу state-of-the-art. Поэтому я его заостряю, как могу: опора на историю тут просто нарративный, дидактический (а не сущностный!) ход, но современный instructional design подсказывает и другие ходы. Физике не учат, как истории физики, и это благо. Там, где учат не предмету, а истории предмета, показывают содержание предмета через призму многовекового движения мысли, учат плохо -- ибо долго и непродуктивно. Учить нужно сразу state-of-the-art, а интересующихся историей отправлять читать исторические материалы факультативно. Конечно, в культуре будут обрывки древних и современных теорий и поддерживающих их древних и современных практик. Но эмбриону знания в голове человека не нужно последовательно проходить стадии рыбы, амфибии, зверушки с хвостом и т.д.. Нужно начинать сразу с современного состояния и современных ошибок. Конечно, нужно показывать, что современно и работает хорошо, а что устарело, и работает похуже (и почему похуже). Но для начала нужно научить state-of-the-art, а потом потихоньку рассказывать, как оно плохо было раньше, а не много рассказывать, как оно было раньше, а потом тратить день-два на рассказ современного состояния дисциплины, перебивая уже выученное.

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

Поэтому учить нужно state-of-the-art риторических практик, а не рассказывать о долгом многовековом пути истории. Этот исторический рассказ -- в факультатив. В обучении физики не должно быть подробного рассказа о теории флогистона и сдачи экзамена на тему, какими аргументами учёные были убеждены отказаться от этой теории. Это на факультатив.

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

Вот я в 2012 году поднимал тему метафоры, метонимии, блендинга и концептуальной интеграции в связи с теорией категорий — https://ailev.livejournal.com/1015195.html (в теории категорий это всё "морфизмы": метафора это мэппинг из одного domain в другой domain, метонимия это мэппинг внутри того же domain, и т.д.). В риторике ровно эти темы (но без связи с теорией категорий, конечно) оказываются в эпицентре обсуждения.

Мы на комментируемом семинаре по риторике обсуждали с Георгием Хазагеровым его идею, что метонимия через приятную глазу визуализацию съест метафору (сопротивляющуюся непосредственной визуализации) на завтрак, и будет Великое Опрощение. Культура опасносте, все такоэ. Вот у него текст на эту тему: https://cyberleninka.ru/article/v/my-ne-pervye-v-istorii-chelovechestva-lyudi-leyblov-i-sloganov

Он на немного другом языке (у риторики и лингвистики там свои заморочки и терминология) ставил уже поднимавшийся у меня в текстах (например, "дискуссия о типах и SysMoLan продолжается" раздел "Теория прототипов, трансформеры и успех языков программирования", https://ailev.livejournal.com/1489546.html) вопрос о важности для людей удобства для первичного восприятия в языках программирования:
justy_tylor заметил, что помимо упоминавшихся BORO, ISO 15926, Gellish, HQDM, IEC 81346, а также моей книжки "Системное мышление", для понимания как создавать ключевые eDSL нужно почитать:
1. Три тома материалов HOPL. https://en.wikipedia.org/wiki/History_of_Programming_Languages
2. Пару книг Лакоффа по когнитивной лингвистике: George Lakoff and Mark Johnson "Metaphors We Live By", George Lakoff "Women, Fire, and Dangerous Things: What Categories Reveal About the Mind".

Лакофф затем, что популярно описывает явления вроде "базового уровня восприятия".

Я нашёл это замечание очень интересным. Типы и FOL из theory theory поддерживают медленное мышление по Канеману, а прототипы (Лакофф! Первичное восприятие!) — быстрое. Если говорить об успехе в рамках теории percieved cognitive load, то эту нагрузку, получается, нужно считать не в типах/классах из theory theory, а в прототипах (https://plato.stanford.edu/entries/concepts/ -- про теории понятий, в том числе theory theory и prototypes, хотя там есть и другие). То есть в спектре мышления по мере движения по этому спектру в пространстве смыслов формализация не просто relax в рамках theory theory по мере движения влево, но и меняется её способ, и всякие "интуиции" по поводу тех же типов/классов (и отнесения к типам/классам) формулируются как прототипы для типов/классов. Это, конечно, гипотеза, но покрутить её было бы весьма любопытно. Если (как предложила @pionmedvedeva в какой-то момент) у нас таки спектр формальности, т.е. в середине там гибриды медленного и быстрого мышления, то по факту у нас где-то в середине будут и гибриды theory theory и теории прототипов.

Сам заход на то, что нужно для создания удобного eDSL поразбираться с мышлением, мне кажется важным. Понятно, что и IEC81346, и понятия из учебника системного мышления — они все из theory theory. И предлагаемые для них варианты концептуализации (предлагаемые foundational ontology) тоже из theory theory. Что про эти навороты будут думать люди, которые не прошли десятилетнего математико-логического тренинга (а, например, прошли пятилетний подобный тренинг) — это в дискуссии только разок мелькало, когда про когнитивную нагрузку говорили и в том числе теорию piercieved cognitive load как барьер к массовому распространению.


В формализмах из теории концептов по факту сейчас рулит theory theory, но вот непосредственное восприятие людей (риторика, "убедительная речь") зависит и от метафор (Лакофф, теория прототипов), и от метонимии (вроде как можно объяснять в рамках theory theory, но хитрым способом: пробивается shortcut через связи и отношения). И Хазагеров говорит, что времена поменялись, и не Лакоффа нужно изучать с теорией прототипов, чтобы рулить восприятием, а вот эту самую метонимию, ибо Лакофф остался в эпохе до смайликов. Метафора не уменьшает сложность, ибо отображает два мира друг в друга. А метонимия не добавляет сложности, она отображает мир на себя, только криво. Визуализация всё съест.

Идея justy_tylor была в том, что к языкам представления знаний всё это относится в той же мере, что и к естественным языкам. Мощь выражения формализма (прямота выражения theory theory, например, разные изводы FOL и HOL) — да, это в языке принципиально важно! Это язык формализации! Но удобство в непосредственном восприятии у языка представления знаний тоже должно быть, и ключ к популярность тут, а не в формализационной части языка. Хазагеров говорит, что по этому критерию языки 80-х прошлого века и языки 20-х этого века, чтобы быть популярными, должны опираться на разные механизмы рендеринга (в риторике представление схемы в тексте речи называется элокуцией, я тут следую терминологии книжки "Визуальное мышление". Когда компьютерное схемное представление графики показывается в виде пиксельной графики с трассировкой лучей и прочей красивостью, "убедительно" и "с украшениями", это называют рендерингом). Языки 80-х тут должны быть метафоричны, чтобы иметь успех, а языки 20-х годов этого века метонимичны (тут ещё нужно подумать, что бы это могло означать. Какая теория понятий этому соответствует? Но это хоть какая-то дебютная идея в таких размышлениях). Впрочем, Георгий тут же заявляет, что это гуманитарная катастрофа, шаг на опрощение, ход от цивилизации к варварству. Пока же понятно, что чисто формальные системы трудно доносить другим людям без этих ходов по понятизации/рендерингу/элокуции (см. мой текст "Модифицированная понятизация: онтологический перевод" https://ailev.livejournal.com/631742.html, и там внутри ссылку на собственно текст по опирающийся на поиск хорошей метафоры метод "понятизации", как метод сделать какой-то новояз (неизбежный при исследованиях и разработках) понятным и убеждающим, http://www.libertarium.ru/libertarium/l_libsb3_3-5).

Вот эту мысль про разные теории концептов, связанные с движением по спектру мышления и лежащие в основе языков (естественный язык поддерживает их все, формальные языки имеют тут предпочтения в выражении тех или иных теорий концептов) нужно думать, и думать крепко.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10216402121179659
Thursday, October 3rd, 2019
12:39 am
Нечеловеческая музыка: Covered in Cold Feet
Нечеловеческая в прямом смысле этого слова музыка, которую сделал Aaron Ackerson (https://youtu.be/fN-bQddbbUI):


Он взял короткую музыкальную фразу, которая ему пришла в голову, и заставил эту фразу продолжать программу MuseNet (https://openai.com/blog/musenet/). Затем подправил результат и скормил его опять AI. Затем продолжал этот процесс, пока не почувствовал, что песня готова. Лирику он написал похожим образом: использовал Talk to Transformer (https://talktotransformer.com/) реализацию сети GPT-2. Выдачу программы на каждой строчке он подправил так, чтобы слова рифмовались. А обложку сгенерировал при помощи Text To Image API от DeepAI, увеличив её разрешение нейронной сеткой Let's Enhance.

Трек этот (Covered in Cold Feet) выложен 3 августа 2019. Ситуация в музыке резко поменяется, когда появятся продвинутые music models с реализацией примерно тех же идей, что в language models. Можно скормить какой-нибудь сетке ALBERT (самый современный вариант language model -- https://venturebeat.com/2019/09/26/google-ais-albert-claims-top-spot-in-multiple-nlp-performance-benchmarks/) огромный корпус текстов, а можно -- огромный корпус музыки. С теми же примерно "ошеломительными" и "пугающими" результатами, боязнью потоков "фейковой музыки" и прочими ужасами неиссякаемых источников творчества.

Эти работы с универсальными для многих задач музыкальными моделями уже начались, пока скромненько, с оригинальной сеткой BERT. Например, 14 августа уже появилась работа по Multitask training with Music Models (разные задачи -- генерация песни, гармонизация мелодии, новая мелодия для существующей последовательности аккордов, тот же ритм с другой песней, та же песня с другим ритмом), вот заключительный пост в серии -- https://towardsdatascience.com/how-to-remix-the-chainsmokers-with-a-music-bot-6b920359248c
Wednesday, October 2nd, 2019
4:23 pm
Октябрь-ноябрь в ШСМ: тринадцать курсов!
В октябре-ноябре мы проводим тринадцать курсов (в хронологическом порядке): "Как общаться по делу и без нервов", "Социальный мультиданс", "Системный менеджмент и стратегирование 2019", "Основы онтологики 2.0", "Образование для образованных", "Системный подход в менеджменте и инженерии", "Системная инженерия", "Системный фитнес", регулярные классы по системному фитнесу, "Схематизация на салфетке и в уме", "Как учиться эффективно", "Системная риторика", "Машинный интеллект". Эти курсы ведут наши десять преподавателей, придерживающиеся общей образовательной концепции. Школа в этом учебном году явно не маленькая. Вот про эти курсы чуть подробней:

1. Сегодня (2 октября, среда) начинается курс Александра Али "Как общаться по делу и без нервов" -- http://system-school.ru/setup (вечером 2, 9, 16, 23 октября). Проектные роли, конфликтология, уличная эпистемология (искусство переубеждения без личных наездов). Курс входит в серию курсов по онтологике, крайне рекомендуется в плане поддержки системного мышления.

2. Сегодня же в 19 часов будет анонс курса Ирины Парамоновой и Антона Климата "Социальный мультиданс", подробней я писал о нём вот тут: https://ailev.livejournal.com/1491069.html, страница курса http://system-school.ru/multidance. 8 октября – 26 декабря, 24 занятия – 12 недель – 2 раза в неделю (вторник и четверг) по 2 часа с 19:00 до 21:00. Для тех, у кого нет никакого танцевального опыта (можно иметь опыт до года). Это кругозор парных танцев: основы импровизационного ведения и следования, хитрости танцевального шага (там нет падения на каждом шаге, как при ходьбе или беге, танцевальному шагу нужно учиться), мышечная работа для некорявого танцевания.

3. Очередной поток моего собственного курса "Системный менеджмент и стратегирование 2019" пойдёт с 13 октября и закончится 22 декабря, http://system-school.ru/sms, есть опция менторства (это такой микроконсалтинг). Первые два дня курса мы не занимаемся менеджментом, а разбираемся с собственными ролями и целевыми системами на примерах рабочих проектов участников курса. Это кардинальным образом меняет представление участников курса о том, что же написано в учебнике "Системное мышление 2019" (так же, как меняет представление о содержании учебника "Как ездить на велосипеде" реальная езда на велосипеде). Затем три дня идёт кругозор менеджмента, и ещё день разбираемся со стратегированием. А ещё на курсе проходят 11 еженедельных семинаров с решением задач. После завершения этого курса многие выпускники начали и успешно провели (и продолжают вести! это ж циклы развития и совершенствования, они не кончаются) программы организационных изменений -- где-то это был масштаб отдела, а где-то и крупной фирмы. Конечно, я опять немного изменю содержание: каждый поток получает немного обновлённый курс (так, в текущем курсе была более подробная часть по управлению жизненным циклом). В этом новом (шестнадцатом!) потоке будет больше искусственного интеллекта в организационной работе.

4. Курс Пион Медведевой "Основы онтологики 2.0", http://system-school.ru/ontologics, четыре вечера -- 25 октября, 1, 8, 15 ноября. Он про онтологию и логику. Это курс про мир, нас в этом мире и наши модели мира -- и как это всё соотносится, и что с этим делать. Курс даёт современное (2019) представление об онтологии и логике, а не представление конца 20 века, это абсолютно не похоже на университетские курсы "истории философии". Я крайне советую посетить этот курс, ибо основные трудности в системном мышлении связаны не с самим системным мышлением, а невладением онтологикой (подробней я писал об этой беде совсем недавно в "системная инженерия и онтологика" https://ailev.livejournal.com/1490393.html, а также в "два балла по системному мышлению обычно не связаны с системным мышлением", https://ailev.livejournal.com/1465753.html).

5. Мой однодневный курс "Образование для образованных", http://system-school.ru/uptodate, пройдёт 26 октября 2019. На нём я обычно рассказываю о личном стратегировании и тех идеях "предобучения и подстройки" (https://ailev.livejournal.com/1485511.html), которые лежат в основе образовательной программы Школы системного менеджмента. Именно на этом курсе я обычно рассказываю о своих последних исследованиях в необходимых для качественного образования сферах. В частности, на этом потоке будет больше свежего материала по системной осознанности (https://ailev.livejournal.com/1487672.html) и киборгизацию в части управления вниманием (https://ailev.livejournal.com/1488271.html).

6. Базовый курс "Системный подход в менеджменте и инженерии" Церена Церенова, http://system-school.ru/base пройдёт в две полных субботы 16 и 23 ноября. Базовый (то есть не зубодробительно сложный, а "нормальный") курс рекомендуется широкому кругу сотрудников предприятий, которым не хватает навыков работы со сложностью (со сложными задачами и технологиями, в сложных проектах). Помогает людям систематизировать свой опыт, занимается популяризацией современного системного подхода и помогает сформировать траекторию дальнейшего профессионального развития.

7. Новинка программы: практикум "Системная инженерия" Вячеслава Мизгулина, http://system-school.ru/engineering, 18 ноября -- 25 декабря по понедельникам и средам с 19 до 21 часа. Практикум будет раскрывать типовой системноинженерный процесс, на практикуме придётся много моделировать. Отличный способ получить крузор по системной инженерии! Упор будет сделан на начальные практики (инженерия концепции использования, инженерия требований и инженерия системной архитектуры. Тем не менее, управление жизненным циклом, конфигурацией и изменениями, а также проверка/верификация и приёмка/валидация тоже будут затронуты. Практиковать, так всё!). Перед прохождением практикума нужно прочесть учебник "Системное мышление 2019" (в учебнике не рассказывается, как что-то делать при помощи системного мышления, он про "мышление" -- практикум как раз рассказывает, как его использовать в инженерной работе, он про переход от системного мышления к системноинженерному действию). Опыт показывает, что курс может быть не менее полезен менеджерам, чем инженерам и продакт-менеджерам: он показывает в том числе взаимодействие между инженерами, менеджерами и предпринимателями, учит согласовывать их предпочтения в интересах. Видеоролик с рассказом о курсе: https://www.youtube.com/watch?v=0VQNR2gT5xQ

8. Курс "Системный фитнес" Антона Климата, пройдёт дважды:
-- в Санкт-Петербурге в выходные 9, 10, 16, 17 ноября, http://system-school.ru/movereg
-- в Москве по субботам 23, 30 ноября, 7, 14 декабря, http://system-school.ru/move
Курс даёт свободу движения, и он существенно изменился: то, что раньше достигалось к концу второго дня, сегодня достигается к концу второго часа. Слайды описания курса вот: https://yadi.sk/i/7u4RG_Vy2H1mHA. Вот видеоописание курса: https://yadi.sk/i/xMe2OtDMIbTbjg -- в нём интересный пример с вокалом. Оказывается, "свобода движения", которую даёт курс, может быть применена даже к мышцам, участвующим в пении. И снятие зажимов в теле приводит к улучшению качества звука!

9. Сегодня мы также объявим о начале регулярных классов по системному фитнесу Антона Климата, они будут проходить по средам с 19 до 21 часа (а потом с 21 часа до 23 часов будет работать лаборатория телесного мышления).

10. Курс "Схематизация на салфетке и в уме" Прапион Медведевой, http://system-school.ru/modelling, будет вечерами 26 и 28 ноября. Это про то, как вычитывать мысли из невнятных чужих текстов. И про то, как излагать в тексте свои мысли. И мысли эти не просто описывают мир, они описывают намерение что-то сделать в этом мире, при этом намерение оказывается не "личности", а "роли". Это ещё один курс онтологического цикла. И без своего проекта на него приходит нельзя: если вы ничего не хотите сделать, ничего не хотите изменить в мире, то вам не нужно читать и слушать тексты других людей (разве для развлечения, но тогда их не нужно понимать), и вам не нужно самому уметь выражать ваши мысли, чтобы их поняли другие люди.

11. Ещё готовится к запуску курс "Как учиться эффективно" Кирилла Гайдамаки, вот запись семинара с его анонсом: https://www.youtube.com/watch?v=55k5Qsxk1ak. Даты курса будут назначены в ближайшее время. Первая же рекомендация курса: не ориентироваться на журналистские попсовые книжки об эффективном обучении, а ориентироваться на первоисточники -- когнитивные исследования, а не просто "здравый смысл". Ибо "здравый смысл" в образовании врёт.

12. Обсуждение курса "Системная риторика" Вадима Новикова и Георгия Хазагерова будет 3 октября на семинаре сообщества Школы -- https://www.facebook.com/events/461264767888650/. Курс будет помогать выступать на совещаниях и конференциях, предвосхищать вопросы и возражения, готовить статьи для престижных изданий. В курсе будут даны знания и будут тренироваться навыки того, как определять основные идеи речи; планировать, в какой последовательности будут изложены доводы; улучшить язык и стиль речи; запомнить речь и как сделать речь запоминающейся слушателям; произнести речь и ответить на вопросы.

13. Я уже готов проводить кругозорный курс "Машинный интеллект", только что закончил готовить для него слайды (их как обычно у меня на день -- 60). Курс будет рассказывать о машинном интеллекте примерно так же, как это было бы осмысленно рассказывать об интеллекте людей -- без упора на биохимию или перечисления латинских названий для структур мозга, но с упором на текущие достижения, применение и ожидаемое развитие. Название и дату проведения определим в ближайшие дни.
12:22 pm
Открыт набор на курс "Социальный мультиданс"
Сегодня, 2 октября 2019 (среда) в 19 часов мы проведём в ШСМ презентацию трёхмесячного курса "Социальный мультиданс": уникального курса для желающих научиться танцевать отдельно и сразу вместе такие традиционные и современные парные танцы, как танго, бачата, мамбо, кизомба, зук, форро и многие другие. Вот: https://www.facebook.com/events/524159721683015/

Я прочту доклад, слайды вот: https://yadi.sk/i/Iwhv3qluZ3By1A (трансляция в ютьюб тоже будет -- https://www.youtube.com/watch?v=sqfehLbGdag), тексты по методологии можно найти в https://vk.com/buffdance.

Регистрация на курс уже открыта, можно записываться -- -- http://system-school.ru/multidance. Приглашаются люди с нулевым танцевальным опытом, или опытом не больше года в социальных танцах. Курс стартует 8 октября 2019 и будет идти 12 недель два часа по вторникам и четвергам с 19 часов, закончится он прямо перед новым годом. При этом по средам с 19 часов будут дополнительно доступны регулярные занятия по системному фитнесу (о них мы объявим сегодня тоже), а по пятницам можно будет практиковаться с 20 часов на вечеринках в клубе "Буфф" на Лесной -- мультидансеры Москвы обычно собираются именно там.

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

Я -- методолог курса. К открытию курса меня заставили посчитать мой общий танцевальный стаж, включив не только последние три года, но и все предыдущие (вот тут подробней https://ailev.livejournal.com/1013383.html) -- до практически тридцатилетнего перерыва. Получилось 17 лет активного танцевания, вполне достаточно для методологической работы.

Курс не только обучает основным телесным и психопрактикам, которые нужны для получения удовольствия от танца (а это удовольствие длится после вечеринок довольно долго -- биохимия), но и даёт обзор нескольких популярных социальных танцев в их сходстве и отличии друг от друга.

После окончания курса уже можно будет не только выбрать социальный танец для более глубокого изучения, но и пойти на вечеринки тех или иных танцев (на них всех играет разная музыка, вы сможете выбирать) и получать удовольствие от простого танца с выпускниками.

Курс не декларирует, что вы научитесь танцевать быстрее, чем на курсах в специализированных танцевальных школах. Но мы учим сразу всем танцам, а не одному танцу: экономия времени будет не для одного танца, а для многих.

За счёт опоры на системный фитнес в курсе выпускники за то же время будут танцевать менее коряво и более осознанно. Большая осознанность в танце -- это меньшая потребность в преподавателе, больший упор на самоподготовку, без потери качества. Также в курсе будем учить и ведению, и следованию: это существенно ускорит рост умения танцевать. А у танцоров чем больше их умение, тем больше они получают удовольствия от танца.

Вот видеоролик приглашения на курс (https://youtu.be/M2_RrXldNUA):


И, конечно, картинка для отвлечения внимания. Это я с Анной Неум танцую танго нуэво. Анна принимала активное участие в наших лабораториях.
cjo1yLNxlMk
Monday, September 30th, 2019
10:06 am
Об конспекты
В группе blended learning обсуждают эксперименты, показывающие преимущество написания конспектов ручкой, а не набор конспекта на клавиатуре. Они б ещё пообсуждали написание конспекта процарапыванием вощаных табличек или палочками на песке ))) Вот тут: https://www.facebook.com/groups/blended.learning.russia/permalink/2426775150898353/

Я бы вообще проблематизировал ведение конспекта как деятельность. Мне представляется, что польза от конспекта -- ноль. Или решение задач, или сочинение собственного текста или какие другие упражнения, но уж точно не копирование и не "делание заметок" -- они бессмысленны. Память у человека сейчас в компьютере, а поиск в компьютере упражнять не нужно.

Я к тому же не верю всяким одиночным психологическим экспериментам, по которым затем делаются далеко идущие выводы. Воспроизводимость этих экспериментов чаще всего крайне низка, переносимость выводов на иные чем в эксперименте ситуации тоже никакая.

Поэтому у меня blended learning -- в курсе системного мышления сейчас 181 задача, но в ответах мы будем требовать письменного обоснования. По факту тут нужно будет приводить рассуждение из учебника, но с клавиатуры. Или даже надиктовывать -- всё одно. Фишка не в том, чтобы запомнить это рассуждение. Нужно понять, какое из рассуждений в учебнике на 530 страниц привести, да ещё и применить его к ситуации из задачи. И это работает в разы лучше ведения любых конспектов.

И тут нужно заметить, что все эти конспекты -- это лень преподов. В самом ленивом случае они не готовят слайды к своим лекциям (по каковым слайдам через полгода после лекции можно вспомнить общее содержание, о чём речь. Скажем, только картинки даже без заголовков -- это плохие слайды. Слайды как раз и есть конспект). Слайды -- это менее ленивый случай. Но правильный случай -- это учебник и задачник. Хотя учебник -- это очень, очень трудно. Но надо. И тогда не нужен конспект. Ибо есть учебник и полнотекстовый поиск в нём. А запоминается всё в деятельности, а не в зубрёжке-повторении.

Если уж совсем хочется быть извращенцем, поставьте замедление на клавиатуру. Чтобы нельзя было быстро печатать. Зачем ухудшать устройство ввода, переводя с клавиатуры на ручку? Ухудшайте сразу клавиатуру ))) Можно ещё запретить пользоваться десятипальцевым методом печати и разрешать печатать только одним пальцем -- и сравнивать с набором на полной клавиатуре. Для меня письмо ручкой -- это ровно такие эксперименты. Ещё можно добавить в базу сравнений в этих экспериментах письмо ручкой, но ногой или хотя бы левой рукой (или правой рукой для левшей). Постановка этих экспериментов вызывает огромные вопросы! Это даже если отвлечься от задачи конспектирования как бессмысленной деятельности.

Напомню, что раньше я затрагивал тему письма ручкой как анахронизма в плане "необходимости для обучения": в тексте "черчение и мелкая моторика: удавливаем мультитаскинг" приведен ещё десяток ссылок на другие тексты -- https://ailev.livejournal.com/1291971.html. И там разбираются самые разные аргументы "за" и "против".

Если письмо ручкой так хорошо для интеллекта, почему вокруг меня никто-никто не пишет ручкой? Все почему-то увеличивают производительность своей интеллектуальной работы при помощи клавиатуры, а не при помощи ручек! Цивилизация опасносте! Средство усиления работы мозга осталось только у детей, в заповеднике "дня сурка" -- в официальной школе! Последние хранители тайного знания как работать головой лучше -- педагоги, заставляющие писать детей ручкой! )))

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10216363160085656, ВКонтакте -- https://vk.com/wall2449939_2412, телеграме -- https://t.me/ailev_blog_discussion/510

Как обычно, много комментов (включая к оригинальному посту в группе blended learning -- https://www.facebook.com/groups/blended.learning.russia/permalink/2426775150898353/), тема исключительно холиварная.
Friday, September 27th, 2019
5:37 pm
Чего мне не хватает в MS Teams
Провёл вчера целый день в офисе MS (pun intended, речь идёт о помещении) в изучении MS Teams, читал тамошние пейджеры и много думал. Основной плюс -- Teams можно рассматривать как эдакую систему повышения осознанности в командах. Презентация продукта напирала на то, что Teams имеет много разных средств управления вниманием команды, это ровно в направлении мыслей по киборгизации команд: https://ailev.livejournal.com/1488271.html

Но основная проблема в сегодняшних Teams для меня -- не реализован жизненный цикл issue, а без этого проектная работа не будет полноценной. Обобщённый жизненный цикл issue (я даю его на курсах) таков: сначала появляется issue, который потом становится task, который потом превращается в notice. Ну что твоя бабочка, которая яички-гусеницы-куколки-бабочки, у каждой формы со своей жизнью, но это всё одна и та же особь. И вот эти отдельные жизни issue пока в Teams нельзя связать: обсуждение будет вестись в разных местах. Обсуждения в каналах-беседах, чатах, протоколах к собраниям, комментах к задачам тамошнего трекера оказываются несвязанными: эта мощная говорильно-комментаторская машинка по управлению коллективным вниманием крайне неоднородна, и даже ссылки на начало или продолжение разговора не везде просто ставятся из этих разных мест.

Как живут вместе разработчики и клерки (разработчики сидят в Visual Studio и Azure DevOps, клерки в Office и Teams) -- непонятно, ибо в Teams всё выстроено вокруг офисных документов в папочках, а в DevOps вокруг системы управления версиями кода. Всё, что на вкладках в Teams (даже на вкладках Planner как тамошней реализации канбан-доски) -- остаётся на вкладках и не втягивается в беседы, хотя есть способы привлекать внимание ко вкладкам (коннектор может сообщить, что во внешней системе что-то произошло и выдать в беседу ссылку на место, куда смотреть).

Но это же всё в Teams можно подавать как достоинство: каждая вещь может быть сделана несколькими разными способами, и это неплохо. Ну, и система открыта для интеграции: Forms, и PowerApps, и Flow -- простые автоматизации работы с формами, создания приложений, создания каких-то процедур/воркфлоу: можно легко наращивать функционал для каких-то рутинных задач, если они массовы и рутинны. Слова "приложение", "сервис", "продукт" отчаянно путаются, ибо интерфейс вроде как всё замешивает в одно целое на любых экранах. При всех ограничениях на эту целостность: поместить запись в окошко вовсе не означает, что тут же можно содержимое окошка обсудить. Нет, обсудить можно, функционально для этого отличная, но обсуждение будет где-нибудь ещё. Или прямо тут -- но вырванное из контекста других бесед.

MS Teams и экосистема вокруг довольно обширны, там всё кастомизируемо насквозь, и вполне может быть, что кто-то уже потратил свой месяц программирования и имеет уже ответы на некоторые из задаваемых мной вопросов. Там ведь боты-коннекторы-вкладки-сообщения плюс ещё рядом интеграционная платформа OneNote, где тоже всё кучеряво.

Альтернативные решения (сразу в голову приходит стек Jira+Confluence+Slack) по тем же критериям более заморочены: они ориентированы на разработчиков больше, и меньше на менеджеров, предпринимателей и уж тем более на внешних людей. Остаётся признать, что нет в айтишном мире счастья, оно всегда впереди, как горизонт.

Ещё одно -- это ни разу не социальная сеть, а тот самый "кровавый энтерпрайз" из айтишного фольклора, за файерволом. У нас же Школа, поэтому границы проектных команд и "просто сообщества" размыты (абитуриенты и alumni, а не только учебные группы. В учебных группах issue tracker и проекты, в сообществах -- чисто поболтать и такие проекты, как events: семинары и конференции).

Ещё барьер для входа. MS Teams это форум+мессенджер+контент+групповые звонки и поэтому входной барьер там примерно вчетверо от входного барьера в одиночных приложениях. Нужно полчаса на то, чтобы разобраться в интерфейсе. Если человек к нам приходит на короткий шестичасовой курс, то будет ли он доволен, когда ему придётся в этом разбираться? Но на втором же коротком курсе это окупится сторицей. Или если курс шестидневный. Это опять же к вопросу, что у нас Школа представляет собой какой-то симбиоз кровавого энтерпрайза и социальной сети.

Записал себе в план набросать архитектуру курса blended learning (cейчас Школа использует фейсбук, телеграм, imind, яндекс.диск, почту и ВКонтакте для организации работы -- плюс зоопарк самых разных authoring tools, от Офиса и yEd до видеокамеры, Archi и совсем уж экзотических рисовалок у наших курсантов). Сказать, что связность всех бесед выше, чем она была бы в Teams -- нельзя. Но значительная часть бесед идёт в соцсетях или группах telegram и публична. Но часть наоборот, непублична -- обсуждения в учебных группах, обсуждения по линии менторства. Там обсуждаются рабочие проекты, они не любят яркого света. Вот как правильно поделить внешние и внутренние беседы -- это отдельный вопрос.

Что касается учебных проектов -- идеи из статьи про учебный CAD+PLM остаются в силе (https://ailev.livejournal.com/1473691.html), и будем их потихоньку реализовывать. Но думать и о социальном шлейфе, жизненный цикл курсантов начинается задолго до начала курсов и прекращается сильно после их окончания. С абитуриент-курсант/студент-alumni (при этом ещё для каждого отдельного курса и для школы со множеством курсов в целом -- есть разница) та же онтологическая проблема, что и с issue-task-notice: софт это должен поддерживать, но из коробки ни один софт это поддерживать не будет.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10216340724924791
2:49 pm
Системная инженерия и онтологика
Вчера в Школе на встрече сообщества обсуждали архитектурную практику, и я вспомнил старинный слайд команды Яна Диеца с представлением архитектурного фреймворка xAF (2006, у меня на компьютере он хранится с 2008 и я раньше часто его показывал).

Вон она, "использующая система" (без использования никак нельзя) и даже "целевая система" с прямым указанием object. Описание, которое должно быть онтологично/предметно, указание на реверс-инженерию для надсистемы и прямой инженерии для целевой системы, функциональный анализ и последующий модульный синтез как основное в архитектуре. Учитывая то, что массовый разговор об архитектуре начался где-то с IEEE 1471 в 1995 году, а системная терминология была только-только устаканена в ISO 15288:2003. И это было всё очень круто и ново в 2006, Ян Диец работал на фронтире. Сейчас пыль тех методологических рассуждений об архитектуре уже осела, и это всё общее место. Я давно не использую эту диаграмму в своих слайдах, в учебнике обо всём этом пишу другими словами, но десяток лет назад разглядывание этой картинки мне сильно помогло в понимании архитектурной работы. Так что пусть повисит тут памятником эпохе.

Заодно опять коснулись онтологики в мышлении инженера: шестерёнки часов ещё не показывают время, часы показывают время, дом с часами на стене уже не показывает время -- это про эмерджентность, она определяется на отношении часть-целое, системное мышление это прежде всего про отношения часть-целое. Для уместного разговора нужно говорить на адекватном системном уровне. Но этот разговор всё одно нужно как-то поверять формализмами. Всё системное мышление по факту оказывается про то, что на разных системных уровнях нужно применять разные формализмы для описаний мира. Но! Сами системные уровни -- это мереологический формализм, формализм частей-целого, отношение композиции, а не, например, классификации. У коровы Маргариты есть хвост, корова Маргарита есть часть стада. Часть стада, а не входит в стадо как во множество! И после этого можно говорить, что у стада есть хвост -- тот самый хвост коровы Маргариты. Все молекулы хвоста входят в число молекул стада. Это абсолютно корректно, это позволяет поддерживать управление вниманием на хвосте, корове, стаде -- внимание определяется тут отношением composition/is_part_of. Но в разговоре на раз-два отношение composition заменяется отношением классификации/is_a, принадлежности к стаду как множеству коров. Множество -- это не материальный объект, и принадлежность ко множеству это не отношение часть-целое. Коровы в стаде физическом взаимодействуют и дают эмерджентность (можно, например, говорить о минимальной площади, занимаемой стадом), в стаде как множестве -- не взаимодействуют и не дают эмерджентности. Различиям этим в типах объектов и типах отношений учит онтологика, без этого инженерные рассуждения становятся очень зыбкими, в них могут легко попадать ошибки -- источником ошибок являются естественность языка, который более чем терпим к ошибкам. Формализация позволяет избавляться от ошибок, но должна быть некоторая беглость в этой мыслительной работе с проверкой типов объектов и отношений, чтобы она смогла стать полезной. А пока лихо путаются отношения классификации, специализации, композиции -- системное мышление невозможно.

Я писал об этом в учебнике 2019 года, вот цитата: ""Корова Маргарита имеет своей частью хвост, корова Маргарита является частью коровьего стада. Нехорошо позволять говорить, что коровье стадо имеет хвост, хотя это вроде как корректно. Это корректно, но не системно, и это вроде как интуитивно понятно всем. Но интуитивно непонятно, можно ли говорить, что карбюратор — часть автомобиля. Он отдельная часть автомобиля, или он часть топливной подсистемы, или часть двигателя?! Но интуитивно понятно: неправильно говорить, что поршень или цилиндр двигателя — это часть автомобиля. Формально это верно, но неправильно". Вот это "формально верно" и "системно неправильно" люди не могут обосновать. Разница в том, что они прыгают от отношений is_part_of к отношениям is_a. Когда говорят о стаде как горе мяса и костей и стаде как математическом множестве — не могут различить.

Ещё интересно, как программисты и лингвисты трудно обсуждают системную инженерию. И проблема тут тоже в онтологике. Информатики работают с текстами ("всё есть текст") и их перекодированием/компиляцией/трансляцией в разные представления. Инженерию тексты интересуют прежде всего как описания каких-то систем. Есть модель мира (у инженеров -- системы), есть мир, есть люди-деятели/агенты. Онтологика и научное мышление говорят, как соотносятся модели, мир и агенты. Ибо модели могут помогать предсказывать мир, а могут и не помогать (например, безбожно или божественно врать, а не врать чуть-чуть, ибо совсем не врать модели по определению не могут). Вот инженерия она про мир, а не только про модели мира. А лингвисты и программисты (особенно те, кто любят математику) они обсуждают главным образом только модели, без "заземления" (grounding) их на реальный мир. И разговора поэтому часто не получается -- тоже по онтологическим, а не по инженерным причинам.

Но как поднять онтологическое образование у человека, который даже не знает, что ему нужно подтянуться в этом отношении -- мне пока неведомо. Курсы по онтологике у нас в Школе есть, после них становится сильно лучше, но походы на эти курсы отнюдь не массовы и объяснить, почему на эти курсы нужно идти, получается пока не очень. Но ничего, лиха беда начало. Мы вчера вспоминали, что лет десять назад о подобных курсах онтологики для инженеров и менеджеров можно было только мечтать. А сейчас курсы уже есть, хотя ещё и не полный набор (три курса из запланированных пяти). Завтра у нас день открытых дверей (суббота, с 14 часов на ул.Щипок, https://www.facebook.com/events/493244901513042/, вход свободный), будем стратегироваться в том числе на тему онтологики и инженерии.

Один из ходов тут -- использовать более современные техники обучения, чтобы добиваться учебного результата более эффективно. Тут у нас тоже есть некоторый прогресс: вчерашний семинар включал анонс нашего курса по эффективному самообразованию (его будет вести Кирилл Гайдамака), который основан не на попсовых книжках, а на оригинальных работах когнитивистов (видео: https://www.youtube.com/watch?v=55k5Qsxk1ak). Вот завтра и пообсуждаем, как можно ускорить обучение работы с типами. Чтобы на всех диаграммах люди проверяли типы объектов-прямоугольничков, типы отношений-стрелочек и не забывали при этом хоть как-то помнить, что это не просто картинка, а в чём-то правдоподобное описание кусочка мира.
Tuesday, September 24th, 2019
2:50 pm
lytdybr
Через пару часов на сутки вылетаю в Казань, буду рассказывать участникам очного этапа республиканского конкурса "Инженер года" (http://mpt.tatarstan.ru/rus/respublikanskiy-konkurs-inzhener-goda.htm) про всякое и разное мышление.

А в четверг уже буду учиться работать с MS Teams, целый день (это я потихоньку двигаюсь в сторону реализации blended learning на базе идёй текста про PLM+CAD для образования -- https://ailev.livejournal.com/1473691.html).

Вьюнош сегодня вечером пойдёт на "Схематизацию на салфетке и в уме" (http://system-school.ru/modelling), а 27 сентября на "Онтологику 2.0" (http://system-school.ru/ontologics). Не ЕГЭ единым (pun intended) жив человек.

2 октября 2019 в 19 часов будем презентовать трёхмесячный курс "Кругозор социальных танцев", https://www.facebook.com/events/524159721683015/. Курс получается уникальный, я за лето написал в порядке создания его методики порядка 200 книжных страниц вот тут: https://vk.com/buffdance. Преподавать по вторникам-четвергам будут Ирина Парамонова (мультиданс) и Антон Климат (системный фитнес), а я там методолог. Заодно объявим о старте регулярных занятий по системному фитнесу по средам. Я, кстати, выяснил таки, почему социальный танец не выглядит таким уж трудным по сравнению с сольными танцами, но по факту там трудности не меньше. Проблема в точности: оказывается, для комфортного танца надо приходить в точку баланса на каждом шаге с точностью порядка 1см в момент порядка 0.1 секунды, причём не одному, а в паре (https://vk.com/wall-179019873_293). Из моих личных достижений: используя методологию, я практически без занятий по танго пришёл на милонгу и станцевал там четыре танды -- две танго, одну танго-вальса и одну милонги. Нормально станцевал, метод работает!

В середине октября буду читать в ВШМ НИУ ВШЭ (практически армейские аббревиатуры!) восьмичасовой курс по машинному интеллекту для программы MBA. Рассказывать про машинный интеллект это как рассказывать про просто интеллект -- ничем ведь не отличается. А рассказ про интеллект (с упором на использование, конечно) это рассказ про человеческую цивилизацию. Вот как рассказать про человеческую (причём уже не совсем человеческую) цивилизацию за восемь часов? С учётом того, что рассказывать будущим MBA про устройство машинной части интеллекта всё равно что рассказывать про устройство мозга на всех его многочисленных системных уровнях. Но и не рассказывать, вроде, нельзя. Ибо будет впечатление, что интеллект, как булка, на деревьях растёт. Хотя и это отчасти верно: деревья решений в случайных лесах. Но оно им нужно, про это знать? Вот, https://victorzhou.com/blog/intro-to-random-forests/, для самых новичков -- и мне кажется, что этого для MBA знать не нужно. Но вот про то, что сумма труда в мире не является константой, и поэтому машинный интеллект не может "отобрать работу" -- вот про это знать нужно. И ещё нужно знать про то, сколько стоит сегодня state-of-the-art машинного интеллекта (ой, много! но если не совсем state-of-the-art, то неожиданно дешевле грибов). И про многое другое, что нужно знать про человеков, если собираешься ими руководить. Многое нужно знать, но из устройства человеков нужно знать только то, что этому устройству нужно за работу адекватно платить и не урабатывать за эту оплату до смерти.
12:54 pm
Литература по семантике через теорию типов
Дмитрий Борисоглебский для своих штудий подготовил список статей о семантике через теории типов, но текст оказался слишком большим, чтобы поместиться в коммент. Так что я даю его тут отдельным постом (и спасибо Дмитрию!).

2019 A Topos-Based Approach to Building Language Ontologies https://link.springer.com/chapter/10.1007%2F978-3-662-59648-7_2
2019 Anatomy of a proposition https://link.springer.com/article/10.1007%2Fs11229-017-1512-y
2019 Automorphisms of Types and Their Applications https://link.springer.com/article/10.1007%2Fs10958-019-04386-8
2019 Automorphisms of types in certain type theories and representation of finite groups https://www.cambridge.org/core/journals/mathematical-structures-in-computer-science/article/automorphisms-of-types-in-certain-type-theories-and-representation-of-finite-groups/7370BD6B69583FA648B3E9BB82766E86
2019 Knowledge representation and formal reasoning in ontologies with Coq https://link.springer.com/chapter/10.1007%2F978-3-319-91008-6_74
2019 Natural Language Semantics and Computability https://link.springer.com/article/10.1007%2Fs10849-019-09290-7
2019 Practical subtyping for curry-style languages https://dl.acm.org/citation.cfm?doid=3299867.3285955
2019 Representing Types as Neural Events https://link.springer.com/article/10.1007%2Fs10849-019-09285-4
2018 A Type-Safe APProach to Identifying and Merging Changes in Complex Information Objects https://www.sciencedirect.com/science/article/pii/S1877050918323949?via%3Dihub
2018 Collecting weighted coercions from crowd-sourced lexical data for compositional semantic analysis https://link.springer.com/chapter/10.1007%2F978-3-319-93794-6_15
2018 Handling verb phrase anaphora with dependent types and events https://link.springer.com/chapter/10.1007%2F978-3-662-57669-4_12
2018 On subtyping in type theories with canonical objects http://drops.dagstuhl.de/opus/volltexte/2018/9849/
2018 Particular types and particular dependence http://ebooks.iospress.nl/publication/50242
2018 The Coinductive Formulation of Common Knowledge https://link.springer.com/chapter/10.1007%2F978-3-319-94821-8_8
2018 Theories as Types https://link.springer.com/chapter/10.1007%2F978-3-319-94205-6_38
2018 Type theory in the semantics of propositional attitudes https://www.pdcnet.org/eps/content/eps_2018_0055_0004_0026_0037
2018 Type-Theoretical foundations of the derivation system in Coq https://ieeexplore.ieee.org/document/8516885/
2017 Adjectival and Adverbial Modification: The View from Modern Type Theories https://link.springer.com/article/10.1007%2Fs10849-017-9246-2
2017 An analysis of selectional restrictions with dependent type semantics https://link.springer.com/chapter/10.1007%2F978-3-319-61572-1_2
2017 Collecting weighted coercions from crowd-sourced lexical data for compositional semantic analysis https://link.springer.com/chapter/10.1007%2F978-3-319-93794-6_15
2017 Composing criteria of individuation in copredication https://academic.oup.com/jos/article-abstract/34/2/333/2555474?redirectedFrom=fulltext
2017 Dependent event types https://link.springer.com/chapter/10.1007%2F978-3-662-55386-2_15
2017 The essence of functional programming on semantic data https://link.springer.com/chapter/10.1007%2F978-3-662-54434-1_28
2017 Type-safe programming with OWL in Semantics4J http://ceur-ws.org/Vol-1963/paper549.pdf
2016 A descriptive type foundation for RDF Schema https://www.sciencedirect.com/science/article/pii/S2352220816300037?via%3Dihub
2016 A Dynamic Editor of Typed Data Transformations https://www.sciencedirect.com/science/article/pii/S187705091631883X?via%3Dihub
2016 Adding agility to enterprise process and data engineering http://www.iiis.org/CDs2016/CD2016Spring/papers/ZA878YI.pdf
2016 Challenges in the computational implementation of montagovian lexical semantics https://link.springer.com/chapter/10.1007%2F978-3-319-61572-1_7
2016 Contextualization and dependency in state-based modelling - application to event-B https://link.springer.com/chapter/10.1007%2F978-3-319-66854-3_11
2016 Frames as records https://link.springer.com/chapter/10.1007%2F978-3-662-53042-9_1
2016 Inquiry into RDF and OWL semantics https://link.springer.com/chapter/10.1007%2F978-3-319-50112-3_2
2016 Left Subsectivity: How to Infer that a Round Peg is Round https://onlinelibrary.wiley.com/doi/abs/10.1111/1746-8361.12159
2016 Making explicit domain knowledge in formal system development https://www.sciencedirect.com/science/article/pii/S0167642315004153?via%3Dihub
2016 Modeling co-verbal gesture perception in Type Theory with Records https://annals-csis.org/proceedings/2016/drp/83.html
2016 Proof assistants for natural language semantics https://link.springer.com/chapter/10.1007%2F978-3-662-53826-5_6
2016 Semantics with dependent types for indefinites https://content.sciendo.com/view/journals/slgr/46/1/article-p173.xml
2016 Type-theoretic Means for Querying Heterogeneous Data Sources Available via Cloud APIs https://linkinghub.elsevier.com/retrieve/pii/S1877050916318786
2015 A type-theoretic approach to cloud data integration http://www.scitepress.org/DigitalLibrary/Link.aspx?doi=10.5220/0005495301640169
2015 Computing the semantics of plurals and massive entities using many-sorted types https://link.springer.com/chapter/10.1007%2F978-3-662-48119-6_11
2015 Descriptive types for linked data resources https://link.springer.com/chapter/10.1007%2F978-3-662-46823-4_1
2015 Formal semantics for perceptual classification https://academic.oup.com/logcom/article-abstract/25/2/335/954129?redirectedFrom=fulltext
2015 Minimal type inference for Linked Data consumers https://www.sciencedirect.com/science/article/pii/S2352220814001011?via%3Dihub
2015 On isomorphism of dependent products in a typed logical framework http://drops.dagstuhl.de/opus/volltexte/2015/5501/
2015 Toward a type-theoretical approach for an ontologically-based detection of underground networks https://link.springer.com/chapter/10.1007%2F978-3-319-25159-2_8
2015 Towards modeling natural language inferences with part-whole relations using formal ontology and lexical semantics http://ceur-ws.org/Vol-1517/JOWO-15_FOfAI_paper_6.pdf
2015 Towards the automated business process building by means of type theory https://dl.acm.org/citation.cfm?doid=2723839.2723847
2015 Types, meanings and coercions in lexical semantics https://www.sciencedirect.com/science/article/pii/S0024384115000029?via%3Dihub
2015 Using signatures in type theory to represent situations https://link.springer.com/chapter/10.1007%2F978-3-662-48119-6_13
2014 Adverbs in a modern type theory https://link.springer.com/chapter/10.1007%2F978-3-662-43742-1_4
2014 Definitional extension in type theory http://drops.dagstuhl.de/opus/volltexte/2014/4635/
2014 Deverbal Semantics and the Montagovian Generative Lexicon ΛTyn https://link.springer.com/article/10.1007%2Fs10849-014-9187-y
2014 Formal semantics in modern type theories: Is it model-theoretic, proof-theoretic, or both? https://link.springer.com/chapter/10.1007%2F978-3-662-43742-1_14
2014 Modelling the semantic web using a type system https://dl.acm.org/citation.cfm?doid=2630602.2630607
2014 Monotonicity reasoning in formal semantics based on modern type theories https://link.springer.com/chapter/10.1007%2F978-3-662-43742-1_11
2014 Natural Language Inference in Coq https://link.springer.com/article/10.1007%2Fs10849-014-9208-x
2014 Small satellite systems design methodology: A formal and agile design process https://ieeexplore.ieee.org/document/6819305/
2014 Specifying well-formed part-whole relations in Coq https://link.springer.com/chapter/10.1007%2F978-3-319-08389-6_14
2014 The montagovian generative lexicon λTyn: A type theoretical framework for natural language semantics http://drops.dagstuhl.de/opus/volltexte/2014/4633/
2014 Typed hilbert epsilon operators and the semantics of determiner phrases https://link.springer.com/chapter/10.1007%2F978-3-662-44121-3_2
2014 TyS - A framework to facilitate the implementation of object-oriented type checkers http://ksiresearchorg.ipage.com/seke/seke14paper/seke14paper_6.pdf
2014 Using signatures in type theory to represent situations https://link.springer.com/chapter/10.1007%2F978-3-662-48119-6_13
2014 Vagueness and learning: A type-theoretic approach https://aclweb.org/anthology/S14-1019
2013 A type-checking algorithm for Martin-Löf type theory with subtyping based on normalisation by evaluation https://link.springer.com/chapter/10.1007%2F978-3-642-38946-7_12
2013 A typed approach for contextualizing the part-whole relation https://link.springer.com/chapter/10.1007%2F978-3-642-40972-1_1
2013 Adjectives in a modern type-theoretical setting https://link.springer.com/chapter/10.1007%2F978-3-642-39998-5_10
2013 Coercive subtyping: Theory and implementation https://www.sciencedirect.com/science/article/pii/S0890540112001757?via%3Dihub
2013 Definitional extension in type theory http://drops.dagstuhl.de/opus/volltexte/2014/4635/
2013 Formal foundations for situation awareness based on dependent type theory https://linkinghub.elsevier.com/retrieve/pii/S1566253512000322
2013 Logical polysemy and subtyping https://link.springer.com/chapter/10.1007%2F978-3-642-39931-2_2
2013 Modelling language, action, and perception in type theory with records https://link.springer.com/chapter/10.1007%2F978-3-642-41578-4_5
2013 Modeling ontological structures with type classes in Coq https://link.springer.com/chapter/10.1007%2F978-3-642-35786-2_11
2013 The montagovian generative lexicon λTyn: A type theoretical framework for natural language semantics http://drops.dagstuhl.de/opus/volltexte/2014/4633/
2012 A Constructive Type-Theoretical Formalism for the Interpretation of Subatomically Sensitive Natural Language Constructions https://link.springer.com/article/10.1007%2Fs11225-012-9431-x
2012 A contextual type theory with judgemental modalities for reasoning from open assumptions https://www.jstor.org/stable/44085222
2012 A modal type theory for formalizing trusted communications https://linkinghub.elsevier.com/retrieve/pii/S1570868311000668
2012 A Type-Theoretical Approach for Ontologies: the Case of Roles https://content.iospress.com/articles/applied-ontology/ao113
2012 An account of natural language coordination in type theory with coercive subtyping https://link.springer.com/chapter/10.1007%2F978-3-642-41578-4_3
2012 Common nouns as types https://link.springer.com/chapter/10.1007%2F978-3-642-31262-5_12
2012 Formal semantics in modern type theories with coercive subtyping https://link.springer.com/article/10.1007%2Fs10988-013-9126-4
2012 Logical polysemy and subtyping https://link.springer.com/chapter/10.1007%2F978-3-642-39931-2_2
2012 Modelling language, action, and perception in type theory with records https://link.springer.com/chapter/10.1007%2F978-3-642-41578-4_5
2012 Type-theoretical dynamics: Exploring belief revision in a constructive framework https://link.springer.com/chapter/10.1007%2F978-94-007-1923-1_11
2012 Type Theory and Semantics in Flux http://lecomte.al.free.fr/ressources/PARIS8_LSL/ddl-final.pdf
2012 Variable types for meaning assembly: A logical syntax for generic noun phrases introduced by most https://journals.openedition.org/rlv/2082
2011 A focused sequent calculus framework for proof-search in pure type systems https://arxiv.org/abs/1012.3372
2011 A single-type logic for natural language https://academic.oup.com/logcom/article/25/4/1111/965440
2011 Contextual analysis of word meanings in type-theoretical semantics https://link.springer.com/chapter/10.1007%2F978-3-642-22221-4_11
2011 Copredication, quantification and frames https://link.springer.com/chapter/10.1007%2F978-3-642-22221-4_5
2011 Using a dependently-typed language for expressing ontologies https://link.springer.com/chapter/10.1007%2F978-3-642-25975-3_23
2011 Using formal methods with SysML in aerospace design and engineering https://link.springer.com/article/10.1007%2Fs10472-011-9267-5
2010 A formal ontology for a computational approach of time and aspect https://link.springer.com/chapter/10.1007%2F978-3-642-14770-8_7
2010 Constructions for modeling product structure http://ceur-ws.org/Vol-614/owled2010_submission_10.pdf
2010 Four semantic layers of common nouns https://link.springer.com/article/10.1007%2Fs11229-009-9533-9
2010 Frames in formal semantics https://link.springer.com/chapter/10.1007%2F978-3-642-14770-8_13
2010 Logic for modeling product structure http://dl.kr.org/dl2010/papers/paper_14.pdf
2010 Modeling Contexts with Dependent Types https://content.iospress.com/articles/fundamenta-informaticae/fi104-4-01
2010 Towards a Type-Theoretical Account of Lexical Semantics https://link.springer.com/article/10.1007%2Fs10849-009-9113-x
2010 Towards Ontological Correctness of Part-whole Relations with Dependent Types http://ebooks.iospress.nl/publication/5591
2010 VeriML: Typed computation of logical terms inside a language with effects https://dl.acm.org/citation.cfm?doid=1863543.1863591
2009 Meta-relation and ontology closure in conceptual structure theory https://link.springer.com/article/10.1007%2Fs10506-009-9082-z
2009 Reasoning about relations with dependent types: Application to context-aware applications https://link.springer.com/chapter/10.1007%2F978-3-642-04125-9_20
2009 Towards an ontological modeling with dependent types: Application to part-whole relations https://link.springer.com/chapter/10.1007%2F978-3-642-04840-1_13
2008 A theorem prover with dependent types for reasoning about actions http://ebooks.iospress.nl/publication/4578
2008 Causal reasoning with contexts using dependent types https://www.aaai.org/Papers/FLAIRS/2008/FLAIRS08-029.pdf
2008 Towards a conceptual structure based on type theory https://pdfs.semanticscholar.org/e485/58aaef2c17cc85f2d969aaa19c6f791d4001.pdf
2008 Type theory with records and unification-based grammar https://pdfs.semanticscholar.org/30bc/0277d55a9a40e52741cafe83d32570f793f9.pdf
2007 An epistemic constructive definition of information https://www.jstor.org/stable/44084876
2007 Dependent record types for dynamic context representation https://doi.org/10.1007/978-1-84628-663-6-15
2007 Goal reasoning with context record types https://link.springer.com/chapter/10.1007%2F978-3-540-74255-5_13
2007 Interpreting metaphors in a new semantic theory of concept https://link.springer.com/chapter/10.1007%2F978-3-540-69902-6_16
2007 On the representation of imperative programs in a logical framework https://link.springer.com/chapter/10.1007%2F978-3-540-75867-9_26
2007 Using contexts to prove and share situations https://pdfs.semanticscholar.org/37eb/7936ad526ff076dcf2bfb93f49fad904db96.pdf
2006 A sequent calculus for type theory https://link.springer.com/chapter/10.1007%2F11874683_29
2005 Abstraction and ontology: Questions as propositional abstracts in type theory with records https://academic.oup.com/logcom/article-abstract/15/2/113/1079197?redirectedFrom=fulltext
2005 Austinian truth, attitudes and type theory https://link.springer.com/article/10.1007%2Fs11168-006-0002-z
2005 Records and record types in semantic theory https://academic.oup.com/logcom/article/15/2/99/1079193
2005 Situation semantics: The ontological balance sheet https://link.springer.com/article/10.1007%2Fs11168-006-6329-7
2004 Ontological feedback in multiagent systems https://ieeexplore.ieee.org/document/1373469?section=abstract
2004 Types for Web Rule Languages: a preliminary study. Technical report A04-R-560 https://hal.inria.fr/inria-00099859/document
2003 A constructive approach to state description semantics https://www.sciencedirect.com/science/article/pii/S157086830300003X?via%3Dihub
2003 Constructive semantics for extensional PTQ https://ieeexplore.ieee.org/document/1232871
2000 Formalizing Context in Intuitionistic Type Theory https://content.iospress.com/articles/fundamenta-informaticae/fi42-2-01
1996 Type theoretic semantics for semnet https://link.springer.com/chapter/10.1007%2F3-540-61313-7_102
1995 Towards high-level deductive program synthesis based on type theory https://ieeexplore.ieee.org/document/490133
1992 An implementation of the entity-relationship model in type theory https://ieeexplore.ieee.org/document/271931
1991 Formal representation of semantic data models in type theory https://ieeexplore.ieee.org/document/729670

UPDATE: обсуждение в чатике по типам -- https://t.me/typeslife/4853
Thursday, September 19th, 2019
2:03 pm
Дискуссия о типах и SysMoLan продолжается
Обсуждение SysMoLan в чате представления жизни типами (https://t.me/typeslife) не утихает.

Философская логика
В частности, там пришёл Brenoritvrezorkre (The name Brenoritvrezorkre is written in Gloatre, a language invented by Vordb Dréagvor Uèzréèvb, https://katab.asia/2018/10/16/zurghtapre-of-cannibals/, Бреноритврезоркре — плохая примета, дурное предзнаменование) и рассказал всем, как нужно заниматься экдурантизмом и пердурантизом в частности и философской логикой в целом (для начала читать 18 томов учебника, вот ссылка на том 18, остальные сами найдёте -- https://b-ok.cc/book/3662367/9d5f0c. Не знаю, насколько знание этих восемнадцати томов может помочь в нашей задаче выразить в типах языка программирования понятия системного подхода в том небольшом объёме, который есть в учебнике (и для начала IEC81346 как подмножество этих понятий. Хотя это я лукавлю, стандарт-то большой и заковыристый, понятий там предостаточно). Знание этих восемнадцати томов учебника может помочь IMHO примерно так же, как знание всех томов Кнута может помогает программистам в их работе. И для меня неважно абсолютно, что такое possible worlds в логическом формализме и какая там история их создания. Для меня важно ровно то, что я могу при помощи possible worlds принимать решения в своём проекте: говорить о том, какая именно модель будет реализовываться и какие последствия будут от тех или иных моих решений, и как связаны мои планы и актуальное состояние. Абсолютно прикладное использование, реализация прагматического поворота в философии. Нет использования — не нужно обсуждать этот формализм, есть использование — нужно обсуждать.

Тем не менее, какое-то знание философской логики всё-таки помогает чуток разобраться. Скажем, меня прежде всего волнует описание физического мира в первую очередь, и в концептах системного подхода, а не описание описаний в любых концептах (например, при помощи очень часто встречающихся в IT URI и даже URL). Поэтому у меня ключевой вопрос про моделирование IEC81436, где в том числе обсуждается вопрос привязки документов к системам, а у justy_tylor ключевой вопрос про работу с документами без их привязки к системам.

Конечно, любое описание деталей Боинга (например, по три описания на каждую деталь — их сразу будет 18млн.) будет иметь URI и даже URL. Но я просто не хочу забывать, что это всё описания каких-то деталей Боинга. И идентификация по URI мне мало даёт понимания, где во вселенной мне искать эту деталь, часть чего она и для чего используется. Ибо URI это только про описания, про сферические информационные системы-в-вакууме. Я же изначально задаюсь вопросом, информация о чём в этих информационных системах. У меня не логистическая задача, а содержательная: мне ж нужно методы работы не с описаниями брать, а методы работы с domain.

Да, я согласен, что управление конфигурацией это смежная дисциплина: появление и трансформация объектов в ответственности инженеров, а уже учёт появившегося и логистика это сразу объект менеджеров. Но считать, что всё сводится только к информационной стороне вопроса я не готов. Из коробки должно быть отношение representation к физическому миру.

Так что для меня экстенсионализм про вот это, и поэтому я как-то готов обсуждать и экстенсионализм (о котором мы знаем именно из учебников философской логики).

Дальше там был короткий спор про философию как таковую (моё отношение к философии как к художественной литературе, особенно в стране победившей истории философии вместо философии, см. "О философах как властителях душ" https://ailev.livejournal.com/1128233.html и там дальше про этих властителей дум роскошные комменты). Но это всё было сочтено оффтопом к теме чата.

Естественный язык против формул
Ещё темой было использование естественного языка -- почему мы не можем от него отказаться и говорить только формулами. [байка он] Лет так пять назад я попал на конференцию по аналитической философии, делал это руководитель логико-философского кружка ВШЭ Виктор Горбунов. Он сильно удивлялся, откуда инженеры знают про possible world и Дэвида Льюиса. Но занятно было другое: шли обычные для конференции разговоры-разговоры разных докладчиков, не произносилось ни одной формулы, всё как обычно. Но вдруг кто-то из зала сказал: "я, кажется, понял!". Он вышел к доске и исписал в гробовой тишине всю доску формулами. Ему поправили из зала одну ошибку (даже не ошибку — он мелом плохо нарисовал точку над одним из квадратиков), и дальше до конца дня ни в речах, ни на доске никаких формул не было. [байка офф]

У каждого человека свои представления в голове об уровне формализма, на котором он хочет работать. И работать нужно на полном спектре мышления, а не всё время "в формулах". Фишка в том, чтобы двигаться по спектру формальности мышления, а не просто работать в рамках одного формализма всё время (у меня про это много больше в книжке "Визуальное мышление", https://ridero.ru/books/vizualnoe_myshlenie/ или её можно взять бесплатно в info чата, можно посмотреть ещё вышедшие до этой книжки короткие тексты по развитию мышления -- https://ailev.livejournal.com/1425003.html и про творчество в системном мышлении https://ailev.livejournal.com/1425331.html).

На помянутой в байке конференции доклады были все об идеях Крипке, Льюиса и их коллег, но без формул. С формулами была только вот та самая вставка. Как я понимаю, людей на логическом отделении философского факультета учат отождествлять текст и формулы в обе стороны — формализовывать и деформализовывать. Поэтому они не стесняются говорить о формальном и текстом тоже, это абсолютно нормально. С архитектурными моделями точно так же: Дэвид Файерсмит предупреждает всех, что из архитектурной документации ни в коем случае не должен уходить текст и оставаться только модели на формальных языках моделирования -- ибо даже сам смысл выбора тех, а не иных способов моделирования (viewpoints) должен обосновываться текстом и представляться в составе документации, равно как и самое верхнеуровневое описание в виде "архитектурного эссе".

Почему для работы с формальными системами (особенно, если их несколько одновременно в рассмотрении) нужно иметь и естественный язык — об этом любит рассуждать John Sowa (родоначальник computational ontology, он и до сих пор бодрый дядька, недавно его чуть в сообществе Ontolog FORUM не забанили — он там сильно наехал на создателей очередного всеобщего онтологического ISO по поводу их заблуждений, там работала уже административная машинка и голосовательные популистские механизмы, а John "вынул гранату, кинул в окно — дедушка старый, ему всё равно". Я там член попечительского совета, с интересом наблюдал за этой историей борьбы здравого смысла с бюрократической политкорректностью. Онтологии дело нервное!). Так что формализмы и естественный язык нормально сосуществуют, и это не бага, это фишка/фича.

Народные онтологии
Обсуждали в том числе и использование народной (из общепринятых словарей) онтологии -- ибо были сделаны попытки использования теории типов с интерпретацией на базе "просто из вебстера". то у меня превращается. Вопрос на практике возник из непонимания, как делать системы тегов: на основе какой-то таксономии (которые вроде бы хоть как-то логически выверялись), или на основе народных представлений ad hoc (folksonomy). Любили при этом поговорить о фасетной классификации и всяких подобных материях. Потом оказалось, что:
а) предмет интереса во времени плывёт, и из старых текстов берут вовсе не ту информацию, по которой они были протегированы
б) полнотекстовый поиск заменяет все эти теги

Онтологии — это просто добавление к таксономиям разных типов отношений. Дальше мы уже обсуждали тут, что Грубер определил computational ontology как формализацию для концептуализации предметной области, но его поправили, заявив, что это должна быть shared концептуализация — то есть речь идёт о разделяемой (каким-то сообществом, folk) картине мира, а не любой картине мира.

Дальше понимаем, что народные онтики (куски онтологий без вписывания их в общую upper ontology и без требований внутренней непротиворечивости) и разные феноменологические онтики по факту совпадают друг с другом. Неважно, теория у тебя народная или бывшая научная теория флогистона, если ты попал в мир, описываемый современными термодинамическими моделями. При этом появляется вопрос о том, какой (онтологический ли или нет) статус носят модели термодинамики в тот момент, когда они уже есть, но только сформулированы и поэтому ещё никак не shared. Поэтому слово shared опять начало исчезать: когда выяснилось, что в какой-нибудь инженерии или оргуправлении даже программист способен включить в себе роль онтолога и путём приложения мозга существенно упорядочить исторические напластования концептов, даже не выходя на рассуждения об upper ontology. Модели мира при этом получались компактней, реализации софта компактней и надёжней, людям становилось легче работать.

А потом и вообще пошли разговоры, что нужно безо всяких этих upper ontology разговоров просто стараться чуток улучшить местные представления о мире. Но брать значения из словаря общих слов (народная интерпретация, под ней всегда есть какая-то феноменология), если речь не идёт о чём-то узкоотраслевом — эта рекомендация исторически остаётся.

У нас совершенно конкретная предметная область. И проход улучшения феноменологии для концептов из учебника был, это несколько лет обсуждалось в сообщстве Русского отделения INCOSE, обкатывалось на разных учебных курсах, понимание уточнялось и по возможности согласовывалось с современными онтологическими представлениями (в том числе представлениями из книжки BORO). Формализом там, конечно, и не пахнет, ну так я ж особо и не настаиваю — просто потихоньку обсуждаются разные уровни этого формализма (там ведь эти формализмы до самого низа, и всегда будут проблемы, не хотелось бы их прихватывать, начиная от уровня проблем оснований математики).

Foundational ontology и солвер для неё как менеджмент внимания/управление данными
В какой-момент я в очередной раз прояснил свой интерес в дискуссии: предположим, я пытаюсь сделать язык для системных описаний/моделирования, при этом заявляю, что где-то под ним должен лежать более общий язык онтологического моделирования. То есть foundational ontology, над ней upper ontology без понятия "система" (зато там понятие агента, возможных миров и т.д. -- онтологическое моделирование как таковое), а уже дальше middle ontology как системная онтология, системные концепты как только одна из рабочих онтологий в рамках upper ontology. Это вроде как должно быть удобно, когда приходится миксовать системные и не системные (каковых большинство, конечно) рассуждения.

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

Я придерживаюсь сейчас этой позиции, примерно это же предложил Matthew West с его HQDM в альтернативу онтологии ISO15926, а также некоторые другие неожиданные товарищи (типа СМД-методологов, регулярно обсуждающих этот вопрос -- ибо для них в силу их гуманитарной ориентированности концепты upper ontology как-то неразрывно связаны с рассуждениями о боге, но хочется иметь светскую upper ontology, для чего и интересует системный подход как основа светской онтологии -- это эхо, конечно, чисто метафизической дискуссии, привет из прошлого. Тем не менее, это пример того, что желающих иметь системную upper ontology "из коробки" достаточно много и кроме меня и Matthew West).

Так что я за то, чтобы делать сразу системный моделер, а не сначала общеонтологический, а затем на нём системную специализацию. То есть не моделер типа Protege-дляOWL-только-не-OWL-а-лучше, или моделер для MOF-UML, а уж потом их специализировать до моделера SysMoLan, а сразу моделер SysMoLan.

И да, я понимаю, что работать в этом моделере придётся с самыми разными описаниями. Но нельзя терять тот аспект, что эти описания привязываются друг ко другу, и в конечном итоге к системам. Поэтому имена, к которым все эти описания привязываются в конечном итоге, важны. Стандарт IEC81346 даёт best practices в том, как делать имена для систем, и даже даёт best practices, как делать имена для документации этих систем (хотя этот вопрос там и не главный и значительно хуже проработан. Может, в последние годы там что-то изменилось с именами описаний, тоже вышли какие-нибудь практические рекомендации). Конечно, любое описание деталей Боинга (например, по три описания на каждую деталь — их сразу будет 18млн.) будет иметь URI и даже URL. Но я просто не хочу забывать, что это всё описания каких-то деталей Боинга. И идентификация по URI мне мало даёт понимания, где во вселенной мне искать эту деталь, часть чего она и для чего используется. Ибо URI это только про описания, про сферические информационные системы-в-вакууме. Я же изначально задаюсь вопросом, информация о чём в этих информационных системах. У меня не логистическая задача, а содержательная: мне ж нужно методы работы не с описаниями брать, а методы работы с domain.

Да, я согласен, что управление конфигурацией это смежная дисциплина: появление и трансформация объектов в ответственности инженеров, а уже учёт появившегося и логистика это сразу объект менеджеров. Но считать, что всё сводится только к информационной стороне вопроса я не готов. Из коробки должно быть отношение representation к физическому миру.

Дальше было заявление justy_tylor "Тут у нас разница в интересах. Если придерживаться "онтологической" терминологии, то мой интерес это foundational ontology. Я считаю, что только построив foundational, и подтвердив её удобство в мэппинге между используемыми на практике представлениями данных и modeling approaches, можно построить приемлемую upper ontology над ними. Потому что обратный подход (upper без приличной foundational) мы уже наблюдали, в том числе, в ISO 15926, и получались какие-то untested beliefs. Поэтому вопросами upper я не занимаюсь - рано".

Для меня это уже было понятно, для меня это звучит как:
1. Foundational ontology для моделирования описаний, но не для моделирования мира в целом
2. Foundational ontology для upper ontology из классической онтологики, без акцентов на системном подходе.

Это выборы justy_tylor в уже высказанной развилке: системное мышление в рамках upper ontology или системное мышление в рамках middle ontology. При этом я с тяжёлым вздохом говорю, что ни upper, ни systems middle ontology действительно ни при чём при выборе foundational.

Но дальше есть некоторое соображение. Я в своё время начинал работать в исследовательском вычислительном центре, где разрабатывалось много-много компиляторов, языков программирования и т.д.. И было поэтому много-много людей, которые занимались формальной семантикой языков. И почему-то успех был в ЖЦ, когда создавалось полностью неформальное ad hoc решение на диких эвристиках, и эти дикие эвристики вдруг оказывались хорошими, под них люди кряхтели и подыскивали формализм, потом подхакивали эту эвристику, чтобы не поломать её об формализм и дальше получали формальное успешное решение. А вот где сначала был формализм, потом попытки его "прикласть" через создание "прикладного языка с формализом внутри" — вот тут всё плохо было обычно. Учёные восхищались, система входила во все учебники как "удивительно простая и элегантная, решение всех проблем" — но популярности эта "элегантность и компактность формализма" явно не добавляла. Монады хаскела можно отнести к очередным примерам (пока хаскел с 1990 года уже 30 лет "продолжает набирать популярность", успел стать суперпопулярным и потом умереть тот же эклектичный перл, родившийся примерно в то же время, в 1987 году, а Питон от 1989 года успел стать суперпопулярным и не умереть). Оказывается, формализмы и обильная математика под языками программирования не являются гарантами их популярности -- и даже наоборот, как-то коррелируют с непопулярностью!

Поэтому я интересовался: можно ли как-то эвристически забабахать моделер SysMoLan как "не основанного на крутой математике языка", а потом (в случае успеха) задним числом ему что-то там формализовать, если это хоть чему-нибудь поможет. Но попал в тусовку "формализаторов передним числом", вместо обсуждения выражения SysMoLan в типах языка программирования (например, Julia, но можно было бы и какого другого -- ибо в Julia можно было бы потом сделать "по образу и подобию") идёт обсуждение выражения языка в типах теории типов!

ISO 15926 рухнул IMHO ровно из-за выбора мощного рудиментарного формализма триплами. Триплами можно что-то выразить на очень низком уровне, это foundational ассемблер и должен быть очень глубоко под капотом. До удобных шаблонов с n-арностью в выражении мира мир ISO15926 так и не дорос, ло. Если бы сразу были шаблоны, то всё ещё могло бы состояться. А потом эти шаблоны бы посадили на какой-нибудь формализм, а хоть и те же триплы. Но потом, когда бы всё уже было понятно как устроено и был бы опыт моделирования. А иначе — 18 триплов, описывающих величину с указанием единицы измерения, я помню (). И никакого практического способа указать "x=5кг" вот этими вот пятью символами, ибо "шаблоны и как их выразить, чтобы не порушить формализм" было выдумано явно несвоевременно.

Прорывы типа реляционного формального исчисления и SQL — ну, это ошибка выжившего. Всегда есть исключения, которые на слуху именно потому, что они выжили. За счёт чего они выжили? Я высказывал какие-то свои соображения по поводу де-факто разделения языков управления данными и языка вычислений над данными. Это зыбкая граница в computer science и даже software engineering, но уж какая есть.

Так что я интересуюсь в чате у знатоков языков программирования: как принято типами языков программирования выражать онтологии? А мне отвечают: сначала нужно иметь foundational ontology, чтобы выражать онтологические upper ontology типы, для этого нужно придумать формализм, для него сделать солвер, и уж потом это всё выражать в Julia. Я время от времени задаю вопрос про "можно ли прямо типами языка и структурами данных Julia?" и получаю ответ, что нет — ибо должен быть не GPL+eDSL с моими типами и структурами данных, а GPL+язык запросов+солвер-с-формализом. Но поскольку время от времени появляются разные варианты ответов, то я продолжаю внимательно слушать.

Дискуссия дальше идёт о том, нужна ли вообще upper ontology или сразу микротеории без upper (но само понятие микротеории тогда как выражать? из какой оно онтологии?), а foundational ontology это и есть "новый upper" (у байесовцев в ML это называется innate priors — те концепты, что мы не можем выучить из мира и таки должны задать "в аппаратуре/алгоритме обучения"). Я готов и это обсуждение поддержать. Но моя мысль, что вот это "реализованное в аппаратуре" должно бы включать мир (физичный), модели (описание) и тех, кто описывает (агентов с их предпочтениями в интересах и намерениями по изменению мира, для чего им и нужны модели). А поскольку мир и агентов и описания, то можно смело туда сразу записывать и системный подход, как уточняющий тем, как управлять вниманием в мире. Управление вниманием, системное мышление из менеджерских/логистических краёв, оно не про трансформации.

Собственно, про это "управление вниманием", "менеджерское/логистическое" программирование для того, чтобы предоставить данные для трансформации возникло как моя реакция на реплику justy_tylor по поводу задач, которые он считает важным для языка работы с foundational ontology: "осуществление логического вывода (прямо в этом представлении), двухсторонний мэппинг с другими представлениями (оптимизированными под конкретные предметки), визуализация (таблицы, деревья, диаграммы), интеграция фрагментов описаний, разрешение конфликтов интеграции (как автоматически на машинном уровне, так и в diff-merge утилитах с участием человека), и так далее".

Для меня в этой реплике были перечислены чисто логистические/управленческие данными/базоданческие задачи/управление вниманием над памятью — работа не по содержанию, а "взять нужный кусок и отдать кому-нибудь содержательному для вычислений/трансформаций" плюс "взять у содержательных людей/программ кусок и добавить к имеющемуся". У меня все менеджеры примерно так и думают про системы обеспечения: им всё равно, что там потом за содержание, откуда берутся и в чём состоят содержательные задачи. Вот и появляются инфраструктурные навороты, которыми потом никто не пользуется.

Содержательные задачи не требуют логического вывода, они лучше решаются по другому. Это для логистики (выбрать те данные, с которыми потом будет что-то интересное делаться) важно.

То есть получается, что есть один язык для собственно работы (какая-нибудь Julia), а все эти выводы-мэппинги и т.д. это управление памятью и вниманием над памятью (какой-нибудь SQL).

И все эти заходы на морфизмы — у меня прямо таки все кейсы перед глазами, когда менеджеры рассуждают про строительство предприятий, стараясь абстрагироваться, спички эти предприятия выпускают, вебсайты, или ракеты на Марс. Опыт показывает, что в итоге предприятие работает очень хорошо, пока у инвестора деньги не кончаются. Если строишь завод самолётов, то завод будет работать хорошо, только самолёты могут не летать )))

Надо будет подумать. Современный AI, конечно, все задачи сводит к управлению вниманием и памятью сегодня, но в знаниях не всё можно "вспомнить" или "найти где лежит". Чтобы в базе данных что-то появилось, туда нужно что-то класть. Языки запросов, как известно, базу данных не меняют, почему их и называют языками запросов. Это потом почему-то хочется туда и запись информации вставить. Всегда хочется.

Надо будет ещё подумать, почему эта формализация мне менеджеров против инженеров напоминает. При этом абсолютно понятно, что для логистики "что угодно достаём откуда угодно и транспортируем в заданном формате куда угодно, гарантируя непотерю содержания" и работы "делаем преобразования" требуются разные архитектуры, разные языки, разные способы работы. PLM и мэппинг — это про логистику, это ж lifecycle management, менеджмент. В принципе, инженер без логистики ничего делать не может (задачу он получает, входные данные и материалы получает, выход тоже у него уходит куда-то в другое место). Но разделение "логистика/внимание vs трансформация" при всей его неуловимости в области информационных технологий и математике по крайней мере хоть как-то объясняет мне происходящее. Разделение труда: одни на фортране считают режимы, а другие на логическом языке SQL (pun intended) выдирают из общих описаний материал, на котором первые считают эти самые режимы. Все довольны, всем счастье. Языки не представления знаний, а управления данными и инженерные языки для предметных вычислений. Хм. Как-то подозрительно всё сходится.

Так что нужно сделать два языка, как-то связанных друг с другом, или один мультипарадигмальный язык, в котором есть и язык логического вывода для управления вниманием/данными, и язык общего программирования для трансформаций данных. Общий язык для менеджеров данных и инженеров предметной области. Потому как разрыв мной ощущается где-то в этом месте: базы данных с языками запросов и по сопричастности логические языки и классические языки представления знаний с FOL/HOL в основе против каких-то специфичных преобразований на GPL и тогда логика в GPL появляется только для доказательств правильности (иначе все умрут, если логикой не долько добывать данные и доставлять их на обработку, но и обрабатывать/трансформировать/что-то с ними вычислять). И между этими языками вроде как неминуемые всякие ORM (object-relational mapping) и прочие GPL-logic mappings, которые я бы и хотел исключить -- почему и затеял всю эту дискуссию.

Ну вот поиск метафоры это хорошо, но всё одно меня не греет. Если мэппинг, то скажут что "берите функциональный язык, и мэпьте". На уровне приложений из метафор есть search (в том числе поиск решения в пространстве решений), а есть learn как вычисление подходящего ответа по выученному ранее (человеком, который потом это выученное в своём мозгу закодировал как модель в GPL или нейронной сеткой в компьютере, которая сама учится на примерах).

Грубо говоря есть какие-то CAD-с-редакторами и солверами разных domain, где так или иначе что-то типа Архимейта или 3D-моделера, а есть PLM с "базой данных и логистикой", куда все эти CAD втыкаются. Это общая структура разработки чего угодно, даже программного кода (есть IDE и есть Git). Я немного писал об этом в https://ailev.livejournal.com/1277009.html, и даже EduTech для образования может быть описана таким образом, https://ailev.livejournal.com/1473691.html.

И у меня гипотеза, что CAD будет всегда с GPL внутри (когда-то в AutoCAD был даже лисп, но потом всё нормализовалось). И IDE будут с GPL внутри, ибо "всякая достаточно большая программа содержит в себе кривой и плохой common lisp", уж так получается. А в PLM всегда важен мэппинг, чтобы взять данные из одного вида CAD и послать их часть в другой CAD на просмотр и редактирование (руками или программно — это неважно).

Фишка в том, что CAD и PLM не живут друг без друга, поэтому начинаем с моделера-CAD, а заканчиваем всё одно PLM-базой данных с кучей экспорт-импортов, или наоборот — начинаем вроде как с мэппинга-в-PLM, а заканчиваем сначала неизбежной визуализацией, а потом и обязательно редактированием WYSIWYG и для этого всё одно солвером, то есть приходим к группе CAD для разных domain, отражённых в начальной PLM-базе.

Если начинать с мэппинга, то сразу вопрос: а где брать системные модели, к которым мэппить всё остальное? Нужен таки моделер перед тем как к нему мэппить. Моя идея взять IDE типа Вижуал Студия и считать её моделером, если модель будет в текстовом eDSL системного моделирования. А потом да, к ней мэппинг, когда эта модель уже есть и есть средства её отображения. Прошлый вариант ТЗ уж как я его понимаю я формулировал в https://ailev.livejournal.com/1488488.html — и более точно пока сформулировать не могу. После этого текста из нового пока у меня только эта мысль про различие eDSL для управления данными (и представление знаний вроде как идёт сюда, тут все интеграции и прочие "семантические технологии") и для работы с данными (все матлабы и CAD вроде как тут, а логические языки не тут) с какими-то "мэпперами" из типов/foundational ontology языка рабочего языка программирования в типы/foundational ontology менеджерской базы данных, я продолжаю эту мысль думать дальше, она интересна. С этой мыслью domain онтологической работы и по сопричастности системной работы представляется мне немного другим. Трансдисциплины (онтологика и представление знаний, системное мышление) для управления вниманием, а оптимизация, порождение и прочее такое делается на других дисциплинах их eDSL.

Итого: Чтобы выразить в каких-то типах GPL (языка программирования) типы системного мышления, нужно сделать какой-то язык запросов/управления данными для представления знаний в языках программирования (языкGPL-с-языком-запросов, и с этим ещё нужно будет поразбираться — мне это место у justy_tylor мутно). В этом языке запросов/управления данными будут делаться запросы на выборки из представления знаний о мире в каком-то графе, а для этого будет реализован солвер, предположительно для FOL или теоркатегорный или ещё какой формальный (тут тоже мутно, мнения различаются). И вот для этого солвера нам нужно предложить формализацию данных для вычислений этого солвера, связав её как-то с понятиями системного подхода.

Для меня это звучит более понятно как поиск foundational ontology для upper ontology из учебника. И для foundational ontology предполагается, что можно сделать движок/солвер/реализацию языка запросов и хранилище данных для этих запросов (но это не предполагает вычислений в инженерном смысле, а просто "управление данными"), а upper ontology из учебника при этом как-то закодировать в виде данных для этого движка. Такой подход подразумевает, что математически все запросы смогут быть исполненными (хотя гарантий времени исполнения и возможности оптимизации запросов не даёт никто, и это сильно меня напрягает: похожие проекты по формализации с похожей архитектурой все заканчивались печально, типа тех же разработок с BDI и агентским подходом и родственниками — математически там было всё ОК, но вот пользоваться софтом там было невозможно).

Ещё в чате тут помянули агентский подход с BDI и его многочисленными родственниками и неудачку с использованием логик в агентском подходе для содержательной работы (символический искусственный интеллект от забора до обеда и неминуемая неудачка в связи с этим). Но не буду цитировать, ищите в чате сами на "BDI".

Теория прототипов, трансформеры и успех языков программирования
justy_tylor заметил, что "помимо упоминавшихся BORO, ISO 15926, Gellish, HQDM, а также книжки @ailevenchuk и мелькающей в последнее время таксономии IEC 81346, для понимания рассматриваемых тем неплохо бы прочитать:
1. Три тома материалов HOPL. https://en.wikipedia.org/wiki/History_of_Programming_Languages
2. Пару книг Лакоффа по когнитивной лингвистике: George Lakoff and Mark Johnson "Metaphors We Live By", George Lakoff "Women, Fire, and Dangerous Things: What Categories Reveal About the Mind".

Лакофф затем, что популярно описывает явления вроде "базового уровня восприятия", понимание которых является ключевым для создания эффективных EDSL".

Я нашёл это замечание очень интересным. Типы и FOL из theory theory поддерживают медленное мышление по Канеману, а прототипы (Лакофф! Первичное восприятие!) — быстрое. Если говорить об успехе в рамках теории percieved cognitive load, то эту нагрузку, получается, нужно считать не в типах/классах из theory theory, а в прототипах (https://plato.stanford.edu/entries/concepts/ -- про теории понятий, в том числе theory theory и prototypes, хотя там есть и другие). То есть в спектре мышления по мере движения по этому спектру в пространстве смыслов формализация не просто relax в рамках theory theory по мере движения влево, но и меняется её способ, и всякие "интуиции" по поводу тех же типов/классов (и отнесения к типам/классам) формулируются как прототипы для типов/классов. Это, конечно, гипотеза, но покрутить её было бы весьма любопытно. Если (как предложила @pionmedvedeva в какой-то момент) у нас таки спектр формальности, т.е. в середине там гибриды медленного и быстрого мышления, то по факту у нас где-то в середине будут и гибриды theory theory и теории прототипов.

Сам заход на то, что нужно для создания удобного eDSL поразбираться с мышлением, мне кажется важным. Понятно, что и IEC81346, и понятия из учебника системного мышления — они все из theory theory. И предлагаемые для них варианты концептуализации (предлагаемые foundational ontology) тоже из theory theory. Что про эти навороты будут думать люди, которые не прошли десятилетнего математико-логического тренинга (а, например, прошли пятилетний подобный тренинг) — это в дискуссии только разок мелькало, когда про когнитивную нагрузку говорили и в том числе теорию piercieved cognitive load как барьер к массовому распространению.

Очень, очень интересно. Это для меня вторая интересная мысль из дискуссии, после мысли про язык представления знаний как язык логистический для управления вниманием на какой-то памяти, но не трансформации. [при этом, конечно, сразу захочется его иметь и для трансформации, и попытки делать чисто логические вычисления для меня становятся чем-то типа недифференцируемого варианта трансформер-архитектуры для нейронный сетей: выкидывается всё, кроме работы внимания — https://medium.com/inside-machine-learning/what-is-a-transformer-d07dd1fbec04, и я понимаю, что это аналогия полная шапкозакидательства, но мы ж тут Лакоффа и метафоры обсуждаем, или что?! )))]

Логическое моделирование в системной инженерии
Вообще, должен сказать, что логическое моделирование в системной инженерии по факту есть (хотя его и нет — занимаются им единицы инженеров, это местный курьёз, который подаётся как мейнстрим примерно так же, как когда-то подавался пролог). Это OCL к UML, для которого есть профиль SysML. Он насквозь объект-ориентирован, но задним числом через UML и MOF к нему был приделан логический формализм, и есть текстовый язык OCL, который может выразить всё, что выражается тамошними диаграммками, плюс ещё много чего логического. Мне не нравится SysML, ибо системности и онтологичности в нём ноль. И GPL там совсем не предусмотрен. Но есть несколько моделеров (дико дорогих, но и опенсорс что-то есть). Есть и похожие решения с другими архитектурными языками, не опирающиеся на какие-то стандарты. Но они также не слишком системны. Так что ссылок не даю. Это если вы считаете, что я про них не знаю. У меня десять лет назад вышла статья в INCOSE INSIGHT — я там ругаюсь на SysML, https://levenchuk.com/2009/12/08/sysml-is-the-point-of-departure-for-mbse-not-the-destination/
Saturday, September 14th, 2019
11:34 pm
lytdybr
7 сентября 2002 года произошла серьёзная перестройка в моём экзокортексе: я начал писать "Лабораторный журнал" (laboratory log) в тогда ещё относительно новом стиле web log, или сокращённо blog в ЖЖ. Тем самым моя осознанность повысилась (про киборгизацию и осознанность только что я писал тут: https://ailev.livejournal.com/1488271.html). То, что мелькало в моём мозгу, я записывал (это ведь и предполагает лабораторный журнал! дневник, дневник!). А потом появился Яндекс, помогавший искать по моим записям. Потом Яндексу в этом плане поплохело, но наладилась работа с Гуглём (для поиска в моём блоге нужно добавлять в строчку поиска site:ailev.livejournal.com, у меня это делается клавиатурной макрой в Punto switcher). И теперь я спокойно думаю одну мысль десяток лет, довольно быстро восстанавливая контекст того, что занимало мозг раньше -- сам я не гений в удержании внимания на таких длинных временнЫх интервалах, но с ЖЖ и Гуглём это как-то получается. При этом часто находятся таки мысли, за которые потом стыдно. Вот, например, мои тезисы доклада "Реформирование инфраструктурных сетей в «естественных монополиях»" на Байкальском экономическом форуме 18 сентября 2002г. -- https://ailev.livejournal.com/8014.html. Это 17 лет назад. "Когда мы были молодыми и чушь ужасную несли". Путин к тому моменту правил только пару лет. И тогда этот доклад казался вполне state-of-the-art, за него ничуть не было стыдно. А теперь тщета моих дел в те годы хорошо понятна. Ну, через семнадцать лет и многие сегодняшние мои дела будут казаться дичью. Но есть надежда, что не все.

Проект моделирования мультиданса в социальных танцах потихоньку движется, сочетаю приятное танцевание с полезным думанием. На прошлой неделе я побывал на форро-фестивале, вчера сходил на опенэйр линди-хопа. Мы готовим открытие первой учебной группы по буффу (такое рабочее название для социального мультиданса в нашем системном его варианте), я написал кучу текстов в https://vk.com/buffdance и начал тасовать слайды для семинара по моделированию. Моделирование вводится на двух системных уровнях: моделировать нужно мышечную работу в рамках системного фитнеса (и будем дополнять системный фитнес новым тренингом по моделированию, дополнять содержание), а ещё нужно моделировать сами танцы. Вот место буффа в экосистеме разных телесных практик на базе системного фитнеса (и тут тоже нужно бы придумать какое-то название для всех этих проектов, надстраивающихся над системным фитнесом и его моделированием телесных форм):


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

Вот структура самого буффа, а в ней показано, чему будем учить (ориентировочно это будет интенсив 3 месяца по три раза в неделю по паре часов вечерами, а по числу учебных часов это будет похоже на "Системный менеджмент и стратегирование" -- где-то 72 часа. Скоро объявим семинар, где будем об этом рассказывать подробней):


Идут семинары выпускников по системному менеджменту (вот выложена только что запись ещё одного -- https://www.youtube.com/watch?v=tVlPXhvO5kw), а ещё у меня сейчас в работе пять менти. Со всеми одна и та же проблема: системное мышление ОК, но онтологика не-ОК, ровно по линии из https://ailev.livejournal.com/1465753.html. Похоже, нужно просто сержантским методом потратить больше часов, чтобы люди научились отличать отношения часть-целое, классификации, специализации, а также физические объекты и их описания. Чтобы цепочки обеспечения надёжно удерживали в обсуждении цепочками, а не путались с постоянным перещёлкиванием внимания. Чтобы удерживались в рамках одного view (например, функциональное описание, не сваливаясь в конструктивное описание), а view не путали с системными уровнями. С одной стороны, семинары и менторство решают именно эту проблему -- налёт часов с обратной связью от препода, в том числе и обратной связью в области онтологики. Но очень хочется больше времени тратить на прикладные обсуждения, а не на базовые навыки онтологики. Нужно как-то уже эту проблему онтологической надёжности мышления, онтологической беглости решать, что-то с этим делать. Что-то мне подсказывает, что решение будет лежать по линии языка моделирования (да, опять упираемся в SysMoLan и его моделер с возможностью exploratory modeling) и задачек на моделирование с автоматической проверкой.

Вьюнош сам записался в кружок олимпиадной физики "Потенциал" МФТИ, сдал туда экзамен и поставил изумлённых родителей перед фактом: будет туда ходить, как и все прошлые годы. А я, наивный, думал, что он займётся чем-нибудь полезным, т.е. прекратит учиться "впрок", а начнёт хоть что-то делать-придумывать и уже учиться целенаправленно. Но нет, не судьба. Инфантилизм на марше, вьюнош торжественно заявляет, что ему все говорят учиться -- он и учится, какие ж к нему претензии? Вот когда сдаст ЕГЭ, тогда и начнёт что-то делать. Ага, тогда и поступит в вуз (и оправдание будет: откос от армии), и ещё лет пять-шесть будет говорить, что когда закончит вуз, тогда и начнёт что-то делать. Тем более что вуз можно потом раз пять заканчивать, но до производительного труда так и не дойти. Так что физику он знает крепко, но толку пока от этого -- нуль. Меня утешает только то, что я в выпускном классе вообще не знал ничего о существовании программирования, потом пять лет учился химии, но моя первая настоящая работа была именно программистом. Неисповедимы пути человечьи, будем уповать на это.

Им объявили темы школьных сочинений этого года. Да, "Война и мир" там есть -- я писал своё школьное выпускное сочинение в 1975 году, прошло с тех пор 45 лет (писать он будет в 2020 году!), а эта дурацкая система образования продолжает играть этот день сурка, из года в год.
2:18 pm
AI таки сдаёт российский ЕГЭ в этом году!
Моё предложение провести конкурс AI по сдаче экзаменов ЕГЭ (я давал его в апреле на одном из совещаний, подробности см. в https://ailev.livejournal.com/1468166.html) таки реализовано, хотя и не UpGreat, а Сбербанком -- https://contest.ai-journey.ru/ru/competition. 4 сентября стартовали, через 43 дня совревнование закончится, вот тут рейтинг участников, https://contest.ai-journey.ru/ru/leaderboard, там всё уже более чем бодро. Всё, как я и предлагал, включая проверку сочинения по тем же правилам, что и в реальном ЕГЭ -- https://4ege.ru/russkiy/56964-kriterii-ocenivaniya-sochineniya-v-ege-2019.html. И даже перевод результатов в знаменитые "сто баллов" тоже будет как в ЕГЭ -- https://4ege.ru/novosti-ege/4023-shkala-perevoda-ballov-ege.html. Моя идея была -- проверять AI на интеллект ровно так, как проверяют людей, причём неизбежная дискуссия покажет с ещё большей очевидностью, что все эти "проверки на интеллект" не работают -- ни для людей, ни для роботов.

При этом в США такой экзамен проводится по тесту науки (мультипредметный тест), https://leaderboard.allenai.org/anli/submissions/about -- люди по нему получают 92%. Even in 2016, the best AI system achieved merely 59.3% on an 8th Grade science exam challenge. This paper reports unprecedented success on the Grade 8 New York Regents Science Exam, where for the first time a system scores more than 90% on the exam's non-diagram, multiple choice (NDMC) questions. In addition, our Aristo system, building upon the success of recent language models, exceeded 83% on the corresponding Grade 12 Science Exam NDMC questions. The results, on unseen test questions, are robust across different test years and different variations of this kind of test. They demonstrate that modern NLP methods can result in mastery on this task. While not a full solution to general question-answering (the questions are multiple choice, and the domain is restricted to 8th Grade science), it represents a significant milestone for the field. Это всё те самые языковые модели, подхаканный BERT (RoBerta в данном случае, подробности решения https://arxiv.org/abs/1909.01958), картинка с результатом для теста 8 класса:


Современные языковые модели, конечно, содержат не только модели именно языка. Они содержат и модели мира, конечно: отражают не только то, как описывают мир текстами, но и существенные черты самого мира -- что описывается текстами.

Дальнейший прогресс, конечно, будет по линии гибридных вычислений: knowledge graphs aka семантические сети aka символический искусственный интеллект в сочетании с нейронными сетями. Вот небольшой обзорчик knowledge graphs на конференции Association for Computational Linguistics ACL2019 (30 докладов из 660 -- почти 5%, это немало): https://medium.com/@mgalkin/knowledge-graphs-in-natural-language-processing-acl-2019-7a14eb20fce8. Но уже после этого обзора появились интересные работы, типа https://arxiv.org/abs/1908.07141, LogicENN: A Neural Based Knowledge Graphs Embedding Model with Logical Rules. We prove that LogicENN can learn every ground truth of encoded rules in a knowledge graph. To the best of our knowledge, this has not been proved so far for the neural based family of embedding models. Moreover, we derive formulae for the inclusion of various rules, including (anti-)symmetric, inverse, irreflexive and transitive, implication, composition, equivalence and negation. Our formulation allows to avoid grounding for implication and equivalence relations. Our experiments show that LogicENN outperforms the state-of-the-art models in link prediction.

Link prediction -- это create or recover missing links in knowledge graphs, e.g., identifying the birthplace of a person or the CEO of a company. Проблема тут не только в точности предсказания (и глубокие модели тут, конечно, побеждают всякие одноуровневые алгоритмы), но и в огромных вычислениях. Так что в эту точку бьют и работы, позволяющие меньше вычислять, типа https://exascale.info/assets/pdf/ostapuk2019www.pdf. Этих работ множество. Помним, что один из лидеров в knowledge graphs классического вида CYC делает ставку тоже на нейронные сети и вероятностные методы для эвристических способов ускорять логические вычисления в своих огромных графовых базах знаний -- Doug Lenat, например, хвастается тем, что от по факту финансирования госсиловиками перешёл в последнее время к нормальному финансированию коммерческими компаниями и теперь CYC прибыльная компания -- https://www.forbes.com/sites/cognitiveworld/2019/07/03/what-ai-can-learn-from-romeo--juliet/, https://www.cyc.com/publications/ (при этом они не стали более открытыми, всё так же мало кто понимает, что там происходит. Но точно происходит много интересного. Другое дело, что теперь они абсолютно не одиноки. Их стремительно догоняют по всем фронтам).

Тема Ontology Summit 2020 -- как раз knowledge graphs, http://ontologforum.org/index.php/OntologySummit2020. Слайды и видео первой встречи "Why Knowledge Graphs Hit the Hype Cycle and What they have in common" см. http://ontologforum.org/index.php/ConferenceCall_2019_09_04.

Так что наступает очередная весна не только нейронных сетей, но и семантических сетей (минус слово "семантические", ибо semantic web и OWL существенно дискредитировал идею, и идёт возврат к истокам).

А дальше, как всегда: дикие дискуссии о том, что школа учит не жизни, а сдаче ЕГЭ. Школьники на выпуске будут не уметь жить и работать, а уметь сдавать ЕГЭ, в совершенстве! И AI будут уметь не жить и работать, а сдавать ЕГЭ в совершенстве! Самые разные ЕГЭ самых разных стран. Например, сдадут экзамен на доктора (почему бы и нет!) и захотят работать врачом. Другое дело, что работать врачом -- это не сдавать экзамен, на экзамен-то можно натаскать, а на работу что-то другое требуется.

Я вот даже в своей семье не могу объяснить, что учиться нужно работать, а не сдавать экзамен. Мне говорят "потерпи год, и всё кончится". Я-то потерплю, а бесполезно проведённый год жизни вьюноша куда девать? Ему, бородатому, работать уже нужно, или хотя бы учиться работать. А он учится сдавать ЕГЭ, и я единственный, кто против.

Ровно та же история с экзаменами по профстандартам в качестве допуска к профессии. Тестируется одно, а на работе требуется абсолютно другое!

Очень надеюсь, что успешно сдающий экзамены ЕГЭ, экзамены на профстандарты AI как-то внесёт свежую струю в эти обсуждения.
Thursday, September 12th, 2019
1:42 pm
Роли начальников, роли помощников, роли любителей, роли карьеристов
Начальник в проектных ролях -- это джокер, играет любую подвернувшуюся ему роль. Имеет право. Квалификация игры по роли тут уже не имеет значения -- "я начальник, ты дурак", если спецы по данной роли в команде есть. При этом у начальника хотя бы есть полномочие делегировать исполнение роли, если есть кому. А вот у самых разных помощников/ассистентов по должности делегировать исполнение роли обычно некому, хотя "должностные обязанности" примерно так же расплывчаты, как у начальников -- "заниматься всем, чем нужно". И об уровне образования помощников пекутся много меньше, чем об уровне образования начальников. При этом на помощников накидывают не только много работы (это нормально!), но много работы по самым разным практикам -- а это означает, что квалификация помощников в выполнении этих разных практик будет плохой, они не смогут специализироваться и достигнуть мастерства по каждой из них.

У меня курсанты все спотыкаются на ролевых разбирательствах начальства и помощников: названия должностей отвлекают от выявления играемых ролей, исполняемые людьми в должностях начальства и помощников роли явно не соответствуют профессиональному их исполнению, а количество ролей зашкаливает. Но это разбирательство обязательно нужно делать: часто через пять минут уже понятно, что нужно что-то менять. Но для этого "понятно" нужно поработать с таблицой из учебника системного мышления 2019 года. Вот она:
roles

И если для начальников ситуация выглядит безнадёжной, то для разных помощников и ассистентов -- нет. Перегруз и недоквалификацию можно выявить. Лишние роли снять, а исполнению самых нужных ролей доучить прямо в рабочее время, на рабочем месте. И жизнь станет лучше.

Пример из моего любимого детского садика Монтессори (https://ailev.livejournal.com/1485977.html): помощник педагога там имел целый букет страннейших ролей, в том числе роль охранника. Помощник педагога в роли охранника отгонял по вечерам детей от дверей, ибо дети садились под двери и ожидали там родителей. Роль охранника поменяли на роль аниматора: помощник педагога играл с детьми, и ни у кого из детей не появлялось желания выйти из игры и сесть под дверь. Этот пример показывает, что разбирательство с ролями ведёт часто к архитектурным решениям: важнейшие/архитектурные решения для организации это про то как роли распределяются по их исполнителям. Так вот иногда интересней поменять не исполнителя, а саму роль и играемую этой ролью практику. Заметить такую ситуацию и даёт работа с таблицей ролей.

Таблица ролей даёт и много материала для лидерской работы (как живых людей уболтать выполнять их роли): часто люди начинают играть те роли, которые никак не соответствуют занимаемой ими должности -- это любительские роли. Почему это происходит? Иногда причина в кривизне архитектуры: делать дело/выполнять ролевую практику нужно для успеха проекта, но конструкция/штатное расписание не предусматривает для этого дела ровным счётом ничего. И это обычная ситуация, тут ничего не поделаешь. Но иногда причина в личных ролевых предпочтениях, людям нравятся какие-то роли, хотя работа от них этого не требует (а иногда выполнение таких ролей и прямо вредит работе). Я когда-то играл в духовом оркестре военной кафедры, и любил сыграть там на концерте на саксофоне какую-нибудь джазуху: хриплый тембр саксофона при этом легко перекрывал весь остальной оркестр и мою импровизацию легко было слышать из зала. Ни в каких нотах этого не было, для выступления это было не нужно, это были мои персональные хотелки. Иногда для успеха концерта это было хорошо, иногда плохо. В любом случае -- это была проблема лидерства: я в самый критический момент (на концерте) от проектной роли игрока маршей по нотам лихо отходил, и играл любительскую роль джазмена, уж как мог. Лидер оркестра регулярно с этим разбирался, это была его проблема. Если в игротехнической компании человек в должности менеджера проекта играет роль игрока-любителя, то вместо управления проектом/операционного управления он будет тратить много рабочего времени на обсуждение вопросов геймдизайна.

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

Интересно, что с таблицей ролей вполне можно работать и на уровне таких исполнителей, как оргзвенья более чем из одного человека (например, подразделения или какие-нибудь рабочие группы или комиссии. В последнем абзаце текста про соотношение ролей деятельностных, проектных, функциональных, организационных тоже это упоминается -- https://ailev.livejournal.com/1487927.html).

Табличка с ролями поднимает осознанность в организационной работе (https://ailev.livejournal.com/1488271.html), служит чеклистом: она заставляет думать про какого-нибудь программиста как программиста-должность, программиста-роль, программиста-исполнителя и не позволяет ничего из этого пропустить. Дальше можно задаваться вопросом про квалификацию исполнителя роли, про достаточность полномочий должности для игры по роли, уместность этой роли у данной должности и т.д. В случае программиста ответы на эти вопросы будут тривиальны, но не всегда (интересы любительства или карьерные интересы могут вас сильно удивить в некоторых случаях). А вот в случае должностей начальников и помощников мой опыт свидетельствует, что удивление результатами рассмотрения по табличке наступает почти всегда: должности настолько заслоняют их роли в обыденной жизни, что работа с их ролями обычно открывает что-то новенькое и даёт много пищи для размышлений и улучшений.
1:58 am
SysMoLan как eDSL для Julia
В дискуссии о типах языков программирования/моделирования/представления знаний (там, кстати, уже 320 дискутантов -- https://t.me/typeslife) сегодня был очередной поворот: попытка вместо говорения об онтологии и представлении знаний (что сразу вызывает математических и философских духов) говорить о предметно-специфичности, продолжая программистскую традицию и попадая в программистский язык. Так что ответы на наши вопросы про языки моделирования разных предметных областей будем искать по ключевым словам "domain-specific".

Когда-то и Fortran называли domain-specific, ибо он только для formula translations, а не универсальный, как машинный язык. И то же самое было со всеми языками высокого уровня, они были domain-specific. Тем не менее, domain-specific пока чётче ведёт к цели, чеми использование всяких других слов. Нам нужно делать еmbedded domain-specific languages (eDSL) с domain-specific types (как онтикой предметной области) и domain-specific solvers (для того, чтобы интерпретировать модели в онтике/типах предметной области, задавать вопросы/делать запросы/вычислять).

В группе "Аттик" мехмата МГУ рассказывали, что нашли причину, почему Паскаль никак не мог победить Фортран в своё время. Они считали, что Паскаль был безблагодатен по сравнению с пакетными языками (Modula, Ada), ибо не было "пакетов" как раз для реализации общей для нескольких программистов системы типов — нельзя было делать "пакеты" как eDSL для domain-specific работы (те самые domain-specific types и domain-specific solvers, в терминах группы Аттик domains -- это были миры и solvers -- исполнители для этих миров). В Фортране же это реализовалось на раз-два через common-блоки! Потом какие-то аналоги common blocks начали делать в паскаль-компиляторах (но это уже потом! в учебниках паскаля это не было свойством языка, а только свойством реализации в конкретном компиляторе). Потом появились на краткий исторический миг пакетные языки, а потом domain specificity начали понятными словами объяснять как делать в ООП и в реляционных моделях данных — тут все эти "пакетные языки" и деревянные с сетевыми базы данных начала восьмидесятых и смыло в унитаз истории, где они и находятся до сих пор.

Вся дискуссия в чате крутилась вокруг того, что удобных для программирования eDSL языков программирования/моделирования/запросов к базам данных/представления знаний нет. Так что я продолжаю придерживаться мнения, которое выработалось у меня на прошлом такте дискусии (https://ailev.livejournal.com/1487293.html): работать тогда будем с Julia как хост-языком. И на Julia будем реализовывать структуры данных и солверы SysMoLan как eDSL.

Вчера на докладе на митапе по Julia (https://juliameetup.timepad.ru/event/1047482/, слайды https://yadi.sk/i/yBeUJJj1iuiJXQ, видео https://vimeo.com/360541672#t=4940s) я высказал ещё пару идей. Солверы для eDSL отличаются тем, что эффективно обрабатывают частные случаи -- предоставляют оптимизированные для этих частных случаев решения. И в Julia как раз отрабатывается такой подход на примерах методов оптимизации (JuMP) и методов решения систем дифференциальных уравнений (DifferentialEquations). Солверы этих систем -- это просто коллекция самых разных солверов, эффективных для самых разных ситуаций. Итого eDSL выглядит как набор типов, в терминах которых удобно описывать предметную область, плюс набор эффективных солверов -- типы должны универсально отражать задачи предметной области, а солвер должен устойчиво работать и жужжать в части скорости. Поэтому типы должны быть более-менее богаты в части их конструирования для отражения объектов и отношений в domain (сравнимы в этом плане с богатыми типами статических языков программирования), но динамическими, чтобы по ходу дела в runtime подбирать оптимизацию для solver. Ну, и проблема двух языков: на одном и том же языке и компактно и красиво (с рафинадом) высокоуровнево выражать domain, но не теряя низкоуровневости в скорости. И настолько не теряя низкоуровневости, чтобы эта оптимизация докатывалась аж до уровня железа -- до GPU. Вот Julia как раз имеет примеры таких решений. Вот этим путём и хочется пойти для SysMoLan: иметь возможность самых разных солверов для предлагаемых SysMoLan как eDSL структур данных.

Идти туда, как мне кажется, нужно в несколько шагов:

1. Сделать простой (архитектурный и требований) текстовый моделер для простых архитектур и использовать его, например, для обучения инженерии требований и инженерии системной архитектуры. У меня проходит в год сотня студентов и курсантов по разным линиям, вот это будет учебный софт. SysMoLan в объёме реализации IEC81346-1 для моделирования системного разбиения (чтобы можно было показать функциональное и конструктивное системное разбиение в их взаимосвязи на пару уровней) тут вполне подойдёт. Это MVP. Ничего вычислять даже не будем (может быть, будем проверять целостность, но и тут не факт), только отображать удобно. Солвер -- голова инженера. Для чего такое нужно? Для помощи со стороны компьютера в присмотре за вниманием в ходе архитектурной работы и работы над требованиями, речь идёт о киборгизация архитектора (вот тут про киборгизацию присмотра за вниманием: https://ailev.livejournal.com/1488271.html). Как над шахматными партиями удобней думать, если есть просто шахматная доска, на которую можно смотреть, так и архитектурный моделер помогает думать уже тем, что он помогает стабилизировать внимание архитектора.

2. Иметь полноценный текстовый язык представления знаний в качестве полноценного системного языка. Тут уж точно иметь eDSL, ибо к более-менее сложным архитектурным моделям и моделям требований захочется делать запросы.

В чате была дискуссия о том, что лучшим приближением к языкам представления знаний является common logic, и какой-нибудь FOL солвер. При этом SQL предлагался как успешный вариант языка для FOL -- без пояснения того, как это всё предполагается в работе у инженера. Ибо логические языки почему-то нигде не взлетели в их чистом логическом виде.

Тут ещё и социальные аспекты, конечно. Пара релевантных ссылок в Communications of ACM (http://cacm.acm.org/blogs/blog-cacm/173328-programming-languages-are-the-most-powerful-and-least-usable-and-learnable-user-interfaces/fulltext) -- там обсуждается вопрос, почему люди не хотят учить языки программирования (языки моделирования, языки мета-моделирования). Там вводят понятия cognitive load (http://en.wikipedia.org/wiki/Cognitive_load, связанные с использованием рабочей памяти умственные усилия), для разных людей они будут разные при изучении предмета. И далее говорится, что люди оценивают не реальную когнитивную нагрузку, а субъективно воспринимаемую (percieved) будущую нагрузку -- когда вы даже воспринимать её по факту не можете, ибо ещё не знакомы с предметом. Да, и полезность вы тоже представить не можете, ибо не знакомы с предметом. А решение "учить-не учить" принимается до изучения предмета. То есть бесполезно уговаривать что-то учить, потому как оно "полезно". Решение принимается не только и не столько по "пользе", сколько по "цене изучения" -- например, считает ли потенциальный ученик, что у него есть способности к предмету. Это всё expectancy value motivational theory -- https://www.researchgate.net/publication/265965932_Expectancy-Value-Cost_Model_of_Motivation. If students are not convinced they can learn it and they are not convinced of the value, then they don't learn it. Решение автор текста предлагает в повышении usability для изучаемых предметов (языков программирования/моделирования), но и learnability -- это разные свойства. Requirements нужно формулировать для обеих характеристик. Легко такую банальность предложить, трудно выполнить.

Вопрос мой в том, что современные информационные системы решают многие из тех задач, которые раньше считалось, что смогут решать только экспертные системы. И эти системы написаны на обычных языках программирования, а не на логических языках. Нет ли какого-то способа представления знаний, отличного от тупого использования логического языка? Логическая парадигма только одна из многих, и в языках программирования она явно не главная. Иначе мы бы видели вокруг сплошных потомков Пролога. Но нет, потомки Пролога везде маргинализуются, и никакая опенсорсовость им не помогает. CycL тоже делал OpenCyc, потом закрыл этот проект: не взлетело. Логическое не взлетает, на SQL делают только запросы в базу данных, а не программируют -- вот я и интересуюсь, что ещё на свете существует для представления знаний. Какая-нибудь Java для представлений знаний неудобна, но модели самых разных domain обрабатываются в мире главным образом на ней, а не на CycL или Agda. Получается, вся краса мира у нас уходит в язык программирования, который нужен для того, чтобы вызвать SQL над базой данных, в которых и отображён domain. При этом как domain отражается в реляционных базах данных — понятно, этому учат в университетах, и по большому счёту DDD (domain-driven design) тоже редко когда про язык программирования, чаще про базы данных.Ответа в чате я так и не получил, хотя обсуждение и было бурным. Так что за подробностями отправим в чат, а тут продолжим.

3. Иметь дифференцируемый язык представления знаний как eDSL, чтобы использовать этот язык не только для ручного ввода архитектурных моделей и моделей требований в рамках облегчения работы subject expert по knowledge aquisition, но и в рамках порождения/generation, а ещё в рамках оптимизации (про "дифференцируемое всё" я писал в https://ailev.livejournal.com/1464563.html). У Julia тут неплохая репутация: Viral Shah [один из разработчиков компилятора Julia] addressed the World Artificial Intelligence Conference, held in Shanghai Aug 29-31 with a discussion on "Julia: Generalizing Deep Learning with Differentiable Programming" (почему я и хотел бы держаться к Julia поближе, а не к C#, С++, R или каким-то другим языкам, не приспособленным для численных методов). Порождаемые архитектуры, оптимизируемые архитектуры, фронтир — вот это всё тут, все эксперименты с искусственным интеллектом и компьютерным творчеством.

4. А ещё нужно будет реализовать mapper (генератор конверторов/адаптеров/плагинов/мостов и т.д. -- систему типа .15926 https://github.com/TechInvestLab/dot15926/, только не обязательно на ISO15926, зато с удобным порождением парсеров и генераторов данных, eDSL для этого), ибо любой архитектурный редактор быстро будет нуждаться в частных моделях из разных САПР, и дело быстро дойдёт до полноценной PLM. Когда будет реализовываться мэппер, там результат будет вполне дискретный и формальный и FOL внутри, а вот методы получения моделей данных могут быть с использованием нейросетей, вероятностных языков и разных других численных алгоритмов. В итоге получится гибрид, а не только нейросети или только строгая логика. Вот, кстати, пример такого "загрузчика данных" (мэппера) для табличек: о "импорту табличек в программу", Flatfile can automatically match 95% of imported columns, using a combination of machine learning and fuzzy matching. Users can upload data via CSV, XLS, or simply paste from the clipboard — https://venturebeat.com/2019/09/10/flatfile-pursues-intelligent-data-importing-with-2-million-round/. JuliaDB при этом тоже работает с файлами табличек, в колонках которых могут быть любые типы Julia, а не только числа или строки, но всё-таки мэппер должен работать не только с табличными форматами. Первое, о чём спросят инженеры, так это о мэппинге 3D-моделей современных САПР.

Задача представления системных знаний на SysMoLan сложная, поэтому решаем её эволюционным путём, а не "сразу всё во взаимоувязке". Системный подход не должен становиться болезнью, когда вгоняет проект в analysis paralysis и заставляет "учесть всё-всё" в один подход и один проход.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10216230511529525
Wednesday, September 11th, 2019
6:36 pm
Киборгизация людей и организаций: поднимаем осознанность, то есть рулим вниманием
Киборгизация идёт как для людей, так и для организаций:
-- cyborg = cybernetic organism -- оригинальное определение киборга как одного организма,
-- cyborg = cybernetic organization -- организация тоже киборг, и суть киборгизации остаётся та же: добавляем компьютеры, датчики, эффекторы.

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

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

Тезис этого текста в в том, что киборгизация позволяет поднимать осознанность как личную, так и корпоративную. Записная книжка заменяет 10 лет ежедневной тренировки памяти человеку, а issue tracker заменяет 10 лет усилий налаживания сотрудничества для организации. Киборгизация сильней психопрактик, кофе сильней психопрактик. У нас технологическая, а не психотехническая цивилизация. Психотехники должны помогать прилаживаться к технологиям, цивилизационно сегодня они не самодостаточны, они были самодостаточны 2000 лет назад, но за время пути цивилизация смогла подрасти.

Поэтому психопрактики системной осознанности нужно подхакивать, чтобы учитывать киборгизацию: осознанность с компьютером существенно отличается от осознанности без компьютера, и это верно как для отдельных людей, так и для организаций.

Системная киберосознанность прежде всего -- это работа с (shared, к одним и тем же предметам, "синхронизированным") вниманием на отчуждённых от людей и тоже shared системных описаниях, работа с глубокими стеками абстракции этих описаний, удержание внимания на тех или иных ролевых описаниях (viewpoints). Отчуждённие от людей, задействование (личного и корпоративного) экзокортекса позволяет:
-- удерживать внимание в ходе личного и коллективного мышления на большем числе объектов (они не исчезают при неминуемых сбоях внимания личности и провале внимания коллектива): мышление с экзокортексом легко обрабатывать реально большие схемы и делает при этом мало ошибок
-- асинхронно мыслить в коллективе: подумал сам, передал товарищу. Никто никого не ждёт, не нужно находиться в очном диалоге и лично присутствовать или даже присутствовать онлайн. Даже диалоги по телефону уходит в асинхронность: замещаются чатами. И совещания (полилоги -- очные или по селектору) всевозрастающе заменяются чатами.
-- обсуждать с другими или компьютером на предмет обнаружения ошибок (экспликация и коммуникация объектов внимания) – и маленькие, и большие схемы. Сшивка больших схем вместе («интеграция»).
-- Делать перерывы для отдыха и отвлечений (не теряются результаты промежуточных рассуждений), выдерживать долгие размышления без «закрытия», в том числе «многопроходные» размышления, в том числе в масштабах организации.
-- Освобождать головы в организации для дополнительных рассуждений (например, «мета» о способах мышления, сторонние исследования и т.д. – более сложные траектории мышления), не теряя контекста и результатов предыдущих шагов размышления.

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

И ещё что в личном бессознательном -- то для личности не существует, хотя и проявляет себя в поведении. А что у личности в сознании -- то в коллективном бессознательном, существует для личности, но не для организации, хотя и проявляется в поведении организации (личность-то своим поведением ещё как влияет на поведение организации!). А что у личности в shared экзокортексе -- то для коллективного сознания (сознания всех других членов организации) существует и влияние на поведение может быть учтено. Помним, что осознанность -- это присмотр/поднадзорность, соблюдение правил и достижение целей при этом более надёжны.

Организационная осознанность -- это надзор/присмотр за вниманием по shared схемам организации. То есть речь идёт о том, что находится в информационных системах организации. Конечно, в организации есть и часть shared tacit knowledge. Но легче работать с explicit knowledge в организационном экзокортексе, в информационных системах. Это полностью соответствует attention schema theory по вопросу того, как устроено сознание: в информационной системе компании находится упрощённая схема, организующая внимание. Так что путь развития организационной осознанности -- это развитие информационных систем компании прежде всего, улучшение её информационных моделей, а не попытки заставить людей удерживать системное целое на много-много уровней выше тех систем, с которыми работают отдельные люди в организации. Весь этот присмотр за вниманием многих тысяч людей, распределённым по многим и многим системным уровням объектов организации и её окружения, обеспечивают по сути не менеджеры, не сами люди, а информационные системы. Так что для поднятия организационной системной (для многих системных уровней) осознанности киборгизация идёт в два такта:
-- просто управлять данными, data management -- это делать данные/схемы доступными тем, кому надо и когда надо. Никакой обработки данных, чистая логистика. Записал, сохранил, проверил версию, воспроизвёл актуальное. Базы данных сами по себе благо, они удерживают внимание организации и организуют её память. Главный инструмент -- это моделер, редактор. Ничего страшного, если корпоративная информационная система ничего не считает, а просто хранилище структурированных и даже неструктурированных данных. Она крайне полезна! Она помогает присматривать за вниманием, бороться со сложностью самой организации и окружающего организацию мира.
-- и только вторым пунктом в киборгизации/информатизации тут творчество, принятие решений, искусственный интеллект или машинное обучение и т.д..

CAD, который только "моделер", сиречь "редактор", и который ничего не автоматизирует (по-английски сomputer-aided design, но по-русски это САПР, система автоматизированного проектирования) уже приносит пользу: помогает управлять вниманием, реализует экзокортекс проектировщика -- одного человека (проектирование-в-малом) или нескольких проектировщиков (проектирование-в-большом, https://ailev.livejournal.com/851977.html -- в том числе выход в системы систем). Сначала учётная система и управление изменениями, поддержание актуальной (хотя и заведомо упрощённой -- схема!) модели реальной жизни в личных корпоративных информационных системах. Потом "автоматизация".

При киборгизации, конечно, киборг будет делать совсем не то, что просто человек или организация-из-людей. Киборгизация это не автоматизация каких-то функций, это изменение функций. В этом плане киборгизация, конечно, ближе к "цифровой трансформации" по смыслу -- глубокое изменение практик персональной и организационной жизни. Персональные информационные системы (включая гугль для личного пользования) и корпоративные информационные системы (какой-нибудь тот же гугль, в котором ищешь что-то по работе). При этом мы уже знаем из GTD (Get Things Done, практик персональной продуктивности), что персональные планы и рабочие планы так просто не разделить, это бесполезно и непродуктивно. Мы одни и те же на работе и дома, на вечеринке и на совещании -- и времени у нас 24 часа в сутки, мозг один и тело одно. Киборгизация глубоко трансформирует и персональную жизнь, и корпоративную -- как только мы удерживаем внимание не на быстро меняющемся и зыбком содержании собственных мозгов и уж тем более мозгов соседа, а на чём-то письменном, документированном, находящемся в компьютере.

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

Вторая серия этой трансформации начинается тогда, когда "поиск" в этом экзокортексе может найти что-то нетривиальное -- сам экзокортекс становится умным. В экзокортексе могут быть вычисления, компьютеры могут выдать какую-то мысль, в том числе и мысль творческую (порождающие/generative алгоритмы). Осознанность становится более сложно устроенной, но просто на кибер-часть придётся больше мозговой работы, только и всего. Присмотр за вниманием за результатами коллективного уже не только человеческого, но и бесчеловечного (sic!) мышления будет всё одно нужен, чтобы достигать каких-то целей. Чьих целей -- это отдельное обсуждение, тут тоже есть вопросы к этичности создания алгоритмов, которые управляют вниманием людей, привязывая это внимание к самим алгоритмам -- компьютерные игры, фейсбук и прочие алгоритмы ведь именно так работают. Экзокортекс, который садится паразитом на психику человека, используя особенности работы мокрой нейронной сетки, увеличивает своё использование ради проталкивания целей своих хозяев (а не целей пользующегося им человека) -- это ваша проблема, но решение проблемы хозяина такого алгоритма. А если это не фейсбук или игра, а корпоративный экзокортекс и слова звучат не про мозгового паразита, а "геймификация" (так же, как в корпоративном мире не любят слово "спам", а любят "холодные звонки" или "директ маркетинг")? Это по-прежнему ваша проблема, или вы готовы отдать психику хозяину компании с его алгоритмами управления вашим вниманием? Готовы быть батарейкой в "Матрице", за зарплату? Присмотр за вниманием со стороны технических систем вызывает сразу этические и даже политические вопросы.

Литература (все непонятные слова из текста разъясняются в литературе, а не в самом тексте. Как читают научные статьи? Читают статью, и если что непонятно, то читают первоисточники. Если что непонятно в первоисточниках, то читают литературу к этим первоисточникам. И так дальше, пока не будет понятно всё. Для первого знакомства с предметной областью текста это может занять некоторое время. Если литература/первоисточники уже читаны, то тогда и сам текст должен быть понятен):
-- интернет вещей. Интернет клеток. Интернет программы -- https://ailev.livejournal.com/810255.html (киборгизация приходит оттуда, откуда её не ждут: на системных уровнях выше человека, на системных уровнях ниже человека).
-- Теория сознания как схемы внимания -- attention schema theory -- https://ailev.livejournal.com/1193568.html (и там в том числе про важность темы внимания для representation learning/deep learning). По сути, мы говорим в данном тексте о внимании в организации.
-- Тема психопрактик движения по спектру формальности -- https://ailev.livejournal.com/1461939.html
-- киберосознанность must, киберпсихика rulez -- https://openmeta.livejournal.com/237056.html
-- когда целевая система -- (кибер)люди -- https://ailev.livejournal.com/1459254.html
-- Системная осознанность, 2019 -- https://ailev.livejournal.com/1487672.html
-- Птолемеевская модель человека -- https://ailev.livejournal.com/1390574.html
-- Оргроли нескольких организованных (с известными полномочиями по распоряжению трудом и ресурсами) оргзвеньев и оргзвенья из нескольких оргзвеньев: https://ailev.livejournal.com/1487927.html (унификация рассмотрения людей и их организаций)
-- кофейный нейронет: https://www.facebook.com/groups/nevronet/permalink/1061187754047545/ (употребление кофе до выполнения задачи улучшало оценки работоспособности коллектива в 1,4 раза по сравнению с контрольной группой).
-- Мойдодыр и политическая философия интернет-вещизма, https://ailev.livejournal.com/1106188.html (кому принадлежат программные системы, которые могут влиять на нашу жизнь? Нам? Корпорациям? Госчиновникам?)
-- ссылки на несколько работ о путях эволюции цивилизации, в которой алгоритмы управляют вниманием людей: https://www.facebook.com/groups/nevronet/permalink/1314884872011164/.

UPDATE: Обсуждение в фейсбуке -- https://www.facebook.com/groups/blended.learning.russia/permalink/2415362628706272/
[ << Previous 20 ]
Лабораторный журнал   About LiveJournal.com