Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

lytdybr

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

Не успеваю читать ленту по AI. Там чудеса, там леший бродит, русалка на ветвях сидит. Январский выплеск работ по динамическим пакетам программирования нейронных сетей (DyNet https://arxiv.org/abs/1701.03980, PyTorch http://pytorch.org/ и, кажись, КNet https://github.com/denizyuret/Knet.jl из той же категории) показал, что внимание к инженерным аспектам создания сетей растёт. Это та же дискуссия, что про динамические и статические языки программирования, хотя и немного в профиль. Вот, сравните -- In this paper, we suggest that the programming model that underlies several popular toolkits -- namely a separation of declaration and execution of the network architecture (which we refer to as static declaration) -- is necessarily associated with some serious software engineering risks, particularly when dealing with dynamically structured network architectures (e.g., sequences of variable lengths and tree-structured recursive neural networks). As an alternative, we propose as reviving an alternative programming model found in autodiff libraries that unifies declaration and execution. https://arxiv.org/abs/1701.03980. Интересно, что эта волна прошла после того, как всем этим сетям удалось стать существенно быстрей одной из первой известных динамических сетей -- Chainer. Для меня это решение той же проблемы двух языков, которую решает Julia: хочется иметь удобство письма и отладки как в динамическом языке, а скорость исполнения и уровень защиты как в статическом. В языках описания нейронных сетей это происходит стремительно, плюс DSL описания этих сетей с самого начала embedded в язык программирования, а дальше работает autograd/autodiff. Вот блогпост с прямым указаним, как эта динамика положительно влияет на модульность систем машинного обучения: https://medium.com/intuitionmachine/pytorch-dynamic-computational-graphs-and-modular-deep-learning-7e7f89f18d1#.dnaxs85d4
UPDATE: а вот ещё про модульность и условные вычисления -- https://arxiv.org/abs/1701.06538, The capacity of a neural network to absorb information is limited by its number of parameters. Conditional computation, where parts of the network are active on a per-example basis, has been proposed in theory as a way of dramatically increasing model capacity without a proportional increase in computation. In practice, however, there are significant algorithmic and performance challenges. In this work, we address these challenges and finally realize the promise of conditional computation, achieving greater than 1000x improvements in model capacity with only minor losses in computational efficiency on modern GPU clusters.

Но, конечно, выплеск новых динамический фреймворков это отнюдь не всё, что происходит в этой области. Так, TensorFlow приобрёл ещё один уровень сверху (abstraction layer), это оказался Keras -- https://keras.io/ (новость тут http://www.fast.ai/2017/01/03/keras/). И ещё на уровень абстракции выше: http://kur.deepgram.com/, заявка тут в том, что "не нужно кодировать" (внешний DSL описания архитектуры). Битва фреймворков продолжается, в ней много чего ещё будет происходить. А ещё нас ждёт много разнообразного специализированного железа. Всем хватит занятий!

Инженерии машинного обучения посвящены и Rules of Machine Learning: Best Practices for ML Engineering от Гугля http://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf, доклад Ng на NIPS2016 http://www.computervisionblog.com/2016/12/nuts-and-bolts-of-building-deep.html, а также Machine Learning Canvas (ага, по мотивам businessmodelgenerator canvas) --https://medium.com/louis-dorard/from-data-to-ai-with-the-machine-learning-canvas-part-i-d171b867b047#.2yqaerht2 и ещё Engineering Is The Bottleneck in (Deep Learning) Research http://blog.dennybritz.com/2017/01/17/engineering-is-the-bottleneck-in-deep-learning-research/

Вот тут про идею рынка при работе с высокомодульными архитектурами (например, stacked GAN) в deep learning: https://medium.com/intuitionmachine/deep-learning-could-be-market-driven-de770aeebd3#.kjmt6madw

Интеллект -- это умение сочинить какое-то эффективное по ресурсам действие в мире, для чего нужно иметь модель мира, память, уметь планировать и уметь предсказывать будущие состояния в мире (в том числе состояния, получаемые в итоге собственных действий). Всё это штурмуется по частям и в совокупности, вот последний обзорчик от Yann Le Cun на эту тему: https://drive.google.com/file/d/0BxKBnD5y2M8NUmJOMldMUFBFdTQ/view.

Про приложения я даже и не пишу, там идёт дождик всяких достижений. Чего стоит, например, работа с counterfactuals, которую нужно было выполнить, чтобы выучить алгоритм обыгрывать людей в покер: https://arxiv.org/abs/1701.01724 -- и можно дальше обсуждать, речь идёт об алгоритмических прорывах или это такое специфическое приложение. "Играть в Го на деньги" это вроде как не очень обсуждается, но что касается покера -- мир азартных карточных игр тоже будет меняться, нравится ли это сегодняшним игрокам, или не нравится. Carnegie Mellon University’s AI program, called Libratus, is opening a lead over its human opponents — four of the world’s best professional poker players. Libratus had amassed a lead of $459,154 in chips in the 49,240 hands played by the end of Day Nine -- https://www.riverscasino.com/pittsburgh/BrainsVsAI/ (соревнование человек-машина в покере, 11-30 января 2017, сейчас половина только прошла).

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

Кажется, я чуть-чуть разобрался с manipula (именно так: "мне кажется, но не совсем уверен"). Manipula -- это некоторое хитрое верчение задом в танце tarraxinha. Хотя сейчас это не совсем отдельный танец, ибо его по факту съела кизомба -- она ж всеядна, переваривает всё, что танцуется. После пяти месяцев изучения этой самой кизомбы (как это было со мной) ты оказываешься перед практически новым полноценным танцем, и лёгкое гугление тебе указывает, что это хитрозадокручение вполне осваивается на не самом продвинутом уровне за 5-6 месяцев (а не за три-четыре занятия, как ты думаешь поначалу). В Африке орудуют задницей что твоей ладонью -- все эти восьмёрки, круги и полукруги в разные стороны, в разных плоскостях и на разные акценты ритма, при этом ещё и переносом веса нужно управлять. В Европе к задокручению ещё добавили кручение грудью и немного животом, назвали tarrax'osteo. Снаружи это выглядит, например, так (и учтите, что партнёрша двигается абсолютно несамостоятельно: это исключительно ведение партнёра, хотя оно и незаметно со стороны, так называемые "микроимпульсы"): https://www.youtube.com/watch?v=UX7APmybhZ4.

Заяц сдал сильно буквально за пару недель, кушает теперь очень мало, хотя по клетке ещё попрыгивает. Кликуху "зайка-покусайка" вчера подтвердил: тяпнул жену за руку, даром что слабый. Жена же была застукана за просмотром каталогов кошачьих пород и сайтами раздачи котят -- в тот момент, когда пыталась оттуда на бумажку записать какой-то телефон. Жалко ей зайца, но он уже для своего вида совсем преклонных лет, и она уже подумывает о следующем звере. Вьюнош её всяко поддерживает, а меня, понятно, никто не спрашивает.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 8 comments