воскресенье, 22 ноября 2015 г.

НАУКА, ТЕХНИКА, ГОРИЗОНТЫ


В посте про технологические стеки и вертикальную интеграцию я привёл вариант нейронет-стека(http://ailev.livejournal.com/1228087.html). Тут я разверну этот пример чуть подробней.

Группа "учёных" на стратегической сессии нейронета 15 нября 2015 определила его как "Основанная на знаниях о мозге технологическая среда, расширяющая возможности человека" (https://www.facebook.com/groups/1602081160032874/permalink/1657016827872640/?comment_id=1658042461103410&comment_tracking=%7B%22tn%22%3A%22R%22%7D).

Но я поступлю так же, как в 1961 году Кеннеди: от абстрактных формулировок "покорение космоса" он перешёл к конкретной: "landing a man on the Moon and returning him safely to the Earth" к концу 60-х, предложил он это 25 мая 1961 Конгрессу США, а в 20-21 июля 1969 года Алдрин и Армстронг уже гуляли по Луне. Вот и я от абстрактных формулировок "расширения возможностей человека" предложу в разы и разы более узкую и конкретную задачу: максимально автоматизировать групповое моделеориентированное концептуальное проектирование (collaborative model-based conceptual design), использовав технологии нейронет-стека (это было сформулировано тут:http://ailev.livejournal.com/1227614.html). А в качестве аналога "высадки на Луну" можно было бы повторить демонстрацию новых средств усиления человеческого интеллекта, известную как The Mother of All Demos (https://en.wikipedia.org/wiki/The_Mother_of_All_Demos, 1968). Сама идея усиления человеческого интеллекта, конечно, не воспламеняет сердца (подробней -- "никто не хочет учиться играть на XYZ",http://ailev.livejournal.com/1158826.html). Это в космонавты попасть мечтали дети всей Земли, а в нейроинтеллинавты желающих записаться будет немного. Буду тешить себя тем, что это будет сервис для интеллектуальной элиты. Значение The Mother of All Demos стало понятно только через десяток-другой лет, а мы делаем примерно то же самое, только на новом витке технологической спирали. Так что никакой "славы при жизни" от этого проекта не будет, это нужно понимать на старте.

Коллаборативное концептуальное проектирование включает два набора идей:
а) collaborative engineering, где темы включают (http://www.inderscience.com/jhome.php?jcode=ijce):
-- Collaborative decision making/analysis
-- Distributive/integrative negotiation techniques
-- Engineering as collaborative negotiation
-- Collaboration science and technology
-- Collaborative and concurrent lifecycle engineering
-- Socio-technical frameworks for system engineering
-- Joint decision making and social choices
-- Activity theory for engineering modelling
-- Construction of social reality
-- Conflict detection, management and resolution
-- Technical teamwork, intelligent agents, virtual teaming
-- Case studies/applications
В нашем случае это тесно смыкается с традиционной тематикой model-based systems engineering.

б) стратегирование, где повестка дня не столько инженерная, сколько предпринимательская и менеджерская -- это та серая зона, когда проекта ещё нет, целевая система неизвестна/не замыслена, и поэтому нельзя применить всю мощь практик жизненного цикла системной инженерии. Вот как это показано в работе Steven J. Saunders "Return on Investment Using Model-Based Concept Design", INCOSE INSIGHT том 17 выпуск 4, декабрь 2014:
Иногда об этой дисциплине говорят как о technology management (много нюансов этого понятия я обсуждал тут: http://ailev.livejournal.com/1160014.html, это январь 2015).
Системные инженеры внимательно относятся к technology management и тому, что находится за пределами жизненного цикла системы (я называю это "экстремальной системной инженерией": если думать обо всём жизненном цикле, а не только об одной его стадии, хорошо -- давайте доведём это до экстремума, и будем думать о стадиях за рамками жизненного цикла: захватим время, когда система ещё не замыслена, и время после того, как она выведена из эксплуатации). Например, весь INSIGHT том 17 выпуск 4, декабрь 2014 был спецвыпуском, посвящённым model-based conceptual design.

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

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

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

1. Технологическая среда коллаборативного моделеориентированного концептуального проектирования.
Это означает создание технологии -- концептуального моделера (САПР -- редактор диаграмм и другой инфографики и поясняющих текстов) и PLM (управление конфигурацией и изменениями: репозиторий версионированной концептуальной модели, создаваемой в САПР, и issue tracker для команды) -- классического моделера для групповой работы, удовлетворяющего критериям http://ailev.livejournal.com/1041274.html

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

Для работы нужно иметь:
-- методологов групповой концептуальной работы (идеации, майевтики, модерации, фасилитации и т.д.) для понимания модели деятельности по созданию концепции
-- методологов системной инженерии и стратегического менеджмента (требования модели концепции, инженерия требований, моделеориентированность и т.д.)
-- методологов организации коллективной работы и её автоматизации (adaptive case management, lean 2.0, kanban и т.д.)
-- спецов по программной инженерии моделеров (САПР и PLM/ALM), 
-- онтологи, спецы по визуальным представлениям, UX (представление модели концепции и интерфейс САПР -- UX, user experience)

Тут сознательно никаких "нейро" и автоматизаций, всё классическое. Просто "ещё один САПР" и "ещё один PLM" (хотя это "просто" совсем не просто, и не только в части САПР концептуальных моделей, но и даже и в части PLM -- см., например, тренды в создании новых PLM/ALM:http://beyondplm.com/

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

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

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

Тут пока никак не учитывается "нейро в человеке", это просто попытка автоматизировать ещё кусочек работы САПР+PLM/ALM, но не за счёт хитрого/логического программирования, а за счёт возможностей обучаемых алгоритмов, прежде всего коннекционистских (но также и эволюционных и разных других, традиционных в задачах weak/narrow AI).

Это только кратенькое описание, но помним: речь идёт об абсолютно новом шестиуровневом интеллект-стеке (http://ailev.livejournal.com/1210678.html, видеолекция вhttp://ailev.livejournal.com/1222210.html) с уровнями:
-- приложения (моделер концептуального моделирования)
-- когнитивной архитектуры (нужно разработать, тут пока нет стандартных решений)
-- алгоритмов deep learning (например, mxnet --http://mxnet.readthedocs.org/en/latest/)
-- вычислительных библиотек (например, матпакеты Julia --http://pkg.julialang.org/)
-- языка вычислительного программирования (например, Julia --http://julialang.org/)
-- аппаратуры ускорителя вычислений (например, GPU фирмы NVIDIA, или кастомные FPGA)

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

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

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

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

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

Для этого нужно (я более-менее подробно, но в более общем виде обсуждал это в "кортекс и экзокортекс" --http://ailev.livejournal.com/1224251.html):
3.1. Cоздать традиционный двусторонний нейролингвистический интерфейс (интерфейс, который учитывает модель человеческой психики -- речевые высказывания и производимые диаграммы на уровне сознания, эмоциональный тон высказываний, работу подсознания, отражение этой работы во внешних телесных проявлениях), т.е. создать компьютерную модель нейролингвистического программиста, только используя современные возможности компьютерного несимволического моделирования (распознавание эмоций, sentiment analisys, анализ иронии, простановку акцентов в речи для определения относительной важности тех или иных высказываний и т.д.). 

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

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

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

По сути, речь идёт о 
-- создании новой дисциплины -- инженерии психики (см., например, текущие намётки в http://openmeta.livejournal.com/230869.html)
-- создании для этой дисциплины инструментария в форме "виртуального индивидуального помощника" (аватара как человеко-машинного интерфейса)
-- создании новой дисциплины -- инженерии группы (аналогично "инженерии предприятия"), в том числе leadership/фасилитация/модерация в группе с учётом ролевой коммуникации, групповой динамики и т.д.
-- создании для этой дисциплины инструментария групповой коммуникации в форме "виртуального коллективного помощника" (аватара).

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

3.2. Добавляем к снимаемой/передаваемой исполнителям стейкхолдерских ролей информации по пункту (3.1.) нейрофизиологических данных (сначала снимаемых/передаваемых неинвазивно, а потом посмотрим). Речь не идёт об организации работы группы "мозг-мозг" (Brainet). Речь идёт о том, что кроме видеоаудиоинформации можно будет использовать и другие модальности, невозможные для "просто человека", например ЭЭГ или разные варианты томографии. Информацию планируется не только снимать с мозга/тела, но и передавать в мозг непосредственно -- интерфейс должен бы быть двусторонний. 

Это расширение каналов съема информации и передачи информации в мозг позволит поднять качество традиционного "как у человека" нейролингвистического интерфейса по пункту 3.1 -- поднять точность моделирования, дать новые данные для концептуальной модели (например, приоритизировать интересы и цели).

Конечно, при этом важно соблюдать требования экологии (см, например, дискуссию про экологичность наведённых галлюцинаций вhttp://openmeta.livejournal.com/229226.html), но это уже детали.
* * *
Disclaimer: группа тут -- это до пары десятков человек, отнюдь не сотни. Контекст предполагается корпоративный, а не социальный/"сообществ". Проекты предполагаются корпоративного предпринимательства, или классических независимых стартапов, никак не политические, религиозные или иные или "социальные".

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

Так что речь идёт о программе, вполне соразмерной со всей программой развития нейровеба, речь тут отнюдь не идёт о создании только одного приложения, выполнении одного узкого проекта. Нет, этот "узкий проект" только предлог для осуществления шага развития, для создания новых практик. Просто "практика = дисциплина + технология", не бывает создания дисциплин, не поддержанного какой-то разработкой инструментария по её поддержке.
* * *
Мы тут ничего не говорим о жизненном цикле всей этой программы. Понятно, что должна быть обеспечена какая-то централизованная системная инженерия (в части создания технологий) и методология (в части создания дисциплин) для того, чтобы все эти три направления работ слились в конечном итоге в единое целое. И речь идёт о параллельной (concurrent) инженерии и методологии -- все стадии жизненного цикла будут проходить одновременно, "в параллель", при жёстком управлении конфигурацией и изменениями во всех проектах, а также специальными мерами по соблюдению модульности (прежде всего, опережающей архитектурной проработки и стандартизации интерфейсов).

Но это уже мелкие оргдетали, их бы не хотелось касаться.
* * *
Конечно, всё написанное (не только в пункте 3, или пункте 2, но даже и в пункте 1 с "классическим концептуальным моделером") звучит примерно так же, как в 1961 году призыв Кеннеди отправить кого-нибудь погулять по Луне. Ну, или в 1977 так же шапкозакидательно звучал призыв Пола Аллена и Билла Гейтса иметь "компьютер на каждом столе и в каждом доме" (http://www.achievement.org/autodoc/page/gat0int-1). Или мои прогнозы начала 90-х, что интернет существенно повлияет на образ жизни. Я ж помню, как все посмеивались, а теперь сами сидят по многу часов, уткнувшись не мордой в книгу, а в мордокнигу -- интернет-таки повлиял на образ жизни, ширнармассы активно лайкают вместо личного похода в гости и вечерних посиделок на кухне. 

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


Комментариев нет:

Отправить комментарий