понедельник, 16 июля 2018 г.

ВЫУЧИТЬ ЗАНОВО - ЧТО, КАК И ЗАЧЕМ?


Вы думали, что после лжи и наглой лжи идёт статистика? Отнюдь. Над статистикой, изучающей ассоциации между какими-то событиями есть ещё два уровня, изучаемые причинным выводом (causal inference), оформившимся в более-менее самостоятельное направление в последние два-три десятка лет.

1. Ассоциация (association) связана с наблюдением. Типичные вопросы: что это? Как наблюдение X изменяет мою веру в Y? Да, там сразу всё байесовское, P(y|x). Примеры: Что симптом говорит мне о болезни? Что опрос говорит нам о результатах выборов?

2. Вмешательство (intervention) связано с деятельностью, влиянием на жизнь. Типичные вопросы: что, если? Что, если я сделаю X? Это уже за пределами байсовской статистики, ибо не статистика вовсе: требуется дополнительное введение причинной модели, т.е. каких-то гипотез от предметного эксперта о том, что там на что в предметной области влияет. Дальше статистика подтвердит или опровергнет эти гипотезы. То есть добавляется оператор do, P(y|do(x),z), а в остальном -- те же байесовские сети. Тут уже обсуждаются возможные миры, которых ещё не было, речь идёт о проектировании будущего мира, то бишь о планировании: Если я выпью бутылку кока-колы, исчезнет ли моя головная боль? Что будет, если я брошу курить, пить и работать по ночам? 

3. Контрфактуалы (couterfactuals) связаны с возможными мирами, мимо которых уже проехали -- это вопросы, задаваемые в рефлексии. Это уже не столько проектирование/планирование, сколько воображение, ретроспекция, вопросы про механизмы: Почему? Это X привёл к Y? Что было бы, если бы я действовал вчера по-другому? Это уже совсем далеко от статистики, выражения там P(yx|x′,y′), и рассуждения требуют учёта вмешательства (которое в свою очередь опирается на статистику!), т.е. вычисления над причинной моделью с гипотезами о предметной области, но при этом проводятся ещё и хитрые операции вмешательства над этой моделью.

За последние тридцать лет в этих предметных областях произошла онтологизация в достаточной мере, чтобы навести формальную теорию (ага, выразить всё математически, с доказательствами). Как пишет Judea Pearl, формализовывать нужно только то, что тебе реально важно -- но тогда уж не жалеть сил и заниматься этим а хоть и пару десятков лет, как он сам. Мутные рассуждения про контрфактуалы (те самые, которые возникают в вопросах "Почему?", связанных с попытками выяснить механизмы каких-то явлений) вытащили из левой части спектра формальности мышления далеко-далеко в правую часть. Это тяжёлая работа, но если уж её проделать, то дальше формальная машинка будет оберегать от многих и многих ошибок, а пользоваться готовыми формулами смогут при должной тренировке и студенты, и даже школьники. Использование результатов этой работы -- это causal revolution, как скромно называет распространение новой модели формальных размышлений (т.е. математизированной онтологии) о причинности в эпидемиологии, сельском хозяйстве и отчасти экономике и социологии.

Это подробненько рассказывается из вышедшей в мае книжки Judea Pearls "Книга Почему: новая наука причины и следствия", The Book of Why: The New Science of Cause and Effect, https://www.amazon.com/Book-Why-Science-Cause-Effect-ebook/dp/B075DCKP7V/

Сама книжка призвана вытащить в порядке этой "причинной революции" онтологию причинности, сформулированную в терминах частично эпидемиологов, частично сельскохозяйственников, частично откуда ни попадя в какую-то более-менее общую для всех часть научного мышления. То есть речь идёт о "подходе": наработанный на примерах одних дисциплин теоретический аппарат планируется применять более-менее везде. Ну, типа как системный подход -- наработанное главным образом на примерах биологии системное мышление пошло дальше более-менее везде. Это намерение более чем явно: в соавторы книжки Judea Pearls взял знаменитого автора науч-попа Dana Makcenzie. Но я не сказал бы, что книжка стала науч-попом. 

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

