Gentleminds
104 subscribers
1 photo
1 video
2 files
176 links
Админы канала стараются постить интересные новости и статьи про дипленинг и не только, а так же кратко их описывать.
Наши сайты:
gentleminds.io
pozus.io
Download Telegram
А это заметки участника NIPS о представленных докладах (43 страницы!)
https://cs.brown.edu/~dabel/blog/posts/misc/nips_2017.pdf
Рубрика #лайфхак

В статье про Cyclical Learning Rates (раздел 3.3) есть интересный метод выбора learning rate: надо запустить обучение с линейно увеличивающимся lr и построить график зависимости validation accuracy от lr. Момент, когда accuracy начинает расти - минимальный lr, когда accuracy начинает колбасить - максимальный.
https://arxiv.org/pdf/1506.01186.pdf

Также они ссылаются на старую статью Бенжио, в которой много советов, один из которых - если что-то из гиперпараметров и тюнить, то learning rate: Practical Recommendations for Gradient-Based Training of Deep Architectures https://arxiv.org/pdf/1206.5533.pdf
И второй #лайфхак
(когда сделал монструозную архитектуру, которая незначительно увеличила качество, но снизил производительность в 5 раз и надо что-то придумывать)

Можно, например, встроить batchnorm в веса конволюционного слоя.

https://arxiv.org/pdf/1701.06659.pdf (Раздел 4. Inference Time)
https://thecuriousaicompany.com/mean-teacher/

Semi-supervised image classification в картинках.
Очень нравится, как в последнее время лаборатории представляют работы. Просто выложить статью на arxiv уже недостаточно, т.к. их выходит по 100 штук в день, поэтому компании пишут понятным языком красивые статьи с картинками в свои блоги.

Одна из таких статей из Беркли AI:
http://bair.berkeley.edu/blog/2017/12/20/reverse-curriculum/

О решении проблемы с reward function, которая постоянно возникает в reinforcement learning. Хочется описать задание простой функцией, вроде "получи reward, когда достиг конечной цели". Но оказывается, что такая функция даёт очень разреженный полезный сигнал, потому что при использовании random exploration доходить до цели мы будем очень редко. Поэтому приходится заниматься reward shaping, т.е настраивать reward function так, чтобы агент получал награду за какие-то промежуточные полезные состояния.

В статье предлагают решение, которое укладывается в подход к обучению агента под названием curriculum learning. Идея в том, чтобы вместо настройки reward function более правильно выбирать "ситуации", на которых обучается агент. Самый простой пример такого подхода - постепенное усложнение задачи.

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

И всё это с гифками с глазастым роботом. Прекрасно.
Вы наверняка уже слышали про уязвимости Meltdown и Spectre, которые, по некоторым оценкам, являются самыми крупными проблемами ИТ индустрии за все время и повлияют на нее самым существенным образом. В этих статьях https://geektimes.ru/post/297029/ https://geektimes.ru/post/297031/ на доступном языке рассказывается про них, и становится понятно почему при попытке их исправить будет неизбежна существенная просадка производительности. Встретил на просторах фэйсбука такое высказывание, что мы все это время жили хорошо по производительности взаймы у безопасности.
Mikel Bober-Irizar протестировал производительность ML библиотек после PTI патча

https://medium.com/implodinggradients/meltdown-c24a9d5e254e

TL;DR: производительность в среднем падает на 5-10%, но для некоторых задач (факторизации матриц) достигает 40%
Японские ученые реконструировали картинки из мозговой активности человека. Они обучили генерационную модель на паре “активность-картинка”, получилось довольно симпатично. Мозговая активность считывалась с помощью магнитного резонанса во время показа картинки человеку. https://www.biorxiv.org/content/biorxiv/early/2017/12/30/240317.full.pdf
Классная статья про решение задачи поиска одежды по фотографии https://medium.com/@movchan74/how-to-apply-distance-metric-learning-for-street-to-shop-problem-d21247723d2a

https://github.com/movchan74/street_to_shop_experiments

Александр описывает все этапы решения и проблемы, с которыми он столкнулся: сбор данных (скрейпинг Aliexpress), чистка, разделение на выборки, triplet loss, анализ результатов.

Ёмко и жизненно, ставлю класс.

Еще и демку сделал http://vps389544.ovh.net:5555/
Еще одна статья на медиуме, где автор в форме комиксов постарался объяснить метод обучения с подкреплением Actor-Critic. https://medium.com/@rudygilman/intuitive-rl-intro-to-advantage-actor-critic-a2c-4ff545978752
Бенчмарк tf на GPU с архитектурой Volta.

https://medium.com/initialized-capital/benchmarking-tensorflow-performance-on-next-generation-gpus-e68c8dd3d0d4

Paperspace Volta (16GB — $2.30/hour)
Amazon EC2 p3.2xlarge Volta (16GB— $3.06/hour)

Я как-то упустил момент, когда Volta теслы появились у облачных провайдеров.
FAIR выпустил реализации Mask R-CNN и RetinaNet (и еще несколько сортов R-CNN) на caffe2

https://github.com/facebookresearch/Detectron

Интересно, что general purpose фреймворки (caffe2, tf (https://github.com/tensorflow/models/tree/master/research/object_detection)) внедряют object detection примитивы глубоко внутрь себя.
https://github.com/arogozhnikov/python3_with_pleasure

Список полезных возможностей python 3.

Узнал про:
* pathlib, облегчающий работу с путями (больше никакого os.path.join!)
* проверку type-hints во время выполнения с помощью enforce
В продолжение темы питона - о прекрасной библиотеке attrs для удобного создания классов без методов (namedtuple для людей)

https://glyph.twistedmatrix.com/2016/08/attrs.html