Category: медицина

2019

Системное мышление как санитар леса

Выступил вчера с сообщением "Системное мышление как санитар леса" на прикрацном ДР (прикрацный -- прикладной рациональности, а ДР -- это модный сейчас день рождения с лекциями. Заодно ещё раз поздравляю Пион с днюхой!). Вот слайды: https://yadi.sk/i/WjlkN8Btb6cOuA

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

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

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10216013856793292
2019

Определения: лекарство, которое часто оказывается болезнью.

Вдруг ожила дискуссия октября 2017, где меня представляют одним из идеологов радикального либертарианства, https://www.facebook.com/laxy.catal/posts/819029461610691. Нынешний спор в тамошних комментах -- о праве, "что это такое". Один даёт определения права, другой говорит про ненужность понятия, и что стопицотпятое определение права его не устроит, ибо что толку от определений того, что неопределимо, ибо его нет. Не договорились по терминологии. Но ведь есть приёмы работы с ситуациями недоговорённостей по терминологии, выработанные в современной (21 век уже) философской логике:
-- не использовать определений, ибо каждое из них отражает точку зрения только одной деятельностной роли. Если вы ничего не хотите делать, а только объяснять, то можно вообще спор заканчивать -- споры должны быть прагматичны, а не онтологичны. Онтологические же споры (не про "делать", а "как на самом деле") теоретически бесплодны. Если непонятно, онтологии каких ролей для какого действия нужно совмещать -- то можно и не договариваться, незачем ведь договариваться: мир не изменится и от того, что хоть как-то договоритесь, и от того, что не договоритесь. Мир если не изменится, то можно не волноваться, прекратить спорить и разойтись сразу. Если мир от результатов спора изменится (договорились оба о действиях), продолжаем спорить и договариваться.
-- при описании малопонятного идти не к более общим понятиям, а делать grounding, описывать физический мир. Уход в более общие понятия и описание непонятного как специализаций (аристотелевские определения "X это Y с такими-то особенностями") -- тупик. Чтобы договориться, нужно конкретизировать, а не абстрагировать -- не сводить к известому спорщикам общему, а сводить к известному спорщикам физичному (даже не частному! Ибо для частного подразумевается противостоящее ему плохо определимое общее, а для физичного -- плохо определимая роль. Абстрактные понятия это чаще всего роли, функциональные объекты, ссылаются на какое-то поведение и отношения).
-- на время разговоров сам термин табуируется (всё равно его использование не ведёт к пониманию, и только замедляет дискуссию), вместо него пишутся развёрнутые формулировки если уж очень нужно, и дискуссия продолжается без этого термина -- https://lesswrong.ru/wiki/Табуирование. В дискуссиях же не про термин обычно говорится (термины нужны просто для того, чтобы компактнее было обсуждать -- а спор убирает все преимущества использования термина). Дискуссии должны быть про "что делаем", прагматизм. Если спор превращается в спор о терминах, то это тревожный симптом бесплодного спора, немедленно делайте что-нибудь. Если споткнулись с собеседником на "праве", просто не используйте этот термин, и попробуйте рассказать, что нужно делать (прагматизм!) без использования этого слова.

Тут ещё про объяснения незнакомых понятий через другие незнакомые понятия помогает понимание "понятийных расстояний" -- https://lesswrong.ru/w/Ожидая_короткие_понятийные_расстояния И эти расстояния обычно короткими не бывают: попробуйте объяснить третьекласснику как строить вольт-амперную характеристику для тиристора. Расскажите ему про вольт, ампер, характеристику и что такое тиристор. С третьеклассником все всё понимают, но два профи часто свои "тиристоры" и прочие сепульки пытаются всё-таки рассказать -- разница в возрасте ведь небольшая, и кажется, что объяснить можно. Но нет. Сколько определений не давай, пользы от них не будет.

Бойтесь, бойтесь определений -- это то лекарство, которое оказывается болезнью чаще, чем лечит. Георгий Петрович Щедровицкий: "Определение -- это гробик для уснувшей мысли".

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

UPDATE: дискуссия в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10215613209577362
2019

Улётное