Глава книжки про (сильный) искусственный интеллект меня не убеждает пока, ибо это теоретические заявления не про когнитивные архитектуры, а про находящиеся под ними на более низком системном уровне алгоритмы обучения. И ответы на "доказательства" Pearl из стана разработчиков AI будут инженерные. Меня тут больше волнует как раз то, что два уровня математических наслоений над байесовской математикой это многовато, рассматриваемые модели из той же медицины пополам с социологией (эпидемиология) и сельского хозяйства (затронуто в книге маргинально, но там это всё тоже важно) выглядят более чем странными, и искусственный интеллект должен, конечно, брать всю эту формальную механику на себя. Я лично на этой скрипке Энгельбарта (https://ailev.livejournal.com/1158826.html) играть вряд ли уже научусь, но с удовольствием передал бы своему (или даже чужому) персональному ассистенту возможность проводить все необходимые рассуждения в предлагаемой новой дисциплине причинного вывода.

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

Проблема в том, что эти модельки (гипотезы о причинности, которые потом будут проверяться расчётами) должны делать разбирающиеся в предметной области люди, а не статистики -- то есть по факту говорится, что data scientists никто, если они не работают рядом с subject expert. И Big Data это ни про что, если с этими данными разбирается специалист-статистик, а не специалист по той предметной области, из которой взяты эти самые данные.

Если у вас есть модель причинности , то вы можете делать следующее, чего не можете сделать на чистой статистике (краткое изложение даю по черновику статьи Pearl для Communications of ACM. Она, кстати, в июльском выпуске, как было запланировано, так и не появилась -- http://ftp.cs.ucla.edu/pub/stat_ser/r481.pdf): 
1. Записывать предположения о причинности в форме, которую можно тестировать, и которая затем непосредственно может быть использована для формального вывода (inference, как в "вывести формулу", тут "вывести причинность").
2. Исчисление вмешательств (do-calculus) и разбирательства с возможными скрытыми общими причинами (control of confounding).
3. Формализация (буквально: алгоритмизация) работы с контрфактуалами. Это нужно для уверенных рассуждений про "причины этих результатов" по сравнению с прямым рассуждением про "результаты этих причин". Пример таких вопросов, это вопросы про необходимость и достаточность причин: вопросы типа "были ли занятия в бассейне достаточной и/или необходимой причиной для смерти Джо?".
4. Анализ механизмов переноса изменений от причины к результатам -- по факту речь идёт о формализации объяснений и оценке объясняющей силы моделей. Типичный вопрос тут: "какая часть результата воздействия X на Y проходит через механизм Z?".
5. Перенос знаний о результатах экспериментов в одних условиях на другие условия. Все эти "нерепрезентативные выборки" могут теперь быть модифицированы, чтобы быть репрезентативными. Это всё про устойчивость (robastness) оценок.
6. Восстановление пропущенных данных в тех случаях, где не соблюдаются строгие условия случайности в пропусках (иначе бы и статистики хватало).
7. Выявление причин. Хитрые трюки с наблюдениями по всяческим ассоциациям/корреляциям приводят к тому, что мы в состоянии из данных сказать, в каком направлении там причинность. Грубо говоря, мы сможем сказать, это солнце встаёт, потому как петух крикнул перед его восходом, или это петух кричит потому как солнце скоро встанет. Обычная статистика тут, вестимо, отступает: она ничего не говорит про причинность вообще, только про взаимосвязь каких-то величин.

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

В принципе, теперь бы всё это нужно почистить: 
-- унаследованная от всех этих эпидемиологов терминология, и обилие медицинских примеров раздражает (но тут вероятность того, что как в системном подходе "жизненный цикл" окажется и не жизненным, и не циклом -- и ничего, привыкнут к термину)
-- биология-медицина-сельское хозяйство, социология и экономика это, конечно, хорошо. И дальше ход на AI (на чём настаивает Judea Pearl). Но что бы этот материал не обратить на физику? Мне кажется, сначала нужно договориться с физиками и совместиться с их онтологикой. У Judea Pearl на эту тему буквально несколько абзацев, про "научный метод" вообще.

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

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

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

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

И системные инженеры, проводящие испытания, тоже должны понимать пределы чисто статистической обработки итогов этих испытаний. Они ж "экспериментаторы".

И операционные менеджеры, которые оценивают причины отклонений, цитируя Дёминга-Шухарта, должны тоже понимать ограничения своих статистических по факту расчётов. 

И так дальше: по идее, научное мышление оказывается не менее важным для современного человека, чем системное мышление. Оно общее для всех: один раз выучишь, много раз задействуешь. И им тоже не так просто овладеть. Курсы causal inference есть уже во многих университетах -- революция-то шла тридцать лет, с 90-х годов. Но на этих университетских курсах, похоже, преподают не мышление о причинах и следствиях, и не как часть научного мышления, а просто матаппарат этого вывода. Очень похоже на ситуацию с системным мышлением, где на курсах systems thinking в университетах часто можно найти какую-нибудь systems dynamics с приветом из 70-х и подробным изложением того, какие там дифуры в этих "системных моделях". 

Так что надежда, что где-нибудь инженеры (а не медики, юристы, университетские профессора, не люди из AI, не ... несть числа им) взяли этот causal inference и в ходе практической работы сделали бы из него что-то более-менее употребимое в практической работе. И тогда можно было бы сделать из этого нормальный учебный курс для всех, ровно по той схеме, по какой я делал курс современного системного мышления. Но Judea Pearl только-только написал свою полупопсовую книжку, и инженеры только-только начали узнавать о привалившем к ним счастье формализации причинности. Дальше единственная надежда на EduOps (https://ailev.livejournal.com/1431056.html), то есть совмещение исследований по научному мышлению и оформлению результатов в виде курсов.

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


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

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