?

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 ]
Friday, August 17th, 2018
1:43 pm
Первое сентября досрочно
В это воскресенье (19 августа 2018) начинается второй поток моего шестидневного марафона "Системный менеджмент и стратегирование v2" -- http://system-school.ru/. А 5-6 сентября 2018 я буду повторять там вводный двухвечерний курс "Как оставаться востребованным специалистом в эпоху перемен". Кстати, в Школе ещё много чего интересного происходит сейчас, кроме моих собственных курсов. Например, уже сегодня вечером стартует четырёхвечерняя онтологика Прапион Медведевой, 25 августа "Как быстро договариваться в сложных ситуациях" (о стейкхолдерах) Александра Турханова.

Кафедра технологического предпринимательства МФТИ принимает до 24 августа 2018 в двухлетнюю онлайн-магистратуру, старт обучения 15 сентября 2018. Там у них будет в том числе семестровый курс системного мышления и семестровый курс практик системной инженерии: http://techpredonline.ru/. Обучение там онлайновое, сочетает онлайн-материалы (курс системного мышления уже есть, и мы только что закончили съёмки видеокурса по практикам системной инженерии) и вебинары (консультации и семинары, а также сдача заданий) с живыми преподавателями, поскольку эти онлайн-курсы заменяют лекции, но их недостаточно для полноценного обучения, нужна практическая работа. Экзамены тоже можно сдавать удалённо. Прошлый поток был весьма интересен: туда поступают много русскоговорящих из дальнего зарубежья, кандидаты наук, уже состоявшиеся инженеры -- хотя и бакалавров тоже берут. Экзамены можно сдавать тоже онлайн.

А ещё круглогодично и бесплатно (но я рекомендую немножко заплатить за проверку задач -- без этого получается плохо, чтение "учебника езды на велосипеде" не слишком эффективно) работает курс системного мышления -- http://systemsthinkingcourse.ru/ (и его поддержка в чате https://t.me/systemsthinking_course). Сто человек уже закончили этот курс, семеро из них на этой неделе.
Thursday, August 16th, 2018
11:35 pm
Гибридный нижний уровень интеллект-стека
Сегодня нижний уровень интеллект-стека -- это аппаратура ускорения коннекционистских вычислений. Там всё очень бодро, кратенький обзор я дал в https://ailev.livejournal.com/1441034.html -- уменьшают время обучения, уменьшают время вывода, меняют физику аппаратуры.

А на среднем уровне интеллект-стека решают вопрос компьютерной поддержки полного спектра формальности мышления, https://ailev.livejournal.com/1438749.html -- логика и вероятность с causal inference и probabilistic programming, логика и коннекционизм с neural-symbolic computation/integration, дифференцируемая логика с relaxation representation до differentiable programming.

И вот появляется густой поток работ, в которых решается очень похожая проблема поддержки полного спектра формальности мышления, но "снизу" -- чуть ли не на уровне innate priors для архитектуры обработки информации в рамках коннекционизма с обучаемостью, так и алгоритмической тьюринговской архитектуры вычислений. Универсальный вычислительный субстрат, который можно обучить и образы распознавать, и логически/алгоритмически проводить суждения. Образно-логическая, коннекционистско-алгоритмическая среда. Гибридный коннекционистско-алгоритмический уровень интеллект-стека.

Направление это задано было когда-то Neural Turing Machine https://arxiv.org/abs/1410.5401 и Neral GPU https://arxiv.org/abs/1511.08228. И вот прямо сейчас появляется ворох новостей в этой области:

-- лучшая архитектура нейросетки для перевода естественных языков (Transformer) не могла выучить простейшее копирование строки (из abc получить abcabc). А "вычислительные нейросетки" типа Neural Turing Machine очень плохо работали с "образными задачами" типа перевода естественных языков. И вот сегодня Google Brain опубликовал Universal Transformer -- https://ai.googleblog.com/2018/08/moving-beyond-translation-with.html. Our experiments confirm that Universal Transformers are indeed able to learn from examples how to copy and reverse strings and how to perform integer addition much better than a Transformer or an RNN (although not quite as well as Neural GPUs). Furthermore, on a diverse set of challenging language understanding tasks the Universal Transformer generalizes significantly better and achieves a new state of the art on the bAbI linguistic reasoning task and the challenging LAMBADA language modeling task. But perhaps of most interest is that the Universal Transformer also improves translation quality by 0.9 BLEU1 over a base Transformer with the same number of parameters, trained in the same way on the same training data. Putting things in perspective, this almost adds another 50% relative improvement on top of the previous 2.0 BLEU improvement that the original Transformer showed over earlier models when it was released last year. The Universal Transformer thus closes the gap between practical sequence models competitive on large-scale language understanding tasks such as machine translation, and computationally universal models such as the Neural Turing Machine or the Neural GPU, which can be trained using gradient descent to perform arbitrary algorithmic tasks. Это явно шаг по направлению к гибридной архитектуре: добавление в коннекционистскую, нейросетевую архитектуру даже не эмуляции алгоритмических/символьных вычислений "по выучиваемым правилам", а "чего-то похожего на выучиваемые вычисления". Гибридный коннекционистский "образно-алгоритмический" субстрат с возможностью выучить какую-то алгоритмику оказался лучше чисто "образного".

-- а можно ли улучшить эту самую "вычислимость" в нейросетке? Ответ: можно, и это NALU (nerual arithmetic-logic unit), https://ailev.livejournal.com/1440139.html. Это тоже Google, но Google DeepMind. Всем настолько понравилась идея, что чуть ли не за сутки появилось множество реализаций этого подхода на самых разных deep learning фреймворках. А сегодня сделан интересный шаг: прокинуто множество системных уровней и сделана реализация NALU на ассемблере x86 -- http://rickyhan.com/jekyll/update/2018/08/15/neural-alu-implemented-in-python-and-assembly-x86.html. Красивая идея, "виртуальное железо" реализовывать поближе к нижнему уровню, a toy NALU implemented in x86(with SSE!) that uses real Intel FPU ALUs. Но я думаю, что это тоже ещё не предел: нужно чуток приподняться уровнем (например, писать эти "вычислительные" архитектуры на Julia, да ещё и запускать для этих архитектур нейроэволюцию -- оптимизируя и "алгоритмы", и "образы"),а результирующие архитектуры выводить не в ассемблер, а в LLVM. А затем использовать компилятор из LLVM в Verilog и сразу прошивать FPGA. Это уже делается для "традиционных сеток", которые несколько строк Питона для спецификации нейросетки в TensorFlow через компилятор XLA от Google перегоняют в LLVM, а затем из LLVM получают спецификацию на Verilog для FPGA -- https://arxiv.org/abs/1807.05317, подход LeFlow. К этому уже всё готово, так что в ближайшее время ждём реализации.

Вот эти два потока работ (1. усиление коннекционистской "образности" через коннекционистскую "алгоритмику" и 2. усиление и разгон через приближение к железу коннекционистской "алгоритмики") должны быстро склеиться. К тому же это всё может легко пройти под зонтиком Гугля (поглядите, все работы по факту оттуда), с редкими университетскими вкраплениями.

"Коннективизм" и "коннекционизм" -- синонимы, в сети встречаются почти равное число раз, оба переводы connectionism. В этом тексте я использовал "коннекционизм" и "коннекционистский подход", но не факт, что в другом тексте я не напишу "коннективизм" и "коннективистский подход". И тут нужно понимать, что я описываю в этом посте тренд "однородных нейросетевых структур", в некотором роде обратный от тренда differentiable programming: коннективистские архитектуры состоят из более-менее однородных элементов, а differentiable programming, probabilistic programing не предусматривают какой-то однородности, в них структуры весьма различаются, их некоторое богатство. В жизни же, конечно, будет какой-то промежуточный вариант. В мозгу тоже клетки не все одинаковые.

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