Завтра в пятницу утром я вылетаю в Ростов-на-Дону, где не был лет пятнадцать, вернусь вечером в понедельник. Лечу абсолютно по нерабочим делам: на кизомба-фестиваль -- https://vk.com/kizmifest2018. Так что вряд ли буду в этот weekend оперативно реагировать на письма-чаты.
2019

Заметки с GTC'18

Мнения по тому, что происходит на GTC'18 круто разделились:
-- половина из 8500 участников конференции считает, что ничего нового не было (имея ввиду главным образом новые GPU-чипы -- слухи про Turing и Ampere не были ни опровергнуты, ни подтверждены). NVIDIA просто реализует те идеи, которые уже были анонсированы на всех предыдущих конференциях, а если и не были анонсированы, то ну... были очевидными, подразумевались, были естественными шагами, а не крутым развитием. Эта половина была как-то разочарована.
-- вторая половина считает, что наоборот, были продемонстрированы крутейшие достижения -- как сказал мне один инженер из Гамбурга, он в восхищении: была показана дорога на 10-20 лет развития. Я сомневаюсь, что при нынешних темпах можно говорить о 20 годах (что-нибудь обязательно произойдёт такого, что жизнь опять круто поменяется), но вот на 10 лет точно хватит.

Я лично а) принадлежу ко второй половине, которая восхищена и открыто обсуждает вопрос "как остальные не видят значимости текущих новостей NVIDIA?" и б) напоминают, что если половина экспертов говорит "да, круто!", а половина "нет, это всё не то!", то мы имеем дело с ситуацией новизны -- экспертное сообщество не сформировало ещё своего единого мнения, это нетоптанная полянка, и можно обнаружить там новое. А новое -- это всегда шанс на крутой выигрыш (хотя и проигрыш тоже бывает: рынок есть рынок). Фирма NVIDIA, выпускающая компьютерные платформы (а не чипы) -- это для многих новинка. На GTC'18 основная тема объявлений NVIDIA -- новинки компьютерной архитектуры, на два системных уровня вверх от чипов (компьютеры на этих чипах и кластеры из этих компьютеров). Это Большая Архитектурная Игра, и NVIDIA в этой игре продолжает быстро-быстро завоёвывать мир. Я ещё напишу про это, когда доберусь до нормального монитора и клавиатуры. Пока можете почитать про все крупные анонсы тут: https://blogs.nvidia.com/blog/2018/03/26/live-jensen-huang-keynote-2018-gtc/ (читайте снизу вверх, это пересказ keynote). И заранее обратите внимание на платформенные стеки: они видны на многих и многих слайдах -- все эти системные уровни. Всё руководство NVIDIA удерживает компанию именно этим системным мышлением, даже если отдельные сотрудники сосредоточены каждый на задачах своего системного уровня. Системное мышление чётко выдерживает отношение часть-целое в системах, организует эдакое "многоуровневое LEGO" -- в данном случае для создания компьютерной ткани (fabric -- бесконечного полотна, масштабирующего в своём плетении оригинальную структуру): IP для отдельных операций, складывающихся в CUDA kernels, складывающихся в отдельный процессор, складывающиеся в отдельные GPU, складывающиеся (с добавлением коммуникационного чипа и CPU) в GPU Fabric из множества CPU в рамках одного супер компютера, складывающегося затем в облачный кластер. Это суперкомпьютерная линейка. С другой стороны имеем робототехническую линейку из SoC Jetson TX, а через короткое время и Xavier -- для тех, кому не нужны супер-пупер мощности, но нужны вычисления на edge. И имеем ту же архитектуру, что позволяет вычислять одну и ту же программу на SoC и на суперкомпьютерной GPU Fabric. Напишу ещё об этом подробней.

Я был вчера на паре мероприятий с Дженсеном Хуангом (NVIDIA CEO) и сегодня на паре мероприятий. Он, конечно, великий человек, и его работа меняет лицо планеты, пожалуй, побыстрей и посущественней, чем работа Элона нашего/ихнего Маска. И я ещё не видел никого, кто настолько чётко бы демонстрировал системное мышление: это не какие-то неведомые люди готовят ему слайды, на которых всё системно. Нет, это у самого Дженсена Хуанга мысль организована по системным уровням -- он даже жестикулирует, рисуя в воздухе платформенные уровни, а в речи самое частое словосочетание "on top of" и далее идёт название очередного уровня. Я в восхищении. Это нужно давать студентам: моделировать системное мышление Дженсена Хуанга, чтобы учились удерживать эти длинные цепочки отношений "часть-целое" в мышлении, учились мыслить системными уровнями. Дженсен Хуанг IMHO честно говорит то, что думает, да ещё и делает именно то, что говорит. Результат -- компания NVIDIA удерживает множество уровней технологического компьютерного стека и стремительно превращается в универсальную огромную компьютерную фирму из производителя чипов для компьютерной графики.

