?

Log in

No account? Create an account
Лабораторный журнал -- Day [entries|friends|calendar]
Anatoly Levenchuk

[ website | Лабораторный журнал ]
[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

Секта свидетелей сингулярности [21 Jun 2016|12:11am]
Само словосочетание "секта свидетелей сингулярности" гуляет по рунету, независимо открываемое, с зимы 2015г. Но Василий Сартаков в комментах к https://www.facebook.com/vasartakov/posts/10209792005373730 обратил внимание на его новый смысл: сингулярность уже потихоньку свистит мимо нас, а мы разинув рот её свидетельствуем, но в ней не участвуем. Я ему вяло возразил, что сингулярность тем и характерна, что в ней все становятся только свидетелями -- кидай мешки, вокзал отходит! Но хотелось бы иметь, конечно, свой вклад в ускорение фронтира -- а хоть и всего 0.01мкм/сутки², но не свидетельствования, а собой обеспечиваемого разгона. Что держит? Кого мозги, кого отсутствие приятной компании, кого отсутствие денег, кто просто прокрастинирует, а кого-то ничего не держит, просто "неохота, нас и тут неплохо кормють" -- у разных людей разные причины свидетельствовать, а не делать.

Я могу ещё себя тешить, что я не "генератор волны фронтира", я "усилитель, размножитель, ускоритель" -- консультант, который хватает опыт в одном месте и помогает его укоренить в другом месте. Консультант тут отличается от журналиста (а хоть и в варианте блоггера) примерно так же, как гуру от пандита: гуру берёт ответственность за карму ученика, а пандит нет, просто даёт разъяснения по трудным вопросам. Я тешу себя мыслью, что моё add value во влиянии на карму клиентов, а не просто в оперативном пересказывании чужих мыслей. Моя сила в разговорах и предложениях, а также помощи сделать стартап какого-то проекта, а не в журналистских пересказах и вещании про чудеса технологий.

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

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

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

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

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

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

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

Так что я не столько член секты свидетелей сингулярности, сколько тамошний работник тыла -- учитывая, что в районе фронтира все в тылу, уж так оно там устроено.
* * *
DISCLAIMER: я слово "сингулярность" использую исключительно художественно, как удобную лингвистическую (а не семантическую) метку. Я знаю, что сингулярностей насчитывают три разных, и знаю критику теорий сингулярности. Я тут не об этом, теории сингулярности и формальное определение того, что это вообще такое, меня не волнуют.
3 comments|post comment

Фундаментальное образование [21 Jun 2016|01:36am]
Я вот уже писал про важность возвращения к проблеме различия формального и материального образований, где давал трактовку формального образования как тренинг в работе с "мета" ("формальное образование в эпоху перемен" -- http://ailev.livejournal.com/1263511.html).

Но тот же Василий Сартаков (сегодня он писуч!) в https://www.facebook.com/vasartakov/posts/10209783276595516 сформулировал ещё одну интересную различалку: фундаментальность образования он определяет как знакомство с основными теориями, лежащими в основе больших групп технологий. Я определяю это как "дисциплины" в формуле "практика = дисциплина+технология". Моё расхождение с Василием, что он определяет "фундаментальность" традиционно исследовательски, как производимую из "любопытства" и независимую от приложений, потому и "фундаментальность" -- и тем самым сам себя отрицает, у него образование фундаментальное должно как раз поддерживать разбирательства в навороченных инженерами технологиях! Какая уж там независимость! Но я считаю, там две зависимости: 1. технологии поддерживают дисциплины (и при смене дисциплины меняются технологии). 2. неудачи технологий означают, что нужно менять дисциплину, которая их поддерживает. То есть дисциплина узнаёт о плохой своей фундаментальности путём обратной связи от плохих в силу этой дисциплины технологий, что б там ни говорили учёные про "любопытство" и прочие такие вещи. Нейронным сеткам людей снятся сны, и никаких "озарений из ниоткуда" нет: источники любопытства связаны с реальной жизнью, в том числе технологической жизнью, и часто именно эта связь, именно этот запрос из практики проявляется в направлении любопытства в бОльшей мере, чем чисто теоретические штудии "дисциплины ради дисциплины". Конечно, можно всегда подобрать контрпримеры, но на любой контрпример есть масса прямых примеров (в тех же нейронных сетях). Я слегка касался этого в обсуждении такого щекотливого вопроса, как развитие математики, хотя тогда ещё и в менее чётких формулировках ("инженерный статус математики", http://ailev.livejournal.com/669463.html -- 59 комментов, и там ссылка на http://ailev.livejournal.com/668305.html с аж 170 комментами).

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

А вот при профессионализации (что тоже проблемный вопрос, учитывая закат профессий и переход к короткоживущим компетенциям -- http://erazvitie.org/article/zakat_professij) встаёт вопрос о правильной теории, которая помогает разобраться с технологиями. Скажем, в тех же примерах Сартакова это CAP-теорема (2000 год -- это давно или недавно, чтобы говорить о включении её в фундаментальное образование?), позволяющая по достоинству оценить NoSQL движение в базах данных. Я считаю, что 4D extentionalism -- это такое же фундаментальное знание для концептуального проектирования баз данных, а также для системных инженеров ("фундаментальные заплатки для системноинженерного образования" -- http://ailev.livejournal.com/1141173.html). Этому нужно учить профи, это фундаментальные знания, но это вряд ли "азы".

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

Мой тезис остаётся: каждый учебный предмет должен включать в себя не только технологию, но и дисциплину. Заявили "робототехнику" -- предъявите дисциплину, предъявите теорию! Предъявите фундаментальное знание, которое позволяет понять, почему выживают или не выживают те или иные технологии, которое позволяет сократить пробы и ошибки при создании собственных технологий. Тезис Корнилова в https://www.facebook.com/alx.kornilov/posts/1760110817533813 именно об этом, о необходимости не столько прихвата дисциплинарного сленга в образовании, сколько о необходимости фундаментального образования. А для этого прежде всего нужно сформулировать дисциплину, выявить фундаментальное (а не прикладное, технологическое) содержание образования! Теории меняются раз в двадцать-тридцать лет, а вот технологии и все эти "проекты" раз в пять лет -- и новое поколение технологий раз за разом будет поддерживать те же теории, ту же дисциплину, то же фундаментальное образование.

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

Дальше конструктивная часть. Чего IMHO не хватает в фундаментальной дисциплине для обучения, если её вдруг удаётся сформулировать? Скажем, в робототехнике она не сформулирована, а вот в линейной алгебре -- вполне. Не хватает не столько "проекта" (где она будет применена однократно, это не "обучение", это скорее "экзамен" -- контроль знаний, а не научение нейронной сетки). Не хватает тренинга в решении задач! Не хватает задачников, а в них достаточного количества задач, чтобы "набить руку" и получить профессиональную фундаментальную интуицию. В этом плане сервисы типа той же Matematica с генерацией постановок задач и проверкой их решения (http://www.wolframalpha.com/pro/problem-generator/) -- вот что может помочь фундаментальности образования. Задачи -- это тот клей, который может привязать абстрактную теорию к конкретным жизненным ситуациям. Задачи намазывают прикладность на фундаментальность. Но задач нет (это же не олимпиадные задачи по информатике, которых тысячи!), как их генерировать, непонятно (не всё ж сводится к математике, которой занимаются 400 лет и которая удивительно регулярна), как их решение проверять автоматически -- непонятно (хотя AI тут может помочь, конечно).

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

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

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

Итого: инженерные и научные формальность и фундаментальность против ПТУшной рабоче-крестьянскости.

Скажите теперь скорей, что я старомоден и отстал от жизни, литературы про все современные веяния в образовании не читаю. Я этого не знаю, студентов современных в глаза не видел, с сыном собственным как школьником не общался, на совещаниях самых разных в ВУЗах и рядом не присутствовал, где о победности и успешности новых веяний рапортовали, курсов в Курсере не проходил и т.д.. И поэтому вы меня сейчас просветите, и скажете, что вся фундаментальность образования как-то сама собой появится, и что она никуда не девалась. Скажите мне об этом, просветите меня тёмного, наставьте на путь истинный.
34 comments|post comment

Где обитают луддиты: в муниципалитетах! [21 Jun 2016|12:55pm]
Первый раз -- случайность, второй раз -- совпадение, третий раз -- закономерность. Теперь я знаю, где сидят луддиты: они окопались в мэриях. Они обычно не знают, что они луддиты, но цеховики им быстро объясняют, кем они должны быть. С муниципалитетами конфликтовали Uber и Airbnb, вот очередь дошла до Amazon. Amazon в середине этого июня запустил доставку своих товаров в течение часа с момента покупки. Мэр Парижа сказала, что Amazon Prime Now нарушает коммерческий баланс и несправедливо (гады, с помощью технологий! ухитряются торговать дёшево и быстро!) конкурирует с магазинчиками и мастеровыми людьми -- https://www.theguardian.com/cities/2016/jun/20/amazon-prime-now-express-delivery-service-france-paris

Когда с технологиями начнуть бороться мэрии России? Впрочем, тут это будет централизовано: до мэрий дело не дойдёт, современные прорывные технологии будут обрубать сразу на общероссийском уровне. Риторика промышленной революции и светлой дороги в будущее риторикой, а луддизм луддизмом.
41 comments|post comment

Технологический день на санкт-петербургском съезде КПСС, тьфу, форуме [21 Jun 2016|01:02pm]
Почему-то мне сегодня вспомнилась вчерашняя истерия во всех лентах по поводу технологического дня на санкт-петербургском экономическом форуме. Дескать, займёмся всем российским миром промышленной революцией нумер четыре, иного пути нет, будем опережающе поднимать производительность труда. Ура-ура, власти услышали! И вожди поведут нас вперёд, к этому будущему!

Мне кажется, что этот форум ничем не отличался от любого съезда ЦК КПСС, на котором торжественно заявлялись ровно такие же цели. Вот, например: «Прогресс науки и техники, — отмечал Генеральный секретарь ЦК КПСС тов. Л. И. Брежнев, — это главный рычаг создания материально-технической базы коммунизма. Вот почему в таком важнейшем вопросе, как развитие науки и техники, мы отчетливо должны видеть перспективы, учитывать их в практической работе. А перспективы таковы, что начавшийся под воздействием науки и ее открытий переворот в развитии производительных сил будет все более значительным и глубоким. Перед нами, товарищи, задача исторической важности: органически соединить достижения научно-технической революции с преимуществами социалистической системы хозяйства, шире развивать свои, присущие социализму, формы соединения науки с производством», это «Материалы XXIV съезда КПСС», стр. 57 (1971 -- помним, американцы в те поры летали на Луну, 12 человек сумели погулять по Луне с 1969 по 1972, и это очень беспокоило. Хотя ширнармассы об этих достижениях проклятых капиталистов и не информировались, но технологическое отставание стремительно становилось очевидным).

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

Но чему все радовались-то вчера? Возврату к идее непрерывного роста производительности труда в России (раньше было "при социализме")? Что нового-то? Та же обязательность для крупных предприятий быть лидерами прогресса, что и полсотни лет назад?
19 comments|post comment

"Рассказать про данные" [21 Jun 2016|04:34pm]
Время от времени (последний раз -- буквально вчера) меня просят где-то публично "рассказать про данные", ибо "больно уж тема на слуху". Что, что мне рассказывать?! Для меня "про данные" -- это:
-- маркетинговый трёп про «дайте нам ваши данные, мы дадим вам бизнес-советы» (это собирается под словом-зонтиком BigData). В узком смысле тут можно дойти до конкретных алгоритмов shallow learning (а вот deep learning "про данные" специально не жужжит, хотя нельзя сказать, что данные там не поминаются. Поминаются, но «не на слуху», на уровень обывателей не выходит). Ещё тут можно говорить про DataFrames, но это уж совсем узко.
-- интеграция данных в промышленных масштабах (мастер-данные, стандарты качества данных, нормативно-справочная информация, управление инженерной документацией, управление конфигурацией и т.д.). Я много лет об этом писал, повторяться не буду -- все эти PLM и ISO 15926. Боком тут -- что происходит с базами данных: все эти NoSQL, трипл-сторы и прочие нереляционности.
-- иногда под "данными" понимают разнообразную визуализацию данных -- научную или даже "инфографику". Так сказать, современная каллиграфия: если есть, что сказать (данные), то нужно сказать максимально кратко, доходчиво, выразительно.
-- отсутствие «данных» в учебных курсах, алгоритмика там есть, а вот работы с данными нет. По этой линии легко прийти к онтологиям (ибо computational ontology -- это про модели данных). Тренд на работу со всё более и более содержательно кучерявыми данными всё более и более простыми алгоритмами.
-- социальные сети, как "общая помойка всего", и способы разгребания мировой помойки. Персональные данные и прайвеси, цифровые следы и скоринговые агентства. Раскрытие информации государства.
-- … и так далее.

А вот про алгоритмы никто не просит рассказать. Они уже вышли из моды, или ещё в моду не вошли? Слово-то "данные" тоже давно используется, но никогда оно не было модным, не просили рассказать о них людям. А "алгоритмы"? Типа как "были бы данные, а алгоритмы найдутся". Нет, не найдутся. Deep learning -- это ведь прежде всего алгоритмы, хотя в какой-то мере и другие типы данных тоже (распределённые представления -- это ведь тоже про данные! Но вряд ли просящие "рассказать про данные" имеют ввиду распределённые представления).
1 comment|post comment

Началась конференция JuliaCon 2016 [21 Jun 2016|06:29pm]
Основная дизайн-цель языка Julia (http://julialang.org/) -- это решить "проблему двух языков" в численных методах (когда прототипировать алгоритмы и скриптовать удобно на языке высокого уровня, а потом требуется переходить на более низкоуровневый язык, чтобы всё работало быстро, в том числе параллельно). Сегодня у любителей Julia праздник, идёт ежегодный смотр достижений JuliaCon: http://juliacon.org/abstracts.html. В России на Julia пишут в бОльших объёмах, чем можно подумать (группа ВКонтакте тут: https://vk.com/julialanguage, но я встречал многих, кто на Julia пишет, не зная о существовании ни этой группы, ни каких-то других).

Расползается Julia по миру сегодня главным образом через университеты: http://julialang.org/teaching/ (MIT при этом один из ведущих по числу курсов – относительно свежая информация тут: https://github.com/stevengj/julia-mit). Это всё не курсы собственно Julia, они не по линии computer science, это курсы главным образом каких-то разделов численных методов, а Julia просто занимает место какого-нибудь Python, MATLAB/Octave или R. Обычно курсы выглядят как ноутбуки в Jupyter (бывший IPython), Ju в этом Jupyter как раз от Julia, это родной теперь для этого проекта язык: http://jupyter.org/. Административно Julia в NumFocus -- http://ailev.livejournal.com/1203522.html.

В языке прямо сейчас идёт опережающее развитие суперкомпьютерного функционала (http://docs.julialang.org/en/latest/manual/parallel-computing/ -- это просто документация языка, http://www.nextplatform.com/2016/01/26/dirt-simple-hpc-making-the-case-for-julia/ -- этот крен в HPC уже заметили «железячники», http://julialang.org/blog/2016/03/parallelaccelerator -- это специализированный для Julia ускоритель от Intel Labs, и много всяких "обёрток" типа https://github.com/JuliaComputing/ArrayFire.jl для работы с массивами в GPU).

Пакетов там уже больше тысячи, что, конечно, капля в море -- http://pkg.julialang.org/. Базовой математики там тьмы и залежи, есть какие-то сообщества на каждую тему: см. разные ссылки в http://julialang.org/community/. Несмотря на то, что Julia отлично цепляет любые сишные библиотеки как родные (и сама, кстати, может в них компилироваться, прикидываясь сями -- типа "пишу высокоуровнево, а код будет для чужих выглядеть сишной библиотекой"), сообщество честно переписывает на Julia основную математику, добиваясь заявленной цели: полный контроль в одном языке над всем стеком выполнения программы -- от прикладного уровня до железа, включая библиотеки. Никаких непоняток на границе сишного кода, код до дна будет Julia.

Эти ребята сейчас переписывают в версии 0.5 реализацию массивов: делают дополнительное ускорение за счёт опционального отключения проверки индексов, «всё для скорости, всё для победы». Кто из численников начинает программировать, те полны восторгов. Кто из традиционных computer science программистов – те крутят носом, и по понятным причинам: это не функциональный, не объект-ориентированный, не акторный язык, совсем не похож на Rust, Golang, Scala и прочих фаворитов нынешней моды классического языкостроения. И в нём multiple dispatch как базовая парадигма, а объект-ориентированность и функциональность доступны как расширения языка. Вот что даёт multiple dispatch: http://nbviewer.jupyter.org/gist/StefanKarpinski/b8fe9dbb36c1427b9f22. Я подробней писал про решение expression problem с помощью multiple dispatch и приводил на эту тему ссылки тут: http://ailev.livejournal.com/1218155.html

Расширяемость языка идёт как важнейшее свойство, второе после multiple dispatch: интроспецкция (код программы это данные для неё) и метапрограммирования (язык принципиально расширяемый, в нём доступна кодогенерация времени исполнения -- http://docs.julialang.org/en/latest/manual/metaprogramming/), идеи впрямую вытащены из Лиспа. Так что Julia -- это совсем не фортран и не паскаль, и даже не матлаб, хотя жутко на них похож. По мощности он ближе к Питону, хотя отличается от Питона во всём (писать на Julia чуток более высокоуровнево и поэтому компактно, чем на Питоне, а скорость получающегося кода -- сишная, а не питонная).

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

В принципе, можно было бы на эту тему даже какие эксперименты сделать, найти «когнитивное сродство инженеров к разным парадигмам программирования». И может оказаться по результатам замеров (какой-нибудь cognitive load, например), что Julia тут будет получше прочих. Ну, или не оказаться. Моя гипотеза, что multiple dispatch в основе языка для инженеров проще, чем объект-ориентированность и функциональность. А обслуживающие инженеров программисты всегда смогут воспользоваться средствами метапрограммирования для расширения языка.

У меня самого пара идей с Julia (вряд ли они имеют шанс на реализацию, но лучше сразу написать):

1. Учебное применение по информатике. Я понял, что учебных курсов с достаточным числом задач по computer science нет: всё заканчивается сотнями "олимпиадных задач" с автоматической проверкой. Нужно:
а) добавить автоматическую проверку для Julia
б) настрогать необходимое число "неолимпиадных" учебных задач, чтобы добиться "беглости" без перегруза учителя с проверкой решений (про "беглость" -- это Алан Кей тут: http://ailev.livejournal.com/461928.html).
После этого можно думать об использовании Julia в школе и ВУЗе для текущих нужд информатики -- вместо текущих Си++, Паскаля и очень редко Питона.

2. Учебное физмат применение. Конечно, как для Wolfram Language есть Mathematica, как для Python есть Sage, для Julia нужно сделать какой-то вариант символьной математики. В простейшем виде её уже прикручивают болтами из Питона (http://mth229.github.io/symbolic.html), но хочется "родной" привязки -- и затем можно делать на Julia решение задач по курсам уже математики-физики (с той же автоматизированной проверкой). Пока же смотреть и пускать слюну на http://www.wolframalpha.com/pro/problem-generator/ и довольствоваться Jupyther notebook текущих вузовских курсов по численным методам. Хотя в принципе, это не только в ВУЗе можно использовать, но и в школах для поддержки физики-математики.

3. Инженерное применение: реализовать на Julia функционал акаузальной симуляции мультифизики, похожий на Modelica (http://modelica.org/), но не объект-ориентированный. При этом сразу получаем силу математических пакетов Julia: оптимизацию, параллельные вычисления на бэк-энде, веб-фреймворки и визуализацию данных, notebooks и т.д.. Плохая реализация численных методов -- это то, чем страдают все реализации Modelica, кроме самой дорогой. Вот и решить эту проблему. А дальше идти по той же линии, что и Modelica: в языки архитектуры и описания требований. Julia ведь расширяемый язык! Глядишь, по этой линии можно и опять к SysMoLan вернуться как языку моделеориентированной системной инженерии (сейчас этот функционал делается на паре связанных объект-ориентированных языков: Modelica+SysML).

Конечно, есть и какие-то идеи про deep learning. Текущие работы по реализации алгоритмов на Julia (mocha.jl) были свёрнуты после выхода десятка крупных хорошо поддержанных ресурсами фреймворков. Конечно, Julia отлично оборачивает в себя и сишные, и питонные интерфейсы -- там и mxnet можно найти (разработчики mocha переметнулись на оборачивание его), и TensorFlow, и всё что угодно. Пока нет какой-то особой архитектурной идеи, я бы не ожидал развития родных нейроалгоритмов на Julia. Но я думаю, что по мере роста сложности нейроархитектур (в сторону всех этих памятей-внимания-деревьев и end-to-end differentiable структур) и по мере роста числа готовых численных пакетов тут тоже могут появиться инициативы. Так что на эту тему я думаю, но проекта не предлагаю.
3 comments|post comment

navigation
[ viewing | June 21st, 2016 ]
[ go | previous day|next day ]