По факту современные GPU являются именно такими чипами, и особенно наглядно это видно на новом чипе NVIDIA с архитектурой Turing (https://ailev.livejournal.com/1441670.html): там алгоритмическая часть чипа (в данном случае не совсем универсальная, а ориентированная на ray tracing, но на архитектурном уровне можно было бы подумать, что там могло бы быть) совмещается с коннекционистской частью (её поддерживают Tensor Cores). Сейчас NVIDIA SDK NGX для визуальных эффектов имеет плагины именно для нейрообработки (https://developer.nvidia.com/rtx/ngx), но архитектурно как связаны там коннекционистские-нейро и классические алгоритмические-тьюринговские вычисления в этих "нейрообработках" может быть совершенно неочевидно -- так что можно только гадать, в каком направлении могут развиваться гибридные архитектуры типа Turing. Это может быть устроено "как мозг" на двух разных системных уровнях:
-- как сейчас в NVIDIA Turing, или NVIDIA Xavier когда разные части чипа поддерживают разные вычисления, разную встроенную логику. Это сейчас мейнстрим, по этому пути не только NVIDIA бегом бежит, просто остальные чуток отстали в плане массовости. Разные отделы мозга выполняют разные функции, реализованы они по-разному.
-- как в биологическом мозге: универсальный коннекционистский субстрат, выучивающий/эмулирующий классические алгоритмы ("медленное мышление по Канеману, эмулируемое человечьим мозгом: дикие затраты мыслетоплива, но оно есть! И оно выучивается, innate priors минимальны!"). Вот тут в комментах у нас тред с cantechnik про устранение лишних уровней виртуализации -- если транслировать LLVM архитектуру не в FPGA, даже не в ASIC, а сразу в аналог (какие-нибудь мемристоры или оптику, как в пункте 3 комментируемого поста по ссылке), то может не так уж и плохо получиться даже с эмуляцией/выучиванием: https://ailev.livejournal.com/1441034.html. Разные отделы мозга выполняют разные функции, но реализованы они одинаково.

Вот прямо сейчас расцветают сто цветов гибридизации нижних уровней интеллект-стека (равно как сто чуть менее заметных сегодня, но не менее важных цветов гибридизации его верхних уровней). Восхитительный момент, когда всё происходит стремительно со скоростью двух прорывов в неделю. Совершенно невозможно предсказать, что будет буквально через месяц-другой, и как оно отразится на цивилизации. Думаю, что отразится сильно, и быстрее, чем все это себе представляют. Другое дело, что к чудесам привыкают, и привыкают быстро. Уже сегодня ведь можно задать своему телефону где-нибудь в глухом переулке ночью классический вопрос "Как пройти в библиотеку?" и получить внятный ответ, причём с предупреждением, что "эта библиотека откроется через восемь часов, в 11:00 -- тот же самый Гугль или Алиса в телефоне знают и часы работы всех заведений вокруг). Чудо? Чудо. Никто не удивляется, только ругаются, что это всё не слишком надёжно работает. Ну, plug and play тоже когда-то ругали, говорили, что plug and pray. И модем дозваниваться мог полночи до провайдера. А сегодня всё работает в полпинка. Вот и гибридный интеллект-стек, который сможет и в логику, и в чуйку -- он тоже будет сначала шалить, а потом просто надёжно работать.

UPDATE: дискуссия в фесбуке -- https://www.facebook.com/groups/1505369016451458/permalink/2151897705131916/.
1:30 am
Танцы с акробатикой
Уже пару недель мы проходим поддержки в кизомбе. Поддержка -- это когда часть своего веса (в том числе и весь вес целиком) партнёрша отдаёт партнёру. Когда я пошёл танцевать кизомбу, я думал, что там никто никого не поднимает. Ошибался. Но хорошо, что в кизомбе нет акробатики.
lift_wonem
Вообще-то танцы часто включают в себя акробатику -- иногда даже явно в названиях (типа "акробатического рок-н-ролла").

Вот вам парочка малоизвестных танцев с трюками и элементами акробатики:

Quebradita, мексиканский бешеный танцевальный стиль объездки диких лошадей (https://en.wikipedia.org/wiki/Quebradita):
-- https://youtu.be/3FshRcZYY7E,
-- https://youtu.be/18o3YzwZkCE,
-- https://youtu.be/ojrgDk5kTGw,
-- https://youtu.be/ydkWfyoRrn8

Apache dance, в котором мужчина издевается на женщиной, но потом женщина таки берёт верх (https://socialdance.stanford.edu/Syllabi/Apache1.htm):
-- https://www.youtube.com/watch?v=8PDtdOTlYds
-- https://www.youtube.com/watch?v=NPShAmfCafw
-- https://www.youtube.com/watch?v=903Rcq-KJS4
-- https://www.youtube.com/watch?v=lB-2ub1YvB8
-- https://www.youtube.com/watch?v=zXncZqKmxAw

Всё остальное вы уже наверняка видели. Так что поднимаем уровень акробатики, пробегая мимо свинговых танцев, классического балета, контактной импровизации, модерна и огромного количества других танцев с включённой в них парной акробатикой, и выходим на уже чисто акробатические этюды, в которых тем не менее есть вставки танца. Вот, например, седьмой сезон, второй прямой эфир в Танцюють всi: https://www.youtube.com/watch?v=aOBZ-aEpHdQ

Акробатика в парных танцах, причём во всевозрастающих количествах, это уже мейнстрим. Чтобы убедиться, поглядите видео текущего сезона World of the Dance: https://www.youtube.com/channel/UCOiUKJ6lMU3yHbVNtNXJyfw (по этой ссылке чётко видно, что современный "танец высоких достижений" часто уже неотличим от цирка. Танцевать вдвоём становится всё опасней и опасней).
Wednesday, August 15th, 2018
2:57 am
Экспоненциальные технологии: на этот раз компьютерная графика x2 меньше, чем за год
NVIDIA анонсировала новые видеокарты и сервер, основанные на чиповой архитектуре Turing -- https://blogs.nvidia.com/blog/2018/08/13/jensen-huang-siggraph-turing-quadro-rtx/, https://www.nvidia.com/en-us/design-visualization/technologies/turing-architecture/. В принципе, ничего принципиально нового и всё соответствует объявленной раньше стратегии:
-- новый чип не в центре презентации, презентуется платформа для узкого рынка компьютерной графики (как говорит NVIDIA CEO Jensen Huang, "конечный продукт всегда должен быть ограничен в своём назначении, чтобы заработать на нём деньги"). В платформе видеокарты для профессиональной графики (самая дорогая карта Quadro RTX 8000 стоит $10000) и сервер с 8 такими картами за $120000. Два системных уровня вверх от чипов и чёткий рыночный фокус: промышленная компьютерная графика, поддержка мониторов разрешения 8К "из коробки" и прочие плюшки для данного рыночного сегмента визуальных эффектов, на котором по оценкам NVIDIA будет крутиться $250млд..
-- презентуется новый софтверный стек поддержки этих решений (помним, что NVIDIA себя обозвала на GTC'18 не чиповой компанией, и не только компанией компьютерной архитектуры, но и software company).

Вот картинка с GTC'18 полугодичной давности (я публиковал её в https://ailev.livejournal.com/1416697.html):

Полгода назад речь шла о том, что две карты на Volta делают ray tracing в реальном времени -- и это прорыв в компьютерной графике, никогда такого не было.

А вот картинка из вчерашней презентации, те же фирменные зелёные плашечки технологических стеков NVIDIA для ray tracing:
NVIDIA_RTX_arch
Вот он, объявленный на GTC'18 тренд: вперёд к рынку. На верхушке стека промышленные приложения создания качественной машинной графики, а от уровня интерфейса трассировки лучей их отделяет ещё один слой: язык описания материалов MDL (Material Definition Language, open source) и язык описания сцен USD (Universal Scene Description от Pixar). Подробней -- на странице платформы RTX https://developer.nvidia.com/rtx

Плашка RTX из прошлого подхода, где было в прошлой презентации было две видеокарты на чипе Volta заменили на одну карту на чипе Turing -- и показали, что там внутри появился Ray Tracing Core из новых компонент архитектуры.

В апреле я писал: "Где там искусственный интеллект? Вы можете получить в OptiX [библиотека для трассировки лучей с фирменным API от NVIDIA в отличие от API DXR от Microsoft и "нейтрального" API Vulkan] в том числе удаление визуального шума алгоритмами искусственного интеллекта, да и про трассировку лучей в части требований к ресурсам уже поговаривают, что эти требования существенно уменьшат через задействование алгоритмов искусственного интеллекта. Аппроксимации рулят численным миром, а аппроксимациями рулят сегодня глубокие нейронные сетки и прочие универсальные аппроксиматоры, которыми богато сегодня машинное обучение".

Так и произошло: сочетание алгоритмов с использованием как Ray Tracing, так и Tensor Core (добавка алгоритмов искусственного интеллекта с необходимыми аппроксимациями) позволило упихнуть функциональность двух карт с чипами на 21млрд транзисторов в одну карту с 18.6млрд. транзисторов и при этом получить крутые новые качества: высококачественную обработку не только отдельных кадров, но и связанных во времени последовательностей изображений (видео), возможность включать плагины обработки изображений на базе нейронных сетей. Всё, компьютерная графика с четвёртого квартала 2018 стала другая: на одном чипе идёт полная трассировка лучей плюс нейросетевая обработка какими-нибудь плагинами спецэффектов, сделанных с SDK NGX (скажем, генерация видео замедленной съёмки по обычным кадрам -- https://news.developer.nvidia.com/transforming-standard-video-into-slow-motion-with-ai/, изменения в освещённости фигур и фона как в https://relonch.com/ и т.д., ждём через полгодика объявлений уже не про SDK, а про готовые плагины, изготовленные с его помощью. Это ж рынок!).

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

Вот тут сейчас поток новостей про возможности архитектуры Turing -- там много видео и фото, так что поглядите сами: https://nvidianews.nvidia.com/. Видео презентации (как обычно, хороший концерт) можно найти тут: https://www.youtube.com/watch?v=XByzjj9JTBM

Не обращайте внимания на все сравнения с архитектурой Pascal, это не для инженеров, а для маркетинга (типа как Pascal был для графических карт в машинных станциях, и Turing для графических карт, а Volta для карт AI в датацентрах). Насколько я помню, Volta подавалась как x3 по сравнению с Pascal (ох, там было много разных метрик, и не про графику, но я почему-то запомнил эту как одну из многих), а две карты Volta вместо одной Turing -- это ещё x2 (этого в данных нет, но я по простому: демо на GTC'18 требовала двух карт, а тут одной). Вот они, x6 в рендеринге по сравнению с Pascal. В любом случае, это x6 за два с половиной года (Паскаль -- May 27, 2016, Вольта -- December 7, 2017, Тьюринг -- August, 13), или x2 за чуть меньше года, то есть определённо экспоненциальная технология.

Вот тут чуть больше сравнения архитектур Volta и Turing (в Turing всего поменьше, чем в Volta, кроме Ray Tracing Core -- то есть это получилась специализированная для машинной графики архитектура): https://www.pcgamer.com/nvidia-unveils-turing-architecture-providing-a-glimpse-inside-the-next-geforce-cards/.

Понятно, что NVIDIA сейчас хвастается, как может перед инженерами компьютерной графики (сегодняшний анонс выхода видеокарт с Turing в 4 квартале 2018 года был сделан на конференции SIGGRAPH). Но уже 20 августа 2018 (через неделю) есть шанс получить новинки потребительской, а не промышленной машинной графики на базе архитектуры Turing, а именно игровые видеокарты: https://www.trustedreviews.com/news/nvidia-turing-2080-release-date-2952823 (и там дополнительная техническая информация, что чипы Turing на 12нм проектных нормах). При этом отбиваться от любителей компьютерных игр придётся не похвалой ray tracing, а тем, насколько удаётся поднять FPS в компьютерных играх. Хотя может выясниться, что FPS не волнует, если картинка фотореалистичная и тем самым завораживающая. А лучше и то, и другое, да ещё и подешевле. Потребители, они такие! Почитайте вот тут в комментах, как обсуждают отсутствие отражений внутри автомобиля на демо NVIDIA на 1:54 -- https://www.youtube.com/watch?v=XByzjj9JTBM (и обратите внимание, что демо по промышленной графике пришли обсуждать главным образом геймеры, люди из абсолютно другого рыночного сегмента. Хотя это не значит, что они люди ненаблюдательные и ничего в машинной графике не понимают. Но их больше интересует, как это всё поведёт себя в играх, что не так интересно для именно этого оборудования и софта, они совсем не для игровых приложений).

Для любителей и профи в deep learning это новое поколение карт не так интересно: там всего чуток поменьше, чем в серверных картах на Volta, но чуток побольше, чем в потребительских картах GTX. Тут ничего экспоненциального пока, так что ждём весны 2019 года. Уже понятно, что будут отдельно чипы для машинной графики с ray tracing (Turing), будут отдельно чипы для автомобилей с обработкой огромных потоков входной информации (Xavier, Orin) и что-то ещё, продолжающее линию Volta -- универсальный процессор для AI, который и мир с роботом может промоделировать (поддержка видео важна, вопрос, насколько мир для обучения AI должен быть фотореалистичен! Возможно, намного -- тогда и ray tracing будет неожиданно при деле) и нейронную сетку этого робота обучить. Тут нужно было бы пуститься в абстрактные рассуждения об архитектурах поддержки AI (всех этих deep learning и differentiable programming, deep evolution и т.д.) и одновременно реалистичного имитационного моделирования физического мира, но я уже писал об этом, не буду повторяться.
Tuesday, August 14th, 2018
12:59 pm
Беларусь против Белоруссии, беларус против белоруса
Беларусь или Белоруссия? Как надо? Ответ: никак не надо, пишите сообразно вашему чувству языка -- если это, конечно, не официальный документ, где важно побуквенное совпадение с каким-то письменным стандартом. Я вот сам буду говорить и писать Беларусь, но белорус. Я вот так слышу, мне вот так удобно. При этом не зарекаюсь, как я это буду писать через год или два: язык живёт, и нейронная сетка в моём мозгу вполне может перенастроиться. Вообще, полезно читать тексты по deep learning, там много интересного про язык сейчас выяснили за последнюю пару лет. Поэтому все эти споры про правильность между "носителями языка" выглядят очень смешными. Есть диалекты, есть узкие словарные сообщества со своим сленгом, и никакой из этих диалектов не "главнее", все живут параллельно. Никто ж не обижается, что где-то курицу курой называют.

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

Это и многое другое я написал в дискуссии тут: https://www.facebook.com/vadim.novikov.39/posts/10216749296069346. Дискуссия же посвящена вопросу о том, как решать правильность написания -- последовательно подбирая всё более убедительные риторические приёмы (например, сравнивая страны и девушек -- вот же у людей фантазия! Живых девушек с придуманными неживыми административными конструкциями, стандартизацией которых занимаются чиновники!) или обращаясь к топонимике.

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

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

Вот ещё один тред на эту же тему (тема подбора верного пропагандистского хода, а не рационального разбирательства): https://www.facebook.com/vadim.novikov.39/posts/10216719298119416. Там обсуждается в связи с Белоруссией и Беларуссией/Беларусью пара Калининград-Кенигсберг. А я и Калининград, и Кёнигсберг нормально воспринимаю как названия. Никаких эмоций, чего от буковок возбуждаться-то? Главное, чтобы с Алматы или Парижем не перепутали -- понятно же, что именно называется. Что со мной не так? Слишком космополит, и так нельзя? Но я и впрямь на глобусе живу, мало ли кто как топонимы коверкает. Главное тут -- не перепутать, а уж как назвать -- вот просто наплевать. Борис Львин на это уточнил: "Нет, мы с тобой не космополиты, а просто умеем различать, где проходит граница между свободой и насилием. Если тебе не нравится, как я говорю, ты можешь меня не слушать. Если мне не нравится, как ты говоришь, я могу тебя не слушать (если мне интересно твое мнение, то я потерплю и послушаю). И нам с тобой, конечно, глубочайшим образом наплевать на все эти "государственные языки". Когда нам придется заполнять казенные анкеты и заявления, мы, конечно, напишем так, как хочет начальство, а для разговора друг с другом нам никакое начальство не требуется".

UPDATE: Обсуждение в фейсбуке: https://www.facebook.com/ailevenchuk/posts/10213563182887976
Sunday, August 12th, 2018
1:18 am
Нижние уровни интеллект-стека как экспоненциальные технологии
Экспоненциальные технологии -- это которые при заданном уровне дешевеют вдвое (или около того) в год, https://michaelhaupt.com/exponential-technology-defined-374e2db882b0. Это же можно прочесть и наоборот -- которые увеличивают свои характеристики вдвое (или около того) в год.

Мой тезис в том, что ключевой момент в AI -- это его дешевизна. Переводчик уровня выпускника средней школы плох, но если он почти бесплатен, то им будут пользоваться. Переводы Гугля ругают, как и переводы школьника, но цифры говорят обратное: без него жизнь хуже, им пользуются -- им переводят 143 миллиарда слов в день, https://www.businessinsider.de/sundar-pichai-google-translate-143-billion-words-daily-2018-7. Неплохо для плохого переводчика? Если цена низкая, то и плохому продукту найдётся применение! А поскольку речь идёт об экспоненциальной технологии, то каждый год качество перевода будет существенно расти при той же относительной бесплатности. Это и есть подрыв. Disruptive innovations don’t catch on with mainstream customers until quality catches up to their standards. -- https://hbr.org/2015/12/what-is-disruptive-innovation.

На массовый рынок достижения теоретиков и инженеров искусственного интеллекта попадают, но не немедленно. Вот тут можно найти данные по state-of-the-art в обработке текстов: https://github.com/sebastianruder/NLP-progress, а перевод -- https://github.com/sebastianruder/NLP-progress/blob/master/machine_translation.md. В некоторых категориях текстов и парах языков качество перевода уже сравнимо с человеческим. Как сделать так, чтобы все эти и многие другие "лабораторные" достижения в искусственном интеллекте а) получались побыстрее, чем сегодня, и б) попадали из лабораторий на рынок быстрее? Вот так:

1. Уменьшить время обучения/training, чтобы очередная крутая версия нейросетей (или дифференцируемой программы, или эволюционного алгоритма) в этих лабораториях появлялась быстрее. Дешевле эксперименты -- дешевле продукт, а дешевле -- это прежде всего быстрее! Тут сразу несколько направлений работы:

-- добавить вычислительной мощности. Введена метрика petaflops-day, https://blog.openai.com/ai-and-compute/. Появилась легенда, что прорывы в AI доступны только огромным компаниям. Эти компании просто увеличивают число операций, задействованных в их экспериментах. Эксперименты становятся золотыми: since 2012, the amount of compute used in the largest AI training runs has been increasing exponentially with a 3.5 month-doubling time (by comparison, Moore’s Law had an 18-month doubling period). Since 2012, this metric has grown by more than 300,000x (an 18-month doubling period would yield only a 12x increase). То есть крупные компании не ждут, пока что-то там подешевеет, а просто берут по текущей цене во всевозрастающих количествах.

-- улучшить качество алгоритмов и инфраструктуры, чтобы всё было не так плохо. Например, рекорд по тренингу ImageNet у гиганта Tecenet был 7 минут на специально сконфигурированных 2048 GPU, но fast.ai продемонстрировал, что может достичь тех же результатов за 18 минут на 128 GPU, арендованных в облаке Амазона за $40 -- http://www.fast.ai/2018/08/10/fastai-diu-imagenet/. А ведь ещё пару лет назад речь шла о неделе счёта! Не забываем при этом, что исследователь при этом получает зарплату за 18 минут, а если речь идёт о неделе счёта, то просто его зарплата обойдётся много больше $40 -- несмотря на все заверения, что "он в это время займётся чем-то другим". И выход продукта на неделю позже тоже обойдётся дороже $40. По этому же пути пошли при тренировке OpenAI Five агентов, выигрывающих в Dota. Если тренировка AlfaGo Zero потребовала 1900 petaflops-days (это легко читается на линейном графике в https://blog.openai.com/ai-and-compute/), то тренировка OpenAI-five потребовала вдесятеро меньше, при не менее (а даже более) впечатляющих результатах (на 5 августа 2018г.): 190 petaflops-days.

-- вообще плюнуть на deep learning и differentiable programming и перейти к альтернативным группам алгоритмов, например evolution strategy. Uber сделали именно это, и the time it takes to train deep neural networks to play Atari, which takes ~1 hour on 720 CPUs, now takes ~4 hours on a single modern desktop, https://eng.uber.com/accelerated-neuroevolution/. Вот перспективы: https://www.sentient.ai/labs/experts/

-- решить математические задачи в deep learning, и вместо инженерных "проб и ошибок" сразу получать оптимальные решения. Например, https://arxiv.org/abs/1806.05393 -- We demonstrate that it is possible to train vanilla CNNs with ten thousand layers or more simply by using an appropriate initialization scheme. We derive this initialization scheme theoretically by developing a mean field theory for signal propagation and by characterizing the conditions for dynamical isometry, the equilibration of singular values of the input-output Jacobian matrix. Да, они для примера натренировали свёрточную сеть из 10тыс. слоёв!

-- использовать один и тот же алгоритмический язык как для разработки алгоритма, так и для production. Сегодня алгоритмы разрабатываются на каком-нибудь высокоуровневом Python (он быстрей, в нём есть REPL), а для production это всё потом переписывается на языки низкого уровня. Единственный язык высокого уровня, который пускают сегодня на суперкомпьютеры -- это Julia, буквально вчера вышедший в своей первой версии (Julia ровесник deep learning, появилась как раз в 2012 году, году выигрыша deep learning в соревновании ImageNet). В сообществе Julia активно отрабатывается идея высокоуровневого и производительного одновременно differentiable computing, приходящему на смену deep learning. из тамошних новостей в этом направлении см. https://youtu.be/YVABTDrQ0eQ (хотя код ещё не опубликован: https://github.com/uripatish/Nili.jl), а некий манифест для differentiable DSL в Julia для deep learning был ещё в прошлом году в On Machine Learning and Programming Languages, https://julialang.org/blog/2017/12/ml&pl. Аналогичный ход -- это трансляция с высокоуровневого языка не в машинный код (LLVM), а сразу в Verilog, чтобы затем исполнять код аппаратно на FPGA. Вот тут приведена цепочка: код сетки для TensorFlow компилируют в LLVM, а LLVM в Verilog: https://arxiv.org/abs/1807.05317

-- использовать компьютер, чтобы он соптимизировал структуру нейронной сети, и дальше можно уж выбирать критерий оптимизации. Сейчас выбирают "чтобы лучше училась", но можно ведь выбирать и другие критерии -- чтобы быстрее училась при заданной точности, чтобы меньше была деградация при оптимизации на низкоразрядные устройства вывода/inference. Тут тоже пошла "гонка оптимизаторов", и тоже цель сделать эту оптимизацию дешёвой и тем самым доступной кому угодно. Из свежих новостей тут AutoKERAS, который буквально хочет убить коммерческое предложение Гугля AutoML, предназначенное для оптимизации нейронной сети, https://towardsdatascience.com/autokeras-the-killer-of-googles-automl-9e84c552a319. To use Google’s AutoML for computer vision, it will cost you USD $20 per hour. That’s crazy! AutoKeras uses ENAS, an efficient and most recent version of Neural Architecture Search. You can quickly and easily install the package with a pip install autokeras and voila, you’re ready to do your own architecture search on your own dataset … for free.

2. Уменьшить время вывода/inference, чтобы натренированная на дорогих компьютерах версия крутилась в production быстрее. Тут узким местом был стандарт передачи выученной нейронной сетки. Де-факто таким стандартом стал ONNX, http://onnx.ai/. И тут же появились оптимизирующие компиляторы, делающие разгон этих сеток при передаче на вывод в разы и разы. Это прежде всего TensorRT от NVIDIA, вот пример оптимизации вывода как раз для переводов с иностранных языков: https://devblogs.nvidia.com/neural-machine-translation-inference-tensorrt-4/, меряют ускорение там в попугаях, в данном случае это в x60 на Tesla GPU по сравнению с CPU-only, но фишка в том, что на GPU выполняется не оригинальная "выученная" сеть, а оптимизированная. Есть оптимизация и на самих CPU, например Intel NGRAPH разгоняет на CPU с 28 ядрами Caffe2 x28, а PyTorch x10 -- https://ai.intel.com/adaptable-deep-learning-solutions-with-ngraph-compiler-and-onnx/.

3. Поменять физику аппаратуры (ибо замена шила на мыло между разными вариантами аппаратных ускорителей и даже следующими поколениями GPU -- это не желаемые x10 за пару лет). Тут тоже много интересного происходит. Квантовые компьютеры пока за горизонтом, но вот на горизонте разные варианты мемристоров. Вот обзорчик -- http://iopscience.iop.org/article/10.1088/1361-6463/aac8a5/pdf (но там такой темп исследований, что он устарел уже, например появилось вот: https://www.nature.com/articles/s41467-018-04484-2). И уже есть оптика (и если не печатать слои, а использовать какие-нибудь продвинутые LCD или их аналоги, то всё неожиданно может стать жарким): https://habr.com/post/418847/. Про спайковые нейронные сети я молчу, там как-то всё не шибко бурно развивается. Спайковый махолёт явно уступает более универсальным GPU, в которых летят самые разные алгоритмы с понятным управлением и устойчивостью и заодно разгоняются другие операции (например, разгоняются и операции по модификации изображений, часто использующихся для тренировки распознавания объектов -- есть уже ускорители и для этого, см. NVIDIA DALI и NVIDIA nvJPEG, https://news.developer.nvidia.com/announcing-nvidia-dali-and-nvidia-nvjpeg/).

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

Это значит, что эксперименты с более высокими уровнями интеллект-стека -- когнитивной архитектурой и прикладным уровнем (см. "болваны для искусственного интеллекта", http://ailev.livejournal.com/1356016.html) будут идти дешевле, больше людей смогут ими заниматься. Помним, что в феврале-марте 2015 году deep learingn занимались 10тыс. человек, а сейчас в 2018 этих людей уже около миллиона -- https://www.pyimagesearch.com/2018/07/02/an-interview-with-francois-chollet/. И весь этот миллион человек не за очень дорого экспериментирует, участвует в технологической эволюции. И сама эволюция эта идёт быстро, наука-то в области искусственного интеллекта тоже перестроилась, чтобы стать побыстрей, я об этом рассказывал в "как организован прогресс в AI и почему там всё быстро".

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

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10213543995368300 и https://www.facebook.com/groups/1505369016451458/permalink/2145736965747990/ и https://www.facebook.com/groups/nevronet/permalink/1130066300493023/
Friday, August 10th, 2018
8:51 pm
lytdybr
Вьюнош застрял на девятом уроке из шестнадцати по статистике и вероятности, но есть шанс сегодня его закончить: он мучает последний тест. Это самый длинный урок: 2100 mastering points из всего 18875 mastering points полного курса. Тема урока Random variables, подтемы Discrete random variables, Continuous random variables, Transforming random variables, Combining random variables, Binomial random variables, Binomial mean and standard deviation formulas, Geometric random variables, Random variables, More on expected value, Poisson distribution.

Заодно нашлась ещё одна проблема: курсы Академии Хана не все сделаны по сержантскому методу. Так, тамошний pre-calculus сделан по сержантскому методу, но вот mulitivariable calculus без упражнений -- только видео, а последний раздел и вообще статьями. Поэтому придётся думать, что с этим делать. В нашем случае без сержанта никак, ученик у нас прилежный только в присутствии сержанта. Хотя с текущими темпами учёбы эту проблему придётся решать уже осенью.

Книжки "Визуальное мышление" вместе с "Системным мышлением" обе висят в "что почитать" магазина Ridero на первой странице, они местные "бестселлеры". На сейчас "Визуальное мышление" продано по статистике Ridero 134 экземпляра, "Системное мышление" 1035 экземпляров (и только в июле через ЛитРес 118 штук). Ещё мою книжку уже можно уже купить в ЛитРесе, но зато из Озона исчезли варианты print-on-demand. И да, в магазинах по одному отдельному автору-Левенчуку на каждую книжку, найти мою страничку со всеми книжками вместе не получится -- хотя иногда справляется полнотекстовый поиск, но не везде. Я пишу письма в support Ridero, но это мало помогает. Основное содержание ответов тамошнего support по поводу магазинов сводится к содержанию известного анекдота (я отправлял им и этот анекдот тоже, чтобы так не отвечали, но толку пока мало):
Забрали сисадмина в армию.
Идут срельбы, админ отстрелялся и слышит результат:
-Ни одного попадания!
Удивился, почесал затылок осмотрел автомат (проверил магазин, заглянул в ствол...) и грит:
- Ну не знаю... от меня пули ушли . Проблемы на принимающей стороне...
Сегодня у меня ровно два года, как я начал заниматься кизомбой (http://ailev.livejournal.com/1285622.html, а вот "мой год кизомбы" -- https://ailev.livejournal.com/1366293.html и там записано, что меня занимало через год занятий). Что меня занимает через два года занятий?
-- чищу базу. Есть много разных баз, но есть и "международная", которой хорошо бы владеть. Как я понял, есть "парижская" база, а есть "московская". Вот у меня "московская", а хочу "парижскую".
-- пытаюсь танцевать время от времени за партнёршу с теми девушками, которые могут танцевать за партнёра. Это крутой опыт!
-- вроде как я занимался сальсой касино некоторое время, но раз в неделю или раз в две недели -- это не занятия, конечно. Вот по факту бросил, а если и заниматься, то мне интересней направление мамбо aka сальса NY, aka salsa on2.
-- системный фитнес: распрямляюсь изо всех сил. Но долго быть распрямлённым не могу, увы. Ничего, потихоньку.
-- наконец-то я начинаю получать удовольствие от вечеринок: хожу на них уже более-менее регулярно. Всё удовольствие начинается уже тогда, когда что-то умеешь.

Сейчас я занимаюсь в двух студиях: у Алёны Фортуновой в Spicy Salsa (просто продолжаю ходить все эти два года, без перерывов) и у Саши Сирото и Артёма Левина в Karma D.C.

А ещё я время от времени пишу в сообщество сплетен о социальных танцах. Вот последние два вклада в жёлтую прессу: про танцующих на высоких каблуках мужчин https://vk.com/wall-167384137_10341 и про "почему не все ходят на вечеринки, хотя и активно занимаются в студии" -- https://vk.com/wall-167384137_10309.

Всё, побежал на вечеринку. Пятница вечер. Вечеринка сегодня в примерно 7 минутах от дома, если ехать на самокате -- https://vk.com/wall-133882804_56.
3:33 pm
Системный дыбр начала августа 2018
В понедельник-вторник на этой неделе прошёл мой трениг про то, как остаться востребованным специалистом в эпоху перемен перемен. Полуторачасовая версия тут: https://ailev.livejournal.com/1438343.html, но на тренинге это было 6 часов -- и мы ещё и разговаривали, так что было много ответов на вопросы, плюс чуть-чуть изменились примеры из презентации. Всё получилось, участники довольны, и я доволен. Пошёл набор группы второго потока, но повтор будет только через месяц, 5-6 сентября -- http://system-school.ru/uptodate. Очень хлопотный в подготовке тренинг: материал там быстро скисающий, так что для каждого нового потока приходится обновлять фактический материал.

Основное моё время прямо сейчас уходит на SysArchi -- так я назвал стиль системного моделирования на Архимейте. То, что ArchiMate 3.0 основан на ISO 42010, значит много, но не делает ArchiMate таким уж системным. Онтологически язык ужасен, и нужно предложить способы описания более-менее стандартных ситуаций, типа "программист написал программу, и теперь программа помогает кассиру": программа является при этом и объектом и пассивным и активным, а Архимейт такого не позволяет. Аристотелевская физика: палец давит на стол, но не стол давит на палец! И такого в языке много, нужно рассказывать, как такие нелепицы обходить. Первый драфт описания SysArchi уже ушёл на отзывы довольно ограниченному кругу лиц, в понедельник я начну работать над следующим драфтом. Если есть какие идеи, и у вас есть опыт онтологической работы, и работы с Архимейтом (то есть вам не просто любопытно, но вы чувствуете себя способным внести какой-то вклад в дело) -- присылайте письма, включу и вас в рассылку.

А ещё много работы по переделке курса "Системный менеджмент и стратегирование v2" для второго потока -- я потихоньку выполняю план из https://ailev.livejournal.com/1439503.html, времени-то до начала курсов осталось всего ничего: курс начнётся уже 19 августа, http://system-school.ru/sms.

Новинка сезона: Александр Турханов будет делать вводный курс по стейкхолдерам, в формате "два вечера", вот тут презентация его курса (раскладка по времени и видео): https://sdu2020.blogspot.com/2018/08/blog-post_3.html. А записываться на курс тут: http://system-school.ru/stakeholders, первый поток будет идти два вечера: 25-26 августа 2018.

Вчера в Школе прошёл семинар по системному маркетингу (скоро выйдет его видео, я дам тут ссылку, пока только ссылка на свёрстанный Дмитрием Сизовым текст его доклада, https://medium.com/@d.e.sizov_42690/системный-маркетинг-зачем-и-где-нужен-aceb2ec793ed). Доклад мне понравился. Можно надеяться, что по этой линии исследований на выходе получится хороший прикладной курс. Основная идея там, что продукт сам по себе не выпускается под уже имеющиеся потребности. Так что продукт представляет из себя инженерную часть плюс кусок потребительской головы, в которой есть практика потребления этого продукта и понимание его пользы. Разрабатывать и потом изготавливать нужно инженерную часть продукта и вот эту стейкхолдерскую часть. Стейкхолдер тем самым у нас ещё и объект инженерного воздействия! К системному инженеру, ответственному за альфы определения системы и воплощения системы в области интересов инженерного решения системной диаграммы добавляется системный инженер маркетинга, который ответственен в клиентской зоне интересов за подальфу возможностей "определение потребителя" и подальфу стейкхолдеров "воплощение потребителя". Совместить в одном человеке роли системного инженера и системного маркетолога, очевидно нельзя: компетенции у них существенно разные, один продукт делает, а другой кусок обученного мозга делает. И, конечно, операционный менеджер берёт на себя общий план работ, куда входят и работы системного маркетолога, а к CTO/CIO добавляется ещё и методолог маркетинга (chief marketing officer).

Про маркетинг, связанный с обучением, было несколько идей:
-- кусок мозга исполнителя стейкхолдерской роли с actionable discipline как часть целевой системы (это уже некоторое время обсуждается, например, тут: https://ailev.livejournal.com/1431056.html и уже более-менее общее место).
-- маркетинг в основе своей имеет метафору обучения (личного, когда знаешь, кого учишь, или безличного -- когда не знаешь, кого учишь, т.е. учишь неопределённый круг лиц, public education, реклама, пропаганда). Полный ЖЦ -- понять, чему учить, потом создать курс, потом заинтересовать, научить и в конечном итоге вывести на действие. Помним про шкалу аффективности Блюма, где эмоциональное отношение "знаю, умею, хочу -- так что распознаю правильную ситуацию и наверняка использую" является критерием самого обычного научения. Метафора обучения используется и в НЛП ("как ваш мозг выучил чуть что, так кусать ногти?"), в реформах/сопротивлению изменениям по TOC, в маркетинге (метод больших продаж, SPIN) -- и везде похожий жизненный цикл, https://ailev.livejournal.com/335435.html
-- похоже, что основной предмет маркетинга в том, что нужно удерживать мотивацию по ходу обучения пользования новым продуктом. Это опять таки, главная педагогическая задача: управлять мотивацией ученика. Все пути тут ведут к бихевиоризму, от поощрений к подкреплениям, что совсем другое. Вот заметки с десятого круглого стола про мотивацию в педагогике: http://ailev.livejournal.com/1316601.html
-- близкая дисциплина также системное лидерство: маркетинг ведь тоже ставит задачей превратить ничего не подозревающего человека в актёра, играющего предписанную ему маркетологом роль. Но не менее важная дисциплина тут стейкхолдерское мастерство: неважно, в какую роль и кто тебя заталкивает -- нужно это отслеживать, принимать на себя роль осознанно, если уж принял, то играть хорошо, а если не принимать, то уж не принимать. Никаких impulse buy! Я не думаю, что нужно так уж разделять стейкхолдерское мастерство для случая маркетинга как обучения пользе продукта и случая обучения практикам работы в коллективе. Ну, а в сам системный маркетинг нужно вставить обязательный кусок про этику: занимаемся ли мы маркетингом сигарет, пива, цинично разводим на покупку заведомо бесполезных вещей, или честно обучаем любить что-то реально клиенту полезное. Тут же вопросы о спаме, этичности холодных звонков и т.д.. Грязными руками в чужой мозг залезать нехорошо.

А после всего этого я сосредоточусь на запуске курса "Стейкхолдерское мастерство" (намечен вот тут: https://ailev.livejournal.com/1409122.html, какие-то подробности ещё в "системной осознанности" https://ailev.livejournal.com/1417932.html), плюс будем разбивать курс онтологики на три отдельные части -- отдельно обсуждать "онтологику", отдельно научное мышление (причинность, эксперименты), отдельно принятие решений в деятельности.
Thursday, August 9th, 2018
2:43 pm
На выпуск Julia 1.0.0
Свершилось: релиз Julia 1.0.0 -- https://julialang.org. После этого релиза в язык на некоторое время прекращают вносить breaking changes (то есть такие изменения, которые делают написанный на предыдущих версиях языка код неработоспособным) и сосредотачиваются на качестве компиляции и развитии экосистемы языка. Вот основные изменения по сравнению с предыдущей версией: https://julialang.org/blog/2018/08/one-point-zero. Вот ещё от Julia Computing, коммерческая организация, стоящая за Julia -- https://juliacomputing.com/press/2018/08/10/Julia-1.0-Released.html. Тут нужно заметить, что Julia появилась в феврале 2012 года, для языка это детский возраст (тот же Rust появился в 2010 году, Go представлен в ноябре 2009 года, часто сравниваемый с Julia язык R появился в 1993). Так что цыплят популярности по осени считать будем, в следующую пару лет.

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

Увы, решаемая Julia основная проблема двух языков (пишешь алгоритм на мощном языке высокого уровня для скорости написания, потом в production переписываешь на языке низкого уровня для скорости выполнения -- а на Julia ничего переписывать не нужно) не слишком большой аргумент для оценивающего возможности использования Julia для работы. Хотя приятно, конечно, написать код на языке высокого уровня, который потом будет работать на суперкомпьютере. Julia уже пополнила ряды Fortran и С как язык для суперкомпьютерных вычислений -- другие языки высокого уровня с этим не справляются, их в HPC, high performance computing не пускают, слишком дорогое удовольствие получается, в буквальном смысле слова. Но это всё нишевые применения. Все эти "скорости" и "параллельности" (в том числе "проблема двух языков") волнуют избранных, которые напоролись на ровно эту проблему. А на избранных популярного языка не сделаешь.

Конечно, есть подробные "рациональные аргументы" в пользу Julia. Вот текст "Почему Numba и Cython не заменят Julia", то есть почему разогнанный до околосветовых скоростей Питон с правильно разогнанной для GPU матричной арифметикой будут хуже Julia -- http://www.stochasticlifestyle.com/why-numba-and-cython-are-not-substitutes-for-julia/. Но это "рациональные аргументы", их проигнорируют.

Как всегда с языками, выиграет в конечном итоге не "объективная польза", а эстетический фактор. Про Julia самые распространённые слова — "язык очень приятен, патамушта". Именно это IMHO главный фактор. Я начитался разных индивидуальных отзывов, которые все построены были по одинаковому шаблону: "язык исключительно приятный, очень хотел бы на нём программировать, но..." -- и дальше ни разу я не встречал "язык слишком часто меняется, чтобы писать на нём", причины указывались другие.

Моя оценка "объективных причин" текущих причин относительной непопулярности Julia другая: она относится к поддержке эко-системой Julia современного программирования programming-in-the-large против programming-in-the-small — https://en.wikipedia.org/wiki/Programming_in_the_large_and_programming_in_the_small. Ибо вся проблема двух языков "написал на одном языке и в production на другом языке" относится к programming-in-the-small, написанию одним человеком маленьких программ, "олимпиадному программированию", программированию как у Дональда Кнута с его справочниками алгоритмов. Так и рекомендуют использовать в programming-in-the-small: "если вам нужно написать алгоритм самим, то пишите на Julia". Но это не мейнстрим. Мейнстрим — крупноблочное строительство.

Так получилось, что Julia это язык будущего поколения, который содержит в себе все необходимые свойства для поддержки programming-in-the-lagre (современный подход к программированию, сборка из больших блоков, по факту создание DSL под каждую задачу и использование кем-то другим разработанных DSL для всех встреченных по пути задач), но по факту вплоть до сегодняшнего дня это был отличный язык прошлого поколения, ибо использовать это programming-in-the-large вплоть до сегодняшнего момента было невозможно в силу постоянного отставания экосистемы и понимания того, какой стиль программирования должен быть у Julia для поддержки programming-in-the large -- паттерны крутого использования крутых фич языка ведь тоже нужно было изобретать!

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

Как я понимаю, в направлении поддержки in-the-large сделано было несколько шагов буквально в последний год:
— свойства самого языка (это ОК, включая multiple dispatch). Тут сделано было чисто психологическое действие: язык 1.0.0 объявлен в его спецификации стабильным, что должно помочь пакетам жить долго без дополнительной поддержки. Их теперь не нужно будет перекомпилировать с исправлениями, а потом отлаживать раз в полгода.
— менеджер пакетов (история с современным менеджером пакетов pkg3 в Julia только-только началась: он работает по факту только с 1.0, но не в прошлых версиях — https://discourse.julialang.org/t/pkg3-plan-and-status/9763)
— инструкция как делать DSL, появилась ровно год назад, на базе удачного эксперимента с Modia (ибо пришли сильные компиляторщики из Modelica), https://julialang.org/blog/2017/08/dsl.
— есть примеры действительно уникальных больших пакетов, прежде всего решение дифференциальных уравнений http://juliadiffeq.org/ -- и понимание того, как такое делать в организационном плане, и как оформлять в языке. Modia, который нацелен занять место Modelica (я писал подробно тут: https://ailev.livejournal.com/1366789.html) тут тоже пример, язык уже выпущен в его первой версии: https://github.com/ModiaSim/Modia.jl и даже выпущен на этой недели Modia3D для решения задач движения физических тел в 3D, https://github.com/ModiaSim/Modia3D.jl. Таких пакетов, которые могут быть примером архитектуры больших прикладных эко-систем в Julia, уже несколько. Хотя все они очень нишевые, но их уже можно брать за образец в создании следующих подобных эко-систем, архитектуру пакетов с использованием DSL на расширяемом макросами языке и multiple dispatch уже не нужно придумывать, это уже не исследовательская задача.
— коммерческий провайдер инфраструктуры для Julia появился и буквально недавно профинансирован венчурными инвесторами: https://juliacomputing.com/

Так что да, по факту какие-то перспективы для programming-in-the-large открываются только сейчас. И поэтому я тоже ожидаю от Julia активного роста именно сейчас, после выхода 1.0, хотя и по другим причинам, нежели обсуждаются в сообществе early adopters.

Прямо сейчас из Лондона идёт live стриминг конференции JuliaCon: https://www.youtube.com/user/JuliaLanguage/featured, там довольно много интересного и нового про Julia.

Интересный момент в истории. В это же время Andrej Karpathy (сейчас директор AI в Tesla) объявляет, что приходит эра Software 2.0, ибо gradient descent будет писать программный код лучше, чем человек, и тут уж ничего не поделаешь -- люди будут кормить программы учебными данными (т.е. будут data engineers, а не software engineers -- - https://www.figure-eight.com/building-the-software-2-0-stack-by-andrej-karpathy-from-tesla/, и там сразу можете смотреть слайды, чтобы не тратить полчаса времени на прослушивание видео, идеи-то понятны: https://www.figure-eight.com/wp-content/uploads/2018/06/TRAIN_AI_2018_Andrej_Karpathy_Tesla.pdf).

Есть и дискуссия, подойдёт ли Julia для differential programming (подойдёт, кто бы сомневался -- https://ailev.livejournal.com/1393749.html). Но вопрос в том, что и программы для differentiable programming (и даже для differentiable architecture, появляется уже и такое -- https://arxiv.org/abs/1806.09055) будут писать роботы!

Так что пора уже обсуждать не то, будет ли популярен язык Julia у людей, а будет ли он популярен у роботов! Но это только "пора обсуждать", опять про неопределённое будущее. А популярность у людей у Julia набирается вот прямо сейчас.

Русскоязычный чат по Julia в телеграм -- https://t.me/JuliaLanguage.

UPDATE: Обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10213527353232257
Sunday, August 5th, 2018
3:19 pm
Выучится всё! Нейронное арифметико-логическое устройство
Пошли эксперименты с специализированными для частных предметных представлений нейронными архитектурами: и вот для чисел в DeepMind сделали нейронное арифметико-логическое устройство, НАЛУ. Реализовано NALU как активационная функция, работает на-ура: https://arxiv.org/abs/1808.00508. Experiments show that NALU-enhanced neural networks can learn to track time, perform arithmetic over images of numbers, translate numerical language into real-valued scalars, execute computer code, and count objects in images. In contrast to conventional architectures, we obtain substantially better generalization both inside and outside of the range of numerical values encountered during training, often extrapolating orders of magnitude beyond trained numerical ranges.

Практическое значение NALU не такое уж большое, но это хорошая демонстрация направления, в котором сейчас бродят мысли исследователей в глубоком обучении. Так что после публикации пять-шесть имплементаций можно было найти на GitHub в первую же пару дней после публикации (https://twitter.com/DeepMindAI/status/1025375916107673602).

В комментах там шутят про "побольше innates" -- это innate priors, знания о мире, заложенные в вычислительный хардвер. Какие знания о мире являются самыми базовыми? Логики? Арифметики? Растровой графики? Эмулировать-то можно что угодно на чём угодно, вопрос в том, что нужно для максимизации числа применений, чтобы хардвер на этих innate priors оказался самый эффективный для большинства применений. Так что фишка не в самом NALU, а в показываемом направлении исследований: в архитектуру нейронной сети встраивают активационные функции, подхаканные для каких-то специфических применений, а не "универсальные". Это открывает новые горизонты, от DeepMind требуют какую-нибудь white paper на эту тему. Но и без white paper уже всё понятно. Вот, сделали выучиваемую, а не программируемую арифметику и логику! У яндекса "найдётся всё!", а у DeepMind "выучится всё!". Вот вам обсуждение deep learning, structure and innate priors -- http://www.abigailsee.com/2018/02/21/deep-learning-structure-and-innate-priors.html

NALU расположена внизу интеллект-стека, то есть это направление работ по innate priors потенциально влияет на самые разные уровни выше -- уровень учебных алгоритмов, уровень когнитивной архитектуры, уровень прикладной архитектуры (http://ailev.livejournal.com/1356016.html). При этом на всех уровнях интеллект-стека развитие идёт со скоростью два прорыва в неделю.

У меня в первой части завтрашнего тренинга "как выжить в эпоху перемен перемен" (ага, вторая производная: сами перемены меняются!) как раз краткая характеристика происходящего в мире: http://system-school.ru/uptodate. Материал оказывается быстропрокисающим, слайды готовил буквально пару недель назад, уже чуть-чуть рассказывал по этим слайдам, https://ailev.livejournal.com/1438343.html, но уже хочется эти слайды обновить.
Saturday, August 4th, 2018
2:27 pm
Виртуальные оппоненты/тролли: уже есть
Я у себя в блоге пишу не про будущее, как может неверно показаться. Я пишу про самое сегодняшнее, но отсутствующее на радарах (особенно на русскоязычных радарах, уж извините).

Вот вам ещё один проект из настоящего: Project Debater из IBM, который может культурно поспорить с вами на любую сложную тему -- http://www.research.ibm.com/artificial-intelligence/project-debater/. Эта штука уже демонстрируется: https://www.theverge.com/2018/6/18/17477686/ibm-project-debater-ai. Конечно, первая же вещь, которая там обсуждается в дебатах -- должно ли правительство выделять бабки на космос. И телемедицина, в которой доктор не может быстро ткнуть пальцем в тело пациента и поэтому непонятно в зарегулированной насмерть области что там разрешать, и что там запрещать, "дабы чего не вышло". Робот, конечно, берётся выиграть любую точку зрения, какую ему скажут нужно выиграть в дебатах. Ольгинские тролли нервно курят в сторонке.

Вот тут обсуждается часть этого проекта, виртуальный фасилитатор для групповых дискуссий, один в один такой, как мы обсуждали в группе нейронета буквально пару лет назад -- https://www.ibm.com/blogs/research/2018/06/natural-language-decisions/. Слушает дискуссию, распознаёт текст, отделяет важное от неважного, представляет обсуждённые альтернативы решений в красивом виде, разве что пока в разговор не вмешивается (это на следующем шаге).:

По-русски это тоже всё происходит. Вот баттл кремниевого юриста-оппонента LegalApe 2.8 от «Мегафона» и мясного юриста Романа Бевзенко -- https://broadcast.comdi.com/watch/ro0p0ne2lhmppa111sz1 (выключайте английский, и будет русский). Победил знаменитый юрист, 243 баллов против ботовых 187 из 300. А если бы этот юрист был не знаменитым, а из райцентра? А если бы кремниевый юрист стоил бы столько же, сколько гугление -- то есть нисколько, от вас требуется только согласие поглазеть на рекламу чего-нибудь вам ненужного в качестве оплаты его услуг? Вы бы при таких условиях обратились к районному юристу, или кремниевому?

Dasha.AI -- https://khazin.ru/articles/151-tekhnologii-i-po/59016-robot-iz-novosibirska-zamenjaet-tselye-koll-tsentry. Вышибание долгов в банке: https://www.rbc.ru/own_business/04/09/2017/59a6a4b59a794703c8ab0ee9.

И всё это стремительно начинает проходить тесты тьюринга. Вот написание абстрактов научных статей: абстракт робота от абстракта человека не может отличить 80% непосвящённых и 30% посвящённых нетоповых экспертов в предметной области: https://arxiv.org/abs/1805.06064.

Я понимаю, что когда все говорят о блокчейне и тем самым прямо о деньгах (непонятно каких, но деньгах, причём деньгах прямо сейчас -- кидай мешки, блокчейн уходит!) эти мои разговоры про интеллект кажутся чем-то из сказок про будущее. Но нет, это "будущее" уже делают миллион человек только разработчиков. "around February / March 2015 ... Deep learning was a very different field ... First, it was smaller. There might have been 10,000 people doing deep learning at the time. It’s closer to one million now" -- это из https://www.pyimagesearch.com/2018/07/02/an-interview-with-francois-chollet/. Миллион разработчиков что-то активно делают прямо сейчас.

Гугль выкатил только что платформу в облаках, которая должна сделать доступ к очень небольшому кусочку технологий искусственного интеллекта демократичным -- чтобы даже студенты могли сделать какое-то приложение обработки естественного языка, распознавание и синтез речи с прямой интеграцией в телефонные приложения, работы с изображениями -- https://blog.google/products/google-cloud/empowering-businesses-and-developers-to-do-more-with-ai/. И они честно пишут: But our true goal is to empower a contact center's human agents, as well as the customers that rely on them. To do this, we built a complete solution with our partners that includes Dialogflow Enterprise Edition, as well as additional capabilities that are particularly useful for contact centers—all with a commitment to using a responsible, human-centered approach to AI. We call it Contact Center AI, and we think it has the potential to elevate every aspect of the customer service experience, from start to finish.

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

Так что я не про будущее тут говорю у себя в блоге, а про настоящее.

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

И это я тут не обо всём происходящем пишу, даже о происходящем с оппонентами/троллями, колл-центрами, хелп-десками и т.д.. Всё быстро. Это я раньше писал "всё будет быстро". Нет, риторика поменялась. Всё уже быстро. Попкорн купить ещё успеете, а съесть -- уже нет.

UPDATE: Обсуждение в фейбсуке: https://www.facebook.com/ailevenchuk/posts/10213467691020739 и https://www.facebook.com/groups/nevronet/permalink/1121485814684405/
Friday, August 3rd, 2018
5:27 pm
Что будет на втором потоке курса СМС2
В прошлое воскресенье я закончил первый поток "Системного менеджмента и стратегирования v2".

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

Общая структура курса осталась почти без изменений, она представлена на странице курса http://system-school.ru/sms (кликайте на разделы программы курса, там краткая характеристика содержания в каждом разделе).

Вот что дали изменения во второй версии курса:
-- этот поток в части системного мышления удалось организовать как flip teaching: часть группы только читала учебник, но до занятий. А часть прошла и курс на Coursera. Так что я больше разговаривал по поводу разных примеров приложения материалов и давал больше деталей, чем что-либо там объяснял с нуля. Некоторые участники курса ухитрились и курс онтологики прихватить перед моим курсом, так что там вообще всё хорошо было.
-- системной холархией занимались полных два дня, и дальше непониманий по поводу сути системного подхода было сильно поменьше. Всё-таки число часов общения на птичьем системном языке очень важно, и базовые понятия лучше бы проходить не по верхам. Удивительно, но этот вроде как не слишком прикладной материал пошёл прямо в жизнь: участники курса говорили, что лучше стали понимать, чем именно они занимаются, и чувствуют теперь себя более уверенными при работе со всякими техзаданиями.
-- понятие жизненного цикла (управление жизненным циклом) и управление работами вводилось за один третий день. Да, это всё равно немножко тесновато, но управлению работами за один день всё одно не научишь -- только направишь на правильное чтение и дашь структуру этой предметной области. Зато прежнее мутное место разницы между управлением жизненным циклом и управлением работами стало абсолютно понятным, их перестали путать между собой. Аджайл и канбан, проектное управление и организационное развитие -- всё это перестало путаться. А поскольку с холархиями к этому моменту уже более-менее разобрались и основная системная терминология стала привычна, материал третьего дня про практики и работы шёл более легко, чем обычно.
-- больше половины четвёртого дня (т.е. после окончания части про системное мышление) отдали мини-практикуму: минут по сорок разбирались с целевыми системами участников курса. Это сильно добавило понимания: работа с примерами, типовыми ошибками, использование одних и тех же паттернов мышления в работе с самыми разными предметными областями (от искусственных островов до интернет-магазинов, от криптографических систем до торговли строительными материалами для частного строительства, и т.д. -- у меня на курсах обычно не соскучишься, у всех очень разные проекты. И демонстрация одинаковости мышления для них обычно очень ценна: курсанты понимают, что им уже не так страшна будет смена предметной области).
-- материалы дней по развитию и совершенствованию и стратегированию были немного перетасованы, и изложение стало логичней. Но всё равно проблем в этой последовательности "развитие и совершенствование" (где я углубляю понимание понятия "практика" и обсуждаем альфы технологии и команды), "инженерия предприятия" (с упором на архитектуру и выход на моделеориентированность), "стратегирование" (где разбирается главным образом альфа возможностей и governance) остаётся ещё множество.

Во втором потоке (на него уже открыт набор, начало 19 августа -- http://system-school.ru/sms) это всё сохранится, но будут и новинки:
-- рабочие тетради с упражнениями и два сорта сертификатов: "освоил курс" и "прослушал курс" -- кто не будет сдавать заполненные тетради, тот "прослушал", а кто будет -- тот "освоил". Проверяемые домашние задания должны чуток добавить к практичности, поднять КПД от прохождения. На других курсах у нас домашние задания есть, а у меня они были, но я относился к их выполнению снисходительно. Вот, начну проверять. А поскольку работы там много, то часть интервалов между днями курсов будет не две недели, а даже три недели. Так что все должны справиться.
-- я планирую таки сделать "системный архимейт" (так я называю соглашение о моделировании в архимейте, которое я взялся разработать) и курс будет его включать. Это существенно повлияет на содержание дня пятого и шестого (где используется архимейт), но можно попробовать выйти и на чуть больше моделеориентированности.
-- в материал курса будет добавлено побольше про capabilities и value streams. Это сегодня уже must.
-- добавится материал по разборке с полномочиями-ответственностью. А то со стейкхолдерами разборки подробные, а вот с должностями не очень.
-- будет разобрано больше ситуаций, где в сервисе участвуют люди: обычно там люди и как стейкхолдеры (с их целями) и как материал (сервис меняет их состояние). Все эти магазины, корпоративный софт, учебные курсы и т.д..
-- а поскольку чудес не бывает, и за все добавки нужно платить, то я что-то вынесу из курса в отдельные материалы. Хорошим примером тут является системное лидерство: в курсе о нём буквально один слайд, но полный материал доступен в виде отдельного двухдневного курса (кстати, этот курс тоже активно перерабатывается прямо сейчас -- и версия вторая пойдёт 29 сентября, http://system-school.ru/leadership).

Наверняка будут и другие какие-то изменения, аппетит ведь приходит во время еды. Так что до встречи на новом курсе, запись тут: http://system-school.ru/sms. Это один из немногих курсов, где берём "с улицы", не требуя предварительной подготовки.

С другой стороны, поскольку в первые три дня тренинга планируется flip teaching (нет подробных лекций по новому материалу, сразу идут беседы с преподавателем, ответы на вопросы, разбор примеров и т.д.), то рекомендую сразу после записи читать учебник "Системное мышление" и/или проходить курс в Курсере до третьей главы/недели включительно (130 страниц). Ко второму дню тренинга -- до пятой главы/недели включительно (150 страниц). К третьему дню тренинга -- до конца, т.е. до 8 главы/недели включительно (120 страниц). А дальше письменных материалов в виде учебника или онлайн-курса нет, будут лекции и рекомендованные книги по отдельным темам.
1:52 am
lytdybr
"Визуальное мышление" появилось в Амазоне за 76 центов -- https://www.amazon.com/Визуальное-мышление-Доклад-обольщаться-Russian-ebook/dp/B07G39LWLS/. Меня забавляет, что из магазинов-партнёров книга сначала появляется в Амазоне, потом только в Литрес: заграница оказывается в разы шустрее. Поэтому Амазон, наверное, и Амазон -- он просто лучше! На сегодня (неделя продаж, книжка опубликована в прошлый четверг -- https://ailev.livejournal.com/1437344.html) через магазин Ridero ушло 116 экземпляров (https://ridero.ru/books/vizualnoe_myshlenie/), из них даже три бумажных! Я никак не ожидал такого бодрого старта для книжки, хотя меня и предупреждали, что я цепляю более чем горячую тему. При этом я каждый раз честно говорю, что положил бесплатный .pdf в материалы курса "Системное мышление"!

"Системного мышления" продано по линии Ridero с магазинами-партнёрами уже 899 штук (https://ridero.ru/books/sistemnoe_myshlenie/). Книжка уже давно висит в "Рекомендуем почитать" на первой странице магазина Ridero и не вылезает из десятки лучших по продажам Ridero в каких-то магазинах-партнёрах. В разделе "русская религия" книжка отползла, и теперь аж девятая -- https://www.amazon.com/Системное-мышление-Учебник-Левенчук-Анатолий-ebook/dp/B079Z19R9W/.

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

Больше всего мне понравилось, что у таких читателей я стал автором курса "фундаментальное образование за два вечера", да ещё и появился после Острова. Вот, полюбуйтесь: https://www.facebook.com/groups/MoscowDjango/permalink/2160385970657030/?comment_id=2160440750651552&comment_tracking=%7B%22tn%22%3A%22R%22%7D.

В Курсере курс на сегодня закончили с проверкой задач 88 человек, в чате поддержки 666 человек (https://t.me/systemsthinking_course). Там прямо на первой странице курса появились приятные отзывы от тех, кто прорвался -- https://www.coursera.org/learn/system-thinking#. Интересно, когда появятся очередные отзывы по типу "зелен виноград"? Первые такие отзывы появились чуть ли не в первые часы существования курса! Это при двухмесячной длительности самого курса! По статистике из оплативших курс проходит его полностью примерно половина, при этом постепенный отсев идёт до пятого модуля из восьми. И кто прошёл пятый модуль и не бросил, потом уже обязательно заканчивает.

Сегодня был методсовет Школы системного менеджмента, и я там заявил три важных ближайших больших дела:
-- фундаментальное образование: программа. Собственно, сегодняшний пост про трансформации вычислительного мышления (https://ailev.livejournal.com/1439141.html) был по этой линии, равно как и пост про causal inference (https://ailev.livejournal.com/1435703.html). Это срочная работа, она ведёт к перестройке линейки курсов фундаментального образования (онтологика, системное мышление и т.д.), и мы эту перестройку попробуем начать ещё в этом году.
-- системный архимейт (раньше я называл это "соглашение о моделировании в архимейте"). Этого ждут курсы по концептуальному проектированию, системному лидерству, и мой собственный курс. Так что это уже горит, это нужно делать быстро.
-- стейкхолдерское мастерство. Этого курса крайне не хватает в линейке фундаментальных курсов, живых людей без него обсуждать трудно. Тут начать и кончить: есть только грубые намётки в "Системное лидерство и стейкхолдерское мастерство" https://ailev.livejournal.com/1409122.html и "Системная осознанность" https://ailev.livejournal.com/1417932.html. Пока нет программы, нет преподавателя, только идеи. Но ничего, курс таки будет!

Увы, вопрос с "факультетом культуры" был сдвинут куда-то на осень. Ибо нельзя одновременно бежать во всех направлениях сразу.

А ещё Александр Турханов написал текст про моделирование жизненного цикла образования EduOps -- https://sdu2020.blogspot.com/2018/08/blog-post.html. Пошло развитие содержания начальных идей из цепочки "Фундаментальное образование". В конце его текста прямо говорится, что мы делаем по факту университет, только нас не заботит болонская система, формальные корочки российского или международного образца, аккредитации, аттестации и т.д.. Но лучше бы этих слов не говорить, ибо со словом "университет" прихватывается много лишнего и из культуры, и из моделей финансирования, и из регулирования. Тут как? "Чебурашка, как бы тебе объяснить, что такое вертолёт? Апельсин видел? Так вот, вертолёт совсем на апельсин не похож!". А пока Александр написал 50 требований 26 стейкхолдеров. И это будем потихоньку обсуждать.

Вьюнош закончил 8 из 16 модулей теорвера и статистики из академии Хана. Можно посчитать велосити: 8 модулей ровно за месяц (программу обучения я сделал 2 июля -- https://ailev.livejournal.com/1434868.html). Это означает, что к первому сентября он этот курс закончит. Multivariable Calculus и Linear Algebra пойдут уже параллельно со школьной загрузкой, кружками электроники и т.д..

Мои кизомба-дела не пойму в каком состоянии. Я в очередной раз переучиваю базу, в этот раз уже как-то осмысленно. Правильно ведь говорят, "если не знаешь базу, то не знаешь ничего. За год базу не узнаешь". Вот у меня через неделю будет два года занятия кизомбой. Я за два года умудрился базу не узнать: я их узнал много разных, они проинтерферировали друг с другом, и теперь там эээ... базовый винегрет. Ничего хорошего. Так что у меня тот самый период, когда налаженный старый танец у меня уже отсутствует, а ожидаемый шикарный новый ещё не присутствует. И когда спотыкается партнёрша, я чётко знаю, что это из-за меня, а не из-за неё. Лечит это только время, так что улыбаемся и пляшем, улыбаемся и пляшем. Оргвыводы тут пока простые: убрать сальсу (всё одно на неё устойчиво не получается ходить) и добавить в расписание ещё чуток кизомбы в части чистки базы. Что я и исполнил на этой неделе. Буду теперь чистить базу по вторникам и субботам.
Thursday, August 2nd, 2018
3:29 pm
Об вычислительное, научное, инженерное мышление
Очень мутный подход проф. Osman Yaşar (колледж Университета Нью-Йорка в Брокпорте) по переопределению вычислительного мышления (computational thinking) с посвящённого чему-то компьютерному в просто мышление, делающее акцент на моделировании в части абстракции на какие-то уровни моделирования и декомпозиции модели на одном уровне абстрации -- мне это прилетело в виде его краткой июльской публикации в Communications of ACM, https://cacm.acm.org/magazines/2018/7/229035-a-new-perspective-on-computational-thinking/fulltext, но он эту свою мысль продвигает во всех мыслимых изданиях, полно текстов в открытом доступе, например "The essence of computational thinking and tools to promote it", https://peer.asee.org/the-essence-of-computational-thinking-and-tools-to-promote-it.pdf

Многие идеи из текстов профессора носятся в воздухе, и он просто выполняет роль Кэпа для "музыкой навеяло". Если это будет читать какой-нибудь ИИ через десяток лет, то вот он, "научный приоритет"! В моих текстах ведь тоже примерно это направление мысли, хотя и на другом языке, и в другой терминологии. Вот некоторые мысли из его тезисов с моими комментами:

1. Нас не должно заботить, ведутся ли вычисления в мозгу или компьютере. Поэтому вычислительное мышление не связано только с компьютерами как носителями вычислений. Вычислительное мышление связано с "мыслительными вычислениями" независимо от носителя, условно говоря, с cognition. А из cognition мы выделяем моделирование, которое про многоуровневую абстракцию и декомпозицию на отдельно вычисляемые/мыслимые (ибо неважно, вычисляем или мыслим по моделям) куски, например, для параллельных вычислений в сложной модели. Интересно, что вычислительное мышление при этом отвязывается профессором от computer science, которая не про абстрагирование и декомпозицию.

Я определял информатику как работу агентов (людей и компьютеров) с текстами и кодами в http://ailev.livejournal.com/1008054.html. И информатика тем самым тоже не выделяет отдельно вычислительное медиа, как и у Osman Yaşar. И информатика тем самым шире computer science: кодирование, отекстовка, перетекстовка там как-то могут быть связаны с абстрагированием и декомпозицией -- но, в computer science считается при этом, что абстракции в этот момент уже даны, декомпозиция задана, и нужно просто синтезировать/выучить эффективный по памяти и времени алгоритм кодирования, отекстовки, перетекстовки. Так что парадоксальным образом, вычислительное мышление оказывается отвязанным от computer science, хотя они оба важны в информатике. В рамках информатики computer science может помогать вычислительному мышлению, реализуя полученные этим вычислительным мышлением модели -- это один из призывов профессора к сообществу computer science.

2. Кроме вычислительного мышления сего абстракцией и декомпозицией моделей, есть ещё научное мышление с выдвижением и изменением гипотез в части моделирования, а также инженерное мышление в части использования моделей как проектов. Вот это очень мутное место: как профессор бьёт мышление на части, чтобы оставаться в рамках folk taxonomy разных мышлений (вычислительное, научное, инженерное), принятой в американском бюджетировании науки. Тот самый STEM, ничего более. Тут я вздыхаю, и напоминаю мой текст "За пределами STEM-образования", https://ailev.livejournal.com/1283663.html. Например, куда дели системное мышление? А вот онтологика, похоже, у профессора спрятана где-то в вычислительном мышлении: модели же! Но вот стейкхолдеров в профессорской онтологике наверняка нет, да и с мультимоделированием проблемы: он работает со школьниками, К-12 и мыслит опять-таки в рамках классически нарезанных предметов школьных программ. Отдельные виды моделей для каждого предмета, и только. И никаких проектов по созданию чего-то, целевая его деятельность -- "изучение химии в школе", "изучение физики в школе".

Так что "моделирование мира" оказывается сутью вычислительного мышления, но что же в нём вычислительного? А ничего там нет вычислительного! Вычисление=мышление, вот и весь тезис профессора. Дальше он варит суп из топора: задаёт абстрагирование и декомпозицию как главное, что его интересует в мышлении и говорит, что изо всех "мыслительных вычислений" его интересует именно это.

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

3. Обычное мышление умеет всё то же самое, что вычислительное, научное, инженерное. Разница в научном, инженером и вычислительном мышлении только в том, что эти мышления используют свои приёмы более часто, итеративно и дисциплинированно. То есть по обычный человек вдруг раз, и что-то абстрагирует с перепугу, а потом неожиданно для себя бьёт получившуюся в результате абстрагирования модель на части. А вот человек с вычислительным мышлением это делает часто, повторяет и придерживается какой-то дисциплины. То есть вычислительное мышление имеет просто какие-то количественные отличия от просто мышления в части использования приёмов абстрагирования и декомпозиции в работе с моделями мира. Osman Yaşar в этом месте в тексте просто говорит про то, что люди повсеместно используют дедукцию и индукцию (до абдукции дело не доходит, нет такого слова у профессора). По факту он говорит, что все люди логичны, все люди рациональны. Но некоторые более логичны и рациональны, чем другие.

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

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

А ещё обычное мышление делается в "бессознанке", а мы добиваемся осознанности -- https://ailev.livejournal.com/1417932.html

4. А ещё Osman Yaşar делит обучение на индуктивное и дедуктивное так, что это примерно соответствует bottom up и top down, которое обсуждается в http://forums.fast.ai/t/about-andrew-ngs-deeplearning-ai-courses/9830/17 (помним, что классическое обучение -- это bottom up, хороший обзорчик по top down дан в http://www.fast.ai/2016/10/08/teaching-philosophy/). И говорит, что обучение с учётом работы с моделями (то есть обучение с задействованием вычислительного мышления, развитие вычислительного мышления путём использования моделей в учебном процессе) сочетает оба подхода. Мне же кажется, что он говорит больше о top down, при этом в качестве оправдания для сторонников bottom up его аргумент банален -- что в какой-то момент он добирается таки до этого самого bottom, до мелких деталей. И ещё пытается аргументировать это педагогически, а не содержанием образования (его интересует, сколько деток в школе добрались до этого самого bottom, в отличие от деток, которые стартовали с bottom и так и не добрались до top), что весьма резонно. У него эмпирические лонгитюдные исследования: в школах, где используются предметные (геометрия, физика, химия и т.д.) модели, больше учеников осваивают физику и математику на приличному уровне, меньше не справляющихся с программой. То есть работа с моделями aka тренинг вычислительного мышления на материале каких-то предметов по Osman Yaşar увеличивает педагогический успех этих предметов.

Во-первых, моделирование и работа с моделями всё-таки разные системные уровни, хотя они и тесно связаны. Что из них вычислительное мышление, что там входит в вычислительное мышление, а что нет? Что именно тренируется, если уйти от расплывчатых псевдофилософских и псевдопедагогических рассуждений -- целевой предмет, общие способности к моделированию? Мой тезис в том, что если есть какое-то мышление, то его нужно а) сначала натренировать явно (а не косвенно!), а потом б) просто использовать в самых разных контекстах. На то оно и мышление (использование в самых разных контекстах -- результат фундаментального образования), а не прикладная дисциплина, которая используется в одном контексте. Во-вторых, по аналогии с вычислительным мышлением Osman Yaşar тут протаскивает своё любимое детище computational pedagogy, которое означает просто использование вычислительных моделей в педагогическом процессе (https://peer.asee.org/computational-pedagogy-fostering-a-new-method-of-teaching.pdf). Тот же сержантский метод (тренинг с решением множества мелких задач), только с использованием DSL, на которых формулируются эти задачи и интерпретаторов с DSL. Это просто ребрендинг идей Алана Кея, Сеймура Пейперта и даже группы "Аттик" (Кушниренко, Лебедев, Леонов, и т.д. -- с подачи академика А.Ершова) с их Мирами (помним, что КуМир -- это был Комплект Учебных МИРов. Ровно та же идея, 1988-89 год разработки и без громкого лейбла computational pedagogy).

И дальше Кэп говорит, что люди из computer science, как умеющие программировать, должны прийти на помощь, и создать все эти учебные модели с визуализациями. Ну да, ну да. Эхо Алан Кея, Сеймура Пейперта и далее Ершова и группы "Аттик", но только без их упоминания. Ибо новое слово: вычислительная педагогика. Ну, с тех пор ещё и embedded DSL придумали, и среды моделирования с ними типа Jupyter (и использующий его CoLaboratory), чтобы моделирование было поинтереснее.

Но этот тезис уже выходит за рамки деления мышлений, выходит за рамки проведения границ в содержании образования и вроде как относится к форме -- тому, как строить учебный процесс. Но это не совсем так. По сути этот тезис проводит идею, близкую к идее EduOps: результаты исследований по той или иной дисциплине, чтобы они были доступны для использования, нужно оформлять в виде моделей. Единственное что, что эти модели берутся в идеологии и терминологии 80х. Например, раздельно упоминаются моделирование и имитационное моделирование -- modeling and simulations, а сейчас мы просто говорим, что у модели обязательно есть интерпретатор, и это либо человеческие мозги, либо мозги кремниевые, это буквально соответствует мысли Osman Yaşar про то, что не нужно делить когнитивные процессы на те, которые идут в компьютерных устройствах и в человечьих мозгах, а нужно думать об этом единообразно -- но одно дело сказать, другое дело последовательно воплощать в жизнь, отражая и в терминологии тоже. Хотя я тоже медленно к этому иду, мог бы быть более радикальным и последовательным: вот слайд 24 в моём рассказе о моделеориентированной системной инженерии пока отражает классическое говорение, но хотя бы добавляет коннективистские модели (там у меня компьютерное мультифизическое имитационное моделирование, компьютерное коннективистское моделирование и структурное моделирование-для-людей): https://ailev.livejournal.com/1433768.html.

Итого: нет ничего нового под луной, воздух пропитан одними и теми же мыслями. Музыка навевает всем одно и то же. Но мы структурируем эту полянку разных мышлений в контексте обучения мышлению немного по-другому, и поддерживаем эти мышления другим набором технологий (скажем, моделирование поддерживаем через DSL -- и проносим там линию текстовых DSL в рамках хост-языка, идущую ещё от Алана Кея и по факту реализованную сегодняшним exploratory programming в рамках сред deep learning моделирования. Вот такое и делаем для учебного процесса в рамках сержантского метода http://ailev.livejournal.com/1287293.html, если есть ресурсы. А ресурсы будут, если делать учебные модели будет тот же, кто делал state-of-the-art в его предметной области -- то есть идём через EduOps https://ailev.livejournal.com/1431056.html, где разработчики дисциплин принимают на себя ответственность за обучение этим дисциплинам, то есть думают о всём жизненном цикле добытого ими знания, а не действуют по классическому принципу "от нас ушло").

Вся цепочка "Фундаментальное образование", куда входит этот пост -- https://ailev.livejournal.com/1427073.html

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10213478273925305
Wednesday, August 1st, 2018
1:53 am
Компьютерная поддержка полного спектра формальности мышления
Я высоко (на седьмом этаже!) сижу, далеко (через интернет) гляжу, и обозреваю полянку современных шевелений с мышлением. Меня интересует мышление-в-большом: не одиночные акты озарений, или отдельные попытки что-то логически прорассуждать. Меня интересует коллективное мышление в промышленных масштабах -- чтобы суметь сделать ракету, которая долетает до Марса (это уже сумели сделать много команд из самых разных стран), или суметь сделать компьютер с чипом, в котором 21млрд. транзисторов (NVIDIA Volta как раз такой чип).

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

Для полноценного мышления людям и компьютерам нужно задействовать полный спектр формальности мышления -- и ещё и менять уровень формальности мышления по ходу дела. Подробней я об этом рассказываю в книжке "Визуальное мышление", https://ridero.ru/books/vizualnoe_myshlenie/, просто опускайте при чтении те части, где обсуждается именно визуальность и читайте всё то, что про мышление. И там огромное количество ссылок на литературу.

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

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

Для этого опустимся от мышления на уровень ниже и рассмотрим представления мысли, над которыми можно вести вычисления -- более формальные и менее формальные как эти представления, так и вычисления над ними. Я бы тут выделил несколько направлений:
-- логика и вероятность. Началось с E.T.Jaynes, показавшего, что логический формальный вывод это частный случай байесовского вывода (http://ailev.livejournal.com/1311261.html). Это линия вероятностных доказательств, её двигает, например, Pedro Domingos (тот самый, который писал про Master Algorithm) -- ибо нужны эффективные алгоритмы нахождения таких доказательств, https://dl.acm.org/citation.cfm?id=2936726. Сюда же попадает причинный вывод (causal inference, https://ailev.livejournal.com/1435703.html), т.е. такие работы, какие ведёт Judea Pearl с учениками и их конкуренты. По сути, тут царит probabilistic programing, http://probabilistic-programming.org/.
-- логика и коннекционизм. Это представление логики в коннекционистских средах. Есть толстенький обзор Neural-Symbolic Computation https://arxiv.org/abs/1711.03902. У меня время от времени были посты на эту тему, но я обычно ссылался в своих постах на neural-symbolic binding (этих постов было довольно много, гуглите с указанием site:ailev.livejournal.com), а недавно образовалась ассоциация Neral-Symbolic Integration, NeSy, http://www.neural-symbolic.org/
-- дифференцируемая логика: смягчение дискретного характера логики, чтобы работал поиск решения методом стохастического градиентного спуска: проход из формализма по линии differentiable programming. Например, дифференцируемые архитектуры -- continuous relaxation of the architecture representation, allowing efficient search of the architecture using gradient descent из https://arxiv.org/abs/1806.09055. Но это не вероятностное программирование! Это идеи дифференцируемого программирования! Собственно, это то самое, во что превращается сегодня deep learning, но это не столько нейросетевые именно коннективистские представления, сколько дифференцируемые символические (в том числе графовые) представления.

Я понимаю, что речь идёт о системном уровне каких-то базисных формально-неформальных вычислений, которые и мышлением назвать язык не будет поворачиваться. Но выше по интеллект-стеку должен быть уровень когнитивной архитектуры, где могут комбинироваться самые разные варианты этих вычислений (я писал об этом в "Болваны для искусственного интеллекта", в чуть другой терминологии -- https://ailev.livejournal.com/1356016.html). Я пока не касаюсь когнитивной архитектуры. Это потом, и этих когнитивных архитектур, построенных на базе имеющихся вариантов вычислений на спектре формальности мыслительных представлений (аккуратно обойдём слово "мышление" в этом абзаце) будет много. Но разделение интересов, separation of concerns -- обсуждаем по одному интересу за раз, и стараемся держаться на каком-то одном системном уровне.

Что я пропустил? Что ещё тут нужно мониторить?

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10213467691020739 и https://www.facebook.com/groups/nevronet/permalink/1118037578362562/
Tuesday, July 31st, 2018
2:17 am
Робот-престидижитатор, или экспоненциальные технологии на марше
Руку-манипулятор Dactyl научили сноровке -- она крутит предметы разной формы в руке: https://blog.openai.com/learning-dexterity/. Обучали в игровом мире в облаке, используя ровно те же алгоритмы обучения с подкреплением, которые используются для обучения агентов в играх-стрелялках (кстати, до сражения этих агентов с чемпионами-людьми в Dota 2 осталось всего пять дней, это будет 5 августа 2018 -- https://blog.openai.com/openai-five-benchmark/). Потом результаты обучения передавали реальному физическому роботу (использовали руку Shadow Dexterous Hand -- https://www.shadowrobot.com/products/dexterous-hand/). И всё получилось, в том числе манипулирование с предметами той формы, которая не использовалась при обучении.
robothand

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

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

Получение руки, которая хоть как-то сравнима с рукой человека, Rodney Brooks, CEO фирмы, выпускающей Roomba, ожидал увидеть только в 2030 самое раннее, и считал, что только в 2040 году они станут распространены. Почему? А просто "за последние 40 лет в этой области не было существенных прорывов" -- https://rodneybrooks.com/my-dated-predictions/. Как это совместить с тем, что в области искусственного интеллекта идёт два прорыва в неделю? Никак. Вот вам и прорыв, хотя "прорывов не было 40 лет".

Всё то же самое, что и с видеоиграми, которые после победы в Го тоже ожидали на уровне, сравнимом с людьми, только через несколько лет. А они уже вот.

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

Вот одна из оценок того, что происходит: в марте 2015 года создатель Keras (одной из библиотек глубокого обучения) Francois Chollet оценивал число занимающихся глубоким обучением в 10тыс. человек, а сейчас он оценивает это как примерно миллион, причём только его библиотекой из них пользуются порядка четверти миллиона человек -- https://www.pyimagesearch.com/2018/07/02/an-interview-with-francois-chollet/.

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

И не нужно недооценивать то, что происходит в части чисто человеческих (а не животных, как в случае обучения роботов движению, или агентов в стрелялках -- это ж те же животные в стае!) способностей. Человечьи способности -- это способности к абстрактному мышлению. В этом ведь тоже идут подвижки: https://deepmind.com/blog/measuring-abstract-reasoning/ пару недель назад как раз про измерение абстрактных рассуждений в нейронных сетях. Не померял -- не узнал успеха. А чтобы померять, нужно разобраться, что это за такая способность к абстракции, генерализации знаний о мире. Начали практически с тестов на "какой объект будет следующим в последовательности" на поиск закономерностей по образу и подобию человечьих IQ-тестов. Получили результаты абсолютно плохие, но для искусственного интеллекта более чем хорошие. И завершили статью прямым обращением к помянутому миллиону человек, занимающихся обучением машин: we wish to end by inviting our colleagues across the machine learning community to participate in our new abstract reasoning challenge. И наверняка ведь кто-то неглупый откликнется, и что-нибудь придумает!

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

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

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

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

UPDATE: обсуждение в интернете -- https://www.facebook.com/ailevenchuk/posts/10213460663485055, https://www.facebook.com/groups/162254460635735/permalink/946384645556042/
Sunday, July 29th, 2018
10:21 pm
Презентация курса "Как оставаться востребованным специалистом в эпоху перемен"
Опубликовано видео презентации курса "Как оставаться востребованным специалистом в эпоху перемен" (https://youtu.be/SKxsDGrB1zE):


Слайды для первого потока (https://www.slideshare.net/ailev/ss-107910005, для страдальцев от роскомпозора -- https://yadi.sk/i/n4MhH59t3ZdQmC):


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

Для прохождения курса не требуется каких-либо пререквизитов: достаточен лишь интерес к теме личного развития, адекватного проходящим за окошком переменам. Развёрнутые материалы к курсу более-менее опубликованы: это мой блог за пару последних лет, в блоге много подробностей по каждой теме. Другое дело, что в моём блоге трудно разобраться, курс должен помочь это сделать. Но сразу скажу, что всё равно придётся доучиваться: из курса будет понятна структура материалов блога (они перестанут казаться калейдоскопом случайных идей -- там будет понятно, о чём они все и как связаны между собой), но читать их нормально можно будет только после прохождения курсов "Системное мышление", "Основы онтологики" и т.д. из программы Школы системного менеджмента (http://system-school.ru/).

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

Первый поток курса пройдёт 6-7 августа 2018, это будет по три часа за два вечера: тем самым просто в силу достаточности времени я расскажу впятеро больше, чем рассказал в презентации. И мы ещё успеем немножко побеседовать и поупражняться, у меня ведь не чисто лекционный материал. Запись на курс вот тут: http://system-school.ru/uptodate

UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10213452785128101
Фотография с презентации курса и майндмэп слушателя по фрагменту изложенного материала -- https://www.facebook.com/stanislao.io/posts/865938730270802
1:08 am
Управление вниманием при движении по спектру мышления
Этот пост развивает мысли из "Психопрактики развития мышления, а не животного начала" https://openmeta.livejournal.com/236318.html в свете современных идей о спектре формальности мышления, высказанных в книге "Визуальное мышление" https://ridero.ru/books/vizualnoe_myshlenie/.

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

Моя гипотеза в том, что в спектре формальности мышления для отслеживания чего-то интересного в левой синестезийной части спектра мышления требуется деконцентрация внимания (так, как её понимают психонетики -- http://www.klex.ru/1ef).

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

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

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

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

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

И воля (мне больше нравится психонетическая активная Воля, чем бесстрастный и не вмешивающийся ни во что интегральный Свидетель) нужна для того, чтобы присматривать (governance) за этим движением по спектру мышления, управлять типом внимания -- концентрацией, деконцентрацией или какими-то их более продвинутыми и иным образом структурированными вариантами. Наличие двух фокусов внимания -- личного (воля) и стейкхолдерского (рассуждения в рамках какой-то дисциплины) обсуждается в пункте "2. Психотехническая осознанность" текста "Системная осознанность" (https://ailev.livejournal.com/1417932.html) и поминается в тексте "Системное лидерство и стейкхолдерское мастерство" (https://ailev.livejournal.com/1409122.html).

Работа с трансовыми состояниями для мышления должна быть аккуратной: когда внимания нет, мысли скачут, а когда внимание 100%, то мысли остановлены и мышления по факту нет -- и вот эта остановка мышления очень приятна, и людей трудно удержать от этого бесплодного "медитационного кайфа" (см. замечание Игоря Берхина в https://www.facebook.com/igorberkhin/posts/935121679939782 и его обсуждение в "Конференция прикладное системное мышление" https://ailev.livejournal.com/1421138.html).

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

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

Конечно, весь этот тренинг внимания в мышлении отлично работает на учебных тренажёрах (см. цепочку по сержантскому методу -- http://ailev.livejournal.com/1287293.html). И метод помидора (https://ru.wikipedia.org/wiki/Метод_помидора) в сочетании с тренажёрами для какой-то дисциплины выглядит в части обучения управления вниманием в мышлении явно не хуже психонетики или занятий mindfulness. Накладных расходов на "упражнения по управлению вниманием" в нём ноль, всё уходит в дело -- в упражнения. Но навык управления вниманием таки формируется.

Интересно было бы придумать на базе гипотез, изложенных в этом посте, какой-нибудь более эффективный метод приручения собственного внимания, чем метод помидора. Но это может оказаться и утопической задачей: увы, за много лет различные школы психопрактик в части мышления дали не слишком много результатов. А метод помидора и тренажёры результаты дали. Так что пусть бенчмарком для всех сегодняшних психопрактик в этом плане будет вот этот самый метод помидора: если не показывают бОльшей эффективности для задач с существенным задействованием движения по спектру мышления, то мы эти психопрактики не будем рассматривать. State-of-the-art, он и в управлении вниманием state-of-the-art.
Friday, July 27th, 2018
2:43 pm
Начальник, менеджер, инженер
Вот это вот высказывание Александра Турханова "За дачу обещаний и исполнение обещанного отвечает руководитель проекта, а за изменения и востребованность результата отвечает системный инженер" из https://sdu2020.blogspot.com/2018/07/blog-post_26.html навело меня на мысль, что нужно точней отвечать на вопрос, кто главней -- менеджер проекта или системный инженер. Главней начальник. Ибо позиций три, а не две:
1. руководитель (начальник, полномочный/ответственный за governance, имеющий полномочия/ответственность по распоряжению ресурсами и поэтому могущий давать обещания — тут DEMO, https://ailev.livejournal.com/644440.html),
2. менеджер проекта (операционный менеджер — планирование и контроль выполнения планов, максимизация througput через руление логистикой) и
3. системный инженер (на нём успешность системы -- чтобы учесть интересы по возможности всех стейкхолдеров).

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

Александр давно поднял эту тему с DEMO (я комментировал его мысли на этот счёт тут примерно год назад, в "DEMO, лидерство и WBS": https://ailev.livejournal.com/1381822.html).

Но тогда упор был на лидерство, а сейчас нужно сделать упор ещё и на стейкхолдерское мастерство -- в их противопоставлении (см. https://ailev.livejournal.com/1409122.html).

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

UPDATE: обсуждение в фейбсуке -- https://www.facebook.com/ailevenchuk/posts/10213434807918682
Thursday, July 26th, 2018
1:41 pm
Мои ближайшие курсы
Набор на очередной поток (сессию) "Системного мышления" в Курсере открыт с 23 июля по 28 июля 2018, ожидаемая дата выпуска (хотя обычно можно и раньше, но редко кто успевает) 24 сентября 2018 -- https://www.coursera.org/learn/system-thinking. Чат поддержки курса в телеграм https://t.me/systemsthinking_course. Крайне рекомендую брать поддержку проверки задач (но она в Курсере платная, увы): без неё вам будет непонятно, что именно вы не понимаете.

На данный момент:
-- выпустилось с сертификатом: 84
-- заплатили за проверку: 240
-- в чате поддержки: 648
-- что-то прочли или посмотрели: 2864
-- записались (в том числе на будущее): 3964
-- попали на первую страницу курса: 8262

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

А мои ближайшие открытые курсы ближайших два (оба без пререквизитов, возможно и онлайн-участие):
-- 6-7 августа 2018 (два вечера) "Как оставаться востребованным специалистом в эпоху перемен", первый поток (http://system-school.ru/uptodate). Я сегодня делаю анонс этого курса, приходите -- https://www.facebook.com/events/217887252198826/
-- с 19 августа 2018 (шесть дней, по дню примерно раз в пару недель) "Системный менеджмент и стратегирование 2.0", второй поток, http://system-school.ru/sms
[ << Previous 20 ]
Лабораторный журнал   About LiveJournal.com