А на самой выставке среди крайнего разнообразия (универсальный компьютинг ведь нужен во всех отраслях!) проступает ещё одна тема: медицина. Да, NVIDIA делает медицинскую компьютерную платформу с милым названием Project Clara – a virtualized data center, remoted, multi-modality, multi-user. It’s a medical imaging supercomputer. Но очень и очень много участников заняты deep learning в медицине, причём безо всякого Project Clara. Они просто берут GPU и решают самые разные медицинские задачи. Ибо медицина сегодня а) знахарская по сути, теории нет, всё базируется на интуиции врача, а интуиция ограничена б) человеческое тело слишком сложно устроено, функционирует на множестве системных уровней -- формулой простой его не отмоделируешь, разнообразие "нормы" огромно, как и разнообразие "патологий", поэтому наука в случае медицины пасует, в) хорошо финансируется при огромном числе ошибок и сугубо субъективных решениях -- жить-то все хотят!, г) слабо индивидуализирована -- данных много, а врач-человек не в состоянии их переварить, поэтому решения не для людей, а для "типичных случаев", которые конкретным людям могут не помогать. Вот AI в медицине будут спасать жизни сейчас массово: качество "интуиции" нейронных сеток уже массово становится выше качества интуиции даже не отдельных врачей, а консилиумов.

Тут восторг, чистый восторг. Мне самых разных человек десять уже, случайно оказывающихся рядом людей сказали буквально одно и то же "никогда не думал, что доживу до этого" -- по совсем разным поводам, на совсем разных мероприятиях. Независимо от того, считают ли эту GTC'18 прорывным и исключительным мероприятием или обыденно-рутинным. Ну да. Все эти тераопераций в секунду -- то есть триллионы. Петаоперации в секунду -- то есть квадриллионы (10^^15, если кто забыл). А эволюционные алгоритмы вкупе с алгоритмами глубокого обучения съедят всё, и ещё попросят. Так что вся эта мощь без дела не останется.

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

Самый частый тут ко мне вопрос -- что я считаю самым горячим сегодня в AI. Мой ответ -- это разделение предметного (прикладного, domain) уровня сегодняшнего интеллект-стека на собственно прикладной и когнитивной архитектуры (я писал целевое состояние в "болванах для искусственного интеллекта", http://ailev.livejournal.com/1356016.html). Когнитивная архитектура это выше уровня учебных алгоритмов -- это архитектура, позволяющая сочетать внешние базы данных, предобученные нейронные сети, постоянное доучивание и т.д.. Сегодняшние deep learning фреймворки уже commodity, а вот предметно-специфичный код, который пишется с задействованием алгоритмов из их библиотек до сих пор не разделён на "общую часть" и "предметно-специфическую часть". Люди же, занимающиеся именно когнитивными архитектурами в их отрыве от предметной/прикладной специфичности, пока не в самом мейнстриме (в отличие от людей, занимающихся алгоритмами обучения сетей -- вот они предполагаются универсальными). Так что ждём стремительного формирования нескольких предложений этих когнитивных архитектур (сейчас их будет побольше сотни, и все они неуниверсальны, лидеров нет -- в этом фишка. Моя догадка в том, что универсальная более-менее распространённая/популярная архитектура должна появиться: дико избыточная и неуклюжая, но одна для всех задач). Так что ждём-с, тут сейчас будет самая схватка.

А ещё в Сан Хосе было +25 сегодня, и я даже пару часов погулял, прокалил лысинку на местном солнышке. А потом потанцевал на вечеринке с огромной толпой спецов по deep learning, компьютерными архитекторами, электронщиками, программистами и всеми остальными. В танцах и подпитии они все одинаковы: радостны и благостны. Вот я на сегодняшней вечеринке в "объемном фото" (https://youtu.be/msEa-BZMxmU):
2019

Об когнитивные искажения

Вот https://ru.wikipedia.org/wiki/Список_когнитивных_искажений :



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

Во фразе "пайди вазьми 150 рублей прямо сейчас вон в том акошке", вы будете обсуждать только ашипки и почему нельзя так ниграматно писать, а до пойти и взять 150 рублей дело не дойдёт!

Беда с этими когнитивными искажениями, даваемыми длинными списками как раз в этом: лекарство незаметно и как-то печально неизбежно становится болезнью.

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10211910522572501
2019

Таблетки для знаний: уже второй стандарт

Полку стандартов для обмена нейронными сетками прибыло, причём от разработчиков железа, и это NNEF, Neural Network Exchange Format -- https://www.khronos.org/nnef. Это добавочка к длинному ряду: Khronos standards include Vulkan®, OpenGL®, OpenGL® ES, OpenGL® SC, WebGL™, SPIR-V™, OpenCL™, SYCL™, OpenVX™, NNEF™, COLLADA™, OpenXR™ and glTF™.

Чётко даётся цель: перенос знаний между системами тренинга нейросеток и железом вывода, то есть речь идёт о выходных языках (буквально, NNEF сделан питоноподобным) оптимизаторов нейросеток типа TVM (http://tvmlang.org/) или TensoRT 3 (https://developer.nvidia.com/tensorrt):


Напомню, что до этого мы видели в этой сфере главным образом ONNX (http://onnx.ai/). И там те же члены, хотя их было и поменьше. Правда, NVIDIA в рабочей группе NNEF нет, но и в ONNX она появилась совсем недавно. Я думаю, и тут появится (NVIDIA член Khronos). Отличия более простого ONNX от более навороченного NNEF читать в https://www.khronos.org/blog/nnef-design-philosophy-network-structure-and-target-use-cases

Что дают все эти стандарты поддержки оптимизаторов? Например, дешевизну и скорость получающихся решений. Вот пример с TensorRT 3 на восьмибитном представлении (https://devblogs.nvidia.com/parallelforall/int8-inference-autonomous-vehicles-tensorrt/, INT8 inference with TensorRT improves inference throughput and latency by about 5x compared to the original network running in Caffe):


Это вполне может быть ещё не конец истории, я вот писал ещё пару лет назад, что нужно "думать о мощности аппроксимаций: переход к bitwise сеткам (начиная, например, с обзора в http://arxiv.org/abs/1603.01025 -- где обсуждаются пятибитные и трёхбитные логарифмические разрядные представления для весов и активаций в свёрточных сетях)". С восьмибитными представлениями уже промышленные решения, а вот пятибитные и трёхбитные представления ещё не появились, дальше можно только гадать -- появятся, или не появятся. Но инфраструктура для их возможного появления разрабатывается полным ходом, стандарты будут, дело только в реализациях.

Это только самое начало долгого стандартизационного пути, достаточно вспомнить "войны браузеров" и повспоминать историю HTML -- https://en.wikipedia.org/wiki/HTML, но ещё лучше VRML -- https://en.wikipedia.org/wiki/VRML (и поглядите, чем оно там закончилось, если закончилось). Большие инфраструктуры обеспечивают именно стандарты. Как только удаётся сформулировать хороший платформенный стандарт, так тут же появляется массовость приложений. Появление нейросетевого стандарта -- верный признак перехода к массовым применениям. Нейровеб приходит, но (как обычно) совсем не так, как его ждали. Не могу не вспомнить тут о других стандартах нейросетей -- прежде всего https://www.neuroml.org/ и http://neuralensemble.org/PyNN/ (где тот же Питон в основе). Вот я писал в 2014 году про моделирование нейронов червя с его использованием: https://www.neuroml.org/.
2019

В защиту функциональных рассмотрений целевой системы

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

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

Всё функциональное на верхнем уровне — это обычно из предметной области, и ровно вот этого понимания у айтишников нет, несмотря на победное шествие domain driven design и event storm, несмотря на все попытки привлечь внимание к предметной области, в которой решаются задачи.

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

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

Теперь представим инженера, которому маркетологи говорят, что ему нужно будет решить задачу химического синтеза, но непонятно ещё какую. И они наймут химика, который потом всё объяснит. ОК, инженер берётся за дело и предполагает, что там нужны будут реакторы и трубы. Реакторов непонятно сколько, ибо непонятно, сколько там в синтезе будет химических реакций. Поэтому лучше бы этих реакторов было побольше. Он выбирает цифру 4, как "не очень мало, но и ещё не очень дорого", нюхом чует, что там может быть хитрая эндотермическая реакция, но сам он для этого реактор вряд ли спроектирует. Второй реактор он отдаёт проектировать контракторам и честно об этом пишет. Хотя контракторы и спрашивали, что там с массами и температурой, ответ пока никто не может дать, поэтому контракт планируется без разговора о требованиях — но контрактор, разумеется, от заказа не отказывается и говорит, что "сделаю любой реактор". Слово "любой" никого не отпугивает, ибо нет химика, который бы сказал, что будет в этом реакторе происходить. Есть только инженеры по железу, хорошо разбирающиеся в марках стали и сварке, и маркетологи, беседующие с врачами.

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

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

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

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

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

Мыслить только про конструкции нельзя. Отсутствие мышления о функциональности нужно как-то осознавать и исправлять. А это отсутствие мышления о функциональности заметно только в случае наличия системного мышления.

UPDATE: Обсуждение -- https://www.facebook.com/ailevenchuk/posts/10211725609509790
2019

Нужны ли виртуальные персональные и групповые ассистенты? Не факт!

Вот обратите внимание, как непросто подбирать задачи для Cortana, Google Now, Siri. Для поиска задачек к M городят целый огород с настоящими людьми.

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

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

Ассистент должен сам уметь делать что-то гениальное, а не просто разговаривать. Если есть аппка, то проще этой аппкой воспользоваться самому на голосовом интерфейсе, безо всякого посредника. Аппы сами будут разговаривать, аки люди-эксперты. Секретари для общения с ними могут оказаться не нужны. Посадить пяток аппов, и беседовать с ними. А персональный ассистент? Что он сам должен мочь? "Позови мне Васю и Петю?" Так в виртуальном мире можно просто сказать "ОК, Вася и Петя" вместо "ОК, Гугль, позови Васю и Петю" -- всего-то делов.

К коллективным ассистентам это тоже относится. Или они фасилитаторы/модераторы/менеджеры (то есть приложения, которые что-то умеют, т.е. не "ассистенты-разнорабочие"), или их быстренько дисинтемедиируют. Всё как с людьми.

Платформы, которые дадут вашему гениальному приложению разговаривать без посредников, уже есть:
-- https://api.ai/ (эта платформа и персональных ассистентов поддержит, это же тоже "приложение", например https://assistant.ai/),
-- https://mindmeld.com/
-- Alexa Voice Service, https://developer.amazon.com/public/solutions/alexa/alexa-voice-service
-- https://www.houndify.com/
-- http://viv.ai/ -- viv radically simplifies the world by providing an intelligent interface to everithing
-- ...тысячи их, дальше просто лень смотреть.

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

UPDATE: дискуссия в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10206694169046923
2019

lytdybr

В школе системного менеджмента вчера провёл тренинг системного мышления "Проекты, процессы или задачи?". Это третий из шести дней, остались темы про развитие против совершенствования (15 ноября, http://nisse.ru/actual/events/?ELEMENT_ID=131140), архитектуру предприятия (на базе ArchiMate) и стратегирование. Полный список тем был в http://ailev.livejournal.com/1220045.html.

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

Отрок с женой устроили забастовку: не хотят заниматься на каникулах моим питоном, а штудируют свою физику. Говорят, сейчас это важней. Может, оно и верно: физики у него разного вида 8 часов в неделю (2 школа, 2 вечерние курсы физматшколы, 2 "олимпиадная школа" МФТИ, 2 курсы автоматики с задачами по теме "электричество"), иметь какой-то запасец навыков тут явно не помешает.

Набирается русскоязычная группа Deep Learning Moscow для участия в соревновании по машинному обучению kaggle -- https://www.facebook.com/groups/1505369016451458/permalink/1516022998719393/ (может потребоваться попроситься там в группу). Задача проста: Using a dataset of multiple choice question and answers from a standardized 8th grade science exam, AI2 is challenging you to create a model that gets to the head of the class. Each question has four possible answers, of which exactly one is correct. Не хотите размяться? Научить компьютер решать задачки по "науке" для американского восьмого класса? Сейчас в этом соревновании уже 260 команд и 315 одиноких волков. -- https://www.kaggle.com/c/the-allen-ai-science-challenge

Тихонько коплю материалы по evolutional learning. Там, например, умеют делать походки самых разных тварей -- https://vimeo.com/79098420 (впрочем, эту ссылку я уже давал), https://youtu.be/z9ptOeByLA4. Это к дискуссии о математическом решении уравнений движения против адаптивных/learning методов, поднятой по поводу робота-"бабочки" (http://ailev.livejournal.com/1223513.html). Сюда же можно отнести дискуссию про end-to-end [deep] learning в системах датчики-моторчики (т.е. без "распознаём сигналы с датчиков и затем синтезируем ответ моторчиков для распознанного"), там такие работы как End-to-End Training of Deep Visuomotor Policies http://arxiv.org/abs/1504.00702 и DeepDriving http://deepdriving.cs.princeton.edu/. А вот как учат хватать детальки неправильной формы -- http://techxplore.com/news/2015-10-deep-learning-robot-grasp.html. Robot Toddler learns to stand by "imagining" how to do it -- http://www.technologyreview.com/news/542921/robot-toddler-learns-to-stand-by-imagining-how-to-do-it/. То есть отрабатывается прямая связь «глаз-рука/нога», мимо всяких «выборов алгоритмов для конкретных движений», победа эмпирицизма.

Прошлая неделя какая-то медико-психологическая прошла, и дело не ограничилось участием в нейро-тусовках на "Открытых инновациях" и тамошними выступлениями (http://ailev.livejournal.com/1224251.html и . В том числе ввязался в дискуссию http://ailev.livejournal.com/1223021.html. Вышло моё интервью "Закат профессий" http://erazvitie.org/article/zakat_professij и я ввязался в большую дискуссию про закат профессии врача в группе СМД-методологов ThinkTech -- (там закрытая группа, вам нужно в неё попроситься): https://www.facebook.com/groups/508023525973810/795022427273917/. Врачи просто под раздачу попали, вопрос ведь типовой и также обсуждался по поводу доклада М.Шумского на "Открытых инновациях". Он докладывал как раз передо мной и замечал, что хорошая нейронная сетка может служить посредником между алчущими людей -- совершать браки исполнителей и заказчиков "в облаках", навроде Uber. И примерно то же самое будет делаться, например, и с врачами -- будут сервисы, которые позволят пациентам и врачам находить друг друга, удобно проводить анализы и процедуры, эдакий медицинский Uber. Я же ответствовал, что Uber ни разу не ощущает себя посредническим сервисом! Uber ни разу не заявлял, что хочет поддержать водителей в их боробе за пассажиров. Он хочет задёшево перевозить пассажиров, никакого посредничества. И для этого готов купить 500тыс. автомобилей без водителя у Тесла, как только, так сразу.

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

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

Игра на нервах

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

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

2. Можно стимулировать нерв (например, нейроимплантом), чтобы снимать воспаление. Нервы таки влияют на клеточные процессы!

There's a single nerve that connects all of your vital organs — and it might just be the future of medicine -- http://www.businessinsider.com/vagus-nerve-stimulation-2015-6.

Это оказывается целым трендом, появляется веб-проект Stimulating Peripheral Activity to Relieve Conditions (SPARC) -- http://commonfund.nih.gov/sparc.

Ещё в 2014 в Nature опубликован roadmap биоэлектронных лекарств (bioelectronic medicines): Realizing the vision of a new class of medicines based on modulating the electrical signalling patterns of the peripheral nervous system needs a firm research foundation. Here, an interdisciplinary community puts forward a research roadmap for the next 5 years. -- http://www.nature.com/nrd/journal/v13/n6/full/nrd4351.html

3. Триггерные точки миофасциального релиза и акупунктурные точки оказались одним и тем же! Этому посвящено довольно много работ: http://www.jpain.org/article/S1526-5900%2809%2900010-8/abstract

Миофасциальные триггерные точки (myofascial trigger point, это которые болят, ежели в них ткнуть пальцем, но бывает и так, что они просто болят уже без тычка пальцем -- https://en.wikipedia.org/wiki/Myofascial_trigger_point) в какой-то момент попытались обезболивать, вкалывая в них обезболивающее. А потом обнаружили, что эффект есть и в том случае, если туда колоть "сухой иглой" (она же игла для акупунтуры) -- http://www.ncbi.nlm.nih.gov/pubmed/20673246

Триггерные точки вполне себе "есть" и инструментально обнаружимы в активном виде -- Active trigger points consist of multiple contraction knots within a muscle, and they can develop due to injury, musculoskeletal dysfunction and overuse. Active trigger points impair a person’s ability to lengthen, strengthen or contract the muscle. As a result, the muscle shortens and compresses the structure around it, causing pain. -- http://www.ptplus.com/trigger-point-dry-needling/.

Так что появились вполне респектабельные статьи, где колят акупунктурными иглами под приборным визуальным контролем. Вот, например, статья даже на русском языке (2010г., Использование "сухого" иглоукалывания триггерных точек под ультразвуковым контролем в лечении дисфункции височно-нижнечелюстного сутстава. Первичный опыт. Клиническая иллюстрация и обзор литературы): http://www.researchgate.net/publication/256089585_Dry_needling_of_trigger_points_under_ultrasound_guidance_for_treatment_of_of_the_temporomandibular_joint_dysfunction._Primary_experience_clinical_illustration_and_literature_review

Результат: лицензированные остеопаты (занимающиеся миофасциальным релизом) и лицензированные иглорефлексотерапевты вошли в конкуренцию друг с другом и обратились к защите государства друг от друга -- вот, например, позиция ассоциации иглорефлексотерапевтов (а вы думаете, что они обрадовались?!): "сухое иглоукалывание" они называют "нелегальной и небезопасной практикой акупунктуры" и требуют для практикующих получения именно лицензии иглорефлексотерапевта: http://acupuncturewisconsin.org/dry-needling-10-facts-you-should-know-2/, это позиция иглорефлексотерапевтов Висконсина. Вот чуть более мягкая позиция у австралийцев: http://www.acupuncture.org.au/Health_Services/Dry_Needling.aspx

Ну, у миофасциальщиков тоже есть своя ассоциация, http://www.myofascialtherapy.org/, вполне западный подход к медицине, и за ними ответы не ржавеют. Они сливаются с остеопатами, которые, похоже задействуют в своих методах очень похожие механизмы связи нервной системы и органов (а поскольку остеопаты ещё и мышцами и костями интересуются, то любят добавить "механическую проблему лекарством не уберёшь" -- ибо если какой-то нерв защемляется, то это механическая проблема, а проявляться она может и на клеточном уровне в определённых органах). Литературы и методов там хватает, есть немного и по-русски: http://osteoway.com/osteopaticheskie-techniki.html

Пока миофасциальщики защищаются от того, чтобы их путали с акупунктурщиками: Although they use the same thin filament needles, acupuncture and dry needling are two very different treatments. In contrast to most schools of acupuncture, dry needling is strictly based on Western medicine principles and research. Acupuncture is used to treat Traditional Chinese Medical diagnoses of visceral and systemic dysfunction, while dry needling is used to assess and treat myofascial pain. Dry needling relieves pain by inactivating trigger points within muscles. Acupuncture achieves pain relief through the release of endorphins and creating balance in the body’s energy levels. Through the release of cortisol, acupuncture can also have an anti-inflammatory effect on the body. At PT Plus, our physical therapists are not licensed acupuncturists and do not practice acupuncture. Trigger Point Dry Needling and other physical therapy procedures are based on scientific neurophysiological and biomechanical principles. -- http://www.ptplus.com/trigger-point-dry-needling/. Но если этих миофасциальщиков порасспросить, они нехотя расскажут, что болят первичные точки и отражённые -- и боль надёжно проходит, только если тыкать иголкой в первичную точку, а не отражённую. Ну, разве что про "каналы" не рассказывают, объясняя связи между отражёнными пусковыми/триггерными точками и первичными.

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

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

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